Spaces:
Build error
Build error
Download app.py from pratikshahp/Blog-Generation-Gradio-App: direct link, hf CLI and curl.
- Browser
- Download file 1.75 kB
-
https://huggingface.co/spaces/pratikshahp/Blog-Generation-Gradio-App/resolve/main/app.py
- Command line
-
hf download hf://spaces/pratikshahp/Blog-Generation-Gradio-App/app.py
-
curl -L -o app.py https://huggingface.co/spaces/pratikshahp/Blog-Generation-Gradio-App/resolve/main/app.py
1.75 kB
| import os | |
| from dotenv import load_dotenv | |
| import gradio as gr | |
| from langchain_core.prompts import PromptTemplate | |
| from langchain_huggingface import HuggingFaceEndpoint | |
| from langchain_core.output_parsers import StrOutputParser | |
| from langchain_core.runnables import RunnableSequence | |
| # Load environment variables | |
| load_dotenv() | |
| HF_TOKEN = os.getenv("HF_TOKEN") | |
| # Initialize the HuggingFace model | |
| llm = HuggingFaceEndpoint( | |
| repo_id="mistralai/Mistral-7B-Instruct-v0.3", | |
| huggingfacehub_api_token=HF_TOKEN, | |
| temperature=0.7, | |
| max_new_tokens=700 | |
| ) | |
| # Define a prompt template for generating a blog | |
| TEMPLATE = """ | |
| Write a detailed blog post on the following topic: | |
| Topic: {topic} | |
| Make sure the blog post is informative, engaging, well-structured, and complete in 500 words only. | |
| """ | |
| # Create a prompt template instance | |
| blog_prompt_template = PromptTemplate(input_variables=["topic"], template=TEMPLATE) | |
| # Create a chain | |
| blog_chain = blog_prompt_template | llm | StrOutputParser() | |
| def generate_blog_post(topic: str) -> str: | |
| if topic: | |
| # Generate the blog post | |
| blog_post = blog_chain.invoke({"topic": topic}) | |
| return blog_post | |
| else: | |
| return "Please enter a topic for the blog post." | |
| # Define the Gradio interface | |
| interface = gr.Interface( | |
| fn=generate_blog_post, | |
| inputs=[ | |
| gr.Textbox(label="Blog Topic", placeholder="Enter the topic here"), | |
| ], | |
| outputs="text", | |
| title="AI Blog Generator", | |
| description="Welcome to the AI Blog Generator. This tool allows you to generate high-quality, engaging blog posts in just a few clicks. Simply provide a topic, and the AI will create a detailed blog post for you.", | |
| theme="default" | |
| ) | |
| if __name__ == "__main__": | |
| interface.launch() | |