Files
X-Agents/agent/app/agent/llm/factory.py
DESKTOP-72TV0V4\caoxiaozhu 5c435ab21e Add streaming support and refactor Chat UI
- Add run_stream method to AgentCore for streaming output
- Add base_url parameter to LLM clients for OpenRouter support
- Add xbot module for new agent implementation
- Refactor Chat.vue into composable + components (ChatHeader, ChatMessage, ChatInput, ChatSidebar, ChatAgentSelector)
- Add ChatStream handler for SSE streaming in Go server
- Add UseXBot field to chat request

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 10:49:44 +08:00

33 lines
932 B
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
LLM Factory - LLM 工厂类
"""
from typing import Optional
from app.agent.llm.openai import OpenAILLM
from app.agent.llm.anthropic import AnthropicLLM
class LLMFactory:
"""LLM 工厂类"""
@staticmethod
def create(provider: str, model_name: str, api_key: Optional[str] = None, base_url: Optional[str] = None):
"""
创建 LLM 实例
Args:
provider: 模型提供商 (openai/anthropic)
model_name: 模型名称
api_key: API Key可选
base_url: Base URL可选
Returns:
LLM 实例
"""
if provider.lower() == "openai":
return OpenAILLM(model_name, api_key, base_url)
elif provider.lower() == "anthropic":
return AnthropicLLM(model_name, api_key, base_url)
else:
# 默认使用 OpenAI
return OpenAILLM(model_name, api_key, base_url)