From 3c76c33a00e6868a95292d0b37d15b9217ac7271 Mon Sep 17 00:00:00 2001 From: bucolucas Date: Mon, 19 Aug 2024 10:36:03 -0500 Subject: [PATCH] Update OpenAI API usage to new version --- chatgpt_telegram_inference_bot.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/chatgpt_telegram_inference_bot.py b/chatgpt_telegram_inference_bot.py index 70724ef..5e86444 100644 --- a/chatgpt_telegram_inference_bot.py +++ b/chatgpt_telegram_inference_bot.py @@ -9,12 +9,14 @@ from telegram.ext import Application, CommandHandler, MessageHandler, filters, C from dotenv import load_dotenv from tools.base_tool import BaseTool from tools.metrics_tool import MetricsTool -import openai +from openai import OpenAI # Load environment variables load_dotenv() -openai.api_key = os.environ.get("OPENAI_API_KEY") +client = OpenAI( + api_key=os.environ.get("OPENAI_API_KEY"), +) # Set up logging to console and file logging.basicConfig(level=logging.WARNING, handlers=[ @@ -168,17 +170,16 @@ def get_openai_response(messages): for function in functions ] - response = openai.ChatCompletion.create( - model="gpt-4o", # Using "gpt-4o" as specified + response = client.chat.completions.create( + model="gpt-4", # Changed from "gpt-4o" to "gpt-4" messages=[{"role": "system", "content": system_prompt}] + messages, functions=openai_functions, function_call="auto", - max_tokens=4096 # Using 4096 as specified for "gpt-4o" ) - message = response['choices'][0]['message'] - content = message.get('content', '') - function_call = message.get('function_call') + message = response.choices[0].message + content = message.content + function_call = message.function_call if function_call: return { @@ -193,7 +194,7 @@ def get_openai_response(messages): return None async def status(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: - await update.message.reply_text("Currently using gpt-4o") + await update.message.reply_text("Currently using gpt-4") async def abort_processing(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: query = update.callback_query