From bef445baf4dff8fc68c92374db63a5161042e042 Mon Sep 17 00:00:00 2001 From: abhishekbhakat Date: Tue, 25 Mar 2025 17:21:06 +0000 Subject: [PATCH] fix: enhance OpenAI client for OpenRouter compatibility while maintaining configuration --- src/openai_client.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/openai_client.py b/src/openai_client.py index 80b4a3d..10db215 100644 --- a/src/openai_client.py +++ b/src/openai_client.py @@ -6,18 +6,30 @@ class OpenAIClient: def __init__(self): self.config = configparser.ConfigParser() self.config.read('config/config.ini') + + # Configure OpenAI client with OpenRouter-specific headers self.client = OpenAI( api_key=self.config['openai']['api_key'], - base_url=self.config['openai']['base_url'] + base_url=self.config['openai']['base_url'], + default_headers={ + "HTTP-Referer": "https://streamlit-chat-app.com", # Required by OpenRouter + "X-Title": "Streamlit Chat App" # Optional, helps with analytics + } ) - + def get_chat_response(self, messages): try: + # Ensure messages are correctly formatted + formatted_messages = [{"role": msg["role"], "content": msg["content"]} for msg in messages] + + # Make API request response = self.client.chat.completions.create( model=self.config['openai']['model'], - messages=messages, + messages=formatted_messages, stream=True ) return response except Exception as e: + # Enhanced error logging + print(f"Error details: {e}") raise Exception(f"OpenAI API error: {str(e)}")