Add DeepSeek/xAI/OpenAI-compatible sentiment providers; custom dark dropdown
Providers (admin-switchable, no redeploy): - DeepSeek and any OpenAI-compatible endpoint (OpenRouter, Together, Groq, local Ollama) via a generic Chat Completions adapter + base_url - xAI Grok with Live Search (search_parameters web+X, citations) — grounded tier alongside OpenAI and Gemini - DeepSeek / generic compatible endpoints are ungrounded (no web search); UI shows an amber warning and labels each provider's grounding - Optional env fallbacks DEEPSEEK_API_KEY / XAI_API_KEY UI: replace native <select> (unstyleable white popup on Windows) with a custom dark Dropdown component everywhere — sentiment provider, scanner filters, market sort, indicators, admin universe, user role. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -70,9 +70,10 @@ class ActivationConfigUpdate(BaseModel):
|
||||
class SentimentConfigUpdate(BaseModel):
|
||||
"""Runtime sentiment LLM config. api_key is write-only; omit/empty to keep
|
||||
the stored key."""
|
||||
provider: Literal["openai", "gemini"] | None = None
|
||||
provider: Literal["openai", "gemini", "deepseek", "xai", "openai_compatible"] | None = None
|
||||
model: str | None = Field(default=None, max_length=100)
|
||||
api_key: str | None = Field(default=None, max_length=400)
|
||||
base_url: str | None = Field(default=None, max_length=300)
|
||||
|
||||
|
||||
class SentimentTestRequest(BaseModel):
|
||||
|
||||
Reference in New Issue
Block a user