@liujitcn/kratos-admin-rag 0.0.0-stage → 0.0.75
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package/declarations/index.d.ts +1 -0
- package/dist/package/declarations/src/api/rag/admin/v1/ai_knowledge.d.ts +18 -0
- package/dist/package/declarations/src/api/rag/admin/v1/ai_knowledge_chunk.d.ts +7 -0
- package/dist/package/declarations/src/api/rag/admin/v1/ai_knowledge_doc.d.ts +16 -0
- package/dist/package/declarations/src/index.d.ts +1 -0
- package/dist/package/declarations/src/locales/generated.d.ts +205 -0
- package/dist/package/declarations/src/module.d.ts +2 -0
- package/dist/package/declarations/src/rpc/google/protobuf/empty.d.ts +11 -0
- package/dist/package/declarations/src/rpc/rag/admin/v1/ai_knowledge.d.ts +114 -0
- package/dist/package/declarations/src/rpc/rag/admin/v1/ai_knowledge_chunk.d.ts +32 -0
- package/dist/package/declarations/src/rpc/rag/admin/v1/ai_knowledge_doc.d.ts +86 -0
- package/dist/package/declarations/src/views/ai-knowledge/index.vue.d.ts +3 -0
- package/dist/package/src/api/rag/admin/v1/ai_knowledge.ts +51 -0
- package/dist/package/src/api/rag/admin/v1/ai_knowledge_chunk.ts +18 -0
- package/dist/package/src/api/rag/admin/v1/ai_knowledge_doc.ts +43 -0
- package/dist/package/src/index.ts +1 -0
- package/dist/package/src/locales/en-US.json +50 -0
- package/dist/package/src/locales/generated.ts +16 -0
- package/dist/package/src/locales/ja-JP.json +50 -0
- package/dist/package/src/locales/zh-CN.json +50 -0
- package/dist/package/src/locales/zh-TW.json +50 -0
- package/dist/package/src/module.ts +14 -0
- package/dist/package/src/rpc/google/protobuf/empty.ts +19 -0
- package/dist/package/src/rpc/rag/admin/v1/ai_knowledge.ts +133 -0
- package/dist/package/src/rpc/rag/admin/v1/ai_knowledge_chunk.ts +43 -0
- package/dist/package/src/rpc/rag/admin/v1/ai_knowledge_doc.ts +102 -0
- package/dist/package/src/views/ai-knowledge/index.vue +690 -0
- package/package.json +63 -4
- package/tsconfig.json +13 -0
- package/README.md +0 -3
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"rag.knowledge.action.docs": "Docs",
|
|
3
|
+
"rag.knowledge.doc.action.retry": "Retry",
|
|
4
|
+
"rag.knowledge.doc.action.upload_file": "Upload File",
|
|
5
|
+
"rag.knowledge.doc.action.upload_text": "Add Text",
|
|
6
|
+
"rag.knowledge.doc.field.chunk_count": "Chunks",
|
|
7
|
+
"rag.knowledge.doc.field.content": "Content",
|
|
8
|
+
"rag.knowledge.doc.field.error_message": "Error",
|
|
9
|
+
"rag.knowledge.doc.field.name": "Document",
|
|
10
|
+
"rag.knowledge.doc.field.status": "Status",
|
|
11
|
+
"rag.knowledge.doc.message.confirm_delete": "Delete document \"{name}\"?",
|
|
12
|
+
"rag.knowledge.doc.message.delete_success": "Document deleted",
|
|
13
|
+
"rag.knowledge.doc.message.reprocess_success": "Document reprocessed successfully",
|
|
14
|
+
"rag.knowledge.doc.placeholder.content": "Paste document content",
|
|
15
|
+
"rag.knowledge.doc.placeholder.name": "Document name",
|
|
16
|
+
"rag.knowledge.doc.status.failed": "Failed",
|
|
17
|
+
"rag.knowledge.doc.status.ready": "Ready",
|
|
18
|
+
"rag.knowledge.doc.title": "Documents",
|
|
19
|
+
"rag.knowledge.doc.upload.batch_invalid": "Unsupported type or larger than 10MB: {names}",
|
|
20
|
+
"rag.knowledge.doc.upload.batch_partial": "Upload finished: {success} succeeded, {failed} failed",
|
|
21
|
+
"rag.knowledge.doc.upload.batch_success": "Uploaded {count} documents",
|
|
22
|
+
"rag.knowledge.doc.upload.progress": "Uploading {current}/{total}: {name}",
|
|
23
|
+
"rag.knowledge.doc.upload.read_failed": "Failed to read file",
|
|
24
|
+
"rag.knowledge.doc.upload.success": "Document uploaded",
|
|
25
|
+
"rag.knowledge.doc.upload.too_large": "File exceeds 10MB limit",
|
|
26
|
+
"rag.knowledge.doc.upload.unsupported": "Unsupported file type",
|
|
27
|
+
"rag.knowledge.doc.validation.content": "Please enter the document content",
|
|
28
|
+
"rag.knowledge.doc.validation.name": "Please enter the document name",
|
|
29
|
+
"rag.knowledge.field.description": "Description",
|
|
30
|
+
"rag.knowledge.field.doc_count": "Docs",
|
|
31
|
+
"rag.knowledge.field.embedding_dimensions": "Dimensions",
|
|
32
|
+
"rag.knowledge.field.embedding_dimensions_value": "{dimensions} dims",
|
|
33
|
+
"rag.knowledge.field.model": "Embedding model",
|
|
34
|
+
"rag.knowledge.field.name": "Name",
|
|
35
|
+
"rag.knowledge.field.provider": "Provider",
|
|
36
|
+
"rag.knowledge.message.confirm_delete": "Delete knowledge base \"{name}\" and all its documents?",
|
|
37
|
+
"rag.knowledge.message.create_success": "Knowledge base created",
|
|
38
|
+
"rag.knowledge.message.delete_success": "Knowledge base deleted",
|
|
39
|
+
"rag.knowledge.message.update_success": "Knowledge base updated",
|
|
40
|
+
"rag.knowledge.resource": "Knowledge Base",
|
|
41
|
+
"rag.knowledge.search.action": "Search",
|
|
42
|
+
"rag.knowledge.search.empty": "No matching chunks",
|
|
43
|
+
"rag.knowledge.search.hint": "Returns the semantically closest chunks",
|
|
44
|
+
"rag.knowledge.search.placeholder": "Enter a query",
|
|
45
|
+
"rag.knowledge.search.score": "Score",
|
|
46
|
+
"rag.knowledge.search.title": "Retrieval Test",
|
|
47
|
+
"rag.knowledge.validation.model": "Please select an embedding model",
|
|
48
|
+
"rag.knowledge.validation.name": "Please enter a name",
|
|
49
|
+
"rag.knowledge.validation.embedding_dimensions": "Please select the vector dimension"
|
|
50
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/* 此文件由 scripts/sync_locales.py 生成,请勿手工修改。 */
|
|
2
|
+
import localeZhCn from './zh-CN.json'
|
|
3
|
+
import localeEnUs from './en-US.json'
|
|
4
|
+
import localeJaJp from './ja-JP.json'
|
|
5
|
+
import localeZhTw from './zh-TW.json'
|
|
6
|
+
|
|
7
|
+
export const LOCALE_MESSAGES = {
|
|
8
|
+
'zh-CN': localeZhCn,
|
|
9
|
+
'en-US': localeEnUs,
|
|
10
|
+
'ja-JP': localeJaJp,
|
|
11
|
+
'zh-TW': localeZhTw,
|
|
12
|
+
} as const satisfies Record<string, Record<string, string>>
|
|
13
|
+
|
|
14
|
+
export type GeneratedLocale = keyof typeof LOCALE_MESSAGES
|
|
15
|
+
export const DEFAULT_LOCALE: GeneratedLocale = 'zh-CN'
|
|
16
|
+
export const SUPPORTED_LOCALES = Object.keys(LOCALE_MESSAGES) as GeneratedLocale[]
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"rag.knowledge.action.docs": "ドキュメント",
|
|
3
|
+
"rag.knowledge.doc.action.retry": "再試行",
|
|
4
|
+
"rag.knowledge.doc.action.upload_file": "ファイルをアップロード",
|
|
5
|
+
"rag.knowledge.doc.action.upload_text": "テキストを追加",
|
|
6
|
+
"rag.knowledge.doc.field.chunk_count": "チャンク数",
|
|
7
|
+
"rag.knowledge.doc.field.content": "コンテンツ",
|
|
8
|
+
"rag.knowledge.doc.field.error_message": "エラー内容",
|
|
9
|
+
"rag.knowledge.doc.field.name": "ドキュメント名",
|
|
10
|
+
"rag.knowledge.doc.field.status": "ステータス",
|
|
11
|
+
"rag.knowledge.doc.message.confirm_delete": "ドキュメント「{name}」を削除しますか?",
|
|
12
|
+
"rag.knowledge.doc.message.delete_success": "ドキュメントを削除しました",
|
|
13
|
+
"rag.knowledge.doc.message.reprocess_success": "ドキュメントを再処理しました",
|
|
14
|
+
"rag.knowledge.doc.placeholder.content": "ドキュメントの内容を貼り付け",
|
|
15
|
+
"rag.knowledge.doc.placeholder.name": "ドキュメント名を入力",
|
|
16
|
+
"rag.knowledge.doc.status.failed": "処理失敗",
|
|
17
|
+
"rag.knowledge.doc.status.ready": "準備完了",
|
|
18
|
+
"rag.knowledge.doc.title": "ドキュメント管理",
|
|
19
|
+
"rag.knowledge.doc.upload.batch_invalid": "未対応の形式または10MB超過:{names}",
|
|
20
|
+
"rag.knowledge.doc.upload.batch_partial": "アップロード完了:{success} 件成功、{failed} 件失敗",
|
|
21
|
+
"rag.knowledge.doc.upload.batch_success": "{count} 件のドキュメントをアップロードしました",
|
|
22
|
+
"rag.knowledge.doc.upload.progress": "アップロード中 {current}/{total}:{name}",
|
|
23
|
+
"rag.knowledge.doc.upload.read_failed": "ファイルの読み取りに失敗しました",
|
|
24
|
+
"rag.knowledge.doc.upload.success": "ドキュメントをアップロードしました",
|
|
25
|
+
"rag.knowledge.doc.upload.too_large": "ファイルが10MBの上限を超えています",
|
|
26
|
+
"rag.knowledge.doc.upload.unsupported": "サポートされていないファイル形式です",
|
|
27
|
+
"rag.knowledge.doc.validation.content": "ドキュメントの内容を入力してください",
|
|
28
|
+
"rag.knowledge.doc.validation.name": "ドキュメント名を入力してください",
|
|
29
|
+
"rag.knowledge.field.description": "説明",
|
|
30
|
+
"rag.knowledge.field.doc_count": "ドキュメント数",
|
|
31
|
+
"rag.knowledge.field.embedding_dimensions": "ベクトル次元",
|
|
32
|
+
"rag.knowledge.field.embedding_dimensions_value": "{dimensions} 次元",
|
|
33
|
+
"rag.knowledge.field.model": "Embedding モデル",
|
|
34
|
+
"rag.knowledge.field.name": "名称",
|
|
35
|
+
"rag.knowledge.field.provider": "プロバイダー",
|
|
36
|
+
"rag.knowledge.message.confirm_delete": "ナレッジベース「{name}」とそのすべてのドキュメントを削除しますか?",
|
|
37
|
+
"rag.knowledge.message.create_success": "ナレッジベースを作成しました",
|
|
38
|
+
"rag.knowledge.message.delete_success": "ナレッジベースを削除しました",
|
|
39
|
+
"rag.knowledge.message.update_success": "ナレッジベースを更新しました",
|
|
40
|
+
"rag.knowledge.resource": "ナレッジベース",
|
|
41
|
+
"rag.knowledge.search.action": "検索",
|
|
42
|
+
"rag.knowledge.search.empty": "該当するチャンクがありません",
|
|
43
|
+
"rag.knowledge.search.hint": "意味的に最も近いチャンクを返します",
|
|
44
|
+
"rag.knowledge.search.placeholder": "検索内容を入力",
|
|
45
|
+
"rag.knowledge.search.score": "類似度",
|
|
46
|
+
"rag.knowledge.search.title": "検索テスト",
|
|
47
|
+
"rag.knowledge.validation.model": "Embedding モデルを選択してください",
|
|
48
|
+
"rag.knowledge.validation.name": "名称を入力してください",
|
|
49
|
+
"rag.knowledge.validation.embedding_dimensions": "ベクトル次元を選択してください"
|
|
50
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"rag.knowledge.action.docs": "文档",
|
|
3
|
+
"rag.knowledge.doc.action.retry": "重试",
|
|
4
|
+
"rag.knowledge.doc.action.upload_file": "上传文件",
|
|
5
|
+
"rag.knowledge.doc.action.upload_text": "上传文本",
|
|
6
|
+
"rag.knowledge.doc.field.chunk_count": "切片数",
|
|
7
|
+
"rag.knowledge.doc.field.content": "文档内容",
|
|
8
|
+
"rag.knowledge.doc.field.error_message": "失败原因",
|
|
9
|
+
"rag.knowledge.doc.field.name": "文档名称",
|
|
10
|
+
"rag.knowledge.doc.field.status": "状态",
|
|
11
|
+
"rag.knowledge.doc.message.confirm_delete": "确认删除文档「{name}」?",
|
|
12
|
+
"rag.knowledge.doc.message.delete_success": "删除文档成功",
|
|
13
|
+
"rag.knowledge.doc.message.reprocess_success": "文档重新处理成功",
|
|
14
|
+
"rag.knowledge.doc.placeholder.content": "粘贴文档文本内容",
|
|
15
|
+
"rag.knowledge.doc.placeholder.name": "请输入文档名称",
|
|
16
|
+
"rag.knowledge.doc.status.failed": "处理失败",
|
|
17
|
+
"rag.knowledge.doc.status.ready": "已就绪",
|
|
18
|
+
"rag.knowledge.doc.title": "文档管理",
|
|
19
|
+
"rag.knowledge.doc.upload.batch_invalid": "以下文件类型不支持或超过 10MB:{names}",
|
|
20
|
+
"rag.knowledge.doc.upload.batch_partial": "上传完成:{success} 个成功,{failed} 个失败",
|
|
21
|
+
"rag.knowledge.doc.upload.batch_success": "成功上传 {count} 个文档",
|
|
22
|
+
"rag.knowledge.doc.upload.progress": "正在上传 {current}/{total}:{name}",
|
|
23
|
+
"rag.knowledge.doc.upload.read_failed": "读取文件失败",
|
|
24
|
+
"rag.knowledge.doc.upload.success": "文档上传成功",
|
|
25
|
+
"rag.knowledge.doc.upload.too_large": "文件超过 10MB 上限",
|
|
26
|
+
"rag.knowledge.doc.upload.unsupported": "不支持的文件类型",
|
|
27
|
+
"rag.knowledge.doc.validation.content": "请输入文档内容",
|
|
28
|
+
"rag.knowledge.doc.validation.name": "请输入文档名称",
|
|
29
|
+
"rag.knowledge.field.description": "描述",
|
|
30
|
+
"rag.knowledge.field.doc_count": "文档数",
|
|
31
|
+
"rag.knowledge.field.embedding_dimensions": "向量维度",
|
|
32
|
+
"rag.knowledge.field.embedding_dimensions_value": "{dimensions} 维",
|
|
33
|
+
"rag.knowledge.field.model": "Embedding 模型",
|
|
34
|
+
"rag.knowledge.field.name": "知识库名称",
|
|
35
|
+
"rag.knowledge.field.provider": "供应商",
|
|
36
|
+
"rag.knowledge.message.confirm_delete": "确认删除知识库「{name}」及其全部文档?",
|
|
37
|
+
"rag.knowledge.message.create_success": "创建知识库成功",
|
|
38
|
+
"rag.knowledge.message.delete_success": "删除知识库成功",
|
|
39
|
+
"rag.knowledge.message.update_success": "更新知识库成功",
|
|
40
|
+
"rag.knowledge.resource": "知识库",
|
|
41
|
+
"rag.knowledge.search.action": "检索",
|
|
42
|
+
"rag.knowledge.search.empty": "暂无命中切片",
|
|
43
|
+
"rag.knowledge.search.hint": "按语义相似度返回最相近的切片",
|
|
44
|
+
"rag.knowledge.search.placeholder": "输入检索内容",
|
|
45
|
+
"rag.knowledge.search.score": "相似度",
|
|
46
|
+
"rag.knowledge.search.title": "检索测试",
|
|
47
|
+
"rag.knowledge.validation.model": "请选择 Embedding 模型",
|
|
48
|
+
"rag.knowledge.validation.name": "请输入知识库名称",
|
|
49
|
+
"rag.knowledge.validation.embedding_dimensions": "请选择向量维度"
|
|
50
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"rag.knowledge.action.docs": "文件",
|
|
3
|
+
"rag.knowledge.doc.action.retry": "重試",
|
|
4
|
+
"rag.knowledge.doc.action.upload_file": "上傳檔案",
|
|
5
|
+
"rag.knowledge.doc.action.upload_text": "上傳文字",
|
|
6
|
+
"rag.knowledge.doc.field.chunk_count": "切片數",
|
|
7
|
+
"rag.knowledge.doc.field.content": "文件內容",
|
|
8
|
+
"rag.knowledge.doc.field.error_message": "失敗原因",
|
|
9
|
+
"rag.knowledge.doc.field.name": "文件名稱",
|
|
10
|
+
"rag.knowledge.doc.field.status": "狀態",
|
|
11
|
+
"rag.knowledge.doc.message.confirm_delete": "確認刪除文件「{name}」?",
|
|
12
|
+
"rag.knowledge.doc.message.delete_success": "刪除文件成功",
|
|
13
|
+
"rag.knowledge.doc.message.reprocess_success": "文件重新處理成功",
|
|
14
|
+
"rag.knowledge.doc.placeholder.content": "貼上文件文字內容",
|
|
15
|
+
"rag.knowledge.doc.placeholder.name": "請輸入文件名稱",
|
|
16
|
+
"rag.knowledge.doc.status.failed": "處理失敗",
|
|
17
|
+
"rag.knowledge.doc.status.ready": "已就緒",
|
|
18
|
+
"rag.knowledge.doc.title": "文件管理",
|
|
19
|
+
"rag.knowledge.doc.upload.batch_invalid": "以下檔案類型不支援或超過 10MB:{names}",
|
|
20
|
+
"rag.knowledge.doc.upload.batch_partial": "上傳完成:{success} 個成功,{failed} 個失敗",
|
|
21
|
+
"rag.knowledge.doc.upload.batch_success": "成功上傳 {count} 個文件",
|
|
22
|
+
"rag.knowledge.doc.upload.progress": "正在上傳 {current}/{total}:{name}",
|
|
23
|
+
"rag.knowledge.doc.upload.read_failed": "讀取檔案失敗",
|
|
24
|
+
"rag.knowledge.doc.upload.success": "文件上傳成功",
|
|
25
|
+
"rag.knowledge.doc.upload.too_large": "檔案超過 10MB 上限",
|
|
26
|
+
"rag.knowledge.doc.upload.unsupported": "不支援的檔案類型",
|
|
27
|
+
"rag.knowledge.doc.validation.content": "請輸入文件內容",
|
|
28
|
+
"rag.knowledge.doc.validation.name": "請輸入文件名稱",
|
|
29
|
+
"rag.knowledge.field.description": "描述",
|
|
30
|
+
"rag.knowledge.field.doc_count": "文件數",
|
|
31
|
+
"rag.knowledge.field.embedding_dimensions": "向量維度",
|
|
32
|
+
"rag.knowledge.field.embedding_dimensions_value": "{dimensions} 維",
|
|
33
|
+
"rag.knowledge.field.model": "Embedding 模型",
|
|
34
|
+
"rag.knowledge.field.name": "知識庫名稱",
|
|
35
|
+
"rag.knowledge.field.provider": "供應商",
|
|
36
|
+
"rag.knowledge.message.confirm_delete": "確認刪除知識庫「{name}」及其全部文件?",
|
|
37
|
+
"rag.knowledge.message.create_success": "建立知識庫成功",
|
|
38
|
+
"rag.knowledge.message.delete_success": "刪除知識庫成功",
|
|
39
|
+
"rag.knowledge.message.update_success": "更新知識庫成功",
|
|
40
|
+
"rag.knowledge.resource": "知識庫",
|
|
41
|
+
"rag.knowledge.search.action": "檢索",
|
|
42
|
+
"rag.knowledge.search.empty": "暫無命中切片",
|
|
43
|
+
"rag.knowledge.search.hint": "按語義相似度返回最相近的切片",
|
|
44
|
+
"rag.knowledge.search.placeholder": "輸入檢索內容",
|
|
45
|
+
"rag.knowledge.search.score": "相似度",
|
|
46
|
+
"rag.knowledge.search.title": "檢索測試",
|
|
47
|
+
"rag.knowledge.validation.model": "請選擇 Embedding 模型",
|
|
48
|
+
"rag.knowledge.validation.name": "請輸入知識庫名稱",
|
|
49
|
+
"rag.knowledge.validation.embedding_dimensions": "請選擇向量維度"
|
|
50
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Component } from "vue";
|
|
2
|
+
import { defineAdminModule } from "@liujitcn/kratos-admin-core";
|
|
3
|
+
|
|
4
|
+
// 语言包由同步脚本生成并注册,供 RAG 知识库页面使用。
|
|
5
|
+
import { LOCALE_MESSAGES } from "./locales/generated";
|
|
6
|
+
|
|
7
|
+
const viewModules = import.meta.glob<{ default: Component }>("./views/**/*.vue");
|
|
8
|
+
|
|
9
|
+
/** RAG 知识库管理端业务模块。 */
|
|
10
|
+
export const ragAdminModule = defineAdminModule({
|
|
11
|
+
name: "rag",
|
|
12
|
+
views: viewModules,
|
|
13
|
+
messages: LOCALE_MESSAGES
|
|
14
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
2
|
+
// versions:
|
|
3
|
+
// protoc-gen-ts_proto v2.12.1
|
|
4
|
+
// protoc unknown
|
|
5
|
+
// source: google/protobuf/empty.proto
|
|
6
|
+
|
|
7
|
+
/* eslint-disable */
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* A generic empty message that you can re-use to avoid defining duplicated
|
|
11
|
+
* empty messages in your APIs. A typical example is to use it as the request
|
|
12
|
+
* or the response type of an API method. For instance:
|
|
13
|
+
*
|
|
14
|
+
* service Foo {
|
|
15
|
+
* rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
|
|
16
|
+
* }
|
|
17
|
+
*/
|
|
18
|
+
export interface Empty {
|
|
19
|
+
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
2
|
+
// versions:
|
|
3
|
+
// protoc-gen-ts_proto v2.12.1
|
|
4
|
+
// protoc unknown
|
|
5
|
+
// source: rag/admin/v1/ai_knowledge.proto
|
|
6
|
+
|
|
7
|
+
/* eslint-disable */
|
|
8
|
+
import type { Empty } from "../../../google/protobuf/empty";
|
|
9
|
+
|
|
10
|
+
/** AI知识库分页查询条件。 */
|
|
11
|
+
export interface PageAiKnowledgeRequest {
|
|
12
|
+
/** 知识库名称 */
|
|
13
|
+
name: string;
|
|
14
|
+
/** 当前页码 */
|
|
15
|
+
page_num: number;
|
|
16
|
+
/** 每页行数 */
|
|
17
|
+
page_size: number;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/** AI知识库分页响应。 */
|
|
21
|
+
export interface PageAiKnowledgeResponse {
|
|
22
|
+
/** 知识库列表 */
|
|
23
|
+
knowledges: AiKnowledge[];
|
|
24
|
+
/** 总数 */
|
|
25
|
+
total: number;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** 查询AI知识库请求。 */
|
|
29
|
+
export interface GetAiKnowledgeRequest {
|
|
30
|
+
/** 知识库ID */
|
|
31
|
+
id: number;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/** AI知识库维护表单。 */
|
|
35
|
+
export interface AiKnowledgeForm {
|
|
36
|
+
/** 知识库ID */
|
|
37
|
+
id: number;
|
|
38
|
+
/** 知识库名称 */
|
|
39
|
+
name: string;
|
|
40
|
+
/** 描述 */
|
|
41
|
+
description: string;
|
|
42
|
+
/** 向量维度;0表示按所选模型配置或系统默认 */
|
|
43
|
+
embedding_dimensions: number;
|
|
44
|
+
/** 向量化使用的embedding模型ID */
|
|
45
|
+
model_id: number;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/** 创建AI知识库请求。 */
|
|
49
|
+
export interface CreateAiKnowledgeRequest {
|
|
50
|
+
/** AI知识库表单 */
|
|
51
|
+
ai_knowledge: AiKnowledgeForm | undefined;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/** 更新AI知识库请求。 */
|
|
55
|
+
export interface UpdateAiKnowledgeRequest {
|
|
56
|
+
/** AI知识库表单 */
|
|
57
|
+
ai_knowledge: AiKnowledgeForm | undefined;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/** 删除AI知识库请求。 */
|
|
61
|
+
export interface DeleteAiKnowledgeRequest {
|
|
62
|
+
/** 知识库ID */
|
|
63
|
+
id: number;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/** AI知识库分页记录。 */
|
|
67
|
+
export interface AiKnowledge {
|
|
68
|
+
/** 知识库ID */
|
|
69
|
+
id: number;
|
|
70
|
+
/** 知识库名称 */
|
|
71
|
+
name: string;
|
|
72
|
+
/** 描述 */
|
|
73
|
+
description: string;
|
|
74
|
+
/** embedding模型所属供应商名称 */
|
|
75
|
+
provider_name: string;
|
|
76
|
+
/** embedding向量维度 */
|
|
77
|
+
embedding_dimensions: number;
|
|
78
|
+
/** 向量化使用的embedding模型ID */
|
|
79
|
+
model_id: number;
|
|
80
|
+
/** embedding模型名称 */
|
|
81
|
+
model_name: string;
|
|
82
|
+
/** 文档数量 */
|
|
83
|
+
doc_count: number;
|
|
84
|
+
/** 创建时间 */
|
|
85
|
+
created_at: string;
|
|
86
|
+
/** 更新时间 */
|
|
87
|
+
updated_at: string;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/** 查询embedding模型选项请求。 */
|
|
91
|
+
export interface ListAiKnowledgeModelsRequest {
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/** 查询embedding模型选项响应。 */
|
|
95
|
+
export interface ListAiKnowledgeModelsResponse {
|
|
96
|
+
/** 已启用的embedding模型列表 */
|
|
97
|
+
models: AiKnowledgeModel[];
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/** 知识库可用的embedding模型选项。 */
|
|
101
|
+
export interface AiKnowledgeModel {
|
|
102
|
+
/** 模型ID */
|
|
103
|
+
id: number;
|
|
104
|
+
/** 模型所属供应商名称 */
|
|
105
|
+
provider_name: string;
|
|
106
|
+
/** 模型名称 */
|
|
107
|
+
model_name: string;
|
|
108
|
+
/** 显示名称 */
|
|
109
|
+
display_name: string;
|
|
110
|
+
/** 模型声明的输出向量维度;0表示未声明 */
|
|
111
|
+
dimensions: number;
|
|
112
|
+
/** 可选向量维度列表 */
|
|
113
|
+
dimension_options: number[];
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/** AI知识库管理服务。 */
|
|
117
|
+
export interface AiKnowledgeService {
|
|
118
|
+
/** 分页查询AI知识库。 */
|
|
119
|
+
PageAiKnowledge(request: PageAiKnowledgeRequest): Promise<PageAiKnowledgeResponse>;
|
|
120
|
+
/**
|
|
121
|
+
* 查询已启用的embedding模型选项(知识库向量化模型下拉)。
|
|
122
|
+
* 字面路径必须先于 /{id} 声明:gorilla mux 按注册顺序匹配,否则会被 {id} 路由抢占。
|
|
123
|
+
*/
|
|
124
|
+
ListAiKnowledgeModels(request: ListAiKnowledgeModelsRequest): Promise<ListAiKnowledgeModelsResponse>;
|
|
125
|
+
/** 查询AI知识库表单。 */
|
|
126
|
+
GetAiKnowledge(request: GetAiKnowledgeRequest): Promise<AiKnowledgeForm>;
|
|
127
|
+
/** 创建AI知识库。 */
|
|
128
|
+
CreateAiKnowledge(request: CreateAiKnowledgeRequest): Promise<Empty>;
|
|
129
|
+
/** 更新AI知识库。 */
|
|
130
|
+
UpdateAiKnowledge(request: UpdateAiKnowledgeRequest): Promise<Empty>;
|
|
131
|
+
/** 删除AI知识库(级联删除文档与切片)。 */
|
|
132
|
+
DeleteAiKnowledge(request: DeleteAiKnowledgeRequest): Promise<Empty>;
|
|
133
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
2
|
+
// versions:
|
|
3
|
+
// protoc-gen-ts_proto v2.12.1
|
|
4
|
+
// protoc unknown
|
|
5
|
+
// source: rag/admin/v1/ai_knowledge_chunk.proto
|
|
6
|
+
|
|
7
|
+
/* eslint-disable */
|
|
8
|
+
|
|
9
|
+
/** 检索测试请求。 */
|
|
10
|
+
export interface SearchAiKnowledgeRequest {
|
|
11
|
+
/** 知识库ID */
|
|
12
|
+
id: number;
|
|
13
|
+
/** 检索关键词 */
|
|
14
|
+
query: string;
|
|
15
|
+
/** 返回切片数量 */
|
|
16
|
+
top_k: number;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** 检索测试响应。 */
|
|
20
|
+
export interface SearchAiKnowledgeResponse {
|
|
21
|
+
/** 语义最相近的切片 */
|
|
22
|
+
hits: AiKnowledgeChunkHit[];
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** 检索命中的切片。 */
|
|
26
|
+
export interface AiKnowledgeChunkHit {
|
|
27
|
+
/** 切片ID */
|
|
28
|
+
chunk_id: number;
|
|
29
|
+
/** 文档ID */
|
|
30
|
+
doc_id: number;
|
|
31
|
+
/** 文档名称 */
|
|
32
|
+
doc_name: string;
|
|
33
|
+
/** 切片文本 */
|
|
34
|
+
content: string;
|
|
35
|
+
/** 余弦相似度 */
|
|
36
|
+
score: number;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/** AI知识库切片检索服务。 */
|
|
40
|
+
export interface AiKnowledgeChunkService {
|
|
41
|
+
/** 检索测试:返回与query语义最相近的切片。 */
|
|
42
|
+
SearchAiKnowledge(request: SearchAiKnowledgeRequest): Promise<SearchAiKnowledgeResponse>;
|
|
43
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
2
|
+
// versions:
|
|
3
|
+
// protoc-gen-ts_proto v2.12.1
|
|
4
|
+
// protoc unknown
|
|
5
|
+
// source: rag/admin/v1/ai_knowledge_doc.proto
|
|
6
|
+
|
|
7
|
+
/* eslint-disable */
|
|
8
|
+
import type { Empty } from "../../../google/protobuf/empty";
|
|
9
|
+
|
|
10
|
+
/** AI知识库文档处理状态枚举。 */
|
|
11
|
+
export enum AiKnowledgeDocStatus {
|
|
12
|
+
/** AI_KNOWLEDGE_DOC_STATUS_UNSPECIFIED - 未指定文档处理状态。 */
|
|
13
|
+
AI_KNOWLEDGE_DOC_STATUS_UNSPECIFIED = 0,
|
|
14
|
+
/** AI_KNOWLEDGE_DOC_STATUS_READY - 处理完成。 */
|
|
15
|
+
AI_KNOWLEDGE_DOC_STATUS_READY = 1,
|
|
16
|
+
/** AI_KNOWLEDGE_DOC_STATUS_FAILED - 处理失败。 */
|
|
17
|
+
AI_KNOWLEDGE_DOC_STATUS_FAILED = 2,
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/** 分页查询知识库文档请求。 */
|
|
21
|
+
export interface PageAiKnowledgeDocRequest {
|
|
22
|
+
/** 知识库ID */
|
|
23
|
+
id: number;
|
|
24
|
+
/** 当前页码 */
|
|
25
|
+
page_num: number;
|
|
26
|
+
/** 每页行数 */
|
|
27
|
+
page_size: number;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/** 分页查询知识库文档响应。 */
|
|
31
|
+
export interface PageAiKnowledgeDocResponse {
|
|
32
|
+
/** 文档列表 */
|
|
33
|
+
docs: AiKnowledgeDoc[];
|
|
34
|
+
/** 总数 */
|
|
35
|
+
total: number;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/** AI知识库文档。 */
|
|
39
|
+
export interface AiKnowledgeDoc {
|
|
40
|
+
/** 文档ID */
|
|
41
|
+
id: number;
|
|
42
|
+
/** 知识库ID */
|
|
43
|
+
knowledge_base_id: number;
|
|
44
|
+
/** 文档名称 */
|
|
45
|
+
name: string;
|
|
46
|
+
/** 切片数 */
|
|
47
|
+
chunk_count: number;
|
|
48
|
+
/** 处理状态:枚举【AiKnowledgeDocStatus】 */
|
|
49
|
+
status: AiKnowledgeDocStatus;
|
|
50
|
+
/** 失败原因 */
|
|
51
|
+
error_message: string;
|
|
52
|
+
/** 创建时间 */
|
|
53
|
+
created_at: string;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/** 上传纯文本文档请求。 */
|
|
57
|
+
export interface UploadAiKnowledgeDocTextRequest {
|
|
58
|
+
/** 知识库ID */
|
|
59
|
+
id: number;
|
|
60
|
+
/** 文档名称 */
|
|
61
|
+
name: string;
|
|
62
|
+
/** 文档文本内容 */
|
|
63
|
+
content: string;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/** 上传文档文件请求。 */
|
|
67
|
+
export interface UploadAiKnowledgeDocFileRequest {
|
|
68
|
+
/** 知识库ID */
|
|
69
|
+
id: number;
|
|
70
|
+
/** 原始文件名 */
|
|
71
|
+
file_name: string;
|
|
72
|
+
/** 文件内容(≤10MB) */
|
|
73
|
+
content_base64: Uint8Array;
|
|
74
|
+
/** 文档显示名 */
|
|
75
|
+
doc_name: string;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/** 删除文档请求。 */
|
|
79
|
+
export interface DeleteAiKnowledgeDocRequest {
|
|
80
|
+
/** 文档ID */
|
|
81
|
+
doc_id: number;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/** 重新处理文档请求。 */
|
|
85
|
+
export interface ReprocessAiKnowledgeDocRequest {
|
|
86
|
+
/** 文档ID */
|
|
87
|
+
doc_id: number;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/** AI知识库文档管理服务。 */
|
|
91
|
+
export interface AiKnowledgeDocService {
|
|
92
|
+
/** 分页查询知识库下的文档。 */
|
|
93
|
+
PageAiKnowledgeDoc(request: PageAiKnowledgeDocRequest): Promise<PageAiKnowledgeDocResponse>;
|
|
94
|
+
/** 上传纯文本文档(切片 → 向量化 → 落库)。 */
|
|
95
|
+
UploadAiKnowledgeDocText(request: UploadAiKnowledgeDocTextRequest): Promise<Empty>;
|
|
96
|
+
/** 上传文档文件(txt/md/docx/pdf:抽取文本后走同一入库链)。 */
|
|
97
|
+
UploadAiKnowledgeDocFile(request: UploadAiKnowledgeDocFileRequest): Promise<Empty>;
|
|
98
|
+
/** 删除文档(级联删除切片)。 */
|
|
99
|
+
DeleteAiKnowledgeDoc(request: DeleteAiKnowledgeDocRequest): Promise<Empty>;
|
|
100
|
+
/** 重新处理失败的文档(按保存的原文重切片、重向量化)。 */
|
|
101
|
+
ReprocessAiKnowledgeDoc(request: ReprocessAiKnowledgeDocRequest): Promise<Empty>;
|
|
102
|
+
}
|