38 lines
2.0 KiB
Python
38 lines
2.0 KiB
Python
import gradio as gr
|
|
from scrape_amazon import AmazonScraper, AIInterface
|
|
|
|
llms = ['meta-llama/Llama-2-70b-chat-hf', "mistralai/Mixtral-8x7B-Instruct-v0.1", "togethercomputer/LLaMA-2-7B-32K"]
|
|
scraper = AmazonScraper()
|
|
aii = AIInterface()
|
|
|
|
|
|
def write_article(url, ai_prompt):
|
|
# Your logic to fetch HTML content from the URL
|
|
# Replace this with your actual implementation
|
|
|
|
text = scraper.get_product_info_and_reviews(url)
|
|
images = list(scraper.images)[0]
|
|
prompt_for_ai = "Write a summary of the following product and an overview of people's experiences based on the provided reviews of it as follows. Format it nicely and professionally in HTML:\n\n" + text
|
|
# prompt_for_ai = f"Write a summary of the following product and an overview of people's experiences based on the provided reviews of it as follows. Format it nicely and professionally in HTML. The title of this product should links to {url}. Also include this image {images} after the first or second paragraph as a link to {url} and <figcaption>Image from Amazon.com</figcaption>:\n\n" + text
|
|
ai_response = aii.ask_ai(prompt_for_ai, model=llms[1])
|
|
|
|
print(ai_response)
|
|
html_content = ai_response
|
|
prompt_for_ai = f"Take the following HTML code and slightly modify it by converting the names of this product to links to {url}. Also include this image {images} after the first or second paragraph as a link to {url} and caption it with <figcaption>Image from Amazon.com</figcaption>. Return a nice and professional HTML code:\n" + ai_response
|
|
html_content = aii.ask_ai(prompt_for_ai, model=llms[1])
|
|
print(html_content)
|
|
return html_content
|
|
|
|
|
|
# Define the Gradio interface
|
|
iface = gr.Interface(
|
|
fn=write_article,
|
|
inputs=["text", gr.components.Textbox(lines=10, placeholder="Enter AI prompt here...", label="AI Prompt:")], # Text input for the URL
|
|
outputs="html", # Display HTML content
|
|
title="URL to HTML Converter",
|
|
description="Enter a URL to get its HTML content."
|
|
)
|
|
|
|
# Launch the Gradio app
|
|
iface.launch(server_port=7373, share=True)
|