您现在的位置是:首页 >学无止境 >使用DeepSeek+CAMEL智能体开发框架零成本构建交易机器人网站首页学无止境
使用DeepSeek+CAMEL智能体开发框架零成本构建交易机器人
前言
大家好,我是青风,GIS开发工程师一枚。目前正在参与DataWhale 2025年2月的智能体开发集训营,本系列笔记将全程记录我的技术探索之路,期待与Agent学习者共同构建避坑指南,让技术成长路径更高效!
1. CAMEL 介绍
CAMEL(Communicative Agents for Multi-Agent Learning)是一个基于多智能体系统(Multi-Agent System, MAS)的框架,旨在通过多个智能体(Agents)的协作来解决复杂任务。CAMEL 的核心思想是利用大型语言模型(LLM)的能力,结合多智能体的分工与协作,实现更高效、更智能的任务处理。
1.1. CAMEL 的核心概念
CAMEL 的核心是通过多个智能体的协作来完成复杂任务。每个智能体可以扮演不同的角色,专注于特定的功能,例如数据分析、任务规划、代码生成等。CAMEL 的架构设计使其能够灵活适应各种应用场景,尤其是在需要高效决策、复杂数据处理和动态自适应的领域,如量化金融、投资分析、知识图谱构建等。
- 多智能体协作:CAMEL 通过多个智能体的分工与协作,将复杂任务分解为更小的子任务,每个智能体专注于解决特定的问题,最终通过协作完成整体目标。
- 角色扮演:CAMEL 支持智能体之间的角色扮演,例如一个智能体扮演用户(AI User),另一个智能体扮演助手(AI Assistant),通过交互式对话生成高质量的数据集或完成任务。
1.2. CAMEL 的技术特点
CAMEL 的技术架构结合了大型语言模型(LLM)和多智能体系统的优势,具有以下特点:
- 检索增强生成(RAG):CAMEL 利用 RAG 技术,通过检索外部知识库和向量数据库,增强智能体的知识储备和推理能力,从而减少幻觉(Hallucination)并提高任务完成质量。
- 任务分解与规划:CAMEL 能够将复杂任务分解为多个子任务,并通过智能体之间的协作逐步完成。
- 动态自适应:CAMEL 的智能体能够根据任务需求动态调整角色和功能,形成多层级的协作网络。一个智能体可以作为监督者(Supervisor),负责任务分配和协调,而其他智能体则专注于执行特定任务。
2. 安装CAMEL框架
2.1. python环境配置
CAMEL框架需要用到Python环境,确保系统已经安装了Python 3.10+,推荐使用Python 3.10.x
如果电脑上没有Python环境可自行在网上搜索安装,本文使用Conda创建Python 3.10虚拟环境进行安装
2.2. 使用conda创建虚拟环境进行安装
2.2.1. 创建Conda虚拟环境
conda create --name camel python=3.10
2.2.2. 激活Conda虚拟环境
conda activate camel
安装成功后输入 python --version可看到python版本为 3.10.16

2.2.3. 进入到要安装的目录克隆Github仓库(部分网络需开启全局代理)
git clone -b v0.2.19 https://github.com/camel-ai/camel.git
2.2.4. 进入到camel项目目录
cd camel
2.2.5. 输入命令从源代码安装
pip install -e .[all]
2.2.6. 出现 Successfully installed camel-ai-0.2.19即安装成功

3. 获取DeepSeekApi
3.1. 注册硅基流动平台
硅基流动提供多个语言模型包括大语言、多模态、文生图的统一API调用接口,现在注册可免费获取2000万Tokens的额度,平台支持DeepSeek-R1和DeepSeek-V3满血版,并兼容OpenAI API标准。

3.2. 注册成功后新建API密钥即可在各个平台进行API调用

4. 试用接口是否成功
4.1. 编辑大语言模型.py代码
在你习惯的代码编辑器中新建一个大语言模型.py文件,通过调用CAMEL框架和刚刚的API密钥来进行对话,测试是否成功。
from camel.agents import ChatAgent
from camel.models import ModelFactory
from camel.types import ModelPlatformType
model = ModelFactory.create(
model_platform=ModelPlatformType.OPENAI_COMPATIBLE_MODEL,
model_type="deepseek-ai/DeepSeek-V3",
url='https://api.siliconflow.cn/v1',
api_key='你的API密钥'
)
agent = ChatAgent(
model=model,
output_language='中文'
)
response = agent.step("你好,介绍一下你自己?")
print(response.msgs[0].content)
其中 model_type 代表这选择的模型,url代表你所选择平台的地址,api_key填入新建的API密钥
如果调用其他网站提供的API只需更改这三个地方即可
model_type="deepseek-ai/DeepSeek-V3",
url='https://api.siliconflow.cn/v1',
api_key='你的API-Key'
4.2. 运行大语言模型.py
在代码所在的目录下输入 python 大语言模型.py 运行程序,可以看到AI的回复即可。
注意:这里一定要首先激活camel环境

4.3. 使用多模态模型分析图片
新建多模态模型.py文件,将model_type更改为‘Qwen/QVQ-72B-Preview’多模态模型,添加你要识别的图片URL,输入python 多模态模型.py 即可运行
from camel.agents import ChatAgent
from camel.models import ModelFactory
from camel.types import ModelPlatformType
from camel.messages import BaseMessage
from io import BytesIO
import requests
from PIL import Image
model = ModelFactory.create(
model_platform=ModelPlatformType.OPENAI_COMPATIBLE_MODEL,
model_type="Qwen/QVQ-72B-Preview",
url='https://api.siliconflow.cn/v1',
api_key='你的API密钥'
)
agent = ChatAgent(
model=model,
output_language='中文'
)
# 图片URL
url = "https://images.pexels.com/photos/13938350/pexels-photo-13938350.jpeg?auto=compress&cs=tinysrgb&w=600&lazy=load"
response = requests.get(url)
img = Image.open(BytesIO(response.content))
user_msg = BaseMessage.make_user_message(
role_name="User",
content="请描述这张图片的内容",
image_list=[img] # 将图片放入列表中
)
response = agent.step(user_msg)
print(response.msgs[0].content)
输入的图片:

输出结果如下图,可以看到描述的还是很准确的。

5. 开发股票交易机器人
5.1. 设置目标
主要思路是调用Camel的RolePlaying模块,设置任务目标、AI助手角色名以及用户角色,智能体即可自行进行对话思考生成机器人。
设置任务目标
task_prompt = "为股票市场开发一个交易机器人"
设置AI助手角色名
assistant_role_name="Python 程序员"
设置用户角色名
user_role_name="股票交易员"
完整代码如下
from colorama import Fore #终端文本颜色库
from camel.societies import RolePlaying #Camel核心模块 角色扮演
from camel.utils import print_text_animated
from camel.models import ModelFactory
from camel.types import ModelPlatformType
from dotenv import load_dotenv
import os
load_dotenv(dotenv_path='.env')
model = ModelFactory.create(
model_platform=ModelPlatformType.OPENAI_COMPATIBLE_MODEL,
model_type="deepseek-ai/DeepSeek-V3",
url='https://api.siliconflow.cn/v1',
api_key='你的API密钥'
)
def main(model=model, chat_turn_limit=50) -> None:
task_prompt = "为股票市场开发一个交易机器人"#设置任务目标
role_play_session = RolePlaying(
assistant_role_name="Python 程序员",#设置AI助手角色名
assistant_agent_kwargs=dict(model=model),
user_role_name="股票交易员",#设置用户角色名,在roleplay中,user用于指导AI助手完成任务
user_agent_kwargs=dict(model=model),
task_prompt=task_prompt,
with_task_specify=True,
task_specify_agent_kwargs=dict(model=model),
output_language='中文'#设置输出语言
)
print(
Fore.GREEN
+ f"AI 助手系统消息:
{role_play_session.assistant_sys_msg}
"
)
print(
Fore.BLUE + f"AI 用户系统消息:
{role_play_session.user_sys_msg}
"
)
print(Fore.YELLOW + f"原始任务提示:
{task_prompt}
")
print(
Fore.CYAN
+ "指定的任务提示:"
+ f"
{role_play_session.specified_task_prompt}
"
)
print(Fore.RED + f"最终任务提示:
{role_play_session.task_prompt}
")
n = 0
input_msg = role_play_session.init_chat()
while n < chat_turn_limit:
n += 1
assistant_response, user_response = role_play_session.step(input_msg)
if assistant_response.terminated:
print(
Fore.GREEN
+ (
"AI 助手已终止。原因: "
f"{assistant_response.info['termination_reasons']}."
)
)
break
if user_response.terminated:
print(
Fore.GREEN
+ (
"AI 用户已终止。"
f"原因: {user_response.info['termination_reasons']}."
)
)
break
print_text_animated(
Fore.BLUE + f"AI 用户:
{user_response.msg.content}
"
)
print_text_animated(
Fore.GREEN + "AI 助手:
"
f"{assistant_response.msg.content}
"
)
if "CAMEL_TASK_DONE" in user_response.msg.content:
break
input_msg = assistant_response.msg
if __name__ == "__main__":
main()
5.2. 运行代码
输入python 交易机器人.py即可看到原始任务提示,之后AI助手和AI用户会自行对话进行股票机器人的构建

5.3. 构建过程
AI用户一步一步的指导AI助手自动进行交易机器人的构建,可以看到整个过程还是比较详细的。



5.4. 运行完成
整个过程持续12分钟才完成(取决于所选择的模型速度),之后就可以使用股票交易机器人啦

6. 构建自己的智能助手
如果你有什么其他的想法或者应用,可以在以上代码中更改任务目标以及角色来构建自己的机器人。
设置任务目标
task_prompt = "为股票市场开发一个交易机器人"
设置AI助手角色名
assistant_role_name="Python 程序员"
设置用户角色名
user_role_name="股票交易员"





U8W/U8W-Mini使用与常见问题解决
QT多线程的5种用法,通过使用线程解决UI主界面的耗时操作代码,防止界面卡死。...
stm32使用HAL库配置串口中断收发数据(保姆级教程)
分享几个国内免费的ChatGPT镜像网址(亲测有效)
Allegro16.6差分等长设置及走线总结