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"]