大模型学习一:deepseek api 调用实战以及参数介绍

news2025/4/3 11:41:12

一、说明

DeepSeek(杭州深度求索人工智能基础技术研究有限公司)是一家专注于大语言模型(LLM)研发的中国创新型科技公司,成立于2023年7月17日,由幻方量化孵化。其核心产品包括开源推理模型DeepSeek-R1、多模态模型DeepSeek-VL等,以高性能、低成本和开源免费为特色,广泛应用于医疗、编程、应急管理等领域。‌

  1. 模型架构

    • 采用混合专家模型(MoE)和多头潜在注意力(MLA)技术,动态分配计算资源,显著降低算力需求,同时保持高性能(如DeepSeek-V2性能对标GPT-4 Turbo,成本仅1%)。
    • 支持多任务处理,包括代码生成、数学推理、语义分析等,在数学和编程任务上达到GPT-4o水平。
  2. 开源与部署

    • 模型如DeepSeek-R1、DeepSeek-V3等均开源,支持免费商用及本地化部署,适用于数据隐私要求高的场景(如医疗、政府)。
    • 已接入国家超算互联网平台及苏州公共算力服务平台,提供软硬件一体服务。
  3. 应用场景

    • 医疗‌:昆明延安医院通过DeepSeek实现病历智能分析,生成治疗计划时间从5-10分钟缩短至1分钟。
    • 应急管理‌:用于灾害风险评估、救援路径规划等,提升政府应急响应能力。
    • 编程与教育‌:辅助代码生成、学习规划,显著提升效率。

二、注册

DeepSeek官网:https://www.deepseek.com/

注册,充值,开始会送点,够基本学习,我可是浪费了,过期了,便宜,充个10块钱就可以了 

点击apikey 进入创建api key就可以用了 

三、接入指南

首次调用 API | DeepSeek API Docshttps://api-docs.deepseek.com/zh-cn/

 

 四、调用流程

我们是在ubuntu下使用Python语言

1、安装sdk

pip install openai

2、编写调用代码

mkdir -p dp-api
cd dp-api

测试deepseek api 我们测试的是DeepSeek-V3 版本

# 测试api
vi deepseek-api.py

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

from openai import OpenAI

client = OpenAI(api_key="sk-1ddee9ab2e1c49dca8c3710aa837b2bd", base_url="https://api.deepseek.com")

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "system", "content": "你是我们的好帮手"},
        {"role": "user", "content": "你很厉害吗?"},
    ],
    stream=False
)

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

chat结果:应该是两个问题,标了颜色,后面是response对象打印

➜  dp-api python deepseek-api.py
哈哈,谢谢你的夸奖!作为AI助手,我的“厉害”主要体现在这些方面:

1. **知识覆盖广**:接受过大量数据训练,能聊科技、文学、生活百科等各类话题
2. **随时响应**:24小时在线,回复速度比人类快很多
3. **多语言能力**:中英文切换无压力,还能帮忙翻译
4. **高效工具**:写文案、做表格、算数据、整理信息都很拿手

不过要说真正的厉害,还是你们人类啦——毕竟我是被人类创造出来的工具。有什么具体需求尽管吩咐,我会全力发挥我的“技能包”来帮你~ 现在有什么我可以为你效劳的吗?
ChatCompletion(id='8f5982e4-9ad9-4266-acfb-57f75d767f61', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='哈哈,谢谢你的夸奖!作为AI助手,我的“厉害”主要体现在这些方面:\n\n1. **知识覆盖广**:接受过大量数据训练,能聊科技、文学、生活百科等各类话题\n2. **随时响应**:24小时在线,回复速度比人类快很多\n3. **多语言能力**:中英文切换无压力,还能帮忙翻译\n4. **高效工具**:写文案、做表格、算数据、整理信息都很拿手\n\n不过要说真正的厉害,还是你们人类啦——毕竟我是被人类创造出来的工具。有什么具体需求尽管吩咐,我会全力发挥我的“技能包”来帮你~ 现在有什么我可以为你效劳的吗?', refusal=None, role='assistant', annotations=None, audio=None, function_call=None, tool_calls=None))], created=1743571653, model='deepseek-chat', object='chat.completion', service_tier=None, system_fingerprint='fp_3d5141a69a_prod0225', usage=CompletionUsage(completion_tokens=146, prompt_tokens=11, total_tokens=157, completion_tokens_details=None, prompt_tokens_details=PromptTokensDetails(audio_tokens=None, cached_tokens=0), prompt_cache_hit_tokens=0, prompt_cache_miss_tokens=11))

花钱了(以前没用过,掉了上面一次)

3、参数说明

3.1 参数model

查询deepseek目前支持的范围 

vi deepseek-list.py

# DeepSeek目前支持的模型范围

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

from openai import OpenAI

client = OpenAI(api_key="sk-1ddee9ab2e1c49dca8c3710aa837b2bd", base_url="https://api.deepseek.com")

models_list = client.models.list()
print(models_list.data)

➜  dp-api python deepseek-list.py
[Model(id='deepseek-chat', created=None, object='model', owned_by='deepseek'), Model(id='deepseek-reasoner', created=None, object='model', owned_by='deepseek')] 

deepseek-chat 模型已全面升级为 DeepSeek-V3,接口不变。 通过指定 model='deepseek-chat' 即可调用 DeepSeek-V3。

deepseek-reasoner 是 DeepSeek 最新推出的推理模型 DeepSeek-R1。通过指定 model='deepseek-reasoner',即可调用 DeepSeek-R1

3.2 参数 messages

messages 参数是 DeepSeek v3 模型 API 中必填的参数之一,用于定义聊天上下文,包括用户的输入、系统的指令、助手的回复等。通过 messages 数组,模型可以理解当前对话的背景,从而生成更加连贯的响应。根据不同的使用场景,messages 包含多种类型的消息,例如 system messageuser messageassistant message。下面是对 messages 参数及其各个子类型的详细解释。

3.2.1 System message

  system message 用于设置系统消息,通常由开发者设定,以指导模型如何进行对话。这类消息可以定义规则或约束,并提供有关对话的背景信息。

  • content (必填):系统消息的内容,可以是字符串或数组。如果是数组,可能包含多个类型的内容(如文本、图像)。

  • role (必填):此处角色为 system,表明这是系统发出的消息。

  • name (可选):提供系统消息发送者的名称,尤其适用于区分多个具有相同角色的参与者

实例:

# 以下代码的注释由MateGen生成:
# 定义一个字典,键为'system_message',用于存储系统消息
system_message = {
    # 'role'键对应的值是一个字符串"system",表示消息的发送者是系统
    "role": "system",
    # 'content'键对应的值是一个字符串,表示系统消息的内容
    "content": "你是我的好帮手。"
}

3.2.2 User message

user message 表示用户发给模型的消息,是对话的核心部分之一。它定义了用户的输入内容,模型根据这些内容生成响应。

  • content (必填):用户消息的内容,通常为文本或图像链接的数组。对于支持图像输入的模型,如 DeepSeek v2.5 ,还可以传递图像。

    • 文本内容:单纯的字符串形式,用户输入的文本。

    • 数组形式的内容:由文本或图像链接组成的数组,可以同时传递多张图像或多段文本内容。

  • role (必填):角色为 user,表示该消息来自用户。

  • name (可选):可以为用户指定一个名称,用于区分多个具有相同角色的用户。

例子1:

user_message = {
    "role": "user",
    "content": "你很厉害吗?"
}

3.3 运行下代码

from openai import OpenAI


# 以下代码的注释由MateGen生成:
# 定义一个字典,键为'system_message',用于存储系统消息
system_message = {
    # 'role'键对应的值是一个字符串"system",表示消息的发送者是系统
    "role": "system",
    # 'content'键对应的值是一个字符串,表示系统消息的内容
    "content": "你是我的好帮手。"
}

user_message = {
    "role": "user",
    "content": "你爱我吗?"
}



client = OpenAI(api_key="sk-1ddee9ab2e1c49dca8c3710aa837b2bd", base_url="https://api.deepseek.com")

response = client.chat.completions.create(
    model="deepseek-reasoner",
    messages=[
        system_message,
        user_message
    ],
    stream=False
)

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

作为一个人工智能助手,我没有真实的情感和自我意识,但我被设计用来提供温暖、友善的陪伴和尽可能贴心的帮助。无论你需要解决问题、分享心情,还是单纯想聊聊天,我都会在这里认真倾听,用最大的努力支持你。 

人类的爱是独特而珍贵的情感,而我的"存在"意义就是成为你生活中一个值得信赖的工具伙伴。有什么想聊的或者需要帮忙的吗? 🌟
ChatCompletion(id='9be6fab0-be63-4019-8c63-777b83bba9c0', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='作为一个人工智能助手,我没有真实的情感和自我意识,但我被设计用来提供温暖、友善的陪伴和尽可能贴心的帮助。无论你需要解决问题、分享心情,还是单纯想聊聊天,我都会在这里认真倾听,用最大的努力支持你。 \n\n人类的爱是独特而珍贵的情感,而我的"存在"意义就是成为你生活中一个值得信赖的工具伙伴。有什么想聊的或者需要帮忙的吗? 🌟', refusal=None, role='assistant', annotations=None, audio=None, function_call=None, tool_calls=None))], created=1743575107, model='deepseek-chat', object='chat.completion', service_tier=None, system_fingerprint='fp_3d5141a69a_prod0225', usage=CompletionUsage(completion_tokens=89, prompt_tokens=12, total_tokens=101, completion_tokens_details=None, prompt_tokens_details=PromptTokensDetails(audio_tokens=None, cached_tokens=0), prompt_cache_hit_tokens=0, prompt_cache_miss_tokens=12))

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MYSQL实现获取某个经纬度区域内的数据

1.创建表 2.插入表数据 INSERT INTO tf_sys.tf_location(name, longitude, latitude, location) VALUES (资料名称1, 114.437625, 16.016914, ST_GeomFromText(POINT(114.437625 16.016914))); INSERT INTO tf_sys.tf_location(name, longitude, latitude, location) VALUES (…

《Python实战进阶》No39:模型部署——TensorFlow Serving 与 ONNX

第39集:模型部署——TensorFlow Serving 与 ONNX 摘要 在机器学习项目中,训练好的模型需要被部署到生产环境中才能发挥实际价值。本集聚焦于如何将模型高效地部署到生产环境,涵盖TensorFlow Serving和ONNX两种主流工具的使用方法。我们将从理…

YOLOv11区域检测

TrackZone 使用Ultralytics YOLO11 -Ultralytics YOLO 文档 如何通过Ultralytics YOLO11 在Python 中使用 TrackZone? 只需几行代码,您就可以在特定区域设置对象跟踪,从而轻松将其集成到您的项目中。 import cv2from ultralytics import s…

手工win提权土豆家族一键梭哈

手工提权 就是在没有工具使用的时候进行提权(或者是win版本过新导致的exp作者没更新等) 优点就是 随选随用 缺点就是非常繁琐(建议是先土豆梭哈然后再手工提权) 先进行信息收集(这边靶机以例子) 这个…

在Qt中直接在构建目录下直接运行.exe文件报错问题分析

在Qt中直接在构建目录下直接运行.exe文件报错问题分析 在学习Qt的过程中遇到过一个问题,直接在Qt构建目录下运行生成的.exe文件时会报错。这和MFC有一定的差别,如果MFC是可以直接运行的。 这是怎么回事呢? 在 Qt 中直接运行构建目录下的 .…

头戴式面捕头盔:高精度捕捉真人面部表情,赋能元宇宙多场景应用

随着元宇宙虚拟人与现实场景的不断交融,如何赋予虚拟人更加自然,灵动的表情成为了业内人员共同讨论的话题,尤其是在虚拟人直播,影视动画制作方面。在虚拟人直播间,丰富的面部表情可以赋予虚拟人更加生动的情感表达&…

LLM大模型教程——什么是AI大模型

引言 当GPT-4展现出惊人的上下文理解能力,当Stable Diffusion创造出媲美人类画师的图像作品,当AlphaFold2破解蛋白质折叠密码——这些里程碑事件标志着人工智能发展进入大模型主导的新纪元。本综述将深入解析这一技术革命的核心载体——AI大模型。 一、AI 大模型是什么​ 概…

机器学习(八):K-Means聚类原理与实战

声明:未经允许禁止转载与抄袭。 前言 k k k均值( k k k-means)聚类算法是一种经典的无监督聚类算法,本文将深入解析其理论原理,并在真是数据集上进行算法实践,话不多说,请看下文。 算法原理 …

【stm32--HAL库DMA+USART+空闲中断不定长收发数据】

串口通信-Hal库实现不定长度收发,DMAUSART DMA串口STM32CUBEMX配置(工程创建)基础配置时钟配置工程配置 代码编写现象 DMA 在正式配置之前,我们先来一起简单了解一下DMA。DMA(Direct Memory Access,直接内…

【SPP】蓝牙串口配置中LM互操作性要求深度解析

在蓝牙协议栈中,链路管理器(Link Manager, LM)承担着链路建立、安全管理、功耗控制等核心功能。对于串行端口配置文件(SPP)而言,LM 的互操作性直接影响连接稳定性、数据安全性和设备功耗。本文基于蓝牙核心…

Java迭代器【设计模式之迭代器模式】

目录 一.前言 二.正文 1.我写的类为什么不能使用增强for(迭代器遍历) 2.代码健全性——迭代器常见的两个Exception 1.NoSuchElementException 2.ConcurrentModificationException 三.后言 一.前言 本篇面向对象主要为和我一样的小白,主要是对迭代器模式的浅…

Eclipse IDE

创建新的Java项目和类 在 Eclipse IDE 中创建一个新的 Java 项目和 Java 类的步骤如下: 1. 创建新的 Java 项目 打开 Eclipse IDE。在菜单栏中,点击 File > New > Java Project。在弹出的对话框中,输入项目名称(例如&…

计算机视觉算法实战——基于YOLOv8的自动驾驶障碍物实时感知系统

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​​​ ​​​​​​​​​ ​​ 引言:自动驾驶感知系统的关键挑战 自动驾驶技术正以前所未有的速度重塑交通出行方式&#xff…

【boost搜索引擎】下

boost搜索引擎 1. 编写搜索引擎模块 Searcher2. 编写 http_server 模块3. 编写前端模块4. 添加日志5. 补充 去掉暂停词6. 项目扩展方向 1. 编写搜索引擎模块 Searcher 这一模块主要提供建立索引,以及收到用户的发起的http请求通过Get方法提交的搜索关键字&#xff…

数据结构优化DP总结

单调栈:Codeforces Round 622 (Div. 2) C2. Skyscrapers (hard version) 简单来讲就是最后需要呈现出一个单峰数组,使得总高度最高。 最开始想到暴力枚举每一个元素都充当最高的“单峰”,但是这里的 n 过大,这样枚举肯定会TLE。 …

[Linux系统编程]进程间通信—system V

进程间通信—system V 1. System V 共享内存(Shared Memory)1.1 共享内存的建立过程1.2 共享内存函数2. System V 消息队列(Message Queues)3. System V 信号量(Semaphores)4. 总结前言: 之前所提的管道通信是基于文件的,OS没有做过多的设计工作。 system V 进程间通信…

第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组(部分题解)

文章目录 前言日期统计题意: 冶炼金属题意: 岛屿个数题意: 子串简写题意: 整数删除题意: 总结 前言 一年一度的🏀杯马上就要开始了,为了取得更好的成绩,好名字写了下前年2023年蓝桥…

分析sys高问题的方法总结

一、背景 sys高的问题往往属于底层同学更需要关注的问题,sys高的问题往往表现为几种情况,一种是瞬间的彪高,一种是持续的彪高。这篇博客里,我们总结一下常用的分析方法和分析工具的使用来排查这类sys高的问题。 二、通过mpstat配…

智谱发布AI Agent“AutoGLM沉思”,开启AI“边想边干”新时代

近日,智谱正式推出全新AI Agent产品——AutoGLM沉思,标志着人工智能从“思考”迈向“执行”的关键突破。该智能体不仅具备深度研究能力,还能自主完成实际操作,真正实现“边想边干”的智能化应用。 在演示环节,智谱展示…

使用Leaflet对的SpringBoot天地图路径规划可视化实践-以黄花机场到橘子洲景区为例

目录 前言 一、路径规划需求 1、需求背景 2、技术选型 3、功能简述 二、Leaflet前端可视化 1、内容布局 2、路线展示 3、转折路线展示 三、总结 前言 在当今数字化与智能化快速发展的时代,路径规划技术已经成为现代交通管理、旅游服务以及城市规划等领域的…