Spaces:
Build error
Build error
| import os | |
| import gradio as gr | |
| from groq import Groq | |
| # Set up the Groq API client | |
| apikey = os.getenv("apikey") # Fetch the API key from secrets | |
| if not apikey: | |
| raise ValueError("API Key is not set. Add it in the Secrets tab.") | |
| client = Groq(api_key=apikey) | |
| # Function to interact with the LLM | |
| def chatbot(user_input, history): | |
| try: | |
| # Format conversation history | |
| messages = [{"role": "user", "content": user} for user, _ in history] | |
| messages.append({"role": "user", "content": user_input}) | |
| # Send to Groq's API | |
| chat_completion = client.chat.completions.create( | |
| messages=messages, model="llama3-8b-8192" | |
| ) | |
| response = chat_completion.choices[0].message.content | |
| history.append((user_input, response)) | |
| return history, history | |
| except Exception as e: | |
| return history, history + [(user_input, f"An error occurred: {str(e)}")] | |
| # Enhanced Gradio interface | |
| with gr.Blocks(title="The Ultimate Chat Companion") as demo: | |
| gr.Markdown( | |
| """ | |
| # 🧠 **Groq LLM Chatbot** | |
| Meet the Future - Interact with a powerful LLM in real-time. | |
| """ | |
| ) | |
| with gr.Row(): | |
| # Use a local image file for the logo | |
| gr.Image(value="chat-companion-high-resolution-logo.png", label="Logo", interactive=False) | |
| gr.Markdown( | |
| """ | |
| **Created by ATIF MEHMOOD** | |
| _Experience the next generation of AI-powered conversations._ | |
| """ | |
| ) | |
| chatbot_ui = gr.Chatbot(label="Chat Interface") | |
| user_input = gr.Textbox( | |
| placeholder="Type your message here...", | |
| label="Your Message", | |
| lines=2, | |
| ) | |
| submit_btn = gr.Button(value="Send") | |
| # Bind functions | |
| history_state = gr.State([]) | |
| submit_btn.click(chatbot, [user_input, history_state], [chatbot_ui, history_state]) | |
| user_input.submit(chatbot, [user_input, history_state], [chatbot_ui, history_state]) | |
| demo.launch() | |