import request from './request' export interface KnowledgeBase { id: string name: string collection_name_parent: string collection_name_children?: string description?: string status: string document_count: number is_synced?: boolean created_by?: string updated_by?: string created_time: string updated_time: string } export interface KnowledgeBaseParams { page?: number page_size?: number keyword?: string status?: string } export interface MetadataField { field_zh_name: string field_en_name: string field_type: string remark?: string } export interface CustomSchemaField { field_name: string field_type: string max_length?: number is_primary?: boolean description?: string } export interface CreateKnowledgeBaseData { name: string collection_name_parent: string collection_name_children?: string description?: string dimension?: number metadata_fields?: MetadataField[] custom_schemas?: CustomSchemaField[] } export interface UpdateKnowledgeBaseData { name?: string description?: string status?: string metadata_fields?: MetadataField[] } export const getKnowledgeBases = (params: KnowledgeBaseParams) => { return request({ url: '/api/v1/sample/knowledge-base', method: 'get', params }) } export const createKnowledgeBase = (data: CreateKnowledgeBaseData) => { return request({ url: '/api/v1/sample/knowledge-base', method: 'post', data }) } export const updateKnowledgeBase = (id: string, data: UpdateKnowledgeBaseData) => { return request({ url: '/api/v1/sample/knowledge-base/' + id, method: 'post', data }) } export const updateKnowledgeBaseStatus = (id: string, status: string) => { return request({ url: '/api/v1/sample/knowledge-base/' + id + '/status', method: 'post', params: { status } }) } export const deleteKnowledgeBase = (id: string) => { return request({ url: `/api/v1/sample/knowledge-base/${id}/delete`, method: 'post' }) } export const syncKnowledgeBase = (id: string) => { return request({ url: `/api/v1/sample/knowledge-base/${id}/sync`, method: 'post' }) } export const getKnowledgeBaseMetadata = (id: string) => { return request({ url: `/api/v1/sample/knowledge-base/${id}/metadata`, method: 'get' }) }