Skip to content

Latest commit

ย 

History

History
129 lines (104 loc) ยท 5.7 KB

File metadata and controls

129 lines (104 loc) ยท 5.7 KB

AgentAdvisor - AIๅคšๆ™บ่ƒฝไฝ“ๆŠ•้กพ็ณป็ปŸ

License: MIT Python 3.10+

ไธ€ไธชๅŸบไบŽๅคšๆ™บ่ƒฝไฝ“ๅไฝœ็š„ๆ™บ่ƒฝๆŠ•้กพ็ณป็ปŸ๏ผŒ้€š่ฟ‡AIๅฏน่ฏ้‡‡้›†็”จๆˆท็”ปๅƒ๏ผŒ็ป“ๅˆๅฎžๆ—ถๅธ‚ๅœบไผฐๅ€ผๆ•ฐๆฎ๏ผŒๅŠจๆ€็”Ÿๆˆไธชๆ€งๅŒ–็š„ๅœบๅ†…ETF่ต„ไบง้…็ฝฎๆ–นๆกˆใ€‚

ๆ ธๅฟƒ็‰น็‚น

  • ๅคšๆ™บ่ƒฝไฝ“ๅไฝœ โ€” ็”จๆˆท็”ปๅƒAgentใ€ๆ•ฐๆฎ้‡‡้›†Agentใ€่ต„ไบง้…็ฝฎAgentใ€ๆŠฅๅ‘Š็”ŸๆˆAgentใ€็›‘ๆŽง้ข„่ญฆAgent ไบ”ๅคงๆ™บ่ƒฝไฝ“ๆตๆฐด็บฟๅไฝœ
  • ไผฐๅ€ผ้ฉฑๅŠจ้…็ฝฎ โ€” ๅŸบไบŽๆ ‡็š„ๅฎžๆ—ถไผฐๅ€ผๆฐดๅนณ๏ผˆPE/PBๅˆ†ไฝๆ•ฐ็ญ‰๏ผ‰ๅŠจๆ€่ฐƒๆ•ดไป“ไฝ๏ผŒๆ‹’็ป่ฎฉ็”จๆˆทๅœจๆœ€้ซ˜็‚นๆŽฅ็›˜
  • ๅ…จๅœบๅ†…ETF โ€” ไป…้…็ฝฎๅœบๅ†…่ขซๅŠจETFๅŸบ้‡‘๏ผˆๅฎฝๅŸบๆŒ‡ๆ•ฐใ€่กŒไธšไธป้ข˜ใ€QDII่ทจๅขƒใ€ๅ€บๅˆธใ€้ป„้‡‘ใ€่ดงๅธ๏ผ‰๏ผŒๆตๅŠจๆ€งๅฅฝใ€่ดน็އไฝŽ
  • AIๅฏน่ฏ็”ปๅƒ โ€” ้€š่ฟ‡่‡ช็„ถๅฏน่ฏ+ๆƒ…ๆ™ฏ้—ฎ็ญ”ๆทฑๅบฆไบ†่งฃ็”จๆˆท้ฃŽ้™ฉๅๅฅฝ๏ผŒ่€Œ้žไผ ็ปŸๆœบๆขฐ้€‰ๆ‹ฉ้ข˜
  • ๅ…ผๅฎนๅคšๆจกๅž‹ โ€” ๆ”ฏๆŒ OpenAI GPTใ€Claudeใ€DeepSeek ็ญ‰ไธปๆตๅคงๆจกๅž‹๏ผŒไธ€้”ฎๅˆ‡ๆข
  • ๅฎžๆ—ถ็›‘ๆŽง้ข„่ญฆ โ€” ๆฏๆ—ฅ่‡ชๅŠจๆฃ€ๆต‹ๅธ‚ๅœบๆๆ…ŒๆŒ‡ๆ•ฐๅ’Œๅผ‚ๅธธๆณขๅŠจ๏ผŒๆ™บ่ƒฝๆŽจ้€้‚ฎไปถ้ข„่ญฆ
  • PDFๆŠฅๅ‘Šๅฏผๅ‡บ โ€” ๆ”ฏๆŒๅฏผๅ‡บๆ ผๅผ็ฒพ็พŽ็š„ไธญๆ–‡PDFๆŠ•่ต„ๅปบ่ฎฎๆŠฅๅ‘Š

็ณป็ปŸๆžถๆž„

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                  ๅ‰็ซฏ (้ป‘้‡‘้ฃŽๆ ผ)                    โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚  AI ๅฏน่ฏ้ขๆฟ     โ”‚  โ”‚  ๆŠฅๅ‘Šๅฑ•็คบ้ขๆฟ           โ”‚ โ”‚
โ”‚  โ”‚  ยท ็”จๆˆท็”ปๅƒ้—ฎ็ญ”  โ”‚  โ”‚  ยท ่ต„ไบง้…ๆฏ”็Žฏๅฝขๅ›พ       โ”‚ โ”‚
โ”‚  โ”‚  ยท ๅฟซๆท้€‰้กน     โ”‚  โ”‚  ยท ๆ—ถๅบ่ตฐๅŠฟๅ›พ           โ”‚ โ”‚
โ”‚  โ”‚  ยท ๆตๅผๅฏน่ฏ     โ”‚  โ”‚  ยท ้…็ฝฎๆ˜Ž็ป†่กจ           โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚  ยท ไนฐๅ…ฅ่Š‚ๅฅๅปบ่ฎฎ         โ”‚ โ”‚
โ”‚                       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                        โ”‚ WebSocket
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                  ๅŽ็ซฏ (FastAPI)                    โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚
โ”‚  โ”‚              ๅคšๆ™บ่ƒฝไฝ“ๅฑ‚                        โ”‚โ”‚
โ”‚  โ”‚  ็”ปๅƒAgent โ†’ ๆ•ฐๆฎAgent โ†’ ้…็ฝฎAgent โ†’ ๆŠฅๅ‘ŠAgent โ”‚โ”‚
โ”‚  โ”‚                     ็›‘ๆŽงAgent (ๅฎšๆ—ถ)          โ”‚โ”‚
โ”‚  โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”คโ”‚
โ”‚  โ”‚              ๆ ธๅฟƒๆœๅŠกๅฑ‚                        โ”‚โ”‚
โ”‚  โ”‚  LLM Gateway โ”‚ DataService โ”‚ EmailService    โ”‚โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๅฟซ้€Ÿๅผ€ๅง‹

1. ๅฎ‰่ฃ…ไพ่ต–

pip install -r requirements.txt

ๆณจๆ„: ๅฆ‚ๆžœไฝฟ็”จ conda ็Žฏๅขƒ๏ผŒ่ฏทๅ…ˆๆฟ€ๆดป็Žฏๅขƒ๏ผš

conda activate agent_advisor
pip install -r requirements.txt

2. ้…็ฝฎๅคงๆจกๅž‹

็ผ–่พ‘ config.yaml๏ผŒ้€‰ๆ‹ฉไฝ ่ฆไฝฟ็”จ็š„ๅคงๆจกๅž‹ provider๏ผˆ้ป˜่ฎค openai๏ผ‰๏ผš

llm:
  default_provider: "openai"  # ๅฏ้€‰: openai / deepseek / claude

่ฎพ็ฝฎๅฏนๅบ”็š„ API Key ็Žฏๅขƒๅ˜้‡๏ผš

# ้€‰ๆ‹ฉไฝ ไฝฟ็”จ็š„ๆจกๅž‹๏ผŒ่ฎพ็ฝฎๅฏนๅบ”็š„ Key๏ผˆ่‡ณๅฐ‘่ฎพ็ฝฎไธ€ไธช๏ผ‰
export OPENAI_API_KEY="your-openai-key"
# export DEEPSEEK_API_KEY="your-deepseek-key"
# export ANTHROPIC_API_KEY="your-claude-key"

3. ๅฏๅŠจ

python main.py

ๆต่งˆๅ™จ่ฎฟ้—ฎ http://localhost:8000

้…็ฝฎ่ฏดๆ˜Ž

config.yaml ไธญๅŒ…ๅซ๏ผš

  • llm โ€” ๅคงๆจกๅž‹้…็ฝฎ๏ผˆproviderๅˆ‡ๆขใ€APIๅœฐๅ€ใ€ๆจกๅž‹ๅ็งฐ๏ผ‰
  • email โ€” ้‚ฎไปถๆŽจ้€้…็ฝฎ๏ผˆSMTPไฟกๆฏ๏ผ‰
  • scheduler โ€” ๅฎšๆ—ถ็›‘ๆŽงไปปๅŠก้…็ฝฎ
  • etf_pool โ€” ETFๆ ‡็š„ๆฑ ๏ผˆๅฎฝๅŸบใ€่กŒไธšใ€QDIIใ€ๅ€บๅˆธใ€้ป„้‡‘ใ€่ดงๅธ๏ผ‰
  • data โ€” ๆ•ฐๆฎ็ผ“ๅญ˜่ทฏๅพ„ไธŽ่ฟ‡ๆœŸ็ญ–็•ฅ

ๆŠ€ๆœฏๆ ˆ

ๆจกๅ— ๆŠ€ๆœฏ
ๅŽ็ซฏๆก†ๆžถ Python FastAPI
ๅ‰็ซฏ ๅŽŸ็”ŸHTML/CSS/JS๏ผŒ้ป‘้‡‘ๆ‰ๅนณ้ฃŽๆ ผ
ๆ•ฐๆฎๆบ akshare๏ผˆๅ…่ดน๏ผ‰
ๆ•ฐๆฎ็ผ“ๅญ˜ ๆœฌๅœฐCSV
ๅคงๆจกๅž‹ GPT / Claude / DeepSeek
ๅฎšๆ—ถไปปๅŠก APScheduler
้‚ฎไปถ smtplib

้กน็›ฎ็ป“ๆž„

agent-Advisor/
โ”œโ”€โ”€ main.py              # FastAPI ๅ…ฅๅฃ
โ”œโ”€โ”€ config.yaml          # ๅ…จๅฑ€้…็ฝฎ
โ”œโ”€โ”€ requirements.txt     # ไพ่ต–
โ”œโ”€โ”€ core/
โ”‚   โ”œโ”€โ”€ llm_gateway.py   # ็ปŸไธ€ๅคงๆจกๅž‹็ฝ‘ๅ…ณ
โ”‚   โ”œโ”€โ”€ data_service.py  # ๆ•ฐๆฎ้‡‡้›†ไธŽ็ผ“ๅญ˜
โ”‚   โ””โ”€โ”€ email_service.py # ้‚ฎไปถๆŽจ้€
โ”œโ”€โ”€ agents/
โ”‚   โ”œโ”€โ”€ base_agent.py    # AgentๅŸบ็ฑป
โ”‚   โ”œโ”€โ”€ profile_agent.py # ็”จๆˆท็”ปๅƒAgent
โ”‚   โ”œโ”€โ”€ allocation_agent.py  # ่ต„ไบง้…็ฝฎAgent
โ”‚   โ”œโ”€โ”€ report_agent.py  # ๆŠฅๅ‘Š็”ŸๆˆAgent
โ”‚   โ””โ”€โ”€ monitor_agent.py # ็›‘ๆŽง้ข„่ญฆAgent
โ”œโ”€โ”€ static/
โ”‚   โ””โ”€โ”€ index.html       # ๅ‰็ซฏ้กต้ข
โ””โ”€โ”€ data/
    โ”œโ”€โ”€ cross_section/   # ๆจชๆˆช้ขๆ•ฐๆฎ
    โ””โ”€โ”€ time_series/     # ๆ—ถๅบๆ•ฐๆฎ