37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
from pydantic import BaseModel
|
|
from datetime import datetime
|
|
from typing import List, Dict
|
|
|
|
class Analysis(BaseModel):
|
|
id: str | None = None
|
|
member_id: str
|
|
ticker: str
|
|
analysis_date: str
|
|
analysts_selected: List[str] = []
|
|
research_depth: int = 3
|
|
llm_provider: str = "openai"
|
|
backend_url: str = "https://api.openai.com/v1"
|
|
shallow_thinker: str = "gpt-4o-mini"
|
|
deep_thinker: str = "gpt-4o"
|
|
status: str
|
|
|
|
# 개별 분석가 리포트들
|
|
market_report: str | None = None
|
|
sentiment_report: str | None = None
|
|
news_report: str | None = None
|
|
fundamentals_report: str | None = None
|
|
|
|
# 팀별 의사결정 과정
|
|
investment_debate_state: Dict | None = None
|
|
trader_investment_plan: str | None = None
|
|
risk_debate_state: Dict | None = None
|
|
|
|
# 최종 결과물
|
|
final_trade_decision: str | None = None
|
|
final_report: str | None = None
|
|
|
|
# 실행 결과 정보
|
|
error_message: str | None = None
|
|
completed_at: datetime | None = None
|
|
created_at: datetime
|
|
updated_at: datetime |