import { request } from "./request";
|
import type { PageResult } from "./basic-data";
|
|
const header = (accessToken: string) => ({ Authorization: `Bearer ${accessToken}` });
|
type QueryValue = string | number | boolean | undefined;
|
function query(params: Record<string, QueryValue>) {
|
const values = Object.entries(params)
|
.filter(([, value]) => value !== undefined && value !== null && value !== "")
|
.map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
|
return values.length ? `?${values.join("&")}` : "";
|
}
|
|
export interface AiApiKey {
|
id?: number; name: string; apiKey: string; platform: string; url?: string; status?: number;
|
}
|
export interface AiModel {
|
id?: number; keyId?: number; name: string; model: string; platform: string; type?: number;
|
sort?: number; status?: number; temperature?: number; maxTokens?: number; maxContexts?: number;
|
}
|
export interface AiKnowledge {
|
id?: number; name: string; description?: string; embeddingModelId?: number; embeddingModel?: string;
|
topK?: number; similarityThreshold?: number; status?: number; createTime?: string;
|
}
|
export interface AiKnowledgeDocument {
|
id?: number; knowledgeId: number; name: string; url?: string; contentLength?: number; tokens?: number;
|
segmentMaxTokens?: number; retrievalCount?: number; status?: number; createTime?: string;
|
}
|
export interface AiKnowledgeDocumentCreateList {
|
knowledgeId: number;
|
segmentMaxTokens?: number;
|
list: Array<{ name: string; url: { url: string; name?: string; id?: number } }>;
|
}
|
export interface AiKnowledgeSegment {
|
id?: number; documentId?: number; knowledgeId?: number; content?: string; contentLength?: number;
|
tokens?: number; retrievalCount?: number; status?: number; score?: number; documentName?: string; vectorId?: string; createTime?: string;
|
}
|
|
export function getApiKeyPage(accessToken: string, params: { pageNo: number; pageSize: number; name?: string; platform?: string; status?: number }) {
|
return request<PageResult<AiApiKey>>(`/ai/api-key/page${query(params)}`, { header: header(accessToken) });
|
}
|
export function getApiKeySimpleList(accessToken: string) { return request<AiApiKey[]>("/ai/api-key/simple-list", { header: header(accessToken) }); }
|
export function getApiKey(accessToken: string, id: number) { return request<AiApiKey>(`/ai/api-key/get${query({ id })}`, { header: header(accessToken) }); }
|
export function createApiKey(accessToken: string, data: AiApiKey) { return request<number>("/ai/api-key/create", { method: "POST", data: data as unknown as Record<string, unknown>, header: header(accessToken) }); }
|
export function updateApiKey(accessToken: string, data: AiApiKey) { return request<boolean>("/ai/api-key/update", { method: "PUT", data: data as unknown as Record<string, unknown>, header: header(accessToken) }); }
|
export function deleteApiKey(accessToken: string, id: number) { return request<boolean>(`/ai/api-key/delete${query({ id })}`, { method: "DELETE", header: header(accessToken) }); }
|
|
export function getAiModelPage(accessToken: string, params: { pageNo: number; pageSize: number; name?: string; model?: string; platform?: string }) {
|
return request<PageResult<AiModel>>(`/ai/model/page${query(params)}`, { header: header(accessToken) });
|
}
|
export function getAiModelSimpleList(accessToken: string, type?: number) { return request<AiModel[]>(`/ai/model/simple-list${query({ type })}`, { header: header(accessToken) }); }
|
export function getAiModel(accessToken: string, id: number) { return request<AiModel>(`/ai/model/get${query({ id })}`, { header: header(accessToken) }); }
|
export function createAiModel(accessToken: string, data: AiModel) { return request<number>("/ai/model/create", { method: "POST", data: data as unknown as Record<string, unknown>, header: header(accessToken) }); }
|
export function updateAiModel(accessToken: string, data: AiModel) { return request<boolean>("/ai/model/update", { method: "PUT", data: data as unknown as Record<string, unknown>, header: header(accessToken) }); }
|
export function deleteAiModel(accessToken: string, id: number) { return request<boolean>(`/ai/model/delete${query({ id })}`, { method: "DELETE", header: header(accessToken) }); }
|
|
export function getKnowledgePage(accessToken: string, params: { pageNo: number; pageSize: number; name?: string; status?: number }) {
|
return request<PageResult<AiKnowledge>>(`/ai/knowledge/page${query(params)}`, { header: header(accessToken) });
|
}
|
export function getKnowledge(accessToken: string, id: number) { return request<AiKnowledge>(`/ai/knowledge/get${query({ id })}`, { header: header(accessToken) }); }
|
export function createKnowledge(accessToken: string, data: AiKnowledge) { return request<number>("/ai/knowledge/create", { method: "POST", data: data as unknown as Record<string, unknown>, header: header(accessToken) }); }
|
export function updateKnowledge(accessToken: string, data: AiKnowledge) { return request<boolean>("/ai/knowledge/update", { method: "PUT", data: data as unknown as Record<string, unknown>, header: header(accessToken) }); }
|
export function deleteKnowledge(accessToken: string, id: number) { return request<boolean>(`/ai/knowledge/delete${query({ id })}`, { method: "DELETE", header: header(accessToken) }); }
|
|
export function getKnowledgeDocumentPage(accessToken: string, params: { pageNo: number; pageSize: number; knowledgeId: number; name?: string }) {
|
return request<PageResult<AiKnowledgeDocument>>(`/ai/knowledge/document/page${query(params)}`, { header: header(accessToken) });
|
}
|
export function getKnowledgeDocument(accessToken: string, id: number) { return request<AiKnowledgeDocument>(`/ai/knowledge/document/get${query({ id })}`, { header: header(accessToken) }); }
|
export function createKnowledgeDocumentList(accessToken: string, data: AiKnowledgeDocumentCreateList) { return request<number[]>("/ai/knowledge/document/create-list", { method: "POST", data: data as unknown as Record<string, unknown>, header: header(accessToken) }); }
|
export function updateKnowledgeDocument(accessToken: string, data: AiKnowledgeDocument) { return request<boolean>("/ai/knowledge/document/update", { method: "PUT", data: data as unknown as Record<string, unknown>, header: header(accessToken) }); }
|
export function updateKnowledgeDocumentStatus(accessToken: string, id: number, status: number) { return request<boolean>("/ai/knowledge/document/update-status", { method: "PUT", data: { id, status }, header: header(accessToken) }); }
|
export function deleteKnowledgeDocument(accessToken: string, id: number) { return request<boolean>(`/ai/knowledge/document/delete${query({ id })}`, { method: "DELETE", header: header(accessToken) }); }
|
export function processKnowledgeDocument(accessToken: string, id: number) { return request<boolean>(`/ai/knowledge/document/process/${id}`, { method: "POST", header: header(accessToken) }); }
|
export function searchKnowledgeSegment(accessToken: string, data: { knowledgeId: number; content: string; topK?: number; similarityThreshold?: number }) {
|
return request<AiKnowledgeSegment[]>("/ai/knowledge/segment/search", { method: "POST", data: data as Record<string, unknown>, header: header(accessToken) });
|
}
|
export function getKnowledgeSegmentPage(accessToken: string, params: { pageNo: number; pageSize: number; documentId: number; content?: string }) {
|
return request<PageResult<AiKnowledgeSegment>>(`/ai/knowledge/segment/page${query(params)}`, { header: header(accessToken) });
|
}
|
export function getKnowledgeSegment(accessToken: string, id: number) { return request<AiKnowledgeSegment>(`/ai/knowledge/segment/get${query({ id })}`, { header: header(accessToken) }); }
|
export function createKnowledgeSegment(accessToken: string, data: AiKnowledgeSegment) { return request<number>("/ai/knowledge/segment/create", { method: "POST", data: data as unknown as Record<string, unknown>, header: header(accessToken) }); }
|
export function updateKnowledgeSegment(accessToken: string, data: AiKnowledgeSegment) { return request<boolean>("/ai/knowledge/segment/update", { method: "PUT", data: data as unknown as Record<string, unknown>, header: header(accessToken) }); }
|
export function updateKnowledgeSegmentStatus(accessToken: string, id: number, status: number) { return request<boolean>("/ai/knowledge/segment/update-status", { method: "PUT", data: { id, status }, header: header(accessToken) }); }
|
export function deleteKnowledgeSegment(accessToken: string, id: number) { return request<boolean>(`/ai/knowledge/segment/delete${query({ id })}`, { method: "DELETE", header: header(accessToken) }); }
|