Fetch llm from db
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -202,6 +202,10 @@ export const createAssistant = async (data: Partial<Assistant>): Promise<Assista
|
||||
configMode: data.configMode || 'platform',
|
||||
apiUrl: data.apiUrl || '',
|
||||
apiKey: data.apiKey || '',
|
||||
llmModelId: data.llmModelId || '',
|
||||
asrModelId: data.asrModelId || '',
|
||||
embeddingModelId: data.embeddingModelId || '',
|
||||
rerankModelId: data.rerankModelId || '',
|
||||
};
|
||||
const response = await apiRequest<AnyRecord>('/assistants', { method: 'POST', body: payload });
|
||||
return mapAssistant(response);
|
||||
|
||||
Reference in New Issue
Block a user