manus现在比较火,但是其实要做manus这样的agent应该也是有很多的开源项目了,今天我们来实际部署一些常用的agent制作的项目,然后一步步做一个可以帮自己编程、做实验的agent。
首先需要安装好conda环境,我这里已经按照好了,需要的可以去看一下以前的文章。
Openmanus
1创建python环境
conda create -n open_manus python=3.12
conda activate open_manus
2获取代码
git clone https://github.com/mannaandpoem/OpenManus.git
cd OpenManus
3安装项目所需要的python依赖包
pip install -r requirements.txt
文件配置
安装完毕之后就可以去配置config了,先去config文件夹中创建一个config.toml
编辑config.toml文件,这里需要使用api,所以请提前去你的云计算平台开通相关服务,我是使用的是阿里云百炼
我的config文件如下所示。
# Global LLM configuration
[llm]
model = "qwq-32b"
base_url = "https://dashscope.aliyuncs.com/compatible-mode/v1/"
api_key = "sk-xxx" # Replace with your actual API key
max_tokens = 4096
temperature = 0.0
# Optional configuration for specific LLM models
[llm.vision]
model = "qwq-32b"
base_url = "https://dashscope.aliyuncs.com/compatible-mode/v1/"
api_key = "sk-xxx" # Replace with your actual API key
代码修改
一些改动内容如下,首先我该了网络搜索的接口,使用比应作为百度
安装baidusearch
pip install baidusearch
修改app/tool/google_search.py:
import asyncio
from typing import List
# from googlesearch import search
from bingsearch import search
另外,模型是需要支持Function Call的大模型才可以,可以去https://ollama.com/search?c=tools查一下有没有这个tools的标签,如果没有那就是调用不了的
6最终测试
python main.py
# 官方问题
Run a thorough SEO AUDIT ON karpathy's website (https://karpathy.ai) and deliver a detailed optimization report with actionable recommendations
可以让它帮你执行一些具体的任务,这也是agent与chat的区别所在。
如果出现问题请检查是否是模型设置有问题:
目前百炼的有点问题的,所以也可以把它换成硅基流动的api。https://cloud.siliconflow.cn/models?types=chat&tags=Tools
选上对话和tools,修改config文件。我这里能用的yaml是qwen-plus的
# Global LLM configuration
[llm]
model = "qwen-plus"
base_url = "https://dashscope.aliyuncs.com/compatible-mode/v1"
api_key = "sk-ed28dce9908f432bacca53fcf76e92eb" # Replace with your actual API key
max_tokens = 4096
temperature = 0.0
# Optional configuration for specific LLM models
[llm.vision]
model = "qwen-plus"
base_url = "https://dashscope.aliyuncs.com/compatible-mode/v1"
api_key = "sk-ed28dce9908f432bacca53fcf76e92eb" # Replace with your actual API key
我就问了个“你好”,结果它有30个step来处理。太慢了还是,后面试着使用本地大模型再来尝试一下。但是他也并没有去执行我想要的任务啊?我让他启动一个roscore:
貌似还是一些问答,还是没有去执行我想要的内容,或与还没有接本地的一些接口。
dify
这是一个有着80多k的项目,相信很多大家熟悉的架构应该都是有借鉴这个项目进行开发的,接下来我们来本地部署并且制作一下自己的智能体。
克隆项目
git clone https://github.com/langgenius/dify.git
启动docker
先进入dify/docker文件夹
cd dify/docker
复制环境配置文件,注意,是隐藏文件看不到的。
cp .env.example .env
启动docker
sudo docker compose up -d
如果失败了可以清理一下存缓:sudo docker system prune -a
或者如果连接失败时换源:
遇到这种情况可以先换一下源,运行
sudo gedit /etc/docker/daemon.json
添加
{
"registry-mirrors": ["https://docker.m.daocloud.io","https://0c105db5188026850f80c001def654a0.mirror.swr.myhuaweicloud.com","http://mirrors.ustc.edu.cn/dockerhub/"]
}
全部都创建完成之后,请确保所有的容器都正常运行
docker compose ps
打开浏览器,输入
localhost:80
就可以进入dify中了。
请设置并记住自己的管理员信息,登录进去过后就能使用相关的功能了。
大模型API接入,前往设置,可以看到模型供应商,我们去找到自己熟悉的,然后i将api-key输入即可
dify官方有很多不错的智能体/工作流,我们只需要把它添加到工作区即可
为了增强LLM的上下文能力,可以提供自己的知识库进去
为了实现比较复杂的智能体任务,我们可以通过工具库来实现这些内容
具体设计后续我们再继续。
owl
获取文件
首先还是获取仓库
git clone https://github.com/camel-ai/owl.git
cd owl
我比较喜欢使用conda,这里创建一个虚拟环境
conda create -n owl python=3.11
conda activate owl
然后安装依赖库
python -m pip install -r requirements.txt
接下来需要配置它的API
这是一个隐藏文件,所以可能会看不到,创建好的.env文件
# Qwen API (https://help.aliyun.com/zh/model-studio/developer-reference/get-api-key)
QWEN_API_KEY="sk-ed28dce9908f432bacca53fcf76e92eb"
# DeepSeek API (https://platform.deepseek.com/api_keys)
# DEEPSEEK_API_KEY=""
#===========================================
# Tools & Services API
#===========================================
# Google Search API (https://developers.google.com/custom-search/v1/overview)
GOOGLE_API_KEY=""
SEARCH_ENGINE_ID=""
# Hugging Face API (https://huggingface.co/join)
HF_TOKEN=""
# Chunkr API (https://chunkr.ai/)
CHUNKR_API_KEY=""
# Firecrawl API (https://www.firecrawl.dev/)
FIRECRAWL_API_KEY=""
然后可以测试一下大模型是否可用
# 使用 Qwen 模型运行
python owl/run_qwen.py
# 使用 Deepseek 模型运行
python owl/run_deepseek.py
# 使用其他 OpenAI 兼容模型运行
python owl/run_openai_compatiable_model.py
最后只需要启动项目进行测试即可
python run_app.py
这个可视化使用gradio做的,我没有chrome浏览器,也就没有执行后续内容了