ai agent开发实例 OpenManus Dify Owl

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浏览器,也就没有执行后续内容了

### 构建Dify平台上的AI Agent开发教程 #### 选择合适的环境配置 为了确保能够顺利地在本地环境中运行Dify并进行AI代理(Agent)的开发,建议先安装Python以及必要的依赖库。对于Windows用户来说,推荐使用Anaconda作为管理工具;而对于Linux或MacOS,则可以直接利用pip来进行包管理[^1]。 ```bash # 安装所需的Python版本和虚拟环境 conda create --name dify_env python=3.8 source activate dify_env pip install -r requirements.txt ``` #### 初始化项目结构 创建一个新的文件夹用于存放整个项目的源码,并在此基础上初始化Git仓库以便后续版本控制操作。接着按照官方文档说明克隆Dify框架至本地路径下,这一步骤将帮助获取到最新的API接口定义以及其他辅助脚本[^2]。 ```bash mkdir my_ai_project && cd $_ git init . git clone https://github.com/dify-platform/dify.git src/ ``` #### 设计Agent逻辑流程图 绘制一张清晰明了的工作流图表来规划想要实现的功能模块之间的交互关系。考虑到实际应用场景可能涉及到多个环节的数据传递与处理过程,在此之前应当仔细思考各个部分之间是如何协作完成特定任务目标的。 #### 编写核心算法代码片段 依据前面所设计好的架构思路编写具体的业务功能实现细节。这里以简单的自然语言理解(NLU)为例展示一段伪代码表示意图解析的过程: ```python def parse_intent(user_message): """ 解析用户的输入消息,返回对应的意图名称 参数: user_message (str): 用户发送的消息文本 返回: str: 经过NLU分析后的意图标签名 """ # TODO 实现具体的方法体... pass ``` #### 集成第三方服务接口调用 为了让自己的应用程序更加实用高效,往往还需要引入外部提供的各种能力补充内部缺失之处。比如借助OpenWeatherMap API查询天气预报信息、或是采用Twilio短信服务平台向指定手机号推送通知等等。 ```json { "weather": { "temperature": "7°C", "description": "light rain" } } ``` #### 测试部署上线前准备事项 最后阶段需要做的是全面测试已有的各项特性是否正常运作无误之后再考虑正式对外发布产品。除了常规的压力性能检测之外还应该关注安全性方面的问题排查修复漏洞隐患保障最终用户体验质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白云千载尽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值