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

一、说明

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 OpenAIclient = 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 OpenAIclient = 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.mzph.cn/news/900132.shtml

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

相关文章

【Linux网络与网络编程】03.UDP Socket编程

一、UDP Socket编程接口 // 创建套接字 int socket(int domain, int type, int protocol); // 参数: // domain:域(协议家族),这里使用 AF_INET 表示进行网络编程 // type:网络通信传输的类型&#xff0…

linux gcc

一、常用编译选项 ​基本编译 gcc [input].c -o [output] ​示例: gcc hello.c -o hello # 将 hello.c 编译为可执行文件 hello ./hello # 运行程序 ​分步编译 预处理:-E(生成 .i 文件) gcc -E hello.c -o hello…

若依框架二次开发——RuoYi-AI 集成本地大模型

文章目录 前提条件1. RuoYi-AI 已成功部署并运行2. Ollama 本地大模型已安装1. 配置本地大模型2. 切换至本地模型3. 开始对话总结本文将详细介绍如何在 RuoYi-AI 中集成本地 Ollama 大模型,使系统能够在 离线环境 下提供智能对话能力。 前提条件 在开始集成本地大模型之前,…

Flask学习笔记 - 模板渲染

Flask 模板渲染 模板是包含占位符的 HTML 文件 Flask 使用 Jinja2 模板引擎来处理模板渲染。模板渲染允许你将动态内容插入到 HTML 页面中,使得应用能够生成动态的网页内容。 创建模板:将 HTML 文件放在 templates 文件夹中,使用 Jinja2 占…

解码 from XXX import * - 导入的真相

文章目录 前言一、 什么是 from XXX import *?二、基本用法:导入的实际效果三、默认行为:无 __all__ 的情况四、与直接运行 XXX.py 的对比示例模块使用 from XXX import *直接运行 python example.py关键差异五、为什么需要注意 from XXX import *?最佳实践六、实际应用场景…

JavaScript 中常见的鼠标事件及应用

JavaScript 中常见的鼠标事件及应用 在 JavaScript 中,鼠标事件是用户与网页进行交互的重要方式,通过监听这些事件,开发者可以实现各种交互效果,如点击、悬停、拖动等。 在 JavaScript 中,鼠标事件类型多样&#xff0…

Nacos注册中心AP模式核心源码分析(单机模式)

文章目录 概述一、客户端启动主线流程源码分析1.1、客户端与Spring Boot整合1.2、注册实例(服务注册)1.3、发送心跳1.4、拉取服务端实例列表(服务发现) 二、服务端接收请求主线流程源码分析2.1、接收注册请求2.1.1、初始化注册表2…

prism WPF 模块

模块 DLL ModuleA 和 ModuleB 都要安装 Prism.Unity 引用方式1 项目引用 直接 在引用中添加项目引用 App.xaml.cs 添加模块 ConfigureModuleCatalog using ModuleA; using ModuleB; using Prism.Ioc; using Prism.Modularity; using Prism.Unity; using PrismWpfApp.ViewMo…

CSS:换行与不换行

一、CSS 不允许换行 在 CSS 中,有几种方法可以控制文本不换行: 1. 使用 white-space 属性 .no-wrap {white-space: nowrap; } white-space: nowrap; 会强制文本在一行显示,不换行。 2. 使用 overflow 和 text-overflow 通常与 white-sp…

JavaScript BOM、事件循环

目录 BOM(浏览器对象模型) 一、window 对象 1. 窗口控制 2. 定时器 二、location 对象 三、navigator 对象 四、history 对象 五、screen 对象 六、本地存储 1. localStorage 2. sessionStorage 七、BOM 应用场景 八、总结 JavaScript 执行…

k8s运维面试总结(持续更新)

一、你使用的promethues监控pod的哪些指标? CPU使用率 内存使用率 网络吞吐量 磁盘I/O 资源限制和配额:Prometheus可以监控Pod的资源请求和限制,确保它们符合预设的配额,防止资源过度使用。具体指标如container_spec_cpu_quota用于…

ubuntu20.04升级成ubuntu22.04

命令行 sudo do-release-upgrade 我是按提示输入y确认操作,也可以遇到配置文件冲突时建议选择N保留当前配置

Cortex-M​ 函数调用的入栈与出栈操作

在 ARM Cortex-M 系列单片机中,普通C函数调用的入栈(压栈)和出栈操作通常由编译器编译后生成的代码管理,而硬件仅负责部分关键操作。以下是详细分析: 1. 函数调用与返回的核心机制 (1) 硬件自动完成的部分 返回地址的保存: 当通过 BL(Branch with Link)或 BLX 指令调用…

DeepSeek能否用于对话系统(Chatbot)?技术解析与应用实例!

引言:Chatbot 的进化与挑战 你有没有发现,现在的AI聊天机器人越来越聪明了?无论是客服助手、智能语音设备,还是社交媒体上的自动回复,Chatbot(对话系统)已经渗透到我们生活的方方面面。但问题是…

多表查询的多与一

1.查寻表需要的条件 1.1.首先我们要了解查询表有哪些 1.1.1.多对一 多对一就是一个年表拥有例外一个表的多条数据 一个表对应立一个表的多条数据,另一个表对应这个表的多条数据 这个点被称为多对一 1.1.2.多对多 多对多简单来说就是需要一个中间商 中间商就…

配置文件、Spring日志

SpringBoot配置⽂件 SpringBoot⽀持并定义了配置⽂件的格式, 也在另⼀个层⾯达到了规范其他框架集成到SpringBoot的 ⽬的. 很多项⽬或者框架的配置信息也放在配置⽂件 中, ⽐如: 项⽬的启动端⼝ 数据库的连接信息(包含⽤⼾名和密码的设置) 第三⽅系统的调⽤密钥等信息 ⽤…

嵌入式——Linux系统的使用以及编程练习

目录 一、Linux的进程、线程概念 (一)命令控制进程 1、命令查看各进程的编号pid 2、命令终止一个进程pid 二、初识Linux系统的虚拟机内存管理 (一)虚拟机内存管理 (二)与STM32内存管理对比 三、Lin…

Springcache+xxljob实现定时刷新缓存

目录 SpringCache详解 SpringCache概述 核心原理 接口抽象与多态 AOP动态代理 核心注解以及使用 公共属性 cacheNames KeyGenerator:key生成器 key condition:缓存的条件,对入参进行判断 注解 xxl-job详解 SpringcacheRedis实现…

前端Uniapp接入UviewPlus详细教程!!!

相信大家在引入UviewPlusUI时遇到很头疼的问题,那就是明明自己是按照官网教程一步一步的走,为什么到处都是bug呢?今天我一定要把这个让人头疼的问题解决了! 1.查看插件市场 重点: 我们打开Dcloud插件市场搜素uviewPl…

vector的介绍与代码演示

由于以后我们写OJ题时会经常使用到vector,所以我们必不可缺的是熟悉它的各个接口。来为我们未来作铺垫。 首先,我们了解一下: https://cplusplus.com/reference/vector/ vector的概念: 1. vector是表示可变大小数组的序列容器…