【大模型】在程序中集成大模型DeepSeek-v3对话

在程序中集成大模型DeepSeek-v3对话

这篇文章写一下如何将DeepSeek对话能力集成到自己的程序中。小白扫盲专用…

一、官网注册,拿到API key

DeepSeek官网 先在这里注册,会送一些免费的Tokens,有效期一个月。
随后在DeepSeek开发平台中创建自己的API key。
在这里插入图片描述

二、调用API接口进行对话

 直接上例子了,接口很简单,调用时只需要将创建的API key带上即可。
 最后附上示例的请求与响应。

第一次对话

问题:你好,你介绍一下自己可以吗,并且我能叫你小瑞同学吗?
在这里插入图片描述
可以看到DeepSeek的回答是:

你好呀!我是你的AI助手,随时准备为你提供帮助~你可以叫我小瑞同学,当然也可以随意给我起个你喜欢的名字哦!无论是解答问题、提供建议,还是陪你聊聊天,我都会尽力做到最好!😊
有什么想聊的或者需要帮忙的,随时告诉我吧!

接着进行继续对话

注意由于DeepSeek提供的这个接口是无状态的,所以如果想要连续对话,需要在下一次请求时带上上一次问题的回答。

问题二:那你告诉我为什么1+1等于2,回答的时候带上自己的名字
在这里插入图片描述
可以看到这次的回答是:

好的,小瑞同学来解答这个问题啦!😊\n\n1+1等于2,这其实是数学中最基础的加法运算之一。在数学的公理体系中,尤其是皮亚诺公理(Peano axioms)中,数字“1”被定义为自然数的起点,而“2”则是“1”的后继数。当我们说1+1时,实际上是在问:“1的后继数是什么?”根据定义,1的后继数就是2。所以,1+1=2。\n\n这个等式不仅仅是数学上的定义,它也是我们日常生活中计数和计算的基础。就像你有一个苹果,再得到一个苹果,你现在就有两个苹果了。简单直观,对吧?\n\n希望这个解释能让你满意!如果还有其他问题,随时找小瑞同学哦!🌟

可以看出这是连续的对话,DeepSeek记住了第一次对话时给她起的名字。所以只要在下一次请求中带上上一次的回答就可以连续对话了。

三、这两次对话请求的源码

第一次对话请求Body部分,注意需要连续对话时,携带上一次的回答

{
    "messages": [
        {
            "content": "You are a helpful assistant",
            "role": "system"
        },
        {
            "content": "你好,你介绍一下自己可以吗,并且我能叫你小瑞同学吗?",
            "role": "user"
        }
    ],
    "model": "deepseek-chat",
    "frequency_penalty": 0,
    "max_tokens": 2048,
    "presence_penalty": 0,
    "response_format": {
        "type": "text"
    },
    "stop": null,
    "stream": false,
    "stream_options": null,
    "temperature": 1,
    "top_p": 1,
    "tools": null,
    "tool_choice": "none",
    "logprobs": false,
    "top_logprobs": null
}

响应
{
    "id": "550ce0e376",
    "object": "chat.completion",
    "created": 176328,
    "model": "deepseek-chat",
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "你好呀!我是你的AI助手,随时准备为你提供帮助~你可以叫我小瑞同学,当然也可以随意给我起个你喜欢的名字哦!无论是解答问题、提供建议,还是陪你聊聊天,我都会尽力做到最好!😊 有什么想聊的或者需要帮忙的,随时告诉我吧!"
            },
            "logprobs": null,
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 24,
        "completion_tokens": 64,
        "total_tokens": 88,
        "prompt_cache_hit_tokens": 0,
        "prompt_cache_miss_tokens": 24
    },
    "system_fingerprint": "f0e1b4"
}

第二次对话请求Body部分

{
    "messages": [
        {
            "role": "user",
            "content": "你好,你介绍一下自己可以吗,并且我能叫你小瑞同学吗?"
        },
        {
            "role": "assistant",
            "content": "你好呀!我是你的AI助手,随时准备为你提供帮助~你可以叫我小瑞同学,当然也可以随意给我起个你喜欢的名字哦!无论是解答问题、提供建议,还是陪你聊聊天,我都会尽力做到最好!😊 有什么想聊的或者需要帮忙的,随时告诉我吧!"
        },
        {
            "role": "user",
            "content": "那你告诉我为什么1+1等于2,回答的时候带上自己的名字"
        }
    ],
    "model": "deepseek-chat",
    "frequency_penalty": 0,
    "max_tokens": 2048,
    "presence_penalty": 0,
    "response_format": {
        "type": "text"
    },
    "stop": null,
    "stream": false,
    "stream_options": null,
    "temperature": 1,
    "top_p": 1,
    "tools": null,
    "tool_choice": "none",
    "logprobs": false,
    "top_logprobs": null
}
响应
{
    "id": "112ed0ae64d3",
    "object": "chat.completion",
    "created": 1736525,
    "model": "deepseek-chat",
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "好的,小瑞同学来解答这个问题啦!😊\n\n1+1等于2,这其实是数学中最基础的加法运算之一。在数学的公理体系中,尤其是皮亚诺公理(Peano axioms)中,数字“1”被定义为自然数的起点,而“2”则是“1”的后继数。当我们说1+1时,实际上是在问:“1的后继数是什么?”根据定义,1的后继数就是2。所以,1+1=2。\n\n这个等式不仅仅是数学上的定义,它也是我们日常生活中计数和计算的基础。就像你有一个苹果,再得到一个苹果,你现在就有两个苹果了。简单直观,对吧?\n\n希望这个解释能让你满意!如果还有其他问题,随时找小瑞同学哦!🌟"
            },
            "logprobs": null,
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 112,
        "completion_tokens": 159,
        "total_tokens": 271,
        "prompt_cache_hit_tokens": 0,
        "prompt_cache_miss_tokens": 112
    },
    "system_fingerprint": "f70e1b4"
}

最后别忘了API key需要在请求中携带。
在这里插入图片描述

### 腾讯云 DeepSeek V3 与 LangChain 的集成 在腾讯云上使用 DeepSeek V3 模型并与 LangChain 进行集成,可以实现复杂的自然语言处理任务,例如问答系统、文档摘要生成以及对话机器人开发等。以下是关于如何将 DeepSeek V3 和 LangChain 结合使用的详细说明。 #### 1. **DeepSeek V3 概述** DeepSeek V3 是一种高性能的语言模型,其衍生版本 DeepSeek-R1 已被证明在多个领域表现出色[^1]。此模型特别适合用于需要复杂推理的任务,如数学计算、代码生成和逻辑推导。 #### 2. **LangChain 基本概念** LangChain 是一个开源框架,旨在简化大型语言模型的应用构建过程。它提供了多种工具链(chains),使开发者能够轻松连接不同的数据源并执行各种 NLP 任务。通过 LangChain,用户可以高效管理模型输入输出,并支持自定义工作流设计。 #### 3. **腾讯云上的部署流程** 要在腾讯云环境中运行 DeepSeek V3 并将其嵌入到 LangChain 中,通常遵循以下技术路径: - **获取访问权限**: 确保已注册腾讯云账户并通过控制台申请所需的服务资源。 - **安装依赖库**: 下载必要的 Python 库文件来加载预训练模型和支持 API 请求操作。 ```bash pip install langchain deepseek-transformers torch transformers ``` - **初始化客户端配置**: 创建应用程序实例以调用远程服务端点地址。 #### 4. **代码示例** 下面是一个简单的例子展示如何利用 LangChain 加载 DeepSeek V3 来完成文本生成任务: ```python from langchain.llms import DeepSeek from langchain.prompts import PromptTemplate from langchain.chains import LLMChain # 初始化 DeepSeek 模型对象 llm = DeepSeek(model_name="deepseek-v3-base") # 定义提示模板结构 template = """Answer the following question based on your knowledge: {question}""" prompt = PromptTemplate(template=template, input_variables=["question"]) # 构建链式处理机制 chain = LLMChain(llm=llm, prompt=prompt) # 执行查询请求 response = chain.run({"question": "What is machine learning?"}) print(response) ``` 上述脚本展示了基本的工作原理——即通过指定问题字符串作为参数传递给 `LLMChain` 对象的方法属性 `.run()` ,从而触发后台服务器上的实际运算活动。 #### 5. **高级设置选项** 当涉及更精细的结果呈现需求时,可调整某些额外参数来自定义行为模式。比如启用分数显示功能或者限定最大字符数限制等功能特性均可以通过如下方式设定: ```python params = { 'include_score': True, 'max_content_length': 500 } response_with_details = llm.generate(["Tell me about AI"], params=params) for res in response_with_details.generations: print(f"Text: {res.text}, Score:{res.score}") ``` 这里我们传入了一个字典形式的参数列表至 generate 方法内部,其中包含了两个键值对分别对应于是否附加匹配程度指标字段以及最终输出片段长度上限约束条件[^3]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值