import request from './request' // --- Search Engine Management Types (Optional/Legacy) --- export interface SearchEngine { id: string name: string engine_type: string base_url?: string api_key?: string description?: string status: string created_at: string updated_at: string } export interface SearchEngineParams { page?: number page_size?: number keyword?: string status?: string } export interface CreateSearchEngineData { name: string engine_type: string base_url?: string api_key?: string description?: string status?: string } export interface UpdateSearchEngineData { name?: string engine_type?: string base_url?: string api_key?: string description?: string status?: string } // --- Knowledge Base Search Types (New) --- export interface KBSearchRequest { kb_id: string query: string metadata_field?: string metadata_value?: string filters?: { field: string, value: string }[] // 新增多重过滤支持 top_k?: number score_threshold?: number metric_type?: string page?: number page_size?: number } export interface KBSearchResultItem { id: string kb_name: string doc_name: string content: string meta_info: string document_id?: string parent_id?: string metadata?: Record score: number } export interface KBSearchResponse { results: KBSearchResultItem[] total: number } // --- API Methods --- // Knowledge Base Semantic Search export const searchKnowledgeBase = (data: KBSearchRequest) => { return request({ url: '/api/v1/sample/search-engine/search', method: 'post', data }) } // ... Existing CRUD Methods ... export const getSearchEngines = (params: SearchEngineParams) => { return request({ url: '/api/v1/sample/search-engine', method: 'get', params }) } export const createSearchEngine = (data: CreateSearchEngineData) => { return request({ url: '/api/v1/sample/search-engine', method: 'post', data }) } export const updateSearchEngine = (id: string, data: UpdateSearchEngineData) => { return request({ url: '/api/v1/sample/search-engine/' + id, method: 'post', data }) } export const updateSearchEngineStatus = (id: string, status: string) => { return request({ url: '/api/v1/sample/search-engine/' + id + '/status', method: 'post', params: { status } }) } export const deleteSearchEngine = (id: string) => { return request({ url: '/api/v1/sample/search-engine/' + id + '/delete', method: 'post' }) }