Spaces:
Sleeping
Sleeping
File size: 1,367 Bytes
5bd8642 |
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 |
import os
import random
import time
import openai
from dotenv import load_dotenv, find_dotenv
load_dotenv(find_dotenv())
openai.api_key = os.getenv('OPENAI_API_KEY')
def chat_completion(messages: list) -> str:
try:
completion = openai.ChatCompletion.create(
model='gpt-3.5-turbo',
messages=messages
)
return completion['choices'][0]['message']['content']
except:
return 'We are facing a technical issue at this moment.'
def generate_messages(messages: list, query: str) -> list:
formated_messages = [
{
'role': 'system',
'content': 'You are a helpful Network Design assistant.'
}
]
for m in messages:
formated_messages.append({
'role': 'user',
'content': m[0]
})
formated_messages.append({
'role': 'assistant',
'content': m[1]
})
formated_messages.append(
{
'role': 'user',
'content': query
}
)
return formated_messages
def generate_response(query: str, chat_history: list) -> tuple:
messages = generate_messages(chat_history, query)
bot_message = chat_completion(messages)
chat_history.append((query, bot_message))
time.sleep(random.randint(0, 5))
return '', chat_history
|