from openai import OpenAI | |
def search_online(query, api_key, base_url, model): | |
messages = [ | |
{ | |
"role": "system", | |
"content": ( | |
"You are an artificial intelligence assistant and you need to " | |
"engage in a helpful, detailed, polite conversation with a user." | |
), | |
}, | |
{"role": "user", "content": query}, | |
] | |
client = OpenAI(api_key=api_key, base_url=base_url) | |
response = client.chat.completions.create( | |
model=model, | |
messages=messages, | |
) | |
# print(type(response)) | |
# print(response) | |
# print(vars(response)) | |
result = process_result(response) | |
return result | |
def process_result(response): | |
# Create a dictionary to hold all the individual pieces of information | |
response_dict = { | |
# 'finish_reason': response.choices[0].finish_reason, | |
# 'index': response.choices[0].index, | |
'message_content': response.choices[0].message.content, | |
# 'delta_role': response.choices[0].delta['role'] if response.choices[0].delta else None, | |
# 'delta_content': response.choices[0].delta['content'] if response.choices[0].delta else None, | |
# 'created': response.created, | |
# 'object': response.object, | |
# 'usage_completions_tokens': response.usage.completion_tokens, | |
'citations': response.citations # Assuming `citations` is part of the response object | |
} | |
return response_dict | |
# result = search_online("", "", "", "") | |
# print(result) |