| import os | |
| import openai | |
| import json, csv | |
| def routing_agent(query, key, chat_history): | |
| system_prompt = """ | |
| You are a routing agent, purely designed to determine if a user's query is a request for the use of a vector database for semantic search. | |
| You will determine this based on the chat message history. A vector database is only needed to search for new classes. A user might ask for additional filtering on classes, but this is not necessarily a request for a new search. | |
| Relay information in a way that is the bare minimum. You should only answer with a "1" when a vector db is needed or "0" otherwise and no other text at all. | |
| """ | |
| response = openai.ChatCompletion.create( | |
| model="gpt-3.5-turbo", | |
| messages=[ | |
| {"role": "system", "content": system_prompt}, | |
| {"role": "user", "content": query}, | |
| {"role": "assistant", "content": "Here is the chat history: " + chat_history} | |
| ] | |
| ) | |
| return response["choices"][0]["message"]["content"] | |