DeepSeek入门教程

news/2025/1/30 12:52:42/文章来源:https://www.cnblogs.com/Chilam007/p/18692699

一、简介

DeepSeek-V3 是一款高性能的开源 AI 模型,支持自然语言处理、智能对话生成等任务。其 API 接口与 OpenAI 完全兼容,用户可以通过简单的配置迁移现有项目,同时享受更低的成本和更高的性能。本文档将详细介绍如何快速接入 DeepSeek-V3 API

二、注册与API Key获取

1.注册 DeepSeek 账号

访问 DeepSeek 官网https://platform.deepseek.com/api_keys ,注册账号

2. 创建API key

进入下图页面创建key注:点击创建后会出现API key,记住只出现一次,保存好。同时将 API Key 存储在安全位置,如环境变量或配置文件中)

二、使用Python调用DeepSeek V3 API(多轮对话)

1. 安装 OpenAI API 库:pip install openai ,或者直接在pycharm里面安装openai库

2. DeepSeek /chat/completions API 是一个“无状态” API,即服务端不记录用户请求的上下文,用户在每次请求时,需将之前所有对话历史拼接好后,传递给对话 API。下面的代码以 Python 语言,展示了如何进行上下文拼接,以实现多轮对话。

# 初始化 OpenAI 客户端
from openai import OpenAItext = input("请输入对话:\n")
print(" 正在AI对话... 请稍等.....")# 请替换为你的 API 密钥
client = OpenAI(api_key="sk-xx", base_url="https://api.deepseek.com")messages = [{"role": "user", "content": text}]# 使用 stream=True 来逐行获取响应
response = client.chat.completions.create(model="deepseek-chat",  # 请确保模型名称正确messages=messages,stream=True  # 启用流式响应
)# 逐行显示响应内容
print("AI回复:")
for chunk in response:if chunk.choices[0].delta.content:  # 检查是否有内容print(chunk.choices[0].delta.content, end="", flush=True)  # 逐行显示
print()  # 换行while True:text = input("追加对话:\n")messages.append({"role": "user", "content": text})response = client.chat.completions.create(model="deepseek-chat",messages=messages,stream=True)# 逐行显示响应内容print("AI回复:")for chunk in response:if chunk.choices[0].delta.content:  # 检查是否有内容print(chunk.choices[0].delta.content, end="", flush=True)  # 逐行显示print()  # 换行

三、运行效果图

 四、常见问题与解答

1. DeepSeek-V3 与 OpenAI 的区别是什么?

DeepSeek-V3 提供与 OpenAI 相同的 API 格式,但成本更低、性能更高,同时支持自定义模型和扩展能力。

2. 如何启用流式输出?

在 API 调用中将 stream 参数设置为 true 即可。

3. 是否支持团队协作?

DeepSeek 支持多用户管理和 API Key 权限分配,适合团队项目。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/876284.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Archlinux 玩原神

首先你需要一台装载了archlinux的电脑,配置的话本人:Lenovo TianYi510S-07IMB Intel Core™ i5-10400 12 内存 8.0 GiB 磁盘 1 TB 玩的挺舒服的不会安装arch或者wine的看这里 然后本人是国际服Genshin Impact,国服同理(把下文的Genshin Impact当作yuanshen),参照官网安装…

C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)

前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。欢迎投稿、推荐或自荐优质文章、项目、学习资源等…

JQuery实现轮播图

一、html代码<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title> </he…

e语言 超级编辑框

本文来自博客园,作者:__username,转载请注明原文链接:https://www.cnblogs.com/code3/p/18692666

clickhouse01 服务器选型, 安装(内核优化), mysql接口协议连接, DBeaver工具使用, 数据格式, 存储引擎, 用户管理

一:clickhouse 简介: https://clickhouse.com/docs/zh #什么是 clickhouse ClickHouse 是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。 1.1:clickhouse 简介:由俄罗斯的搜索公司 yandex 在 2016 年 6 月 15 日开源 操作和mysql很像 1.1.1:列式数据库与行式数据…

【Azure Logic App】使用MySQL 新增行触发器遇见错误 :“Unknowncolumncreated_atinorderclause”

Logic App MySQL Connector: Unknown column created_at in order clause问题描述 使用Azure Logic App服务,用于监控MySQL数据库的数据新增后,触发后续的逻辑处理操作。但是,当Workflow被触发Failed,并且无法执行Workflow中的动作。查看错误信息为 : Unknown column crea…

java集合中的泛型

多态 子类类型赋值给父类 Father f1 = New Son(), 调用子类方法报错。 调用父类方法OK。这个就是多态public class goodStudy{public static void main(String[] args) {ArrayList list = new ArrayList();// 子类类型赋值给父类Person u1 = new User();// 调用子类方法报错u…

java中链表LinkedList

复习一下: ArrayList在java哪一个包中? ArrayList在java --> util包中 import java.util.ArrayList; LinkedList LinkedList: 可以在集合前面增加数据,也可以在后面增加数据,还可以在数据之间增加数据。 LinkedList 新增add package goodStudy; //ArrayList在java-->…

2025-1-21-简易登录界面的实现

前端 我们需要两个输入框,一个登录按钮,像这样(为了好看,用的是element-ui的组件,使用的话需要先去下载文件引用)代码如下系统<el-form ref="form" :model="user" label-width="80px"><el-form-item label="用户名">…

SSM

Spring Framework系统架构学习路线一、核心概念 代码书写现状:耦合度偏高 解决方案:使用对象时,在程序中不要主动使用new产生对象,转换为有外部提供对象 IOC(Inversion of Control)控制反转:对象的创建控制权由程序转移到外部,这种思想称为控制反转 目标:充分解耦 Spr…

2025寒假集训

1.斜率优化dp 以例题P3628 [APIO2010] 特别行动队 设\(f[i]\)为以\(i\)结尾最大的修正战斗力 易得状态转移方程\(f[i]=max(f[j]+a*(s[i]-s[j])^2+b*(s[i]-s[j])+c)\) 其中\(1 \le j \le i-1\) 把方程化简得:\(f[i]=f[j]+a*s[i]^2-2*a*s[i]*s[j]+a*s[j]^2+b*s[i]-b*s[j]+c\) 将含…