Message Types and Session History in AI Tutoring
Message Types and Session History
Welcome back! In the previous lessons, you learned how to send a simple query to DeepSeek's language model and explored various model parameters to customize the AI's responses. Now, we will delve into the concept of message types and the importance of maintaining session history. These elements are crucial for creating dynamic and context-aware interactions with the AI, allowing your personal tutor to engage in more meaningful educational conversations.
Understanding Message Types
Before we dive into building and managing session history, it's important to understand the concept of message types and how a tutoring session history is structured. Please note that we'll be using the terms message and query interchangeably here. In a tutor-student interaction, messages are typically categorized by roles: "system", "user", and "assistant". While we'll explore system prompts more thoroughly in a later lesson, remember that these primary roles help define the flow of dialogue and ensure the AI understands who is speaking at any given time.
DeepSeek expects the session history to be formatted as a list of dictionaries, where each dictionary represents a message with two key-value pairs: "role" and "content". Here's an example of what a simple tutoring session might look like:
In this example, the session history consists of alternating messages between the user (the student) and the assistant (the AI tutor). Each message is stored with its respective role, providing context for the AI to generate appropriate educational responses. Understanding this structure is key to effectively managing tutoring sessions and ensuring that the AI can provide coherent and contextually relevant explanations.
Creating a Function to Handle Tutoring Sessions
To manage tutoring sessions effectively, we will create a function called send_query. This function will send queries to the AI and receive explanations, allowing us to handle multiple interactions seamlessly. Here's how the function is structured:
In this function, we use the chat.completions.create method to send a list of messages to the AI. The messages parameter contains the session history, which provides context for the AI's response. The function returns the AI's explanation, which is extracted from the API result and stripped of any leading or trailing whitespace.
