chatbot / src /chat.py
Sarah Bentley
Initial commit
abf7d79
raw
history blame
2.06 kB
class SchoolChatbot:
"""
This class is extra scaffolding around a model. Modify this class to specify how the model recieves prompts and generates responses.
Example usage:
model, tokenizer = load_model()
chatbot = SchoolChatbot(model, tokenizer)
response = chatbot.get_response("What schools offer Spanish programs?")
"""
def __init__(self, model, tokenizer):
"""
Initialize the chatbot with a model and tokenizer.
You don't need to modify this method.
"""
self.model = model
self.tokenizer = tokenizer
def format_prompt(self, user_input):
"""
TODO: Implement this method to format the user's input into a proper prompt.
This method should:
1. Add any necessary system context or instructions
2. Format the user's input appropriately
3. Add any special tokens or formatting the model expects
Args:
user_input (str): The user's question about Boston schools
Returns:
str: A formatted prompt ready for the model
Example prompt format:
"You are a helpful assistant that specializes in Boston schools...
User: {user_input}
Assistant:"
"""
pass
def get_response(self, user_input):
"""
TODO: Implement this method to generate responses to user questions.
This method should:
1. Use format_prompt() to prepare the input
2. Generate a response using the model
3. Clean up and return the response
Args:
user_input (str): The user's question about Boston schools
Returns:
str: The chatbot's response
Implementation tips:
- Use self.tokenizer to convert text to tokens
- Use self.model.generate() for text generation
- Consider parameters like temperature and max_length
- Clean up the response before returning it
"""
pass