【AI大模型】使用Python调用DeepSeek的API,原来SDK是调用这个,绝对的一分钟上手和使用

简介: 本文详细介绍了如何使用Python调用DeepSeek的API,从申请API-Key到实现代码层对话,手把手教你快速上手。DeepSeek作为领先的AI大模型,提供免费体验机会,帮助开发者探索其语言生成能力。通过简单示例代码与自定义界面开发,展示了API的实际应用,让对接过程在一分钟内轻松完成,为项目开发带来更多可能。

【AI大模型】使用Python调用DeepSeek的API,原来SDK是调用这个,绝对的一分钟上手和使用

前言

在当今数字化时代,AI大模型技术迅速发展,DeepSeek作为其中的佼佼者,凭借其强大的语言理解和生成能力,受到了众多开发者的关注。作为一名对前沿技术充满热情的程序员,对接DeepSeek的API进行体验和开发是探索其潜力的重要一步。本文将为您提供一份详细且清晰的保姆级教程,帮助您快速上手并使用DeepSeek的API。

免费体验

DeepSeek为新用户提供了一个免费体验的机会,这对于初学者来说是一个绝佳的起点。截至2025年2月8日,注册DeepSeek账户会赠送10元,有效期为一个月。这10元可以支持您发起多次对话,具体能调用多少次,根据DeepSeek给出的答案,大概在1到5千次之间。您可以利用这个免费体验期,充分探索DeepSeek的功能和性能。

API-Key申请

申请API-Key是使用DeepSeek API的第一步。过程非常简单,只需按照以下步骤操作:

  1. 登录DeepSeek官网:https://www.deepseek.com/。
  2. 点击右上角的“API开放平台”,如果没有登录则会自动跳转至登录或注册页面。
  3. 输入手机号后,点击发送验证码,勾选复选框,输入验证码即可登录。
  4. 登录成功后,进入API开发平台,点击左边菜单的“API keys”,然后点击“创建API KEY”。
  5. 在弹出框中输入一个名称,点击“创建”按钮,生成API key后,一定要点击复制按钮进行复制并保存。

首次调用API

拿到API-Key后,就可以开始首次调用API了。以下是使用Python调用DeepSeek API的示例代码:

# Please install OpenAI SDK first: `pip3 install openai`
from openai import OpenAI

client = OpenAI(api_key="<DeepSeek API Key>", base_url="https://api.deepseek.com")

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {
   "role": "system", "content": "You are a helpful assistant"},
        {
   "role": "user", "content": "Hello"},
    ],
    stream=False
)

print(response.choices[0].message.content)

这段代码首先导入了OpenAI库,然后使用您的API-Key和DeepSeek的API基础URL创建了一个客户端。接着,通过调用chat.completions.create方法,向模型发送了一个简单的对话请求,并打印出模型返回的回复内容。

基本概念

在深入了解DeepSeek API之前,了解一些基本概念是非常重要的。

最小单元

Token是模型用来表示自然语言文本的最小单位,可以是一个词、一个数字或一个标点符号等。DeepSeek会根据模型输入和输出的总Token数进行计量计费。

推理模型

DeepSeek推出了推理模型deepseek-reasoner。在输出最终回答之前,模型会先输出一段思维链内容,以提升最终答案的准确性。API向用户开放了deepseek-reasoner思维链的内容,供用户查看、展示、蒸馏使用。在每一轮对话过程中,模型会输出思维链内容(reasoning_content)和最终回答(content),但之前轮输出的思维链内容不会被拼接到上下文中。

智能体

代码层对话

通过代码调用DeepSeek API实现对话功能是一种常见的应用。您可以根据需求,将API调用封装成函数或类,方便在项目中重复使用。例如,您可以创建一个DeepSeekChat类,用于管理与DeepSeek模型的对话。

自定义界面

为了更好地展示和使用DeepSeek的功能,您可以创建自定义的用户界面。以下是使用Vue.js创建的一个简单的对话界面示例:

<template>
    <div class="chat-interface">
        <el-card shadow="hover">
        <div class="chat-history">
            <div v-for="(message, index) in messages" :key="index" class="chat-message">
            <div :class="{'message-user': message.type === 'user', 'message-bot': message.type === 'bot'}">
                <span class="avatar" :style="{ backgroundColor: message.type === 'user' ? '#409EFF' : '#F56C6C' }">
                    {
  { message.type === 'user' ? '我' : '李白' }}
                </span>
                <div class="content">
                {
  { message.content }}
                </div>
            </div>
            </div>
        </div>
        <div class="input-area">
            <el-input v-model="userInput" placeholder="输入你的问题" class="input-box" clearable></el-input>
            <el-button type="primary" @click="sendMessage" :loading="loadingFlag">发送</el-button>
        </div>
        </el-card>
    </div>
</template>

<script setup lang="ts" name="batchPortfolio">
import { ref } from 'vue';
import axios from 'axios';

const loadingFlag=ref(false)
const userInput = ref('');
const messages: { type: 'user' | 'bot'; content: string }[]= ref([]);

const sendMessage = async () => {
    if (userInput.value.trim()) {
        messages.value.push({ type: 'user', content: `${userInput.value}` });

        loadingFlag.value=true;
        const response = await axios.get(`http://127.0.0.1:5000/generate_text/${userInput.value}`);
        loadingFlag.value=false;
        // 机器人回复
        setTimeout(() => {
            messages.value.push({ type: 'bot', content: `${response.data.generated_text}` });
        }, 100);

        // // 模拟机器人回复
        // setTimeout(() => {
        //     messages.value.push({ type: 'bot', content: `机器人回复: ${userInput.value.split(' ').join(' ')} 的回复` });
        // }, 1000);

        userInput.value = '';
    }
};

</script>

<style scoped lang="scss">
.chat-interface {
  max-width: 600px;
  margin: 0 auto;
  padding: 20px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  background-color: #fff;
}

.chat-history {
  padding: 16px;
  overflow-y: auto;
  max-height: 400px;
  border-bottom: 1px solid #ebeef5;
}

.chat-message {
  margin-bottom: 16px;
  align-items: center;
}

.message-user {
  display: flex;
  align-items: center;
  justify-content: flex-end;

    line-height: 40px;
    text-align: center;
    color: #fff;
}
.message-bot {
  display: flex;
  align-items: center;

    line-height: 40px;
    text-align: center;
    color: #fff;
}

.avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin-right: 12px;
}

.message-user .avatar {
  background-color: #409EFF;
}

.message-bot .avatar {
  background-color: #F56C6C;
}

.content {
  max-width: calc(100% - 52px); /* 40px avatar + 12px margin */
  padding: 8px 16px;
  border-radius: 4px;
  background-color: #f0f0f0;
  color: #333;
}

.message-bot .content {
  background-color: #fff3e0;
  justify-content: flex-start;
}

.message-user .content {
  background-color: #e6f7ff;
}

.input-area {
  display: flex;
  padding: 16px;
  border-top: 1px solid #ebeef5;
}

.input-box {
  flex: 1;
  border-radius: 4px;
}

.el-button {
  margin-left: 12px;
}

</style>

这个界面允许用户输入问题,并通过调用后端API获取DeepSeek模型的回复。

总结

DeepSeek的API对接过程非常简洁清晰,从创建API-Key到直接调用API并返回数据,整个过程不到一分钟就能完成。这使得开发者能够快速上手并开始探索其强大的功能。当然,在实际应用中,您可能还需要花费一些时间来优化代码、调整自定义界面以及封装API调用,但DeepSeek提供的强大支持和丰富的功能将为您的项目带来无限可能。

相关文章
|
4天前
|
人工智能 安全 API
Higress MCP Server 安全再升级:API 认证为 AI 连接保驾护航
Higress MCP Server 新增了 API 认证功能,为 AI 连接提供安全保障。主要更新包括:1) 客户端到 MCP Server 的认证,支持 Key Auth、JWT Auth 和 OAuth2;2) MCP Server 到后端 API 的认证,增强第二阶段的安全性。新增功能如可重用认证方案、工具特定后端认证、透明凭证透传及灵活凭证管理,确保安全集成更多后端服务。通过 openapi-to-mcp 工具简化配置,减少手动工作量。企业版提供更高可用性保障,详情参见文档链接。
|
16天前
|
传感器 人工智能 算法
场景入选|TsingtaoAI基于DeepSeek的具身智能实训入选河北省垂直大模型应用场景名单
河北省网络社会组织联合会正式公布《垂直大模型应用场景征集结果名单》,TsingtaoAI自主研发的“基于DeepSeek的具身智能高校实训解决方案——从DeepSeek+机器人到通用具身智能”成功入选河北省15个标杆应用场景。这一成果标志着TsingtaoAI在具身智能与大模型融合领域的技术创新与落地能力获得政府及行业权威认可,同时也为人工智能技术与实体产业深度融合提供了可复制的示范案例。
44 0
|
1月前
|
人工智能 Linux API
119K star!无需GPU轻松本地部署多款大模型,DeepSeek支持!这个开源神器绝了
"只需一行命令就能在本地运行Llama 3、DeepSeek-R1等前沿大模型,支持Windows/Mac/Linux全平台,这个开源项目让AI开发从未如此简单!"
|
9天前
|
人工智能 Linux iOS开发
本地部署大模型DeepSeek并通过Infortress App远程访问
本地部署DeepSeek大模型后,如何在外网用手机随时随地访问?无需复杂设置,通过Infortress App即可轻松实现!只需三步:安装Infortress服务端、一键部署DeepSeek大模型、安装手机/电脑客户端。Infortress支持纯图形化操作,适合新手,还自带内网穿透功能,跨网络访问无忧。让本地AI随身携带,数据掌控在手,随时随地使用!
本地部署大模型DeepSeek并通过Infortress App远程访问
|
3天前
|
API 开发工具 网络架构
【Azure Service Bus】使用Python SDK创建Service Bus Namespace资源(中国区)
本文介绍了如何使用Python SDK创建Azure Service Bus Namespace资源。首先,通过Microsoft Entra ID注册应用获取Client ID、Client Secret和Tenant ID,完成中国区Azure认证。接着,初始化ServiceBusManagementClient对象,并调用`begin_create_or_update`方法创建资源。
64 29
|
1月前
|
存储 人工智能 Java
Spring AI与DeepSeek实战四:系统API调用
在AI应用开发中,工具调用是增强大模型能力的核心技术,通过让模型与外部API或工具交互,可实现实时信息检索(如天气查询、新闻获取)、系统操作(如创建任务、发送邮件)等功能;本文结合Spring AI与大模型,演示如何通过Tool Calling实现系统API调用,同时处理多轮对话中的会话记忆。
370 57
|
1月前
|
Kubernetes 调度 异构计算
生产环境 K8S + Deepseek 实现大模型部署 和 容器调度(图解+史上最全)
生产环境 K8S + Deepseek 实现大模型部署 和 容器调度(图解+史上最全)
生产环境 K8S + Deepseek 实现大模型部署 和 容器调度(图解+史上最全)
|
1月前
|
人工智能 算法 安全
OpenRouter 推出百万 token 上下文 AI 模型!Quasar Alpha:提供完全免费的 API 服务,同时支持联网搜索和多模态交互
Quasar Alpha 是 OpenRouter 推出的预发布 AI 模型,具备百万级 token 上下文处理能力,在代码生成、指令遵循和低延迟响应方面表现卓越,同时支持联网搜索和多模态交互。
175 1
OpenRouter 推出百万 token 上下文 AI 模型!Quasar Alpha:提供完全免费的 API 服务,同时支持联网搜索和多模态交互
|
1月前
|
人工智能 搜索推荐 IDE
突破网页数据集获取难题:Web Unlocker API 助力 AI 训练与微调数据集全方位解决方案
本文介绍了Web Unlocker API、Web-Scraper和SERP API三大工具,助力解决AI训练与微调数据集获取难题。Web Unlocker API通过智能代理和CAPTCHA绕过技术,高效解锁高防护网站数据;Web-Scraper支持动态内容加载,精准抓取复杂网页信息;SERP API专注搜索引擎结果页数据抓取,适用于SEO分析与市场研究。这些工具大幅降低数据获取成本,提供合规保障,特别适合中小企业使用。粉丝专属体验入口提供2刀额度,助您轻松上手!
63 2
|
1月前
|
人工智能 数据可视化 API
开箱即用的可视化AI应用编排工具 Langflow,可调用魔搭免费API作为tool
ModelScope 社区基于优秀的开源可视化AI应用编排工具 Langflow 搭建了创空间,以方便社区开发者基于社区开源模型及免费魔搭 API-Inference,快速创建Agent应用、RAG应用并将其部署为API服务。
237 14