twin / app.py
Anee25's picture
Upload folder using huggingface_hub
615269b verified
Raw
History Blame Contribute Delete
1.49 kB
from openai import OpenAI
from context import TWIN_SYSTEM_PROMPT
from tools import tools, handle_tool_calls
from styles import CSS, JS, EXAMPLES
from dotenv import load_dotenv
import gradio as gr
import os
load_dotenv(override=True)
openrouter_api_key = os.getenv('OPENROUTER_API_KEY')
OPENROUTER_BASE_URL = "https://openrouter.ai/api/v1"
openrouter = OpenAI(api_key=openrouter_api_key, base_url=OPENROUTER_BASE_URL)
model_name= "poolside/laguna-xs-2.1:free"
# MODEL_NAME = "gpt-5.4-mini"
MODEL_NAME = model_name
# openai = OpenAI()
system = [{"role": "system", "content": TWIN_SYSTEM_PROMPT}]
def chat(message, history):
messages = system + history + [{"role": "user", "content": message}]
response = openrouter.chat.completions.create(model=MODEL_NAME, messages=messages, tools=tools)
while response.choices[0].finish_reason == "tool_calls":
message = response.choices[0].message
tool_calls = message.tool_calls
results = handle_tool_calls(tool_calls)
messages.append(message)
messages.extend(results)
response = openrouter.chat.completions.create(model=MODEL_NAME, messages=messages, tools=tools)
return response.choices[0].message.content
if __name__ == "__main__":
gr.ChatInterface(
chat,
examples=EXAMPLES,
title="Digital Twin",
description="Talk to my AI twin about my career",
chatbot=gr.Chatbot(show_label=False),
).launch(css=CSS, js=JS, theme=gr.themes.Base())