当AI学会品酒与问诊:DeepSeek的双智能体系统的奇幻物语

1 概述

1.1 背景介绍

DeepSeek是一家创新型科技公司,长久以来专注于开发先进的大语言模型(LLM)和相关技术。该公司推出了比较出名的模型有 DeepSeek-V3 和 DeekSeek-R1。

本案例通过在云主机部署DeepSeek搭建Agent智能体,进行智能助手的设定实现。与普通的对话系统不同,案例中通过提示词来设立Agent的角色和行为模式,Agent不仅仅是一个简单的问答工具,而是一个具有特定角色身份和任务目标的智能体。普通对话系统通常只能根据用户的输入进行机械式的回复,而Agent则能够根据开发者设定的提示词,结合用户的提问,生成更加符合其角色身份的回答。

1.2 适用对象

  • 企业
  • 个人开发者
  • 高校学生

1.3 案例时间

本案例总时长预计60分钟。

1.4 案例流程

lct.png
说明:

① 云主机安装Ollama;
② 使用Ollama部署DeepSeek;
③ 云主机调用本地部署DeepSeek;
④ 下载Autogen框架,创建Agent智能角色。

1.5 资源总览

本案例预计花费总计0元。

资源名称规格单价(元)时长(分钟)
华为开发者空间 - 云主机鲲鹏通用计算增强型 kc2 | 4vCPUs | 8GB | Ubuntu免费60

最新案例动态,请查阅《基于DeepSeek搭建Agent智能助手》,小伙伴快来华为开发者空间 - 云主机实操吧!

2 云主机部署DeepSeek

2.1 安装Ollama

进入华为开发者空间工作台界面,点击打开云主机 > 进入桌面连接云主机。
如果还没由领取云主机进入工作台界面后点击配置云主机,选择Ubuntu操作系统。

image.png
image.png
Ollama 是一个强大的开源工具,旨在帮助用户轻松地在本地运行、部署和管理大型语言模型(LLMs)。它提供了一个简单的命令行界面,使用户能够快速下载、运行和与各种预训练的语言模型进行交互。Ollama 支持多种模型架构,并且特别适合那些希望在本地环境中使用 LLMs 的开发者和研究人员。

在云主机桌面右键选择“Open Terminal Here”,打开命令终端窗口。

5fa4e8d4f7facb9c515df4b694321eaf.png

执行安装命令如下:
方式一(推荐,安装速度快):

curl -fsSL https://dtse-mirrors.obs.cn-north-4.myhuaweicloud.com/case/0035/install.sh | sudo bash

image.png
方式二(备用,耗时较久、失败频率较高):

curl -fsSL https://ollama.com/install.sh | sh

5b94be25f86852d6ab86e7026f91b69d.png

2.2 部署DeepSeek

接下来可以借助 Ollama 工具来部署 Deepseek 大模型,部署 deepseek-r1:1.5b 版本,执行命令:

ollama run deepseek-r1:1.5b

90c182aa734593ebd512a5ddded03f0f.png

部署的时间长短依赖于网络的情况,部署完成后,我们就可以与 Deepseek 大模型进行对话了:

6f1ee0089ac28d94aaaffb756abb1bbb.png

3 Agent智能体功能实现

3.1 虚拟环境创建

打开云主机桌面CodeArts IDE for Python。

79e4f032002c177d86f486153170f816.PNG

打开后,点击新建工程,输入工程名称:Agent,点击创建。

7debdc09c1502ae1ca0ae4b5d371ba72.PNG

创建好后,左下角选择:管理->设置。

adfd2b10f27ac460de425331236d3807.PNG

在搜索框中输入:activate,找到图中所示,在“Python:Terminal:Activate Environment”选项前方框中点击勾选。

f94029d2c79f1c640f5c1a72554f7018.PNG

打开终端,前方出现(venv)字样表示创建成功,如果没有请点击“删除”图标关闭终端重新打开一下。

f8276f16d6c97b8a68393178857c4564.PNG

3.2 Autogen框架下载

单击左下角“终端”输入命令,按回车进行pip版本升级。

pip install --upgrade pip -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

image.png

升级完毕后,再次输入命令,按回车进行Autogen框架下载。

pip install pyautogen -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

image.png

再次输入命令进行openai下载。

pip install openai -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

image.png

3.3 智能助手功能实现

通过不同的提示词可以将Agent设定为医生、教师、律师等不同特定的角色。当用户提问时,Agent会根据其角色设定,提供符合该角色专业背景的回答。这种角色化的设定使得Agent能够更好地模拟真实场景中的对话,而不仅仅是提供泛泛的答案。本小节以健康助手和调酒师两个角色为例,展示不同角色实现的过程。

3.3.1 健康助手

下载完毕后点击左上角新建文件,输入文件名:demo.py。

b2be90ba8b0e8de1923b14a45276ac9c.PNG

创建完毕后将以下代码复制到demo.py文件中,注意保持代码缩进相同。

from autogen import UserProxyAgent, ConversableAgent, config_list_from_json
from openai import models


def main():
    with open(r'提示词.txt', encoding='utf-8') as f:
        jiudan = f.readlines()
        jiudan = str(jiudan)

    # Load LLM inference endpoints from an env variable or a file
    # 从文件或者环境变量中加载LLM的推理端点

    config_list = config_list_from_json(env_or_file="OAI_CONFIG_LIST.json")

    #利用LLM来创建一个Assistant Agent,这个LLM是在上面的配置文件里指定的。
    assistant = ConversableAgent("agent", llm_config={"config_list": config_list},system_message=jiudan)
    #创建一个用户代理,这个用户代理就代表你,你可以随时加入对话中
    user_proxy = UserProxyAgent("user", code_execution_config=False)

    #让assistant来开始这个对话,如果用户输入 exit,那么对话就会被终止。
    assistant.initiate_chat(user_proxy, message="欢迎来到私人健康助手")

if __name__ == "__main__":
    main()

再次创建文件,输入:提示词.txt。由于文件中文本过多,请点击链接下载。

下载完成后,单击右上角的图标在文件夹中打开。

f272a9a8258e5a58df46d3d0bf0e86e3.png

在文件上单击鼠标右键,选择使用文本编辑器方式打开。

image.png

打开文件后,进行全选->复制的操作。

6976dd4b52b08e7a068f4d7a68dad72d.PNG

然后转到CodeArts IDE窗口粘贴到“提示词.txt”文件中。

a6138d97efc70b91d7fb896c6a6dd759.PNG

最后创建一个名为:OAI_CONFIG_LIST.json的文件。

e5c48b73f3ae1cccae8b62c5e5841c09.PNG

创建完毕后将以下代码复制进去:

[
  {
    "model": "deepseek-r1:1.5b",
    "api_key": "testkey",
    "base_url": "http://localhost:11434/v1"
  }
]

修改完毕后,在终端输入:python demo.py,运行文件。运行完毕后在终端输入:我有些咳嗽,我应该吃什么药物。

f6a189a401b68a6b396b31372999637d.png

3.3.2 调酒师

下载完毕后点击左上角新建文件,输入文件名:demo.py。

b2be90ba8b0e8de1923b14a45276ac9c.PNG

创建完毕后将以下代码复制到demo.py文件中,注意保持代码缩进相同,否则会无法运行。

from autogen import UserProxyAgent, ConversableAgent, config_list_from_json
from openai import models


def main():
    with open(r'提示词.txt', encoding='utf-8') as f:
        jiudan = f.readlines()
        jiudan = str(jiudan)

    # Load LLM inference endpoints from an env variable or a file
    # 从文件或者环境变量中加载LLM的推理端点

    config_list = config_list_from_json(env_or_file="OAI_CONFIG_LIST.json")

    #利用LLM来创建一个Assistant Agent,这个LLM是在上面的配置文件里指定的。
    assistant = ConversableAgent("agent", llm_config={"config_list": config_list},system_message=jiudan)
    #创建一个用户代理,这个用户代理就代表你,你可以随时加入对话中
    user_proxy = UserProxyAgent("user", code_execution_config=False)

    #让assistant来开始这个对话,如果用户输入 exit,那么对话就会被终止。
    assistant.initiate_chat(user_proxy, message="欢迎来到Hop Haven")

if __name__ == "__main__":
    main()

再次创建文件,输入:提示词.txt。由于文件中文本过多请点击链接下载。下载完成后,单击右上角的图标在文件夹中打开。

66202f732ed147bb4fcf629d331c7e8b.PNG

在文件上单击鼠标右键,选择使用MousePad方式打开。

ea828a998421fd536b86a4f0551292ec.PNG

打开文件后,进行全选->复制的操作。
08f7934e403b88bb71e43a9246965f14.PNG

然后转到CodeArts IDE窗口粘贴到“提示词.txt”文件中。

a6138d97efc70b91d7fb896c6a6dd759.PNG

最后创建一个名为:OAI_CONFIG_LIST.json的文件。

e5c48b73f3ae1cccae8b62c5e5841c09.PNG

创建完毕后将以下代码复制进去:

[
  {
    "model": "deepseek-r1:1.5b",
    "api_key": "testkey",
    "base_url": "http://localhost:11434/v1"
  }
]

修改完毕后,在终端,输入:python demo.py,运行文件。运行完毕后在终端输入:我的心情有些XX,请帮我推荐一杯鸡尾酒。

b210b6a417b66f1f452b87bd7786dcdd.PNG

至此,基于DeepSeek创建智能助手全部完成。

Autogen框架不仅支持单个角色创建,还支持同时设立多个不同角色的Agent。当用户提出问题时,这些Agent可以根据各自的角色设定,从不同角度进行分析和解答,共同协作解决用户的问题。这种多角色协作的方式,使得问题的解决更加全面和深入,远超普通对话系统的能力范围。例如,在解决一个复杂的技术问题时,一个Agent可以负责代码编写,另一个Agent可以负责代码优化,第三个Agent则可以负责测试和调试。这种多角色协作的方式,能够显著提高问题解决的效率和质量。感兴趣的同学继续进行Agent多角色探索之旅。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值