| 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) |