5.0 KiB
5.0 KiB
CryptoAI - 加密货币AI分析项目
基于Python的加密货币AI分析的AIAgent项目,利用人工智能对加密货币市场进行分析和预测。
功能特点
- 使用Binance API获取实时加密货币数据
- 利用DeepSeek大模型进行市场分析和预测
- 提供市场趋势、价格预测和交易建议
- 支持多种加密货币分析
- 通过钉钉机器人和Discord Webhook发送分析结果
项目结构
cryptoai/
├── api/ # 与Binance API交互的模块
├── agents/ # AI智能体定义和实现
├── models/ # 模型定义和训练
├── utils/ # 工具函数
├── data/ # 数据存储
├── config/ # 配置文件
└── main.py # 主程序入口
安装与设置
本地部署
- 克隆项目仓库
- 安装依赖:
pip install -r requirements.txt - 在
cryptoai/config/config.yaml中配置Binance API密钥和DeepSeek API密钥 - 运行
python run.py启动应用
Docker部署
-
构建Docker镜像:
docker build -t cryptoai . -
运行容器:
docker run -d --name cryptoai \ -v $(pwd)/cryptoai/config/config.yaml:/app/cryptoai/config/config.yaml \ -v cryptoai_data:/app/cryptoai/data \ -v cryptoai_logs:/app/logs \ -e BINANCE_API_KEY=your_key \ -e BINANCE_API_SECRET=your_secret \ cryptoai -
使用Docker Compose部署:
# 创建.env文件(可以基于.env-example复制) cp .env-example .env # 编辑.env文件,填入API密钥和其他配置 vi .env # 启动服务 docker-compose up -d
配置方式
项目支持两种配置方式:
1. 配置文件
在cryptoai/config/config.yaml中配置所有设置。示例可参考cryptoai/config/config.example.yaml。
2. 环境变量
通过环境变量覆盖配置文件中的设置,支持以下环境变量:
# 数据库配置
DB_HOST=数据库主机
DB_PORT=数据库端口
DB_USER=数据库用户名
DB_PASSWORD=数据库密码
DB_NAME=数据库名称
# Binance API
BINANCE_API_KEY=币安API密钥
BINANCE_API_SECRET=币安密钥
BINANCE_TEST_MODE=true/false
# DeepSeek API
DEEPSEEK_API_KEY=DeepSeek API密钥
DEEPSEEK_MODEL=使用的模型
# OKX API
OKX_API_KEY=OKX API密钥
OKX_API_SECRET=OKX密钥
OKX_PASSPHRASE=OKX密码
# 钉钉机器人
DINGTALK_ENABLED=true/false
DINGTALK_WEBHOOK_URL=钉钉Webhook地址
DINGTALK_SECRET=钉钉密钥
# Discord机器人
DISCORD_ENABLED=true/false
DISCORD_WEBHOOK_URL=Discord Webhook地址
在Docker中可以通过-e参数或.env文件传递环境变量。
常用命令
# 运行一次分析
python run.py --run-once
# 分析特定加密货币
python run.py --symbol BTCUSDT
# 使用黄金分析智能体
python run.py --agent gold
# Docker中运行
docker run cryptoai --run-once --agent crypto
环境要求
- Python 3.9+
- MySQL 8.0+(使用远程MySQL数据库)
- 详细依赖见
requirements.txt
数据库配置
项目使用SQLAlchemy ORM连接MySQL数据库,用于存储分析结果。默认连接到远程MySQL服务器,可以通过环境变量或配置文件自定义连接信息。
API服务
项目现已集成FastAPI框架,提供了HTTP API接口,方便前端系统调用。
启动API服务
# 安装依赖
pip install -r requirements.txt
# 启动API服务
python run_api.py
API服务默认运行在 http://0.0.0.0:8000,可以通过环境变量自定义主机和端口:
API_HOST=127.0.0.1 API_PORT=8080 python run_api.py
API文档
启动服务后,可以通过以下URL访问API文档:
- Swagger UI:
http://localhost:8000/docs - ReDoc:
http://localhost:8000/redoc
主要API接口
GET /- API信息GET /health- 健康检查POST /api/analyze- 分析加密货币市场趋势GET /api/token-usage- 获取DeepSeek API的token使用统计POST /api/export-usage- 导出token使用统计
API调用示例
使用curl调用分析接口:
curl -X POST "http://localhost:8000/api/analyze" \
-H "Content-Type: application/json" \
-d '{
"prompt": "分析比特币最近的市场趋势",
"symbol": "BTC",
"task_type": "市场分析"
}'
消息通知
项目支持多种消息通知方式,可以将分析结果发送到不同的平台。
钉钉机器人
在配置文件中设置钉钉机器人的Webhook URL和密钥,启用后会将分析结果发送到钉钉群聊。
dingtalk:
enabled: true
webhook_url: your_dingtalk_webhook_url
secret: your_dingtalk_secret
Discord机器人
在配置文件中设置Discord Webhook URL,启用后会将分析结果以精美的嵌入式消息发送到Discord频道。
discord:
enabled: true
webhook_url: your_discord_webhook_url
username: CryptoAI分析机器人
avatar_url: https://cdn-icons-png.flaticon.com/512/2878/2878497.png
测试Discord机器人
可以使用以下命令测试Discord机器人的功能:
python -m cryptoai.tests.test_discord_bot --webhook your_webhook_url