TradingAgents现在支持MongoDB和Redis数据库,提供数据持久化存储和高性能缓存功能。
# Windows
scripts\start_services_alt_ports.bat
# Linux/Mac
scripts/start_services_alt_ports.sh
pip install pymongo redis
python scripts/init_database.py
cd web
python -m streamlit run app.py
由于本地环境端口冲突,使用了替代端口:
服务 | 默认端口 | 实际端口 | 访问地址 |
---|---|---|---|
MongoDB | 27017 | 27018 | localhost:27018 |
Redis | 6379 | 6380 | localhost:6380 |
Redis Commander | 8081 | 8082 | http://localhost:8082 |
tradingagents:
# MongoDB配置
MONGODB_HOST=localhost
MONGODB_PORT=27018
MONGODB_USERNAME=admin
MONGODB_PASSWORD=tradingagents123
MONGODB_DATABASE=tradingagents
# Redis配置
REDIS_HOST=localhost
REDIS_PORT=6380
REDIS_PASSWORD=tradingagents123
REDIS_DB=0
数据库配置已集成到默认配置中,支持环境变量覆盖。
# 检查端口占用
netstat -an | findstr :27018
netstat -an | findstr :6380
# 检查Docker容器状态
docker ps --filter "name=tradingagents-"
# 查看容器日志
docker logs tradingagents-mongodb
docker logs tradingagents-redis
# 重启容器
docker restart tradingagents-mongodb tradingagents-redis
# 停止并删除容器
docker stop tradingagents-mongodb tradingagents-redis tradingagents-redis-commander
docker rm tradingagents-mongodb tradingagents-redis tradingagents-redis-commander
# 删除数据卷(可选,会丢失所有数据)
docker volume rm tradingagents_mongodb_data tradingagents_redis_data
# 重新启动
scripts\start_services_alt_ports.bat
python scripts/init_database.py
from tradingagents.config.database_manager import get_database_manager
# 获取数据库管理器
db_manager = get_database_manager()
# 检查数据库可用性
if db_manager.is_mongodb_available():
print("MongoDB可用")
if db_manager.is_redis_available():
print("Redis可用")
# 获取数据库客户端
mongodb_client = db_manager.get_mongodb_client()
redis_client = db_manager.get_redis_client()
# 获取缓存统计
stats = db_manager.get_cache_stats()
注意: 本配置适用于开发和测试环境。生产环境请参考安全配置章节进行相应调整。