import gradio as gr from groq import Groq import os client = Groq(api_key=os.environ.get("GROQ_API_KEY")) SYSTEM_PROMPT = """You are a Travel Agent Advisor assistant. You provide example and recommendation for calm and sweet hotels and airlines. you give evidence-based guidance based on his mood and emotion.""" def respond(message, history, model, temperature, max_tokens): messages = [{"role": "system", "content": SYSTEM_PROMPT}] for h in history: messages.append({"role": "user", "content": h[0]}) if h[1]: messages.append({"role": "assistant", "content": h[1]}) messages.append({"role": "user", "content": message}) try: response = client.chat.completions.create( model=model, messages=messages, temperature=temperature, max_completion_tokens=max_tokens, ) return response.choices[0].message.content except Exception as e: return f"Error: {str(e)}" # ChatInterface with additional inputs for parameters demo = gr.ChatInterface( fn=respond, title="Travel Agent Support Assistant", description="A supportive AI assistant that helps users to travel and find the best places.", additional_inputs=[ gr.Dropdown( choices=[ "llama-3.3-70b-versatile", "llama-3.1-8b-instant", ], value="llama-3.3-70b-versatile", label="Model", info="Select the AI model to use" ), gr.Slider( minimum=0, maximum=2, value=0.9, step=0.1, label="Temperature", info="Controls randomness. Lower = more focused, Higher = more creative" ), gr.Slider( minimum=256, maximum=8192, value=2048, step=256, label="Max Tokens", info="Maximum length of the response" ), ], examples=[ ["I'm stressed after all this work, I need vacation"], ["Give me recommendation for countries to visit"], ["How can travel to Romania?"], ], ) if __name__ == "__main__": demo.launch()