mirror of
https://github.com/DrizzleTime/Foxel.git
synced 2026-05-22 08:46:45 +08:00
feat: Support multiple vector database selection, add InMemory and Qdrant adapters, introduce admin dashboard
This commit is contained in:
61
Web/src/api/vectorDbApi.ts
Normal file
61
Web/src/api/vectorDbApi.ts
Normal file
@@ -0,0 +1,61 @@
|
||||
import { type BaseResult, type VectorDbInfo, VectorDbType } from './types';
|
||||
import { fetchApi } from './fetchClient';
|
||||
|
||||
// 获取当前向量数据库类型
|
||||
export const getCurrentVectorDb = async (): Promise<BaseResult<VectorDbInfo>> => {
|
||||
try {
|
||||
return await fetchApi<VectorDbInfo>('/management/system/vector-db/current');
|
||||
} catch (error: any) {
|
||||
return {
|
||||
success: false,
|
||||
message: `获取当前向量数据库失败: ${error.message}`,
|
||||
code: 500
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
// 切换向量数据库类型
|
||||
export const switchVectorDb = async (type: VectorDbType): Promise<BaseResult<boolean>> => {
|
||||
try {
|
||||
return await fetchApi<boolean>('/management/system/vector-db/switch', {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ type }),
|
||||
});
|
||||
} catch (error: any) {
|
||||
return {
|
||||
success: false,
|
||||
message: `切换向量数据库失败: ${error.message}`,
|
||||
code: 500
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
// 清空向量数据库
|
||||
export const clearVectors = async (): Promise<BaseResult<boolean>> => {
|
||||
try {
|
||||
return await fetchApi<boolean>('/management/system/vector-db/clear', {
|
||||
method: 'DELETE'
|
||||
});
|
||||
} catch (error: any) {
|
||||
return {
|
||||
success: false,
|
||||
message: `清空向量数据库失败: ${error.message}`,
|
||||
code: 500
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
// 重建向量数据库
|
||||
export const rebuildVectors = async (): Promise<BaseResult<boolean>> => {
|
||||
try {
|
||||
return await fetchApi<boolean>('/management/system/vector-db/rebuild', {
|
||||
method: 'POST'
|
||||
});
|
||||
} catch (error: any) {
|
||||
return {
|
||||
success: false,
|
||||
message: `重建向量数据库失败: ${error.message}`,
|
||||
code: 500
|
||||
};
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user