Sending a Simple Query to DeepSeek

Welcome to the first lesson of our course on creating a personal tutor with DeepSeek! DeepSeek is an advanced AI platform that offers state-of-the-art language models capable of understanding and generating human-like text. Its unique features include high accuracy in language comprehension, the ability to generate contextually relevant responses, and a robust API that supports seamless integration into various applications. These capabilities make DeepSeek an excellent choice for building AI tutors, as it can provide personalized and insightful interactions with users.

In this lesson, we will explore the basics of interacting with DeepSeek's AI models through the OpenAI client. Our goal is to send a simple query to DeepSeek's language model and receive a response. This foundational step will set the stage for more complex interactions in future lessons. By understanding how to communicate with DeepSeek, you'll be equipped to harness its full potential in creating a personal tutor that can adapt to individual learning needs.

Setting Up Your Environment

Before we can send a query to DeepSeek, we need to set up our development environment. This involves installing the necessary tools and libraries. For this course, you will need the openai library, which allows us to interact with DeepSeek's API through the OpenAI client.

To install this library, you can use the following command in your terminal:

If you are using the CodeSignal platform, this library is pre-installed, so you can focus on writing and running your code without worrying about installation.

Setting the DeepSeek API Key as an Environment Variable

In this course, you'll be using the CodeSignal coding environment, where we've already set up everything you need to start working with DeepSeek models. This means you don't need to worry about setting up an API key or configuring environment variables — it's all taken care of for you.

However, it's still useful to understand how this process works in case you want to set it up on your own computer in the future. To work with DeepSeek models outside of CodeSignal, you need to obtain an API key from their service. This API key is essential for accessing DeepSeek's services and making requests to their API.

To keep your API key secure, you can use environment variables. An environment variable is like a special note that your computer can read to find out important details, such as your DeepSeek API key, without having to write it directly in your code. This helps keep your key safe and secure.

If you were setting this up on your own system, here's how you would do it:

  • On macOS and Linux, open your terminal and use the export command to set the environment variables:

  • For Windows, you can set the environment variables using the set command in the Command Prompt:

  • If you are using PowerShell, use the following command:

These commands will set the environment variables for the current session. But remember, while using CodeSignal, you can skip these steps and jump straight into experimenting with DeepSeek models.

Initializing the OpenAI Client for DeepSeek

Once the environment variables are set, you can initialize the OpenAI client in your script to use with DeepSeek. This is done by importing the OpenAI class from the openai library and then creating an instance of it. The library will automatically identify your API key and base URL from the environment variables:

Alternatively, you can explicitly provide the API key and base URL when initializing the client:

By initializing the client in this manner, you ensure that your script is ready to authenticate requests to DeepSeek's API securely.

Sending Your First Query to DeepSeek

Now that your environment is set up and your API client is configured, it's time to send your first query to DeepSeek. We'll start by defining a simple prompt and then use the chat.completions.create method to send this query to the AI model.

Here's the code to accomplish this:

In this code, we define a query asking the AI to tell an engineering joke. The chat.completions.create method of the OpenAI client is used to send a message to the DeepSeek model and receive a response. It takes some basic parameters to function:

  • The model parameter specifies which AI model to use for generating the response. In this example, we use "deepseek-ai/DeepSeek-V3", which is DeepSeek's language model known for its advanced text understanding and generation capabilities.

  • The messages parameter is a list of dictionaries where each dictionary represents a message in the conversation. Each dictionary must include a "role", which indicates the role of the message sender, such as "user" for the person interacting with the AI, and "content", which contains the actual text of the message.

Extracting and Displaying the AI's Reply

After sending the query to DeepSeek, the next step is to extract the AI's reply from the API response and display it. Here's how you can do that:

Once the create method is called, it returns a response object. To extract the AI's reply, you need to access the choices list from the response object, which contains possible responses generated by the AI. You then select the first choice with choices[0] and retrieve the message content using message.content.strip(), which removes any extra spaces or newlines.

Finally, we print both the query and the AI's reply to see the interaction. This helps verify that the message was successfully sent and received. When you run this code, you should see an output similar to the following:

This output demonstrates a successful interaction with the AI, where it responds to the user's query with an engineering joke.

Example: Full Code Implementation

Let's look at the complete code example for sending a query to DeepSeek. This example includes all the steps we've discussed so far:

Summary and Next Steps

In this lesson, we covered the essential steps to send a simple query to DeepSeek's language model. We set up our environment, configured API access, and sent a message to receive a response. This foundational knowledge is crucial as we move forward in building more complex tutoring interactions.

As you proceed to the practice exercises, I encourage you to experiment with different queries and explore the AI's responses. This hands-on practice will reinforce what you've learned and prepare you for the next unit, where we'll delve deeper into handling API parameters. 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