Update alphaear skills to use MiniMax as default LLM

Changes:
- Added 'minimax' provider to LLM factory
- Changed default LLM_PROVIDER from 'ust' to 'minimax'
- Changed default LLM_MODEL from 'Qwen' to 'MiniMax-Text-01'
- Updated REASONING_MODEL_PROVIDER and TOOL_MODEL_PROVIDER to minimax
- Sentiment tools now prefer MINIMAX_API_KEY over UST_KEY_API
- .env.example updated with MiniMax defaults
This commit is contained in:
Kunthawat Greethong
2026-03-27 10:27:00 +07:00
parent 58f9380ec4
commit 17930e9650
19 changed files with 425 additions and 680 deletions

View File

@@ -77,7 +77,7 @@ if __name__ == "__main__":
load_dotenv(os.path.expanduser("~/.config/opencode/.env"))
# 测试当前配置的模型
p = os.getenv("LLM_PROVIDER", "ust")
p = os.getenv("LLM_PROVIDER", "minimax")
m = os.getenv("LLM_MODEL", "Qwen")
print(f"Testing {p}/{m}...")

View File

@@ -5,10 +5,11 @@ from agno.models.dashscope import DashScope
from agno.models.deepseek import DeepSeek
from agno.models.openrouter import OpenRouter
def get_model(model_provider: str, model_id: str, **kwargs):
"""
Factory to get the appropriate LLM model.
Args:
model_provider: "openai", "ollama", "deepseek"
model_id: The specific model ID (e.g., "gpt-4o", "llama3", "deepseek-chat")
@@ -16,47 +17,51 @@ def get_model(model_provider: str, model_id: str, **kwargs):
"""
if model_provider == "openai":
return OpenAIChat(id=model_id, **kwargs)
elif model_provider == "ollama":
return Ollama(id=model_id, **kwargs)
elif model_provider == "minimax":
api_key = os.getenv("MINIMAX_API_KEY")
if not api_key:
print("Warning: MINIMAX_API_KEY not set.")
return OpenAIChat(
id=model_id,
base_url=os.getenv("MINIMAX_API_BASE", "https://api.minimax.io/v1"),
api_key=api_key,
**kwargs,
)
elif model_provider == "deepseek":
# DeepSeek is OpenAI compatible
api_key = os.getenv("DEEPSEEK_API_KEY")
if not api_key:
print("Warning: DEEPSEEK_API_KEY not set.")
return DeepSeek(
id=model_id,
api_key=api_key,
**kwargs
)
return DeepSeek(id=model_id, api_key=api_key, **kwargs)
elif model_provider == "dashscope":
api_key = os.getenv("DASHSCOPE_API_KEY")
if not api_key:
print("Warning: DASHSCOPE_API_KEY not set.")
return DashScope(
id=model_id,
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
api_key=api_key,
**kwargs
**kwargs,
)
elif model_provider == 'openrouter':
elif model_provider == "openrouter":
api_key = os.getenv("OPENROUTER_API_KEY")
if not api_key:
print('Warning: OPENROUTER_API_KEY not set.')
return OpenRouter(
id=model_id,
api_key=api_key,
**kwargs
)
print("Warning: OPENROUTER_API_KEY not set.")
elif model_provider == 'zai':
return OpenRouter(id=model_id, api_key=api_key, **kwargs)
elif model_provider == "zai":
api_key = os.getenv("ZAI_KEY_API")
if not api_key:
print('Warning: ZAI_KEY_API not set.')
print("Warning: ZAI_KEY_API not set.")
# role_map to ensure compatibility.
default_role_map = {
@@ -69,22 +74,24 @@ def get_model(model_provider: str, model_id: str, **kwargs):
# Allow callers to override role_map via kwargs, otherwise use default
role_map = kwargs.pop("role_map", default_role_map)
return OpenAIChat(
id=model_id,
base_url="https://api.z.ai/api/paas/v4",
api_key=api_key,
timeout=60,
role_map=role_map,
extra_body={"enable_thinking": False}, # TODO: one more setting for thinking
**kwargs
extra_body={
"enable_thinking": False
}, # TODO: one more setting for thinking
**kwargs,
)
elif model_provider == 'ust':
elif model_provider == "ust":
api_key = os.getenv("UST_KEY_API")
if not api_key:
print('Warning: UST_KEY_API not set.')
print("Warning: UST_KEY_API not set.")
# Some UST-compatible endpoints expect the standard OpenAI role names
# (e.g. "system", "user", "assistant") rather than Agno's default
# mapping which maps "system" -> "developer". Provide an explicit
@@ -105,10 +112,11 @@ def get_model(model_provider: str, model_id: str, **kwargs):
api_key=api_key,
base_url=os.getenv("UST_URL"),
role_map=role_map,
extra_body={"enable_thinking": False}, # TODO: one more setting for thinking
**kwargs
extra_body={
"enable_thinking": False
}, # TODO: one more setting for thinking
**kwargs,
)
else:
raise ValueError(f"Unknown model provider: {model_provider}")