updated the context calculation
This commit is contained in:
@@ -49,9 +49,14 @@ async def openai_chat(
|
||||
}
|
||||
|
||||
# Perform Async call to OpenAI
|
||||
messages = []
|
||||
if chat_data.context:
|
||||
messages.append({"role": "system", "content": chat_data.context})
|
||||
messages.append({"role": "user", "content": chat_data.prompt})
|
||||
|
||||
response = await client.chat.completions.create(
|
||||
model="gpt-3.5-turbo",
|
||||
messages=[{"role": "user", "content": chat_data.prompt}]
|
||||
messages=messages
|
||||
)
|
||||
|
||||
# Track usage
|
||||
@@ -61,7 +66,16 @@ async def openai_chat(
|
||||
module.ingress_tokens += usage.prompt_tokens
|
||||
module.egress_tokens += usage.completion_tokens
|
||||
module.total_tokens += usage.total_tokens
|
||||
db.commit()
|
||||
else:
|
||||
# Fallback estimation
|
||||
total_content = "".join([m["content"] for m in messages])
|
||||
prompt_tokens = len(total_content) // 4
|
||||
completion_tokens = len(response.choices[0].message.content) // 4
|
||||
module.ingress_tokens += prompt_tokens
|
||||
module.egress_tokens += completion_tokens
|
||||
module.total_tokens += (prompt_tokens + completion_tokens)
|
||||
|
||||
db.commit()
|
||||
|
||||
return {
|
||||
"status": "success",
|
||||
|
||||
Reference in New Issue
Block a user