zhangwencui
6 天以前 9af9d62696a57a8ac8603e41931afbe63ae05cb8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
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) }); }