This commit is contained in:
parent
5b8a35a1cf
commit
6fcd6d896d
|
|
@ -209,6 +209,12 @@ class TradingService:
|
||||||
"claude-sonnet-4-0",
|
"claude-sonnet-4-0",
|
||||||
"claude-3-5-haiku-20241022",
|
"claude-3-5-haiku-20241022",
|
||||||
"claude-3-haiku-20240307",
|
"claude-3-haiku-20240307",
|
||||||
|
# Google
|
||||||
|
"gemini-2.5-pro",
|
||||||
|
"gemini-2.5-flash",
|
||||||
|
"gemini-2.5-flash-lite",
|
||||||
|
"gemini-2.0-flash",
|
||||||
|
"gemini-2.0-flash-lite",
|
||||||
# Grok
|
# Grok
|
||||||
"grok-4-1-fast-reasoning",
|
"grok-4-1-fast-reasoning",
|
||||||
"grok-4-1-fast-non-reasoning",
|
"grok-4-1-fast-non-reasoning",
|
||||||
|
|
|
||||||
19
cli/utils.py
19
cli/utils.py
|
|
@ -2,10 +2,15 @@
|
||||||
import questionary
|
import questionary
|
||||||
# 匯入類型提示,用於更清晰地定義函式簽名
|
# 匯入類型提示,用於更清晰地定義函式簽名
|
||||||
from typing import List, Optional, Tuple, Dict
|
from typing import List, Optional, Tuple, Dict
|
||||||
|
# 匯入 rich.console 用於美化輸出
|
||||||
|
from rich.console import Console
|
||||||
|
|
||||||
# 從 cli.models 模組匯入 AnalystType 列舉
|
# 從 cli.models 模組匯入 AnalystType 列舉
|
||||||
from cli.models import AnalystType
|
from cli.models import AnalystType
|
||||||
|
|
||||||
|
# 初始化 console
|
||||||
|
console = Console()
|
||||||
|
|
||||||
# 定義分析師的順序和對應的類型
|
# 定義分析師的順序和對應的類型
|
||||||
ANALYST_ORDER = [
|
ANALYST_ORDER = [
|
||||||
("市場分析師", AnalystType.MARKET),
|
("市場分析師", AnalystType.MARKET),
|
||||||
|
|
@ -188,7 +193,6 @@ def select_shallow_thinking_agent(provider=None) -> str:
|
||||||
("GPT-4.1-mini", "gpt-4.1-mini"),
|
("GPT-4.1-mini", "gpt-4.1-mini"),
|
||||||
("GPT-4.1-nano", "gpt-4.1-nano"),
|
("GPT-4.1-nano", "gpt-4.1-nano"),
|
||||||
("o4-mini", "o4-mini-2025-04-16"),
|
("o4-mini", "o4-mini-2025-04-16"),
|
||||||
("其他", "custom")
|
|
||||||
],
|
],
|
||||||
"Anthropic": [
|
"Anthropic": [
|
||||||
("Claude Haiku 4.5", "claude-haiku-4-5-20251001"),
|
("Claude Haiku 4.5", "claude-haiku-4-5-20251001"),
|
||||||
|
|
@ -196,7 +200,6 @@ def select_shallow_thinking_agent(provider=None) -> str:
|
||||||
("Claude Sonnet 4", "claude-sonnet-4-0"),
|
("Claude Sonnet 4", "claude-sonnet-4-0"),
|
||||||
("Claude Haiku 3.5", "claude-3-5-haiku-20241022"),
|
("Claude Haiku 3.5", "claude-3-5-haiku-20241022"),
|
||||||
("Claude Haiku 3", "claude-3-haiku-20240307"),
|
("Claude Haiku 3", "claude-3-haiku-20240307"),
|
||||||
("其他", "custom")
|
|
||||||
],
|
],
|
||||||
"Google": [
|
"Google": [
|
||||||
("Gemini 2.5 Pro", "gemini-2.5-pro"),
|
("Gemini 2.5 Pro", "gemini-2.5-pro"),
|
||||||
|
|
@ -204,7 +207,6 @@ def select_shallow_thinking_agent(provider=None) -> str:
|
||||||
("Gemini 2.5 Flash Lite", "gemini-2.5-flash-lite"),
|
("Gemini 2.5 Flash Lite", "gemini-2.5-flash-lite"),
|
||||||
("Gemini 2.0 Flash", "gemini-2.0-flash"),
|
("Gemini 2.0 Flash", "gemini-2.0-flash"),
|
||||||
("Gemini 2.0 Flash-Lite", "gemini-2.0-flash-lite"),
|
("Gemini 2.0 Flash-Lite", "gemini-2.0-flash-lite"),
|
||||||
("其他", "custom")
|
|
||||||
],
|
],
|
||||||
"Grok":[
|
"Grok":[
|
||||||
("Grok 4.1 Fast Reasoning","grok-4-1-fast-reasoning"),
|
("Grok 4.1 Fast Reasoning","grok-4-1-fast-reasoning"),
|
||||||
|
|
@ -214,17 +216,15 @@ def select_shallow_thinking_agent(provider=None) -> str:
|
||||||
("Grok 4","grok-4-0709"),
|
("Grok 4","grok-4-0709"),
|
||||||
("Grok 3","grok-3"),
|
("Grok 3","grok-3"),
|
||||||
("Grok 3 Mini","grok-3-mini"),
|
("Grok 3 Mini","grok-3-mini"),
|
||||||
("其他", "custom")
|
|
||||||
],
|
],
|
||||||
"DeepSeek": [
|
"DeepSeek": [
|
||||||
("DeepSeek Reasoner","deepseek-reasoner"),
|
("DeepSeek Reasoner","deepseek-reasoner"),
|
||||||
("DeepSeek Chat","deepseek-chat"),
|
("DeepSeek Chat","deepseek-chat"),
|
||||||
("其他", "custom")
|
|
||||||
],
|
],
|
||||||
"Qwen":[
|
"Qwen":[
|
||||||
("Qwen 3 Max", "qwen3-max"),
|
("Qwen 3 Max", "qwen3-max"),
|
||||||
("Qwen Plus", "qwen-plus"),
|
("Qwen Plus", "qwen-plus"),
|
||||||
("其他", "custom")
|
("Qwen Flash", "qwen-flash"),
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -317,7 +317,6 @@ def select_deep_thinking_agent(provider=None) -> str:
|
||||||
("GPT-4.1-mini", "gpt-4.1-mini"),
|
("GPT-4.1-mini", "gpt-4.1-mini"),
|
||||||
("GPT-4.1-nano", "gpt-4.1-nano"),
|
("GPT-4.1-nano", "gpt-4.1-nano"),
|
||||||
("o4-mini", "o4-mini-2025-04-16"),
|
("o4-mini", "o4-mini-2025-04-16"),
|
||||||
("其他", "custom")
|
|
||||||
],
|
],
|
||||||
"Anthropic": [
|
"Anthropic": [
|
||||||
("Claude Haiku 4.5", "claude-haiku-4-5-20251001"),
|
("Claude Haiku 4.5", "claude-haiku-4-5-20251001"),
|
||||||
|
|
@ -325,7 +324,6 @@ def select_deep_thinking_agent(provider=None) -> str:
|
||||||
("Claude Sonnet 4", "claude-sonnet-4-0"),
|
("Claude Sonnet 4", "claude-sonnet-4-0"),
|
||||||
("Claude Haiku 3.5", "claude-3-5-haiku-20241022"),
|
("Claude Haiku 3.5", "claude-3-5-haiku-20241022"),
|
||||||
("Claude Haiku 3", "claude-3-haiku-20240307"),
|
("Claude Haiku 3", "claude-3-haiku-20240307"),
|
||||||
("其他", "custom")
|
|
||||||
],
|
],
|
||||||
"Google": [
|
"Google": [
|
||||||
("Gemini 2.5 Pro", "gemini-2.5-pro"),
|
("Gemini 2.5 Pro", "gemini-2.5-pro"),
|
||||||
|
|
@ -333,7 +331,6 @@ def select_deep_thinking_agent(provider=None) -> str:
|
||||||
("Gemini 2.5 Flash Lite", "gemini-2.5-flash-lite"),
|
("Gemini 2.5 Flash Lite", "gemini-2.5-flash-lite"),
|
||||||
("Gemini 2.0 Flash", "gemini-2.0-flash"),
|
("Gemini 2.0 Flash", "gemini-2.0-flash"),
|
||||||
("Gemini 2.0 Flash-Lite", "gemini-2.0-flash-lite"),
|
("Gemini 2.0 Flash-Lite", "gemini-2.0-flash-lite"),
|
||||||
("其他", "custom")
|
|
||||||
],
|
],
|
||||||
"Grok":[
|
"Grok":[
|
||||||
("Grok 4.1 Fast Reasoning","grok-4-1-fast-reasoning"),
|
("Grok 4.1 Fast Reasoning","grok-4-1-fast-reasoning"),
|
||||||
|
|
@ -343,17 +340,15 @@ def select_deep_thinking_agent(provider=None) -> str:
|
||||||
("Grok 4","grok-4-0709"),
|
("Grok 4","grok-4-0709"),
|
||||||
("Grok 3","grok-3"),
|
("Grok 3","grok-3"),
|
||||||
("Grok 3 Mini","grok-3-mini"),
|
("Grok 3 Mini","grok-3-mini"),
|
||||||
("其他", "custom")
|
|
||||||
],
|
],
|
||||||
"DeepSeek":[
|
"DeepSeek":[
|
||||||
("DeepSeek Reasoner","deepseek-reasoner"),
|
("DeepSeek Reasoner","deepseek-reasoner"),
|
||||||
("DeepSeek Chat","deepseek-chat"),
|
("DeepSeek Chat","deepseek-chat"),
|
||||||
("其他", "custom")
|
|
||||||
],
|
],
|
||||||
"Qwen":[
|
"Qwen":[
|
||||||
("Qwen 3 Max", "qwen3-max"),
|
("Qwen 3 Max", "qwen3-max"),
|
||||||
("Qwen Plus", "qwen-plus"),
|
("Qwen Plus", "qwen-plus"),
|
||||||
("其他", "custom")
|
("Qwen Flash", "qwen-flash"),
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -324,6 +324,23 @@ export function AnalysisForm({ onSubmit, loading = false }: AnalysisFormProps) {
|
||||||
Anthropic: Claude 3 Haiku
|
Anthropic: Claude 3 Haiku
|
||||||
</SelectItem>
|
</SelectItem>
|
||||||
|
|
||||||
|
{/* Google */}
|
||||||
|
<SelectItem value="gemini-2.5-pro">
|
||||||
|
Google: Gemini 2.5 Pro
|
||||||
|
</SelectItem>
|
||||||
|
<SelectItem value="gemini-2.5-flash">
|
||||||
|
Google: Gemini 2.5 Flash
|
||||||
|
</SelectItem>
|
||||||
|
<SelectItem value="gemini-2.5-flash-lite">
|
||||||
|
Google: Gemini 2.5 Flash Lite
|
||||||
|
</SelectItem>
|
||||||
|
<SelectItem value="gemini-2.0-flash">
|
||||||
|
Google: Gemini 2.0 Flash
|
||||||
|
</SelectItem>
|
||||||
|
<SelectItem value="gemini-2.0-flash-lite">
|
||||||
|
Google: Gemini 2.0 Flash Lite
|
||||||
|
</SelectItem>
|
||||||
|
|
||||||
{/* Grok */}
|
{/* Grok */}
|
||||||
<SelectItem value="grok-4-1-fast-reasoning">
|
<SelectItem value="grok-4-1-fast-reasoning">
|
||||||
Grok: 4.1 Fast Reasoning
|
Grok: 4.1 Fast Reasoning
|
||||||
|
|
@ -415,6 +432,23 @@ export function AnalysisForm({ onSubmit, loading = false }: AnalysisFormProps) {
|
||||||
Anthropic: Claude 3 Haiku
|
Anthropic: Claude 3 Haiku
|
||||||
</SelectItem>
|
</SelectItem>
|
||||||
|
|
||||||
|
{/* Google */}
|
||||||
|
<SelectItem value="gemini-2.5-pro">
|
||||||
|
Google: Gemini 2.5 Pro
|
||||||
|
</SelectItem>
|
||||||
|
<SelectItem value="gemini-2.5-flash">
|
||||||
|
Google: Gemini 2.5 Flash
|
||||||
|
</SelectItem>
|
||||||
|
<SelectItem value="gemini-2.5-flash-lite">
|
||||||
|
Google: Gemini 2.5 Flash Lite
|
||||||
|
</SelectItem>
|
||||||
|
<SelectItem value="gemini-2.0-flash">
|
||||||
|
Google: Gemini 2.0 Flash
|
||||||
|
</SelectItem>
|
||||||
|
<SelectItem value="gemini-2.0-flash-lite">
|
||||||
|
Google: Gemini 2.0 Flash Lite
|
||||||
|
</SelectItem>
|
||||||
|
|
||||||
{/* Grok */}
|
{/* Grok */}
|
||||||
<SelectItem value="grok-4-1-fast-reasoning">
|
<SelectItem value="grok-4-1-fast-reasoning">
|
||||||
Grok: 4.1 Fast Reasoning
|
Grok: 4.1 Fast Reasoning
|
||||||
|
|
@ -497,6 +531,9 @@ export function AnalysisForm({ onSubmit, loading = false }: AnalysisFormProps) {
|
||||||
<SelectItem value="https://api.anthropic.com/">
|
<SelectItem value="https://api.anthropic.com/">
|
||||||
Anthropic
|
Anthropic
|
||||||
</SelectItem>
|
</SelectItem>
|
||||||
|
<SelectItem value="https://generativelanguage.googleapis.com/v1">
|
||||||
|
Google (Gemini)
|
||||||
|
</SelectItem>
|
||||||
<SelectItem value="https://api.x.ai/v1">
|
<SelectItem value="https://api.x.ai/v1">
|
||||||
Grok (xAI)
|
Grok (xAI)
|
||||||
</SelectItem>
|
</SelectItem>
|
||||||
|
|
@ -593,6 +630,9 @@ export function AnalysisForm({ onSubmit, loading = false }: AnalysisFormProps) {
|
||||||
<SelectItem value="https://api.anthropic.com/">
|
<SelectItem value="https://api.anthropic.com/">
|
||||||
Anthropic
|
Anthropic
|
||||||
</SelectItem>
|
</SelectItem>
|
||||||
|
<SelectItem value="https://generativelanguage.googleapis.com/v1">
|
||||||
|
Google (Gemini)
|
||||||
|
</SelectItem>
|
||||||
<SelectItem value="https://api.x.ai/v1">
|
<SelectItem value="https://api.x.ai/v1">
|
||||||
Grok (xAI)
|
Grok (xAI)
|
||||||
</SelectItem>
|
</SelectItem>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue