HMC-CIS-chatbot-testing / utils /chatbot_logic.py
AashitaK's picture
Upload chatbot_logic.py
e0ac28f verified
raw
history blame
1.76 kB
import os
from utils.response_manager import ResponseManager # Import the ResponseManager class
# Vector store ID for the retrieval of knowledge base documents
# Load the vector store ID from the environment variable
vector_store_id = os.getenv('VECTOR_STORE_ID')
# Check if the VECTOR_STORE_ID environment variable is set
if not vector_store_id:
raise ValueError("VECTOR_STORE_ID environment variable is not set.")
# Initialize the ResponseManager with the vector store ID
response_manager = ResponseManager(vector_store_id)
# Set parameters for the response generation
model = "gpt-4o-mini" # Set the model to be used for response generation
temperature = 0 # Set the temperature for response generation
max_output_tokens = 800 # Set the maximum number of output tokens
max_num_results = 15 # Set the maximum number of knowledge base documents to return for retrieval
def conversation(query: str, history):
"""
Function to handle the chatbot interaction and maintain conversation history.
:param query: The user query to respond to.
:param history: The conversation history (list of [input, output] pairs).
:return: Updated conversation history.
"""
try:
if query.strip():
response = response_manager.create_response(query, model, temperature, max_output_tokens, max_num_results)
if not response:
response = "Sorry, I couldn't generate a response at this time. Please try again later."
# Append the conversation
history.append((query, response))
else:
history.append((query, "Please enter a valid query."))
return history
except Exception as e:
history.append((query, str(e)))
return history