testDeployment / app.py
rabbanaiAi's picture
fixed dual messaggin error
5b0a5a9 verified
import gradio as gr
from openai import OpenAI
from dotenv import load_dotenv
import os
# Load environment variables from .env file
load_dotenv()
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
def chat_with_llm(message, history, temperature=0.7, top_p=1.0, max_tokens=256):
"""Function to interact with OpenAI's Chat API with additional controls."""
# Convert history (list of tuples) into OpenAI's expected format
formatted_history = []
for user_msg, assistant_msg in history:
formatted_history.append({"role": "user", "content": user_msg})
formatted_history.append({"role": "assistant", "content": assistant_msg})
# Make the API call
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "You are a helpful assistant."}] +
formatted_history +
[{"role": "user", "content": message}],
temperature=temperature,
top_p=top_p,
max_tokens=max_tokens
)
return response.choices[0].message.content
# Create Gradio chat interface with sliders for temperature, top_p, and max_tokens
demo = gr.ChatInterface(
fn=chat_with_llm,
additional_inputs=[
gr.Slider(0, 1, value=0.7, label="Temperature"),
gr.Slider(0, 1, value=1.0, label="Top-p"),
gr.Slider(1, 1024, value=256, label="Max Tokens")
]
)
# Enable sharing for external access
demo.launch()