系统:windows 11 4C 16G
命令行:cmd
conda:24.9.2
python:3.11
vistual studio build tools:2022
代码版本:3/9号,当前没有release,我是在3月9下午4点左右拉的代码
1. github链接
https://github.com/camel-ai/owl
2. 系统环境
系统环境全部安装完,我用了将近30G
的空间,包含 conda,vistual studio,python packages,playwright
安装 conda
安装conda,之前以为在linux上也可以,后面发现需要调浏览器,所以又在windows上安装了,具体可以见这篇文章windows和centos安装conda
conda activate
默认仓库已经拉下来了
cd owl
conda create -n owl python=3.11
conda activate owl
# 如果报错 CondaError,conda init before conda activate,就 conda init,然后关掉 cmd 重新再开一个
下面操作都是在 conda activate owl
之后操作的
安装 python requirements
python -m pip install -r requirements.txt
如果install过程中出现 443 ,就要修改源
python -m pip install -r requirements.txt -i https://mirrors.cloud.tencent.com/pypi/simple
如果还出现,就多装几次,可能有些timeout是因为网络不好,比如出现 TimeoutError: The read operation timed out
想要配置到默认的,见这篇文章pip修改镜像源
安装到 pandas 失败的
ERROR: Failed to build installable wheels for some pyproject.toml based projects (pandas)
因为这个包需要 windows 下有C++的编译环境,所以还得安装 vistual studio,这个需要 7G
的空间。
下载路径:https://visualstudio.microsoft.com/visual-cpp-build-tools/
安装 vistual stuido 的时候记得勾选,Desktop & Mobile
,我不确定没安装这个是不是完整的,如果有人不勾选这个能够顺利 pip install,也麻烦告知下。
安装好 vistual studio 后,再重新 pip install 就可以成功
安装 playwright
用来 web use 的,如果你只是想测试简单的 search,可以不用装这个。就是在你要执行的 run_* 脚本里面,不 import WebToolkit 就行,理论应该是这样的。
playwright install
3. 配置 Key
复制项目下面的 .env_template
到 .env
Model Key
.env_template 里面有获取 key 的 URL,可以自己去网上获取
我是配了 OpenAI,DeepSeek
OpenAI 有个 OPENAI_API_BASE_URL,这个可以配成中转站的路由
Search Key
配了 Google Search Engine 的 key
创建搜索引擎:https://programmablesearchengine.google.com/controlpanel/create
获取 API KEY:https://developers.google.com/custom-search/v1/overview
search每天免费100次
配完了,好兴奋,改一下 owl/run_deepseek.py 里面的 question,跑起来,dame.
结果有跑出来吗,确实有,不过不稳定。非常认同这类型的项目,不够在使用中确实有些麻烦的点。如果让一个没有学过编程,或者没有接触过 AI 的人,叫他用 AI 来问,复现这个过程,估计能跑通的人也是少数。
现在能够稳定出结果的是 OpenAI 的 model 而且我得用 4o,这个有点贵。
4. 问题
不是挑刺,只是现状,这些现状开源社区的人肯定也在努力修改,或许我的问题换个配置的电脑也可以解决。在社区群里面,有问题提出来,很快就有人来解答,即使底层逻辑不是很懂,也会耐心解答,这个很赞。有些问题比较初级,因为对底层逻辑调用不是很了解。
Google Search 访问不到报错
这个一开始我也没发现,后面是仔细看了错误信息,才知道要去配置 Google Search 的 API key,步骤如上。
如果不用 Google Search 也可以,就是要到 owl/camel/toolkits/search_toolkit.py
里面,把 get_tools
的返回修改如下:
return [
# FunctionTool(self.search_wiki),
# FunctionTool(self.search_google),
FunctionTool(self.search_duckduckgo),
# FunctionTool(self.query_wolfram_alpha),
# FunctionTool(self.tavily_search),
# FunctionTool(self.search_brave),
#FunctionTool(self.web_search)
]
这样可以稳定一点
一定出现浏览器吗?
不一定,lazy 调用,只有 tool chain 调用到了之后,才会有模拟浏览器出来。之前以为 search tool 就是,其实是调用到 web use 的时候才是。
重复的请求相同的内容
可能有些人复现后,会发现 function call 一直在用重复的内容去调用不同的 tool,就有可能我看到结论了,还继续往下感觉重新又来了一遍。
这个社区反馈是:这里应该是因为search toolkit里目前默认的模型是gpt 4o-mini,虽然比较省钱,但是它tool calling能力还不太好,有时候会出现tool无限调用的问题
好吧,这个目前看起来是无解。不过配置 gpt-4o ,是比较少出现这个问题。
有些模型不支持 function call
不支持 function call 的模型在处理数据的时候会报错,类似这样,这种就只能换个模型
web 访问问题
有些网页绕不过验证,比如要登录,要验证码的,会重复地在开网页,不知道在思考什么东西。这种情况一般就直接输入账号密码,不然页面卡在要登录才能看内容的尴尬情况。还有可能出现知乎页面 403 的问题,应该还有不少网页出现这个问题。
一次测试花费 token 多
测试一次脚本,估计可以调用 30 40 次的 model API,这个量很大。即使是自己测试,想要跑出一些东西,在测试阶段就要花掉不少,要是后面全面开放,估计得耗不少银子。
调用时长比较久
不知道是我电脑卡还是,链路要思考比较久,每一次agent的下一步调用时间都要比较久。感觉这个如果本地跑,一个是电脑配置,还有一个是电脑网速也不能太慢,不然再加上 agent 重复循环问题,跑1小时都跑不出来。
有时候要科学上网,有时候又不需要科学上网,不理解。