This commit is contained in:
parent
138cd922c6
commit
a51b31dc21
|
|
@ -476,7 +476,7 @@ docker compose down -v
|
|||
**配置示例:**
|
||||
|
||||
```
|
||||
快速思維模型: gpt-5-mini-2025-08-07
|
||||
快速思維模型: gpt-5-mini
|
||||
快速思維 Base URL: https://api.openai.com/v1
|
||||
快速思維 API Key: sk-your-openai-key
|
||||
|
||||
|
|
@ -566,7 +566,7 @@ curl -X POST http://localhost:8000/api/analyze \
|
|||
"analysis_date": "2024-01-15",
|
||||
"research_depth": 2,
|
||||
"deep_think_llm": "claude-sonnet-4-5",
|
||||
"quick_think_llm": "gpt-5-mini-2025-08-07",
|
||||
"quick_think_llm": "gpt-5-mini",
|
||||
"analysts": ["market", "sentiment", "news", "fundamental"],
|
||||
"quick_think_base_url": "https://api.openai.com/v1",
|
||||
"deep_think_base_url": "https://api.anthropic.com/v1",
|
||||
|
|
|
|||
|
|
@ -33,8 +33,8 @@ class Settings(BaseSettings):
|
|||
results_dir: str = "./results"
|
||||
max_debate_rounds: int = 1
|
||||
max_risk_discuss_rounds: int = 1
|
||||
deep_think_llm: str = "gpt-5-mini-2025-08-07"
|
||||
quick_think_llm: str = "gpt-5-mini-2025-08-07"
|
||||
deep_think_llm: str = "gpt-5-mini"
|
||||
quick_think_llm: str = "gpt-5-mini"
|
||||
|
||||
class Config:
|
||||
env_file = ".env"
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@ class AnalysisRequest(BaseModel):
|
|||
description="List of analysts to include in analysis"
|
||||
)
|
||||
research_depth: Optional[int] = Field(default=1, ge=1, le=5, description="Research depth (1-5)")
|
||||
deep_think_llm: Optional[str] = Field(default="gpt-5-mini-2025-08-07", description="Deep thinking LLM model")
|
||||
quick_think_llm: Optional[str] = Field(default="gpt-5-mini-2025-08-07", description="Quick thinking LLM model")
|
||||
deep_think_llm: Optional[str] = Field(default="gpt-5-mini", description="Deep thinking LLM model")
|
||||
quick_think_llm: Optional[str] = Field(default="gpt-5-mini", description="Quick thinking LLM model")
|
||||
|
||||
# API Configuration
|
||||
openai_api_key: Optional[str] = Field(None, description="OpenAI API Key (optional if set on server)", min_length=0)
|
||||
|
|
|
|||
|
|
@ -26,8 +26,8 @@ class TradingService:
|
|||
def create_config(
|
||||
self,
|
||||
research_depth: int = 1,
|
||||
deep_think_llm: str = "gpt-5-mini-2025-08-07",
|
||||
quick_think_llm: str = "gpt-5-mini-2025-08-07",
|
||||
deep_think_llm: str = "gpt-5-mini",
|
||||
quick_think_llm: str = "gpt-5-mini",
|
||||
) -> Dict[str, Any]:
|
||||
"""Create configuration for TradingAgentsX"""
|
||||
config = self.default_config.copy()
|
||||
|
|
@ -53,8 +53,8 @@ class TradingService:
|
|||
alpha_vantage_api_key: Optional[str] = None,
|
||||
analysts: Optional[List[str]] = None,
|
||||
research_depth: int = 1,
|
||||
deep_think_llm: str = "gpt-5-mini-2025-08-07",
|
||||
quick_think_llm: str = "gpt-5-mini-2025-08-07",
|
||||
deep_think_llm: str = "gpt-5-mini",
|
||||
quick_think_llm: str = "gpt-5-mini",
|
||||
) -> Dict[str, Any]:
|
||||
"""
|
||||
Run trading analysis for a given ticker and date with user-provided API keys
|
||||
|
|
@ -260,18 +260,18 @@ class TradingService:
|
|||
"""Get list of available OpenAI LLM models"""
|
||||
return [
|
||||
# OpenAI
|
||||
"gpt-5.1-2025-11-13",
|
||||
"gpt-5-mini-2025-08-07",
|
||||
"gpt-5-nano-2025-08-07",
|
||||
"gpt-5.1",
|
||||
"gpt-5-mini",
|
||||
"gpt-5-nano",
|
||||
"gpt-4.1-mini",
|
||||
"gpt-4.1-nano",
|
||||
"o4-mini-2025-04-16",
|
||||
"o4-mini",
|
||||
# Anthropic (Official model IDs)
|
||||
"claude-sonnet-4-5-20250929",
|
||||
"claude-haiku-4-5-20250929",
|
||||
"claude-sonnet-4-20250514",
|
||||
"claude-3-5-sonnet-20241022",
|
||||
"claude-3-5-haiku-20241022",
|
||||
"claude-sonnet-4-5",
|
||||
"claude-haiku-4-5",
|
||||
"claude-sonnet-4-0",
|
||||
"claude-3-7-sonnet-latest",
|
||||
"claude-3-5-haiku-latest",
|
||||
"claude-3-haiku-20240307",
|
||||
# Google
|
||||
"gemini-2.5-pro",
|
||||
|
|
@ -300,8 +300,8 @@ class TradingService:
|
|||
"""Get default configuration"""
|
||||
return {
|
||||
"research_depth": 1,
|
||||
"deep_think_llm": "gpt-5-mini-2025-08-07",
|
||||
"quick_think_llm": "gpt-5-mini-2025-08-07",
|
||||
"deep_think_llm": "gpt-5-mini",
|
||||
"quick_think_llm": "gpt-5-mini",
|
||||
"max_debate_rounds": 1,
|
||||
"max_risk_discuss_rounds": 1,
|
||||
}
|
||||
|
|
|
|||
36
cli/utils.py
36
cli/utils.py
|
|
@ -187,19 +187,19 @@ def select_shallow_thinking_agent(provider=None) -> str:
|
|||
# 定義不同供應商的淺層思維 LLM 引擎選項
|
||||
SHALLOW_AGENT_OPTIONS = {
|
||||
"OpenAI": [
|
||||
("GPT-5.1", "gpt-5.1-2025-11-13"),
|
||||
("GPT-5-mini","gpt-5-mini-2025-08-07"),
|
||||
("GPT-5-nano","gpt-5-nano-2025-08-07"),
|
||||
("GPT-5.1", "gpt-5.1"),
|
||||
("GPT-5-mini","gpt-5-mini"),
|
||||
("GPT-5-nano","gpt-5-nano"),
|
||||
("GPT-4.1-mini", "gpt-4.1-mini"),
|
||||
("GPT-4.1-nano", "gpt-4.1-nano"),
|
||||
("o4-mini", "o4-mini-2025-04-16"),
|
||||
("o4-mini", "o4-mini"),
|
||||
],
|
||||
"Anthropic": [
|
||||
("Claude Sonnet 4.5", "claude-sonnet-4-5-20250929"),
|
||||
("Claude Haiku 4.5", "claude-haiku-4-5-20250929"),
|
||||
("Claude Sonnet 4", "claude-sonnet-4-20250514"),
|
||||
("Claude 3.5 Sonnet", "claude-3-5-sonnet-20241022"),
|
||||
("Claude 3.5 Haiku", "claude-3-5-haiku-20241022"),
|
||||
("Claude Sonnet 4.5", "claude-sonnet-4-5"),
|
||||
("Claude Haiku 4.5", "claude-haiku-4-5"),
|
||||
("Claude Sonnet 4", "claude-sonnet-4-0"),
|
||||
("Claude 3.5 Sonnet", "claude-3-7-sonnet-latest"),
|
||||
("Claude 3.5 Haiku", "claude-3-5-haiku-latest"),
|
||||
("Claude 3 Haiku", "claude-3-haiku-20240307"),
|
||||
],
|
||||
"Google": [
|
||||
|
|
@ -312,19 +312,19 @@ def select_deep_thinking_agent(provider=None) -> str:
|
|||
# 定義不同供應商的深層思維 LLM 引擎選項
|
||||
DEEP_AGENT_OPTIONS = {
|
||||
"OpenAI": [
|
||||
("GPT-5.1", "gpt-5.1-2025-11-13"),
|
||||
("GPT-5-mini","gpt-5-mini-2025-08-07"),
|
||||
("GPT-5-nano","gpt-5-nano-2025-08-07"),
|
||||
("GPT-5.1", "gpt-5.1"),
|
||||
("GPT-5-mini","gpt-5-mini"),
|
||||
("GPT-5-nano","gpt-5-nano"),
|
||||
("GPT-4.1-mini", "gpt-4.1-mini"),
|
||||
("GPT-4.1-nano", "gpt-4.1-nano"),
|
||||
("o4-mini", "o4-mini-2025-04-16"),
|
||||
("o4-mini", "o4-mini"),
|
||||
],
|
||||
"Anthropic": [
|
||||
("Claude Sonnet 4.5", "claude-sonnet-4-5-20250929"),
|
||||
("Claude Haiku 4.5", "claude-haiku-4-5-20250929"),
|
||||
("Claude Sonnet 4", "claude-sonnet-4-20250514"),
|
||||
("Claude 3.5 Sonnet", "claude-3-5-sonnet-20241022"),
|
||||
("Claude 3.5 Haiku", "claude-3-5-haiku-20241022"),
|
||||
("Claude Sonnet 4.5", "claude-sonnet-4-5"),
|
||||
("Claude Haiku 4.5", "claude-haiku-4-5"),
|
||||
("Claude Sonnet 4", "claude-sonnet-4-0"),
|
||||
("Claude 3.5 Sonnet", "claude-3-7-sonnet-latest"),
|
||||
("Claude 3.5 Haiku", "claude-3-5-haiku-latest"),
|
||||
("Claude 3 Haiku", "claude-3-haiku-20240307"),
|
||||
],
|
||||
"Google": [
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
"use client";
|
||||
|
||||
import { useState, useEffect } from "react";
|
||||
import { useForm } from "react-hook-form";
|
||||
import { useForm, ControllerRenderProps } from "react-hook-form";
|
||||
import { zodResolver } from "@hookform/resolvers/zod";
|
||||
import * as z from "zod";
|
||||
import { format } from "date-fns";
|
||||
|
|
@ -99,8 +99,8 @@ export function AnalysisForm({ onSubmit, loading = false }: AnalysisFormProps) {
|
|||
analysis_date: format(new Date(), "yyyy-MM-dd"),
|
||||
analysts: ["market", "social", "news", "fundamentals"], // 預設全選
|
||||
research_depth: 3, // 預設中等層級
|
||||
quick_think_llm: "gpt-5-mini-2025-08-07",
|
||||
deep_think_llm: "gpt-5-mini-2025-08-07",
|
||||
quick_think_llm: "gpt-5-mini",
|
||||
deep_think_llm: "gpt-5-mini",
|
||||
custom_quick_think_model: "",
|
||||
custom_deep_think_model: "",
|
||||
quick_think_base_url: "https://api.openai.com/v1",
|
||||
|
|
@ -366,13 +366,13 @@ export function AnalysisForm({ onSubmit, loading = false }: AnalysisFormProps) {
|
|||
</FormControl>
|
||||
<SelectContent>
|
||||
{/* OpenAI */}
|
||||
<SelectItem value="gpt-5.1-2025-11-13">
|
||||
<SelectItem value="gpt-5.1">
|
||||
OpenAI: GPT-5.1
|
||||
</SelectItem>
|
||||
<SelectItem value="gpt-5-mini-2025-08-07">
|
||||
<SelectItem value="gpt-5-mini">
|
||||
OpenAI: GPT-5 Mini
|
||||
</SelectItem>
|
||||
<SelectItem value="gpt-5-nano-2025-08-07">
|
||||
<SelectItem value="gpt-5-nano">
|
||||
OpenAI: GPT-5 Nano
|
||||
</SelectItem>
|
||||
<SelectItem value="gpt-4.1-mini">
|
||||
|
|
@ -381,24 +381,24 @@ export function AnalysisForm({ onSubmit, loading = false }: AnalysisFormProps) {
|
|||
<SelectItem value="gpt-4.1-nano">
|
||||
OpenAI: GPT-4.1 Nano
|
||||
</SelectItem>
|
||||
<SelectItem value="o4-mini-2025-04-16">
|
||||
<SelectItem value="o4-mini">
|
||||
OpenAI: o4-mini
|
||||
</SelectItem>
|
||||
|
||||
{/* Anthropic (Official model IDs) */}
|
||||
<SelectItem value="claude-sonnet-4-5-20250929">
|
||||
<SelectItem value="claude-sonnet-4-5">
|
||||
Anthropic: Claude Sonnet 4.5
|
||||
</SelectItem>
|
||||
<SelectItem value="claude-haiku-4-5-20250929">
|
||||
<SelectItem value="claude-haiku-4-5">
|
||||
Anthropic: Claude Haiku 4.5
|
||||
</SelectItem>
|
||||
<SelectItem value="claude-sonnet-4-20250514">
|
||||
<SelectItem value="claude-sonnet-4-0">
|
||||
Anthropic: Claude Sonnet 4
|
||||
</SelectItem>
|
||||
<SelectItem value="claude-3-5-sonnet-20241022">
|
||||
<SelectItem value="claude-3-7-sonnet-latest">
|
||||
Anthropic: Claude 3.5 Sonnet
|
||||
</SelectItem>
|
||||
<SelectItem value="claude-3-5-haiku-20241022">
|
||||
<SelectItem value="claude-3-5-haiku-latest">
|
||||
Anthropic: Claude 3.5 Haiku
|
||||
</SelectItem>
|
||||
<SelectItem value="claude-3-haiku-20240307">
|
||||
|
|
@ -508,13 +508,13 @@ export function AnalysisForm({ onSubmit, loading = false }: AnalysisFormProps) {
|
|||
</FormControl>
|
||||
<SelectContent>
|
||||
{/* OpenAI */}
|
||||
<SelectItem value="gpt-5.1-2025-11-13">
|
||||
<SelectItem value="gpt-5.1">
|
||||
OpenAI: GPT-5.1
|
||||
</SelectItem>
|
||||
<SelectItem value="gpt-5-mini-2025-08-07">
|
||||
<SelectItem value="gpt-5-mini">
|
||||
OpenAI: GPT-5 Mini
|
||||
</SelectItem>
|
||||
<SelectItem value="gpt-5-nano-2025-08-07">
|
||||
<SelectItem value="gpt-5-nano">
|
||||
OpenAI: GPT-5 Nano
|
||||
</SelectItem>
|
||||
<SelectItem value="gpt-4.1-mini">
|
||||
|
|
@ -523,24 +523,24 @@ export function AnalysisForm({ onSubmit, loading = false }: AnalysisFormProps) {
|
|||
<SelectItem value="gpt-4.1-nano">
|
||||
OpenAI: GPT-4.1 Nano
|
||||
</SelectItem>
|
||||
<SelectItem value="o4-mini-2025-04-16">
|
||||
<SelectItem value="o4-mini">
|
||||
OpenAI: o4-mini
|
||||
</SelectItem>
|
||||
|
||||
{/* Anthropic (Official model IDs) */}
|
||||
<SelectItem value="claude-sonnet-4-5-20250929">
|
||||
<SelectItem value="claude-sonnet-4-5">
|
||||
Anthropic: Claude Sonnet 4.5
|
||||
</SelectItem>
|
||||
<SelectItem value="claude-haiku-4-5-20250929">
|
||||
<SelectItem value="claude-haiku-4-5">
|
||||
Anthropic: Claude Haiku 4.5
|
||||
</SelectItem>
|
||||
<SelectItem value="claude-sonnet-4-20250514">
|
||||
<SelectItem value="claude-sonnet-4-0">
|
||||
Anthropic: Claude Sonnet 4
|
||||
</SelectItem>
|
||||
<SelectItem value="claude-3-5-sonnet-20241022">
|
||||
<SelectItem value="claude-3-7-sonnet-latest">
|
||||
Anthropic: Claude 3.5 Sonnet
|
||||
</SelectItem>
|
||||
<SelectItem value="claude-3-5-haiku-20241022">
|
||||
<SelectItem value="claude-3-5-haiku-latest">
|
||||
Anthropic: Claude 3.5 Haiku
|
||||
</SelectItem>
|
||||
<SelectItem value="claude-3-haiku-20240307">
|
||||
|
|
|
|||
4
main.py
4
main.py
|
|
@ -8,8 +8,8 @@ load_dotenv(override=True)
|
|||
|
||||
# 建立自訂設定
|
||||
config = DEFAULT_CONFIG.copy()
|
||||
config["deep_think_llm"] = "gpt-5-mini-2025-08-07" # 使用不同的模型
|
||||
config["quick_think_llm"] = "gpt-5-mini-2025-08-07" # 使用不同的模型
|
||||
config["deep_think_llm"] = "gpt-5-mini" # 使用不同的模型
|
||||
config["quick_think_llm"] = "gpt-5-mini" # 使用不同的模型
|
||||
config["max_debate_rounds"] = 1 # 增加辯論回合
|
||||
|
||||
# 設定資料供應商 (預設使用 yfinance 和 alpha_vantage)
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ DEFAULT_CONFIG = {
|
|||
)),
|
||||
# LLM 設定
|
||||
"llm_provider": "openai",
|
||||
"deep_think_llm": "gpt-5-mini-2025-08-07",
|
||||
"quick_think_llm": "gpt-5-mini-2025-08-07",
|
||||
"deep_think_llm": "gpt-5-mini",
|
||||
"quick_think_llm": "gpt-5-mini",
|
||||
"backend_url": "https://api.openai.com/v1",
|
||||
# 辯論與討論設定
|
||||
"max_debate_rounds": 1,
|
||||
|
|
|
|||
Loading…
Reference in New Issue