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

调用 DeepSeek制作简单的电子宠物

体功能概述

这段 Python 代码实现了一个简单的电子宠物对话程序。程序通过调用 DeepSeek 的大语言模型 API 来模拟电子宠物与用户进行对话。用户可以输入问题或消息,电子宠物会以简短、友好的语气进行回复。当用户输入 “退出” 时,对话结束。

模块导入

python

from openai import OpenAI
  • OpenAI:从 openai 库中导入,用于与 OpenAI 兼容的 API 进行交互,这里实际上是与 DeepSeek 的 API 进行交互。

初始化 OpenAI 客户端

python

client = OpenAI(api_key="XXXX", base_url="https://api.deepseek.com")

  • client:一个 OpenAI 客户端实例,用于与 DeepSeek 的 API 进行通信。
  • api_key:需要替换为你自己的 DeepSeek API 密钥,用于身份验证。
  • base_url:指定 API 的基础 URL,这里指向 DeepSeek 的 API 地址。

函数说明

pet_response(user_input)

python

def pet_response(user_input):
    """模拟电子宠物的回答"""
    # 根据用户输入生成电子宠物的回答
    response = client.chat.completions.create(
        model="deepseek-chat",
        messages=[
            {"role": "system", "content": "你是一个可爱的电子宠物,用简短、友好的语气回答用户的问题。"},
            {"role": "user", "content": user_input},
        ],
        stream=False
    )
    return response.choices[0].message.content

  • 功能:根据用户输入生成电子宠物的回答。
  • 参数
    • user_input:用户输入的问题或消息。
  • 返回值:电子宠物的回复内容。
  • 详细步骤
    1. 使用 client.chat.completions.create 方法向 DeepSeek API 发送请求,请求生成聊天回复。
    2. model 参数指定使用的模型为 deepseek-chat
    3. messages 参数是一个列表,包含两个消息对象:
      • 第一个消息对象的 role 为 system,用于设置模型的角色和回复风格,这里要求模型扮演一个可爱的电子宠物,用简短、友好的语气回答问题。
      • 第二个消息对象的 role 为 user,内容为用户输入的问题。
    4. stream 参数设置为 False,表示不使用流式响应。
    5. 最后返回响应中第一个选择的消息内容。
main()

python

def main():
    """电子宠物对话主程序"""
    print("欢迎来到电子宠物世界!输入 '退出' 来结束对话。")
    while True:
        user_input = input("你: ")
        if user_input.lower() == "退出":
            print("电子宠物: 再见!希望很快再见到你!")
            break
        pet_reply = pet_response(user_input)
        print(f"电子宠物: {pet_reply}")

  • 功能:电子宠物对话的主程序,负责与用户进行交互。
  • 详细步骤
    1. 打印欢迎信息,提示用户输入 “退出” 来结束对话。
    2. 进入一个无限循环,不断接收用户输入。
    3. 如果用户输入 “退出”(不区分大小写),则打印告别信息并跳出循环,结束对话。
    4. 否则,调用 pet_response 函数生成电子宠物的回复,并打印出来。

主程序入口

python

if __name__ == "__main__":
    main()
  • 当脚本作为主程序运行时,调用 main 函数启动电子宠物对话程序。

注意事项

  • 需要将 api_key 替换为你自己的 DeepSeek API 密钥,否则无法正常调用 API。
  • 确保你的网络环境可以正常访问 https://api.deepseek.com
  • 该代码假设 DeepSeek 的 API 与 OpenAI 的 API 兼容,并且 deepseek-chat 模型可用。如果 API 或模型有变化,需要相应地修改代码。

完成代码

from openai import OpenAI

# 初始化OpenAI客户端
client = OpenAI(api_key="XXXX", base_url="https://api.deepseek.com")

def pet_response(user_input):
    """模拟电子宠物的回答"""
    # 根据用户输入生成电子宠物的回答
    response = client.chat.completions.create(
        model="deepseek-chat",
        messages=[
            {"role": "system", "content": "你是一个可爱的电子宠物,用简短、友好的语气回答用户的问题。"},
            {"role": "user", "content": user_input},
        ],
        stream=False
    )
    return response.choices[0].message.content

def main():
    """电子宠物对话主程序"""
    print("欢迎来到电子宠物世界!输入 '退出' 来结束对话。")
    while True:
        user_input = input("你: ")
        if user_input.lower() == "退出":
            print("电子宠物: 再见!希望很快再见到你!")
            break
        pet_reply = pet_response(user_input)
        print(f"电子宠物: {pet_reply}")

if __name__ == "__main__":
    main()


http://www.kler.cn/a/614909.html

相关文章:

  • 区块链技术在投票系统中的应用:安全、透明与去中心化
  • Linux CentOS 7 搭建我的世界服务器详细教程 (丐版 使用虚拟机搭建)
  • 横扫SQL面试——连续性登录问题
  • 【前端】使用 HTML、CSS 和 JavaScript 创建一个数字时钟和搜索功能的网页
  • AIDD-人工智能药物设计-利用自动化机器学习(AutoML)方法促进计算机模拟的ADMET特性预测
  • 破界·共生:生成式人工智能(GAI)认证重构普通人的AI进化图谱
  • 【KEIL5.3.7以上版本ARM compiler5 version】
  • 【大模型基础_毛玉仁】5.3 附加参数法:T-Patcher
  • OkHttps工具类的简单使用
  • 测试BioMaster: AI生信分析的demo测试
  • 【HarmonyOS 5】初学者如何高效的学习鸿蒙?
  • Apache Tomcat 深度解析:企业级Java Web容器的架构与实践
  • 深入了解ChatGPT之类的大语言模型笔记
  • 使用爬虫按图搜索1688商品(拍立淘)
  • 开源的CMS建站系统可以随便用吗?有什么需要注意的?
  • Linux进程管理之进程的概念、进程列表和详细的查看、进程各状态的含义
  • MOSN(Modular Open Smart Network)-06-MOSN 多协议机制解析
  • conda装的R不能在Rstudio里装R包
  • shell脚本--MySQL简单调用
  • UI产品经理基础(四):用价值链视角来分析项目需求