crypto.ai/README.md
2025-04-29 21:01:52 +08:00

178 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# CryptoAI - 加密货币AI分析项目
基于Python的加密货币AI分析的AIAgent项目利用人工智能对加密货币市场进行分析和预测。
## 功能特点
- 使用Binance API获取实时加密货币数据
- 利用DeepSeek大模型进行市场分析和预测
- 提供市场趋势、价格预测和交易建议
- 支持多种加密货币分析
- 通过钉钉机器人发送分析结果
## 项目结构
```
cryptoai/
├── api/ # 与Binance API交互的模块
├── agents/ # AI智能体定义和实现
├── models/ # 模型定义和训练
├── utils/ # 工具函数
├── data/ # 数据存储
├── config/ # 配置文件
└── main.py # 主程序入口
```
## 安装与设置
### 本地部署
1. 克隆项目仓库
2. 安装依赖:`pip install -r requirements.txt`
3. 在`cryptoai/config/config.yaml`中配置Binance API密钥和DeepSeek API密钥
4. 运行`python run.py`启动应用
### Docker部署
1. 构建Docker镜像:
```bash
docker build -t cryptoai .
```
2. 运行容器:
```bash
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
```
3. 使用Docker Compose部署:
```bash
# 创建.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=钉钉密钥
```
在Docker中可以通过`-e`参数或`.env`文件传递环境变量。
## 常用命令
```bash
# 运行一次分析
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服务
```bash
# 安装依赖
pip install -r requirements.txt
# 启动API服务
python run_api.py
```
API服务默认运行在 `http://0.0.0.0:8000`,可以通过环境变量自定义主机和端口:
```bash
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调用分析接口
```bash
curl -X POST "http://localhost:8000/api/analyze" \
-H "Content-Type: application/json" \
-d '{
"prompt": "分析比特币最近的市场趋势",
"symbol": "BTC",
"task_type": "市场分析"
}'
```