【开发者空间实践指导】部署DeepSeek搭建Agent智能助手
【摘要】 通过实际操作,让大家熟悉如何通过云主机部署DeepSeek,并且通过本地部署的DeepSeek搭建属于自己的智能助手。
实验需在华为开发者空间-云主机中进行,如您还没有云主机,可点击链接,根据领取指南进行操作。
一、案例介绍
本案例通过本地部署DeepSeek搭建Agent智能体,进行智能助手的设立。与普通的对话系统不同,案例中通过提示词来设立Agent的角色和行为模式,Agent不仅仅是一个简单的问答工具,而是一个具有特定角色身份和任务目标的智能体。普通对话系统通常只能根据用户的输入进行机械式的回复,而Agent则能够根据开发者设定的提示词,结合用户的提问,生成更加符合其角色身份的回答。
通过实际操作,让大家熟悉如何通过云主机部署DeepSeek,并且通过本地部署的DeepSeek搭建属于自己的智能助手。
二、案例流程
说明:
- 云主机安装Ollama;
- 使用Ollama部署DeepSeek;
- 云主机调用本地部署Deepseek;
- 下载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)