Spaces:
Sleeping
Sleeping
File size: 2,308 Bytes
03cac6f d47dfbe 03cac6f df3d747 d47dfbe 03cac6f d47dfbe df3d747 03cac6f d47dfbe 03cac6f d47dfbe 03cac6f d47dfbe |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
import os
import sys
import traceback
import chainlit as cl
from openai import OpenAI
# Set up basic logging to stdout
def log_message(message):
print(f"DEBUG: {message}", file=sys.stdout)
sys.stdout.flush() # Ensure output is flushed immediately
# Log startup information
log_message("Application starting up")
log_message(f"Python version: {sys.version}")
# Check for API key
api_key = os.environ.get("OPENAI_API_KEY")
if api_key:
log_message("API key found (first few chars): " + api_key[:4] + "...")
else:
log_message("WARNING: No API key found in environment")
# Initialize the OpenAI client
try:
client = OpenAI(api_key=api_key)
log_message("OpenAI client initialized successfully")
except Exception as e:
log_message(f"Error initializing OpenAI client: {str(e)}")
traceback.print_exc()
@cl.on_chat_start
async def start():
log_message("New chat session started")
if not api_key:
await cl.Message(content="⚠️ API key not found. Please add OPENAI_API_KEY secret.").send()
@cl.on_message
async def main(message: cl.Message):
log_message(f"Received message: {message.content[:50]}...")
# Simple test response without using OpenAI
if message.content.lower() == "test":
log_message("Sending test response")
await cl.Message(content="Test successful! This is a direct response without using the OpenAI API.").send()
return
try:
log_message("Attempting to call OpenAI API")
# Call OpenAI API
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": message.content}
],
temperature=0.7,
)
log_message("OpenAI API call successful")
# Send response back to user
await cl.Message(
content=response.choices[0].message.content,
).send()
except Exception as e:
log_message(f"Error during API call: {str(e)}")
traceback.print_exc()
# Send error message to user
await cl.Message(
content=f"Sorry, I encountered an error: {str(e)}",
).send()
|