This commit is contained in:
MarkLo 2025-12-11 00:37:19 +08:00
parent 138cd922c6
commit a51b31dc21
8 changed files with 64 additions and 64 deletions

View File

@ -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",

View File

@ -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"

View File

@ -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)

View File

@ -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,
}

View File

@ -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": [

View File

@ -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">

View File

@ -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)

View File

@ -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,