当前位置: 首页 > news >正文

大模型学习一: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 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.dtcms.com/a/108338.html

相关文章:

  • 【动手学深度学习】#7 现代卷积神经网络
  • C++多态:从青铜九鼎到虚函数表的千年演化密码
  • Pytorch|RNN-心脏病预测
  • 文件分享系统--使用AI Trae开发前后端
  • 鸿蒙应用元服务开发-Account Kit获取华为账号用户信息概述
  • 魔塔社区使用llamafactory微调AI阅卷试题系统
  • 应用弥散张量成像和支持向量机检测慢性爆炸相关轻度颅脑损伤
  • Dockerfile文件构建镜像Anaconda+Python教程
  • 六十天Linux从0到项目搭建(第十八十九天)(缓冲区机制、未打开的磁盘存放、文件存储、磁盘物理结构、寻址、块设备管理、文件系统、增删查改、硬链接、软链接)
  • 通俗易懂的解释Git操作中“合并”和“变基”的区别
  • CMD命令通过已知ip使用以下三种方式来获取对方主机名
  • 常见优化SQL语句策略和示例
  • ControlNet-Tile详解
  • 最新Spring Security实战教程(八)Remember-Me实现原理 - 持久化令牌与安全存储方案
  • Python数据可视化-第3章-图表辅助元素的定制
  • PyTorch 中池化层MaxPool2d
  • CSS--解决float: right在空间不够时会自动往下移的问题
  • 音视频入门基础:MPEG2-TS专题(26)——通过FFmpeg命令使用RTP发送TS流
  • 【Word】批注一键导出:VBA 宏
  • C#核心学习(五)面向对象--封装(4)C#中的索引器详解:让对象像数组一样灵活访问
  • MySQL的数据目录以及日志
  • 企业网络优化方案:SD-WAN赋能企业远程办公
  • 使用JSON.stringify报错:Uncaught TypeError: cyclic object value
  • RNN模型与NLP应用——(6/9)Text Generation(文本自动生成)
  • UE小:在Unreal Engine 5中实现多层静态网格体遮挡拾取
  • 【落羽的落羽 C++】模板简介
  • 交易引擎中的设计模式
  • 「青牛科技」GC5331 5V三相无感正弦波电机驱动芯片 对标茂达APX9331/灿瑞OCH2360
  • Spring Cloud Gateway 的核心作用
  • Flutter项目之登录注册功能实现