File size: 2,059 Bytes
abf7d79 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
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 |