【开发者空间实践指导】部署DeepSeek搭建Agent智能助手

举报
开发者空间小蜜蜂 发表于 2025/02/21 09:45:36 2025/02/21
282 0 0
【摘要】 通过实际操作,让大家熟悉如何通过云主机部署DeepSeek,并且通过本地部署的DeepSeek搭建属于自己的智能助手。

实验需在华为开发者空间-云主机中进行,如您还没有云主机,可点击链接,根据领取指南进行操作。

一、案例介绍

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

通过实际操作,让大家熟悉如何通过云主机部署DeepSeek并且通过本地部署的DeepSeek搭建属于自己的智能助手

二、案例流程

说明:

  1. 云主机安装Ollama
  2. 使用Ollama部署DeepSeek
  3. 云主机调用本地部署Deepseek
  4. 下载Autogen框架,创建Agent

三、资源总览

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

资源名称

规格

单价(元)

时长(分钟)

云主机

2vCPUs | 4GB RAM X86

CodeArts IDE for Python

免费

60

四、云主机部署DeepSeek

4.1  安装Ollama

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

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

执行安装命令如下:

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

4.2 部署DeepSeek

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

ollama run deepseek-r1:1.5b

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

五、Agent智能体功能实现

5.1 虚拟环境创建

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

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

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

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

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

5.2 Autogen框架下载

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

pip install --upgrade pip

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

pip install pyautogen

5.3 智能助手功能实现

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

5.3.1 健康助手

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

创建完毕后将以下代码复制到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。由于文件中文本过多请前往:https://dtse-mirrors.obs.cn-north-4.myhuaweicloud.com/Agent/%E6%8F%90%E7%A4%BA%E8%AF%8D.txt ,地址下载。

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

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

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

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

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

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

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

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

5.3.2 调酒师

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

创建完毕后将以下代码复制到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。由于文件中文本过多请前往提示词地址为:https://dtse-mirrors.obs.cn-north-4.myhuaweicloud.com/Agent/%E6%8F%90%E7%A4%BA%E8%AF%8D%281%29.txt ,下载。

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

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

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

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

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

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

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

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

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

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

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。