From 0ea9acfbb79da5f0ca54773d31c11604dde016eb Mon Sep 17 00:00:00 2001 From: Cassianvale Date: Tue, 11 Mar 2025 10:13:32 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=B8=85=E7=90=86=E6=9C=AA=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/ai_analyzer.py | 6 ++---- services/fund_service_async.py | 2 +- services/stock_analyzer_service.py | 7 ++----- services/stock_data_provider.py | 5 +---- services/stock_scorer.py | 7 +++---- services/technical_indicator.py | 5 ++--- services/us_stock_service_async.py | 8 ++++---- tests/test_stream.py | 6 +++--- logger.py => utils/logger.py | 2 +- web_server.py | 8 ++++---- 10 files changed, 23 insertions(+), 33 deletions(-) rename logger.py => utils/logger.py (99%) diff --git a/services/ai_analyzer.py b/services/ai_analyzer.py index eed82ff..57c9474 100644 --- a/services/ai_analyzer.py +++ b/services/ai_analyzer.py @@ -1,13 +1,11 @@ import pandas as pd -import numpy as np import os import json -import asyncio import httpx import re -from typing import Dict, List, Optional, Any, Generator, AsyncGenerator +from typing import AsyncGenerator from dotenv import load_dotenv -from logger import get_logger +from utils.logger import get_logger from utils.api_utils import APIUtils from datetime import datetime diff --git a/services/fund_service_async.py b/services/fund_service_async.py index e232188..dbd1ab8 100644 --- a/services/fund_service_async.py +++ b/services/fund_service_async.py @@ -1,7 +1,7 @@ import asyncio import pandas as pd from typing import List, Dict, Any, Optional -from logger import get_logger +from utils.logger import get_logger from datetime import datetime, timedelta # 获取日志器 diff --git a/services/stock_analyzer_service.py b/services/stock_analyzer_service.py index e93a25d..7404098 100644 --- a/services/stock_analyzer_service.py +++ b/services/stock_analyzer_service.py @@ -1,10 +1,7 @@ -import pandas as pd -import numpy as np -import asyncio import json from datetime import datetime -from typing import Dict, List, Optional, Tuple, Any, AsyncGenerator -from logger import get_logger +from typing import List, AsyncGenerator +from utils.logger import get_logger from services.stock_data_provider import StockDataProvider from services.technical_indicator import TechnicalIndicator from services.stock_scorer import StockScorer diff --git a/services/stock_data_provider.py b/services/stock_data_provider.py index c19ba9a..2b79318 100644 --- a/services/stock_data_provider.py +++ b/services/stock_data_provider.py @@ -1,11 +1,8 @@ import pandas as pd -import numpy as np from datetime import datetime, timedelta import asyncio -import os from typing import Dict, List, Optional, Tuple, Any -from logger import get_logger -import re +from utils.logger import get_logger # 获取日志器 logger = get_logger() diff --git a/services/stock_scorer.py b/services/stock_scorer.py index c631f14..55e5ee2 100644 --- a/services/stock_scorer.py +++ b/services/stock_scorer.py @@ -1,7 +1,6 @@ import pandas as pd -import numpy as np -from typing import Dict, Optional, Any, List, Tuple -from logger import get_logger +from typing import Dict, List, Tuple +from utils.logger import get_logger # 获取日志器 logger = get_logger() @@ -14,7 +13,7 @@ class StockScorer: def __init__(self): """初始化股票评分服务""" - logger.debug("初始化StockScorer") + logger.debug("初始化StockScorer股票评分服务") def calculate_score(self, df: pd.DataFrame) -> int: """ diff --git a/services/technical_indicator.py b/services/technical_indicator.py index 0f8aacb..45c1751 100644 --- a/services/technical_indicator.py +++ b/services/technical_indicator.py @@ -1,7 +1,6 @@ import pandas as pd -import numpy as np from typing import Dict, Optional, Any -from logger import get_logger +from utils.logger import get_logger # 获取日志器 logger = get_logger() @@ -29,7 +28,7 @@ class TechnicalIndicator: 'atr_period': 14 } - logger.debug(f"初始化TechnicalIndicator,参数: {self.params}") + logger.debug(f"初始化TechnicalIndicator技术指标计算服务,参数: {self.params}") def calculate_ema(self, series: pd.Series, period: int) -> pd.Series: """ diff --git a/services/us_stock_service_async.py b/services/us_stock_service_async.py index 97c94b1..a140293 100644 --- a/services/us_stock_service_async.py +++ b/services/us_stock_service_async.py @@ -1,19 +1,19 @@ import asyncio import pandas as pd from typing import List, Dict, Any, Optional -from logger import get_logger +from utils.logger import get_logger # 获取日志器 logger = get_logger() class USStockServiceAsync: """ - 异步美股服务 - 提供美股数据的异步搜索和获取功能 + 美股服务 + 提供美股数据的搜索和获取功能 """ def __init__(self): - """初始化异步美股服务""" + """初始化美股服务""" logger.debug("初始化USStockServiceAsync") # 可选:添加缓存以减少频繁请求 diff --git a/tests/test_stream.py b/tests/test_stream.py index 8f7b005..b5f4abb 100644 --- a/tests/test_stream.py +++ b/tests/test_stream.py @@ -1,13 +1,13 @@ import os import requests import json -from logger import get_logger, get_stream_logger +from utils.logger import get_logger from dotenv import load_dotenv from utils.api_utils import APIUtils # 获取日志器 logger = get_logger() -stream_logger = get_stream_logger() + def _truncate_json_for_logging(json_obj, max_length=500): """截断JSON对象用于日志记录,避免日志过大 @@ -38,7 +38,7 @@ def test_api_stream(): # 获取API配置 api_url = os.getenv('API_URL') api_key = os.getenv('API_KEY') - api_model = os.getenv('API_MODEL', 'gpt-3.5-turbo') + api_model = os.getenv('API_MODEL', 'gemini-2.0-flash') logger.info(f"开始测试API流式响应,API URL: {api_url}, MODEL: {api_model}") diff --git a/logger.py b/utils/logger.py similarity index 99% rename from logger.py rename to utils/logger.py index 4a941b2..69cbb64 100644 --- a/logger.py +++ b/utils/logger.py @@ -2,7 +2,7 @@ from loguru import logger import sys import os from datetime import datetime -import shutil + # 创建日志目录 log_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "logs") diff --git a/web_server.py b/web_server.py index 9e4ef3c..3ce0ce3 100644 --- a/web_server.py +++ b/web_server.py @@ -1,8 +1,8 @@ from fastapi import FastAPI, Request, Response, Depends, HTTPException, BackgroundTasks -from fastapi.responses import JSONResponse, StreamingResponse, FileResponse, RedirectResponse +from fastapi.responses import JSONResponse, StreamingResponse from fastapi.staticfiles import StaticFiles from fastapi.middleware.cors import CORSMiddleware -from fastapi.security import OAuth2PasswordBearer, OAuth2PasswordRequestForm +from fastapi.security import OAuth2PasswordBearer from pydantic import BaseModel, Field from typing import List, Optional, Dict, Any, Generator from services.stock_analyzer_service import StockAnalyzerService @@ -10,9 +10,9 @@ from services.us_stock_service_async import USStockServiceAsync from services.fund_service_async import FundServiceAsync import os import httpx -from logger import get_logger +from utils.logger import get_logger from utils.api_utils import APIUtils -from dotenv import load_dotenv, dotenv_values +from dotenv import load_dotenv import uvicorn import json import secrets