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. 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 an array of associative arrays, where each associative array 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 PHP:

$session = [
    ["role" => "user", "content" => "Can you explain the theory of relativity?"],
    ["role" => "assistant", "content" => "Einstein's theory of relativity consists of two parts: special relativity and general relativity..."],
    ["role" => "user", "content" => "What practical applications does it have?"],
    ["role" => "assistant", "content" => "The theory of relativity has several practical applications including GPS systems, particle accelerators, and understanding astronomical phenomena."]
];

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
Building and Managing Session History
Visualizing the Session History
Summary and Preparation for Practice

In this lesson, you learned about query types and the importance of maintaining session history in tutoring interactions. We explored how to set up your environment, create a function to handle tutoring sessions, and manage session history. You also saw how to build and manage session history, enabling the AI to generate contextually relevant educational explanations.

As you move on to the practice exercises, I encourage you to experiment with different tutoring scenarios and observe how the AI's explanations change based on the context provided. This hands-on practice will reinforce what you've learned and prepare you for the next unit, where we'll continue to build on these concepts. Keep up the great work, and enjoy the journey of creating your personal tutor with DeepSeek!

Sign up
Join the 1M+ learners on CodeSignal
Be a part of our community of 1M+ users who develop and demonstrate their skills on CodeSignal