使用 `chat.completions.create` 方法构建一个大模型聊天请求

代码解析

def get_response(text):
    client = OpenAI(
        api_key='sk-c0407cb14046455a98ce91053b257994',  # DEEPSEEK_API_KEY,
        base_url="https://api.deepseek.com",  # 填写DashScope SDK的base_url
    )
    completion = client.chat.completions.create(
        model="deepseek-chat",
        messages=[
            {
                'role': 'system',
                'content': '总结user提交的内容。\
                用一句不超过50字的话总结这段小说的情节。\
                仅回答总结,不需要添加其他内容。'
            },
            {
                'role': 'user',
                'content': text
            }
        ])
    
    return completion.choices[0].message.content

逐行解释

  1. 定义函数 get_response

    def get_response(text):
    
    • 这里定义了一个名为 get_response 的函数,接受一个参数 text,该参数应该是需要处理的文本字符串。
  2. 创建 OpenAI 客户端对象

    client = OpenAI(
        api_key='sk-c0407cb14046455a98ce91053b257994',  # DEEPSEEK_API_KEY,
        base_url="https://api.deepseek.com",  # 填写DashScope SDK的base_url
    )
    
    • OpenAI 类似于一个客户端类,用于与 DeepSeek 的 API 进行交互。
    • api_key:这是你的 API 密钥,用于认证身份。
    • base_url:这是 DeepSeek API 的基础 URL 地址。
  3. 调用 chat.completions.create 方法

    completion = client.chat.completions.create(
        model="deepseek-chat",
        messages=[
            {
                'role': 'system',
                'content': '总结user提交的内容。\
                用一句不超过50字的话总结这段小说的情节。\
                仅回答总结,不需要添加其他内容。'
            },
            {
                'role': 'user',
                'content': text
            }
        ])
    
    • client.chat.completions.create 是一个方法,用于发起一个聊天请求。
    • model:指定使用的模型,这里是 deepseek-chat
    • messages:这是一个列表,包含多个字典,每个字典代表一条消息。每条消息包含两个字段:
      • role:消息的角色,可以是 systemuserassistant
      • content:消息的内容。
    • 第一条消息的角色是 system,内容是一段指示性的文字,告诉模型应该如何处理接下来的消息。
    • 第二条消息的角色是 user,内容是传入的 text 参数,即需要处理的文本。
  4. 返回结果

    return completion.choices[0].message.content
    
    • completion.choices 是一个列表,包含模型生成的回复。这里假设只有一条回复,所以取第一个元素 choices[0]
    • choices[0].message 是生成的回复消息,它本身也是一个字典,包含 rolecontent 字段。
    • choices[0].message.content 是最终生成的回复内容,即对输入文本的总结。

代码逻辑概述

  1. 初始化客户端

    • 创建一个 OpenAI 客户端实例,提供 API 密钥和基础 URL。
  2. 构建请求

    • 使用 chat.completions.create 方法构建一个聊天请求,包含两条消息:
      • 一条系统消息,指示模型如何处理用户输入。
      • 一条用户消息,即需要处理的文本。
  3. 发送请求并获取回复

    • 发送请求并获取模型生成的回复。
    • 返回回复内容。

注意事项

  • API 密钥安全性:确保不要将 API 密钥泄露给任何人,最好使用环境变量或配置文件来存储敏感信息。
  • 错误处理:在实际应用中,应该添加错误处理逻辑,以处理可能发生的异常情况。
  • 请求格式:确保请求格式正确,特别是 messages 的结构和内容。
  • 11
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值