Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import os | |
| from groq import Groq | |
| client = Groq(api_key=os.environ.get("GROQ_API_KEY")) | |
| SYSTEM_PROMPT = """ | |
| You are a professional history expert AI assistant. | |
| Always return: | |
| - Ruler / Authority Name | |
| - Period of Rule | |
| - Region / Country | |
| - Key Contributions (bullet points) | |
| """ | |
| def history_ruler(country, year): | |
| if not country or not year: | |
| return "Please enter both country and year." | |
| response = client.chat.completions.create( | |
| model="llama-3.1-8b-instant", | |
| messages=[ | |
| {"role": "system", "content": SYSTEM_PROMPT}, | |
| {"role": "user", "content": f"Country: {country}\nYear: {year}"} | |
| ], | |
| temperature=0.2 | |
| ) | |
| return response.choices[0].message.content | |
| # π FORCE SQUARE OUTPUT USING CSS | |
| css = """ | |
| #square-box textarea { | |
| width: 400px !important; | |
| height: 400px !important; | |
| resize: none; | |
| } | |
| """ | |
| with gr.Blocks(css=css) as app: | |
| gr.Markdown("## ποΈ History Ruler Finder") | |
| with gr.Row(): | |
| country = gr.Textbox(label="Country / Region", lines=2) | |
| year = gr.Textbox(label="Year / Time Period", lines=2) | |
| output = gr.Textbox( | |
| label="Historical Information", | |
| elem_id="square-box" | |
| ) | |
| gr.Button("Find Ruler").click( | |
| fn=history_ruler, | |
| inputs=[country, year], | |
| outputs=output | |
| ) | |
| app.launch(share=True, debug=True) | |