import { get, post } from './request'; export interface ModelProvider { id?: string; providerCode: string; providerName: string; providerType: string; protocolType: string; baseUrl: string; authType: string; secretRef?: string; hasApiKey?: boolean; timeoutMs: number; priority: number; enabled: boolean; healthStatus?: string; remark?: string; } export interface ModelConfig { id?: string; providerId: string; modelCode: string; modelName: string; upstreamModel: string; modelType: string; embeddingDimension?: number; localModel: boolean; defaultModel: boolean; optionsJson?: string; enabled: boolean; remark?: string; } export interface ModelRouteRule { id?: string; routeCode: string; routeName: string; taskType: string; matchScope: string; scopeId?: string; primaryModelId: string; fallbackModelIdsJson?: string; routeStrategy: string; maxLatencyMs?: number; enabled: boolean; remark?: string; } export interface ModelCallLog { id?: string; requestId: string; providerId?: string; modelId?: string; taskType: string; bizType?: string; bizId?: string; callType: string; status: string; durationMs?: number; errorCode?: string; errorMessage?: string; } export interface ModelCallLogQueryRequest { taskType?: string; providerId?: string; modelId?: string; status?: string; bizType?: string; } export interface RagStoreModelConfig { id?: string; storeId: string; embeddingModelId: string; embeddingDimension: number; chunkStrategy?: number; chunkSize?: number; chunkOverlap?: number; delimiter?: string; active?: boolean; indexVersion?: number; remark?: string; } export function queryModelProviders() { return post('/model/providers/query'); } export function saveModelProvider(data: Partial & { id?: string }) { return post('/model/providers/save', data); } export function deleteModelProvider(id: string) { return post('/model/providers/delete', undefined, { params: { id } }); } export function checkModelProviderHealth(id: string) { return post('/model/providers/checkHealth', undefined, { params: { id } }); } export function queryModelConfigs() { return post('/model/configs/query'); } export function saveModelConfig(data: Partial & { id?: string }) { return post('/model/configs/save', data); } export function deleteModelConfig(id: string) { return post('/model/configs/delete', undefined, { params: { id } }); } export function queryModelRouteRules() { return post('/model/routes/query'); } export function saveModelRouteRule(data: Partial & { id?: string }) { return post('/model/routes/save', data); } export function deleteModelRouteRule(id: string) { return post('/model/routes/delete', undefined, { params: { id } }); } export function queryModelCallLogs(query?: ModelCallLogQueryRequest) { return post('/model/call-logs/query', query); } export function getRagStoreModelConfig(storeId: string) { return get('/rag/store/modelConfig', { params: { storeId } }); } export function saveRagStoreModelConfig(data: Partial & { storeId: string }) { return post('/rag/store/modelConfig/save', data); } export function rebuildRagStoreIndex(storeId: string) { return post('/rag/store/rebuildIndex', undefined, { params: { storeId } }); }