Fetch llm from db

This commit is contained in:
Xin Wang
2026-02-09 08:33:09 +08:00
parent c15c5283e2
commit 8c88d7c57a
2 changed files with 17 additions and 8 deletions

View File

@@ -2,9 +2,8 @@
import React, { useState, useEffect, useRef } from 'react';
import { Plus, Search, Play, Copy, Trash2, Edit2, Mic, MessageSquare, Save, Video, PhoneOff, Camera, ArrowLeftRight, Send, Phone, MoreHorizontal, Rocket, AlertTriangle, PhoneCall, CameraOff, Image, Images, CloudSun, Calendar, TrendingUp, Coins, Wrench, Globe, Terminal, X, ClipboardCheck, Sparkles, Volume2, Timer, ChevronDown, Link as LinkIcon, Database, Server, Zap, ExternalLink, Key, BrainCircuit, Ear, Book, Filter } from 'lucide-react';
import { Button, Input, Card, Badge, Drawer, Dialog } from '../components/UI';
import { mockLLMModels, mockASRModels } from '../services/mockData';
import { Assistant, KnowledgeBase, TabValue, Voice } from '../types';
import { createAssistant, deleteAssistant, fetchAssistantRuntimeConfig, fetchAssistants, fetchKnowledgeBases, fetchVoices, updateAssistant as updateAssistantApi } from '../services/backendApi';
import { ASRModel, Assistant, KnowledgeBase, LLMModel, TabValue, Voice } from '../types';
import { createAssistant, deleteAssistant, fetchASRModels, fetchAssistantRuntimeConfig, fetchAssistants, fetchKnowledgeBases, fetchLLMModels, fetchVoices, updateAssistant as updateAssistantApi } from '../services/backendApi';
interface ToolItem {
id: string;
@@ -19,6 +18,8 @@ export const AssistantsPage: React.FC = () => {
const [assistants, setAssistants] = useState<Assistant[]>([]);
const [voices, setVoices] = useState<Voice[]>([]);
const [knowledgeBases, setKnowledgeBases] = useState<KnowledgeBase[]>([]);
const [llmModels, setLlmModels] = useState<LLMModel[]>([]);
const [asrModels, setAsrModels] = useState<ASRModel[]>([]);
const [searchTerm, setSearchTerm] = useState('');
const [selectedId, setSelectedId] = useState<string | null>(null);
const [activeTab, setActiveTab] = useState<TabValue>(TabValue.GLOBAL);
@@ -54,14 +55,18 @@ export const AssistantsPage: React.FC = () => {
const loadInitialData = async () => {
setIsLoading(true);
try {
const [assistantList, voiceList, kbList] = await Promise.all([
const [assistantList, voiceList, kbList, llmList, asrList] = await Promise.all([
fetchAssistants(),
fetchVoices(),
fetchKnowledgeBases(),
fetchLLMModels(),
fetchASRModels(),
]);
setAssistants(assistantList);
setVoices(voiceList);
setKnowledgeBases(kbList);
setLlmModels(llmList);
setAsrModels(asrList);
if (assistantList.length > 0) {
setSelectedId(assistantList[0].id);
}
@@ -507,7 +512,7 @@ export const AssistantsPage: React.FC = () => {
onChange={(e) => updateAssistant('llmModelId', e.target.value)}
>
<option value="">使</option>
{mockLLMModels.filter(m => m.type === 'text').map(model => (
{llmModels.filter(m => m.type === 'text').map(model => (
<option key={model.id} value={model.id}>{model.name} ({model.vendor})</option>
))}
</select>
@@ -556,7 +561,7 @@ export const AssistantsPage: React.FC = () => {
onChange={(e) => updateAssistant('embeddingModelId', e.target.value)}
>
<option value="">使</option>
{mockLLMModels.filter(m => m.type === 'embedding').map(model => (
{llmModels.filter(m => m.type === 'embedding').map(model => (
<option key={model.id} value={model.id}>{model.name} ({model.vendor})</option>
))}
</select>
@@ -576,7 +581,7 @@ export const AssistantsPage: React.FC = () => {
onChange={(e) => updateAssistant('rerankModelId', e.target.value)}
>
<option value="">使</option>
{mockLLMModels.filter(m => m.type === 'rerank').map(model => (
{llmModels.filter(m => m.type === 'rerank').map(model => (
<option key={model.id} value={model.id}>{model.name} ({model.vendor})</option>
))}
</select>
@@ -620,7 +625,7 @@ export const AssistantsPage: React.FC = () => {
onChange={(e) => updateAssistant('asrModelId', e.target.value)}
>
<option value="">使</option>
{mockASRModels.map(model => (
{asrModels.map(model => (
<option key={model.id} value={model.id}>
{model.name} ({model.vendor})
</option>