update
This commit is contained in:
parent
59efc06b99
commit
347b126977
Binary file not shown.
@ -141,6 +141,9 @@ async def get_stock_analysis(stock_code: str, current_user: Dict[str, Any] = Dep
|
||||
"user": current_user["mail"]
|
||||
}
|
||||
|
||||
# 保存用户提问
|
||||
get_db_manager().save_user_question(current_user["id"], stock_code, "请分析以下股票:" + stock_code + ",并给出分析报告。")
|
||||
|
||||
response = requests.post(url, headers=headers, json=data, stream=True)
|
||||
|
||||
# 如果响应不成功,返回错误
|
||||
|
||||
@ -12,6 +12,8 @@ from cryptoai.utils.config_loader import ConfigLoader
|
||||
from fastapi.responses import StreamingResponse
|
||||
from cryptoai.routes.user import get_current_user
|
||||
import requests
|
||||
from cryptoai.api.binance_api import get_binance_api
|
||||
from cryptoai.models.data_processor import DataProcessor
|
||||
|
||||
# 创建路由
|
||||
router = APIRouter()
|
||||
@ -19,7 +21,7 @@ router = APIRouter()
|
||||
logger = logging.getLogger(__name__)
|
||||
logger.setLevel(logging.DEBUG)
|
||||
|
||||
@router.get("/crypto/search/{key}")
|
||||
@router.get("/search/{key}")
|
||||
async def search_crypto(key: str):
|
||||
manager = get_db_manager()
|
||||
result = manager.search_token(key)
|
||||
@ -29,7 +31,32 @@ class CryptoAnalysisRequest(BaseModel):
|
||||
symbol: str
|
||||
timeframe: Optional[str] = None
|
||||
|
||||
@router.post("/crypto/analysis")
|
||||
@router.get("/kline/{symbol}")
|
||||
async def get_crypto_kline(symbol: str, timeframe: Optional[str] = None, start_time: Optional[str] = None, end_time: Optional[str] = None):
|
||||
|
||||
binance_api = get_binance_api()
|
||||
|
||||
if not start_time:
|
||||
# 今年1月 1 日
|
||||
start_time = datetime.now().strftime("%Y-01-01 00:00:00")
|
||||
if not end_time:
|
||||
# 今天
|
||||
end_time = datetime.now().strftime("%Y-%m-%d 23:59:59")
|
||||
|
||||
print(f"symbol: {symbol}, timeframe: {timeframe}, start_time: {start_time}, end_time: {end_time}")
|
||||
|
||||
kline = binance_api.get_historical_klines(symbol, timeframe, start_time, end_time)
|
||||
|
||||
data_processor = DataProcessor()
|
||||
|
||||
result = data_processor.add_technical_indicators(kline).to_dict(orient="records")
|
||||
|
||||
print(f"total kline: {len(result)}")
|
||||
|
||||
return result
|
||||
|
||||
|
||||
@router.post("/analysis")
|
||||
async def analysis_crypto(request: CryptoAnalysisRequest,
|
||||
current_user: dict = Depends(get_current_user)):
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ services:
|
||||
cryptoai-api:
|
||||
build: .
|
||||
container_name: cryptoai-api
|
||||
image: cryptoai-api:0.0.23
|
||||
image: cryptoai-api:0.0.24
|
||||
restart: always
|
||||
ports:
|
||||
- "8000:8000"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user