Files
WeKnora/docs/docs.go

8018 lines
276 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Package docs Code generated by swaggo/swag. DO NOT EDIT
package docs
import "github.com/swaggo/swag"
const docTemplate = `{
"schemes": {{ marshal .Schemes }},
"swagger": "2.0",
"info": {
"description": "{{escape .Description}}",
"title": "{{.Title}}",
"termsOfService": "http://swagger.io/terms/",
"contact": {
"name": "WeKnora Github",
"url": "https://github.com/Tencent/WeKnora"
},
"version": "{{.Version}}"
},
"host": "{{.Host}}",
"basePath": "{{.BasePath}}",
"paths": {
"/auth/change-password": {
"post": {
"security": [
{
"Bearer": []
}
],
"description": "修改当前用户的登录密码",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"认证"
],
"summary": "修改密码",
"parameters": [
{
"description": "密码修改请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"type": "object",
"properties": {
"new_password": {
"type": "string"
},
"old_password": {
"type": "string"
}
}
}
}
],
"responses": {
"200": {
"description": "修改成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/auth/login": {
"post": {
"description": "用户登录并获取访问令牌",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"认证"
],
"summary": "用户登录",
"parameters": [
{
"description": "登录请求参数",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.LoginRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.LoginResponse"
}
},
"401": {
"description": "认证失败",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/auth/logout": {
"post": {
"security": [
{
"Bearer": []
}
],
"description": "撤销当前访问令牌并登出",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"认证"
],
"summary": "用户登出",
"responses": {
"200": {
"description": "登出成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/auth/me": {
"get": {
"security": [
{
"Bearer": []
}
],
"description": "获取当前登录用户的详细信息",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"认证"
],
"summary": "获取当前用户信息",
"responses": {
"200": {
"description": "用户信息",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"401": {
"description": "未授权",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/auth/refresh": {
"post": {
"description": "使用刷新令牌获取新的访问令牌",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"认证"
],
"summary": "刷新令牌",
"parameters": [
{
"description": "刷新令牌",
"name": "request",
"in": "body",
"required": true,
"schema": {
"type": "object",
"properties": {
"refreshToken": {
"type": "string"
}
}
}
}
],
"responses": {
"200": {
"description": "新令牌",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"401": {
"description": "令牌无效",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/auth/register": {
"post": {
"description": "注册新用户账号",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"认证"
],
"summary": "用户注册",
"parameters": [
{
"description": "注册请求参数",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.RegisterRequest"
}
}
],
"responses": {
"201": {
"description": "Created",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.RegisterResponse"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
},
"403": {
"description": "注册功能已禁用",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/auth/validate": {
"get": {
"security": [
{
"Bearer": []
}
],
"description": "验证访问令牌是否有效",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"认证"
],
"summary": "验证令牌",
"responses": {
"200": {
"description": "令牌有效",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"401": {
"description": "令牌无效",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/chunks/by-id/{id}": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "仅通过分块ID获取分块详情不需要knowledge_id",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"分块管理"
],
"summary": "通过ID获取分块",
"parameters": [
{
"type": "string",
"description": "分块ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "分块详情",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
},
"404": {
"description": "分块不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/chunks/by-id/{id}/questions": {
"delete": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "删除分块中生成的问题",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"分块管理"
],
"summary": "删除生成的问题",
"parameters": [
{
"type": "string",
"description": "分块ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "问题ID",
"name": "request",
"in": "body",
"required": true,
"schema": {
"type": "object",
"properties": {
"question_id": {
"type": "string"
}
}
}
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
},
"404": {
"description": "分块不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/chunks/{knowledge_id}": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "获取指定知识下的所有分块列表,支持分页",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"分块管理"
],
"summary": "获取知识分块列表",
"parameters": [
{
"type": "string",
"description": "知识ID",
"name": "knowledge_id",
"in": "path",
"required": true
},
{
"type": "integer",
"default": 1,
"description": "页码",
"name": "page",
"in": "query"
},
{
"type": "integer",
"default": 10,
"description": "每页数量",
"name": "page_size",
"in": "query"
}
],
"responses": {
"200": {
"description": "分块列表",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"delete": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "删除指定知识下的所有分块",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"分块管理"
],
"summary": "删除知识下所有分块",
"parameters": [
{
"type": "string",
"description": "知识ID",
"name": "knowledge_id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/chunks/{knowledge_id}/{id}": {
"put": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "更新指定分块的内容和属性",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"分块管理"
],
"summary": "更新分块",
"parameters": [
{
"type": "string",
"description": "知识ID",
"name": "knowledge_id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "分块ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "更新请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handler.UpdateChunkRequest"
}
}
],
"responses": {
"200": {
"description": "更新后的分块",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
},
"404": {
"description": "分块不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"delete": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "删除指定的分块",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"分块管理"
],
"summary": "删除分块",
"parameters": [
{
"type": "string",
"description": "知识ID",
"name": "knowledge_id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "分块ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
},
"404": {
"description": "分块不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/evaluation/": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "根据任务ID获取评估结果",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"评估"
],
"summary": "获取评估结果",
"parameters": [
{
"type": "string",
"description": "评估任务ID",
"name": "task_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "评估结果",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "对知识库进行评估测试",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"评估"
],
"summary": "执行评估",
"parameters": [
{
"description": "评估请求参数",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handler.EvaluationRequest"
}
}
],
"responses": {
"200": {
"description": "评估任务",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/faq/import/progress/{task_id}": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "获取FAQ导入任务的进度",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"FAQ管理"
],
"summary": "获取FAQ导入进度",
"parameters": [
{
"type": "string",
"description": "任务ID",
"name": "task_id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "导入进度",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"404": {
"description": "任务不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/initialization/extract/relations": {
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "从文本中提取实体和关系",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"初始化"
],
"summary": "提取文本关系",
"parameters": [
{
"description": "提取请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handler.TextRelationExtractionRequest"
}
}
],
"responses": {
"200": {
"description": "提取结果",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/initialization/fabri/tag": {
"get": {
"description": "随机生成一组标签",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"初始化"
],
"summary": "生成随机标签",
"responses": {
"200": {
"description": "生成的标签",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/initialization/fabri/text": {
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "根据标签生成示例文本",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"初始化"
],
"summary": "生成示例文本",
"parameters": [
{
"description": "生成请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handler.FabriTextRequest"
}
}
],
"responses": {
"200": {
"description": "生成的文本",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/initialization/kb/{kbId}": {
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "根据知识库ID执行完整配置更新",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"初始化"
],
"summary": "初始化知识库配置",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "kbId",
"in": "path",
"required": true
},
{
"description": "初始化请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"type": "object"
}
}
],
"responses": {
"200": {
"description": "初始化成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/initialization/kb/{kbId}/config": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "根据知识库ID获取当前配置信息",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"初始化"
],
"summary": "获取知识库配置",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "kbId",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "配置信息",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"404": {
"description": "知识库不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"put": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "根据知识库ID更新模型和分块配置",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"初始化"
],
"summary": "更新知识库配置",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "kbId",
"in": "path",
"required": true
},
{
"description": "配置请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handler.KBModelConfigRequest"
}
}
],
"responses": {
"200": {
"description": "更新成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
},
"404": {
"description": "知识库不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/initialization/models/embedding/test": {
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "测试Embedding接口是否可用并返回向量维度",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"初始化"
],
"summary": "测试Embedding模型",
"parameters": [
{
"description": "Embedding测试请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"type": "object"
}
}
],
"responses": {
"200": {
"description": "测试结果",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/initialization/models/remote/check": {
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "检查远程API模型连接是否正常",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"初始化"
],
"summary": "检查远程模型",
"parameters": [
{
"description": "模型检查请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handler.RemoteModelCheckRequest"
}
}
],
"responses": {
"200": {
"description": "检查结果",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/initialization/models/rerank/check": {
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "检查Rerank模型连接和功能是否正常",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"初始化"
],
"summary": "检查Rerank模型",
"parameters": [
{
"description": "Rerank检查请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"type": "object"
}
}
],
"responses": {
"200": {
"description": "检查结果",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/initialization/multimodal/test": {
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "上传图片测试多模态处理功能",
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json"
],
"tags": [
"初始化"
],
"summary": "测试多模态功能",
"parameters": [
{
"type": "file",
"description": "测试图片",
"name": "image",
"in": "formData",
"required": true
},
{
"type": "string",
"description": "VLM模型名称",
"name": "vlm_model",
"in": "formData",
"required": true
},
{
"type": "string",
"description": "VLM Base URL",
"name": "vlm_base_url",
"in": "formData",
"required": true
},
{
"type": "string",
"description": "VLM API Key",
"name": "vlm_api_key",
"in": "formData"
},
{
"type": "string",
"description": "VLM接口类型",
"name": "vlm_interface_type",
"in": "formData"
},
{
"type": "string",
"description": "存储类型(cos/minio)",
"name": "storage_type",
"in": "formData",
"required": true
}
],
"responses": {
"200": {
"description": "测试结果",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/initialization/ollama/download/tasks": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "列出所有Ollama模型下载任务",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"初始化"
],
"summary": "列出下载任务",
"responses": {
"200": {
"description": "任务列表",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/initialization/ollama/download/{taskId}": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "获取Ollama模型下载任务的进度",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"初始化"
],
"summary": "获取下载进度",
"parameters": [
{
"type": "string",
"description": "任务ID",
"name": "taskId",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "下载进度",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"404": {
"description": "任务不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/initialization/ollama/models": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "列出已安装的Ollama模型",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"初始化"
],
"summary": "列出Ollama模型",
"responses": {
"200": {
"description": "模型列表",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"500": {
"description": "服务器错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/initialization/ollama/models/check": {
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "检查指定的Ollama模型是否已安装",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"初始化"
],
"summary": "检查Ollama模型状态",
"parameters": [
{
"description": "模型名称列表",
"name": "request",
"in": "body",
"required": true,
"schema": {
"type": "object",
"properties": {
"models": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
],
"responses": {
"200": {
"description": "模型状态",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/initialization/ollama/models/download": {
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "异步下载指定的Ollama模型",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"初始化"
],
"summary": "下载Ollama模型",
"parameters": [
{
"description": "模型名称",
"name": "request",
"in": "body",
"required": true,
"schema": {
"type": "object",
"properties": {
"modelName": {
"type": "string"
}
}
}
}
],
"responses": {
"200": {
"description": "下载任务信息",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/initialization/ollama/status": {
"get": {
"description": "检查Ollama服务是否可用",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"初始化"
],
"summary": "检查Ollama服务状态",
"responses": {
"200": {
"description": "Ollama状态",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/knowledge-bases": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "获取当前租户的所有知识库",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"知识库"
],
"summary": "获取知识库列表",
"responses": {
"200": {
"description": "知识库列表",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"500": {
"description": "服务器错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "创建新的知识库",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"知识库"
],
"summary": "创建知识库",
"parameters": [
{
"description": "知识库信息",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.KnowledgeBase"
}
}
],
"responses": {
"201": {
"description": "创建的知识库",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge-bases/copy": {
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "将一个知识库的内容复制到另一个知识库(异步任务)",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"知识库"
],
"summary": "复制知识库",
"parameters": [
{
"description": "复制请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handler.CopyKnowledgeBaseRequest"
}
}
],
"responses": {
"200": {
"description": "任务ID",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge-bases/copy/progress/{task_id}": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "获取知识库复制任务的进度",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"知识库"
],
"summary": "获取知识库复制进度",
"parameters": [
{
"type": "string",
"description": "任务ID",
"name": "task_id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "进度信息",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"404": {
"description": "任务不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge-bases/{id}": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "根据ID获取知识库详情",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"知识库"
],
"summary": "获取知识库详情",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "知识库详情",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
},
"404": {
"description": "知识库不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"put": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "更新知识库的名称、描述和配置",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"知识库"
],
"summary": "更新知识库",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "更新请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handler.UpdateKnowledgeBaseRequest"
}
}
],
"responses": {
"200": {
"description": "更新后的知识库",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"delete": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "删除指定的知识库及其所有内容",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"知识库"
],
"summary": "删除知识库",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge-bases/{id}/faq/entries": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "获取知识库下的FAQ条目列表支持分页和筛选",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"FAQ管理"
],
"summary": "获取FAQ条目列表",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "页码",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "每页数量",
"name": "page_size",
"in": "query"
},
{
"type": "string",
"description": "标签ID筛选",
"name": "tag_id",
"in": "query"
},
{
"type": "string",
"description": "关键词搜索",
"name": "keyword",
"in": "query"
},
{
"type": "string",
"description": "搜索字段: standard_question(标准问题), similar_questions(相似问法), answers(答案), 默认搜索全部",
"name": "search_field",
"in": "query"
},
{
"type": "string",
"description": "排序方式: asc(按更新时间正序), 默认按更新时间倒序",
"name": "sort_order",
"in": "query"
}
],
"responses": {
"200": {
"description": "FAQ列表",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "异步批量更新或插入FAQ条目",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"FAQ管理"
],
"summary": "批量更新/插入FAQ条目",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "批量操作请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.FAQBatchUpsertPayload"
}
}
],
"responses": {
"200": {
"description": "任务ID",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"delete": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "批量删除指定的FAQ条目",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"FAQ管理"
],
"summary": "批量删除FAQ条目",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "要删除的FAQ ID列表",
"name": "request",
"in": "body",
"required": true,
"schema": {
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge-bases/{id}/faq/entries/export": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "将所有FAQ条目导出为CSV文件",
"consumes": [
"application/json"
],
"produces": [
"text/csv"
],
"tags": [
"FAQ管理"
],
"summary": "导出FAQ条目",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "CSV文件",
"schema": {
"type": "file"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge-bases/{id}/faq/entries/fields": {
"put": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "批量更新FAQ条目的多个字段is_enabled, is_recommended, tag_id",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"FAQ管理"
],
"summary": "批量更新FAQ字段",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "字段更新请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.FAQEntryFieldsBatchUpdate"
}
}
],
"responses": {
"200": {
"description": "更新成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge-bases/{id}/faq/entries/tags": {
"put": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "批量更新FAQ条目的标签",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"FAQ管理"
],
"summary": "批量更新FAQ标签",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "标签更新请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"type": "object"
}
}
],
"responses": {
"200": {
"description": "更新成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge-bases/{id}/faq/entries/{entry_id}": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "根据ID获取单个FAQ条目的详情",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"FAQ管理"
],
"summary": "获取FAQ条目详情",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "FAQ条目ID",
"name": "entry_id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "FAQ条目详情",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
},
"404": {
"description": "条目不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"put": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "更新指定的FAQ条目",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"FAQ管理"
],
"summary": "更新FAQ条目",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "FAQ条目ID",
"name": "entry_id",
"in": "path",
"required": true
},
{
"description": "FAQ条目",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.FAQEntryPayload"
}
}
],
"responses": {
"200": {
"description": "更新成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge-bases/{id}/faq/entry": {
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "同步创建单个FAQ条目",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"FAQ管理"
],
"summary": "创建单个FAQ条目",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "FAQ条目",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.FAQEntryPayload"
}
}
],
"responses": {
"200": {
"description": "创建的FAQ条目",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge-bases/{id}/faq/search": {
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "使用混合搜索在FAQ中搜索",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"FAQ管理"
],
"summary": "搜索FAQ",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "搜索请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.FAQSearchRequest"
}
}
],
"responses": {
"200": {
"description": "搜索结果",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge-bases/{id}/hybrid-search": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "在知识库中执行向量和关键词混合搜索",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"知识库"
],
"summary": "混合搜索",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "搜索参数",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.SearchParams"
}
}
],
"responses": {
"200": {
"description": "搜索结果",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge-bases/{id}/knowledge": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "获取知识库下的知识列表,支持分页和筛选",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"知识管理"
],
"summary": "获取知识列表",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "页码",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "每页数量",
"name": "page_size",
"in": "query"
},
{
"type": "string",
"description": "标签ID筛选",
"name": "tag_id",
"in": "query"
},
{
"type": "string",
"description": "关键词搜索",
"name": "keyword",
"in": "query"
},
{
"type": "string",
"description": "文件类型筛选",
"name": "file_type",
"in": "query"
}
],
"responses": {
"200": {
"description": "知识列表",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge-bases/{id}/knowledge/file": {
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "上传文件并创建知识条目",
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json"
],
"tags": [
"知识管理"
],
"summary": "从文件创建知识",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
},
{
"type": "file",
"description": "上传的文件",
"name": "file",
"in": "formData",
"required": true
},
{
"type": "string",
"description": "自定义文件名",
"name": "fileName",
"in": "formData"
},
{
"type": "string",
"description": "元数据JSON",
"name": "metadata",
"in": "formData"
},
{
"type": "boolean",
"description": "启用多模态处理",
"name": "enable_multimodel",
"in": "formData"
}
],
"responses": {
"200": {
"description": "创建的知识",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
},
"409": {
"description": "文件重复",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/knowledge-bases/{id}/knowledge/manual": {
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "手工录入Markdown格式的知识内容",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"知识管理"
],
"summary": "手工创建知识",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "手工知识内容",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.ManualKnowledgePayload"
}
}
],
"responses": {
"200": {
"description": "创建的知识",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge-bases/{id}/knowledge/url": {
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "从指定URL抓取内容并创建知识条目",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"知识管理"
],
"summary": "从URL创建知识",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "URL请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"type": "object",
"properties": {
"enable_multimodel": {
"type": "boolean"
},
"title": {
"type": "string"
},
"url": {
"type": "string"
}
}
}
}
],
"responses": {
"201": {
"description": "创建的知识",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
},
"409": {
"description": "URL重复",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
},
"/knowledge-bases/{id}/tags": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "获取知识库下的所有标签及统计信息",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"标签管理"
],
"summary": "获取标签列表",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "页码",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "每页数量",
"name": "page_size",
"in": "query"
},
{
"type": "string",
"description": "关键词搜索",
"name": "keyword",
"in": "query"
}
],
"responses": {
"200": {
"description": "标签列表",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "在知识库下创建新标签",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"标签管理"
],
"summary": "创建标签",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "标签信息",
"name": "request",
"in": "body",
"required": true,
"schema": {
"type": "object",
"properties": {
"color": {
"type": "string"
},
"name": {
"type": "string"
},
"sort_order": {
"type": "integer"
}
}
}
}
],
"responses": {
"200": {
"description": "创建的标签",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge-bases/{id}/tags/{tag_id}": {
"put": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "更新标签信息",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"标签管理"
],
"summary": "更新标签",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "标签ID",
"name": "tag_id",
"in": "path",
"required": true
},
{
"description": "标签更新信息",
"name": "request",
"in": "body",
"required": true,
"schema": {
"type": "object"
}
}
],
"responses": {
"200": {
"description": "更新后的标签",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"delete": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "删除标签可使用force=true强制删除被引用的标签content_only=true仅删除标签下的内容而保留标签本身",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"标签管理"
],
"summary": "删除标签",
"parameters": [
{
"type": "string",
"description": "知识库ID",
"name": "id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "标签ID",
"name": "tag_id",
"in": "path",
"required": true
},
{
"type": "boolean",
"description": "强制删除",
"name": "force",
"in": "query"
},
{
"type": "boolean",
"description": "仅删除内容,保留标签",
"name": "content_only",
"in": "query"
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge/batch": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "根据ID列表批量获取知识条目",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"知识管理"
],
"summary": "批量获取知识",
"parameters": [
{
"type": "array",
"items": {
"type": "string"
},
"collectionFormat": "csv",
"description": "知识ID列表",
"name": "ids",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "知识列表",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge/image/{id}/{chunk_id}": {
"put": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "更新知识分块的图像信息",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"知识管理"
],
"summary": "更新图像信息",
"parameters": [
{
"type": "string",
"description": "知识ID",
"name": "id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "分块ID",
"name": "chunk_id",
"in": "path",
"required": true
},
{
"description": "图像信息",
"name": "request",
"in": "body",
"required": true,
"schema": {
"type": "object",
"properties": {
"image_info": {
"type": "string"
}
}
}
}
],
"responses": {
"200": {
"description": "更新成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge/manual/{id}": {
"put": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "更新手工录入的Markdown知识内容",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"知识管理"
],
"summary": "更新手工知识",
"parameters": [
{
"type": "string",
"description": "知识ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "手工知识内容",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.ManualKnowledgePayload"
}
}
],
"responses": {
"200": {
"description": "更新后的知识",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge/search": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "Search knowledge files by keyword across all knowledge bases",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Knowledge"
],
"summary": "Search knowledge",
"parameters": [
{
"type": "string",
"description": "Keyword to search",
"name": "keyword",
"in": "query"
},
{
"type": "integer",
"description": "Offset for pagination",
"name": "offset",
"in": "query"
},
{
"type": "integer",
"description": "Limit for pagination (default 20)",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "Search results",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "Invalid request",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge/tags": {
"put": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "批量更新知识条目的标签",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"知识管理"
],
"summary": "批量更新知识标签",
"parameters": [
{
"description": "标签更新请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"type": "object"
}
}
],
"responses": {
"200": {
"description": "更新成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge/{id}": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "根据ID获取知识条目详情",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"知识管理"
],
"summary": "获取知识详情",
"parameters": [
{
"type": "string",
"description": "知识ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "知识详情",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
},
"404": {
"description": "知识不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"put": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "更新知识条目信息",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"知识管理"
],
"summary": "更新知识",
"parameters": [
{
"type": "string",
"description": "知识ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "知识信息",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.Knowledge"
}
}
],
"responses": {
"200": {
"description": "更新成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"delete": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "根据ID删除知识条目",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"知识管理"
],
"summary": "删除知识",
"parameters": [
{
"type": "string",
"description": "知识ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/knowledge/{id}/download": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "下载知识条目关联的原始文件",
"consumes": [
"application/json"
],
"produces": [
"application/octet-stream"
],
"tags": [
"知识管理"
],
"summary": "下载知识文件",
"parameters": [
{
"type": "string",
"description": "知识ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "文件内容",
"schema": {
"type": "file"
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/mcp-services": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "获取当前租户的所有MCP服务",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"MCP服务"
],
"summary": "获取MCP服务列表",
"responses": {
"200": {
"description": "MCP服务列表",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "创建新的MCP服务配置",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"MCP服务"
],
"summary": "创建MCP服务",
"parameters": [
{
"description": "MCP服务配置",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.MCPService"
}
}
],
"responses": {
"200": {
"description": "创建的MCP服务",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/mcp-services/{id}": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "根据ID获取MCP服务详情",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"MCP服务"
],
"summary": "获取MCP服务详情",
"parameters": [
{
"type": "string",
"description": "MCP服务ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "MCP服务详情",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"404": {
"description": "服务不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"put": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "更新MCP服务配置",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"MCP服务"
],
"summary": "更新MCP服务",
"parameters": [
{
"type": "string",
"description": "MCP服务ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "更新字段",
"name": "request",
"in": "body",
"required": true,
"schema": {
"type": "object"
}
}
],
"responses": {
"200": {
"description": "更新后的MCP服务",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"delete": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "删除指定的MCP服务",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"MCP服务"
],
"summary": "删除MCP服务",
"parameters": [
{
"type": "string",
"description": "MCP服务ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"500": {
"description": "服务器错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/mcp-services/{id}/resources": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "获取MCP服务提供的资源列表",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"MCP服务"
],
"summary": "获取MCP服务资源列表",
"parameters": [
{
"type": "string",
"description": "MCP服务ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "资源列表",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"500": {
"description": "服务器错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/mcp-services/{id}/test": {
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "测试MCP服务是否可以正常连接",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"MCP服务"
],
"summary": "测试MCP服务连接",
"parameters": [
{
"type": "string",
"description": "MCP服务ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "测试结果",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/mcp-services/{id}/tools": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "获取MCP服务提供的工具列表",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"MCP服务"
],
"summary": "获取MCP服务工具列表",
"parameters": [
{
"type": "string",
"description": "MCP服务ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "工具列表",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"500": {
"description": "服务器错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/messages/{session_id}/load": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "加载会话的消息历史,支持分页和时间筛选",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"消息"
],
"summary": "加载消息历史",
"parameters": [
{
"type": "string",
"description": "会话ID",
"name": "session_id",
"in": "path",
"required": true
},
{
"type": "integer",
"default": 20,
"description": "返回数量",
"name": "limit",
"in": "query"
},
{
"type": "string",
"description": "在此时间之前的消息RFC3339Nano格式",
"name": "before_time",
"in": "query"
}
],
"responses": {
"200": {
"description": "消息列表",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/messages/{session_id}/{id}": {
"delete": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "从会话中删除指定消息",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"消息"
],
"summary": "删除消息",
"parameters": [
{
"type": "string",
"description": "会话ID",
"name": "session_id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "消息ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"500": {
"description": "服务器错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/models": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "获取当前租户的所有模型",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"模型管理"
],
"summary": "获取模型列表",
"responses": {
"200": {
"description": "模型列表",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "创建新的模型配置",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"模型管理"
],
"summary": "创建模型",
"parameters": [
{
"description": "模型信息",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handler.CreateModelRequest"
}
}
],
"responses": {
"201": {
"description": "创建的模型",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/models/{id}": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "根据ID获取模型详情",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"模型管理"
],
"summary": "获取模型详情",
"parameters": [
{
"type": "string",
"description": "模型ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "模型详情",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"404": {
"description": "模型不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"put": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "更新模型配置信息",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"模型管理"
],
"summary": "更新模型",
"parameters": [
{
"type": "string",
"description": "模型ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "更新信息",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handler.UpdateModelRequest"
}
}
],
"responses": {
"200": {
"description": "更新后的模型",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"404": {
"description": "模型不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"delete": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "删除指定的模型",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"模型管理"
],
"summary": "删除模型",
"parameters": [
{
"type": "string",
"description": "模型ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"404": {
"description": "模型不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/sessions": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "获取当前租户的会话列表,支持分页",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"会话"
],
"summary": "获取会话列表",
"parameters": [
{
"type": "integer",
"description": "页码",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "每页数量",
"name": "page_size",
"in": "query"
}
],
"responses": {
"200": {
"description": "会话列表",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "创建新的对话会话",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"会话"
],
"summary": "创建会话",
"parameters": [
{
"description": "会话创建请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handler_session.CreateSessionRequest"
}
}
],
"responses": {
"201": {
"description": "创建的会话",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/sessions/search": {
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "在知识库中搜索不使用LLM总结",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"问答"
],
"summary": "知识搜索",
"parameters": [
{
"description": "搜索请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handler_session.SearchKnowledgeRequest"
}
}
],
"responses": {
"200": {
"description": "搜索结果",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/sessions/{id}": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "根据ID获取会话详情",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"会话"
],
"summary": "获取会话详情",
"parameters": [
{
"type": "string",
"description": "会话ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "会话详情",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"404": {
"description": "会话不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"put": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "更新会话属性",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"会话"
],
"summary": "更新会话",
"parameters": [
{
"type": "string",
"description": "会话ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "会话信息",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.Session"
}
}
],
"responses": {
"200": {
"description": "更新后的会话",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"404": {
"description": "会话不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"delete": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "删除指定的会话",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"会话"
],
"summary": "删除会话",
"parameters": [
{
"type": "string",
"description": "会话ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"404": {
"description": "会话不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/sessions/{session_id}/agent-qa": {
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "基于Agent的智能问答支持多轮对话和SSE流式响应",
"consumes": [
"application/json"
],
"produces": [
"text/event-stream"
],
"tags": [
"问答"
],
"summary": "Agent问答",
"parameters": [
{
"type": "string",
"description": "会话ID",
"name": "session_id",
"in": "path",
"required": true
},
{
"description": "问答请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handler_session.CreateKnowledgeQARequest"
}
}
],
"responses": {
"200": {
"description": "问答结果SSE流",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/sessions/{session_id}/continue": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "继续获取正在进行的流式响应",
"consumes": [
"application/json"
],
"produces": [
"text/event-stream"
],
"tags": [
"问答"
],
"summary": "继续流式响应",
"parameters": [
{
"type": "string",
"description": "会话ID",
"name": "session_id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "消息ID",
"name": "message_id",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "流式响应",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"404": {
"description": "会话或消息不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/sessions/{session_id}/knowledge-qa": {
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "基于知识库的问答使用LLM总结支持SSE流式响应",
"consumes": [
"application/json"
],
"produces": [
"text/event-stream"
],
"tags": [
"问答"
],
"summary": "知识问答",
"parameters": [
{
"type": "string",
"description": "会话ID",
"name": "session_id",
"in": "path",
"required": true
},
{
"description": "问答请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handler_session.CreateKnowledgeQARequest"
}
}
],
"responses": {
"200": {
"description": "问答结果SSE流",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/sessions/{session_id}/stop": {
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "停止当前正在进行的生成任务",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"问答"
],
"summary": "停止生成",
"parameters": [
{
"type": "string",
"description": "会话ID",
"name": "session_id",
"in": "path",
"required": true
},
{
"description": "停止请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handler_session.StopSessionRequest"
}
}
],
"responses": {
"200": {
"description": "停止成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"404": {
"description": "会话或消息不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/sessions/{session_id}/title": {
"post": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "根据消息内容自动生成会话标题",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"会话"
],
"summary": "生成会话标题",
"parameters": [
{
"type": "string",
"description": "会话ID",
"name": "session_id",
"in": "path",
"required": true
},
{
"description": "生成请求",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/internal_handler_session.GenerateTitleRequest"
}
}
],
"responses": {
"200": {
"description": "生成的标题",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/system/info": {
"get": {
"description": "获取系统版本、构建信息和引擎配置",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"系统"
],
"summary": "获取系统信息",
"responses": {
"200": {
"description": "系统信息",
"schema": {
"$ref": "#/definitions/internal_handler.GetSystemInfoResponse"
}
}
}
}
},
"/tenants": {
"get": {
"security": [
{
"Bearer": []
}
],
"description": "获取当前用户可访问的租户列表",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"租户管理"
],
"summary": "获取租户列表",
"responses": {
"200": {
"description": "租户列表",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"500": {
"description": "服务器错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"post": {
"security": [
{
"Bearer": []
}
],
"description": "创建新的租户",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"租户管理"
],
"summary": "创建租户",
"parameters": [
{
"description": "租户信息",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.Tenant"
}
}
],
"responses": {
"201": {
"description": "创建的租户",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/tenants/all": {
"get": {
"security": [
{
"Bearer": []
}
],
"description": "获取系统中所有租户(需要跨租户访问权限)",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"租户管理"
],
"summary": "获取所有租户列表",
"responses": {
"200": {
"description": "所有租户列表",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"403": {
"description": "权限不足",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/tenants/kv/agent-config": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "获取租户的全局Agent配置默认应用于所有会话",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"租户管理"
],
"summary": "获取租户Agent配置",
"responses": {
"200": {
"description": "Agent配置",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/tenants/kv/conversation-config": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "获取租户的全局对话配置(默认应用于普通模式会话)",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"租户管理"
],
"summary": "获取租户对话配置",
"responses": {
"200": {
"description": "对话配置",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/tenants/kv/web-search-config": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "获取租户的网络搜索配置",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"租户管理"
],
"summary": "获取租户网络搜索配置",
"responses": {
"200": {
"description": "网络搜索配置",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/tenants/kv/{key}": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "获取租户级别的KV配置支持agent-config、web-search-config、conversation-config",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"租户管理"
],
"summary": "获取租户KV配置",
"parameters": [
{
"type": "string",
"description": "配置键名",
"name": "key",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "配置值",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "不支持的键",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"put": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "更新租户级别的KV配置支持agent-config、web-search-config、conversation-config",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"租户管理"
],
"summary": "更新租户KV配置",
"parameters": [
{
"type": "string",
"description": "配置键名",
"name": "key",
"in": "path",
"required": true
},
{
"description": "配置值",
"name": "request",
"in": "body",
"required": true,
"schema": {
"type": "object"
}
}
],
"responses": {
"200": {
"description": "更新成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "不支持的键",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/tenants/search": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "分页搜索租户(需要跨租户访问权限)",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"租户管理"
],
"summary": "搜索租户",
"parameters": [
{
"type": "string",
"description": "搜索关键词",
"name": "keyword",
"in": "query"
},
{
"type": "integer",
"description": "租户ID筛选",
"name": "tenant_id",
"in": "query"
},
{
"type": "integer",
"default": 1,
"description": "页码",
"name": "page",
"in": "query"
},
{
"type": "integer",
"default": 20,
"description": "每页数量",
"name": "page_size",
"in": "query"
}
],
"responses": {
"200": {
"description": "搜索结果",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"403": {
"description": "权限不足",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/tenants/{id}": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "根据ID获取租户详情",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"租户管理"
],
"summary": "获取租户详情",
"parameters": [
{
"type": "integer",
"description": "租户ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "租户详情",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
},
"404": {
"description": "租户不存在",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"put": {
"security": [
{
"Bearer": []
}
],
"description": "更新租户信息",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"租户管理"
],
"summary": "更新租户",
"parameters": [
{
"type": "integer",
"description": "租户ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "租户信息",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.Tenant"
}
}
],
"responses": {
"200": {
"description": "更新后的租户",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
},
"delete": {
"security": [
{
"Bearer": []
}
],
"description": "删除指定的租户",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"租户管理"
],
"summary": "删除租户",
"parameters": [
{
"type": "integer",
"description": "租户ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "删除成功",
"schema": {
"type": "object",
"additionalProperties": true
}
},
"400": {
"description": "请求参数错误",
"schema": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.AppError"
}
}
}
}
},
"/web-search/providers": {
"get": {
"security": [
{
"Bearer": []
},
{
"ApiKeyAuth": []
}
],
"description": "Returns the list of available web search providers from configuration",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"web-search"
],
"summary": "Get available web search providers",
"responses": {
"200": {
"description": "List of providers",
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
}
}
},
"definitions": {
"github_com_Tencent_WeKnora_internal_errors.AppError": {
"type": "object",
"properties": {
"code": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_errors.ErrorCode"
},
"details": {},
"message": {
"type": "string"
}
}
},
"github_com_Tencent_WeKnora_internal_errors.ErrorCode": {
"type": "integer",
"enum": [
1000,
1001,
1002,
1003,
1004,
1005,
1006,
1007,
1008,
1009,
1010,
2000,
2001,
2002,
2003,
2004,
2100,
2101,
2102,
2103
],
"x-enum-varnames": [
"ErrBadRequest",
"ErrUnauthorized",
"ErrForbidden",
"ErrNotFound",
"ErrMethodNotAllowed",
"ErrConflict",
"ErrTooManyRequests",
"ErrInternalServer",
"ErrServiceUnavailable",
"ErrTimeout",
"ErrValidation",
"ErrTenantNotFound",
"ErrTenantAlreadyExists",
"ErrTenantInactive",
"ErrTenantNameRequired",
"ErrTenantInvalidStatus",
"ErrAgentMissingThinkingModel",
"ErrAgentMissingAllowedTools",
"ErrAgentInvalidMaxIterations",
"ErrAgentInvalidTemperature"
]
},
"github_com_Tencent_WeKnora_internal_types.AgentConfig": {
"type": "object",
"properties": {
"allowed_tools": {
"description": "List of allowed tool names",
"type": "array",
"items": {
"type": "string"
}
},
"knowledge_bases": {
"description": "Accessible knowledge base IDs",
"type": "array",
"items": {
"type": "string"
}
},
"knowledge_ids": {
"description": "Accessible knowledge IDs (individual documents)",
"type": "array",
"items": {
"type": "string"
}
},
"max_iterations": {
"description": "Maximum number of ReAct iterations",
"type": "integer"
},
"reflection_enabled": {
"description": "Whether to enable reflection",
"type": "boolean"
},
"system_prompt_web_disabled": {
"description": "Custom prompt when web search is disabled",
"type": "string"
},
"system_prompt_web_enabled": {
"description": "Custom prompt when web search is enabled",
"type": "string"
},
"temperature": {
"description": "LLM temperature for agent",
"type": "number"
},
"use_custom_system_prompt": {
"description": "Whether to use custom system prompt instead of default",
"type": "boolean"
},
"web_search_enabled": {
"description": "Whether web search tool is enabled",
"type": "boolean"
},
"web_search_max_results": {
"description": "Maximum number of web search results (default: 5)",
"type": "integer"
}
}
},
"github_com_Tencent_WeKnora_internal_types.AgentStep": {
"type": "object",
"properties": {
"iteration": {
"description": "Iteration number (0-indexed)",
"type": "integer"
},
"thought": {
"description": "LLM's reasoning/thinking (Think phase)",
"type": "string"
},
"timestamp": {
"description": "When this step occurred",
"type": "string"
},
"tool_calls": {
"description": "Tools called in this step (Act phase)",
"type": "array",
"items": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.ToolCall"
}
}
}
},
"github_com_Tencent_WeKnora_internal_types.AnswerStrategy": {
"type": "string",
"enum": [
"all",
"random"
],
"x-enum-varnames": [
"AnswerStrategyAll",
"AnswerStrategyRandom"
]
},
"github_com_Tencent_WeKnora_internal_types.ChunkingConfig": {
"type": "object",
"properties": {
"chunk_overlap": {
"description": "Chunk overlap",
"type": "integer"
},
"chunk_size": {
"description": "Chunk size",
"type": "integer"
},
"enable_multimodal": {
"description": "EnableMultimodal (deprecated, kept for backward compatibility with old data)",
"type": "boolean"
},
"separators": {
"description": "Separators",
"type": "array",
"items": {
"type": "string"
}
}
}
},
"github_com_Tencent_WeKnora_internal_types.ContextCompressionStrategy": {
"type": "string",
"enum": [
"sliding_window",
"smart"
],
"x-enum-varnames": [
"ContextCompressionSlidingWindow",
"ContextCompressionSmart"
]
},
"github_com_Tencent_WeKnora_internal_types.ContextConfig": {
"type": "object",
"properties": {
"compression_strategy": {
"description": "Compression strategy: \"sliding_window\" or \"smart\"",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.ContextCompressionStrategy"
}
]
},
"max_tokens": {
"description": "Maximum tokens allowed in LLM context",
"type": "integer"
},
"recent_message_count": {
"description": "For sliding_window: number of messages to keep\nFor smart: number of recent messages to keep uncompressed",
"type": "integer"
},
"summarize_threshold": {
"description": "Summarize threshold: number of messages before summarization",
"type": "integer"
}
}
},
"github_com_Tencent_WeKnora_internal_types.ConversationConfig": {
"type": "object",
"properties": {
"context_template": {
"description": "ContextTemplate is the prompt template for summarizing retrieval results",
"type": "string"
},
"embedding_top_k": {
"type": "integer"
},
"enable_query_expansion": {
"type": "boolean"
},
"enable_rewrite": {
"type": "boolean"
},
"fallback_prompt": {
"type": "string"
},
"fallback_response": {
"type": "string"
},
"fallback_strategy": {
"description": "Fallback strategy",
"type": "string"
},
"keyword_threshold": {
"type": "number"
},
"max_completion_tokens": {
"description": "MaxTokens is the maximum number of tokens to generate",
"type": "integer"
},
"max_rounds": {
"description": "Retrieval \u0026 strategy parameters",
"type": "integer"
},
"prompt": {
"type": "string"
},
"rerank_model_id": {
"type": "string"
},
"rerank_threshold": {
"type": "number"
},
"rerank_top_k": {
"type": "integer"
},
"rewrite_prompt_system": {
"description": "Rewrite prompts",
"type": "string"
},
"rewrite_prompt_user": {
"type": "string"
},
"summary_model_id": {
"description": "Model configuration",
"type": "string"
},
"temperature": {
"description": "Temperature controls the randomness of the model output",
"type": "number"
},
"use_custom_context_template": {
"type": "boolean"
},
"use_custom_system_prompt": {
"description": "Prompt is the system prompt for normal mode",
"type": "boolean"
},
"vector_threshold": {
"type": "number"
}
}
},
"github_com_Tencent_WeKnora_internal_types.EmbeddingParameters": {
"type": "object",
"properties": {
"dimension": {
"type": "integer"
},
"truncate_prompt_tokens": {
"type": "integer"
}
}
},
"github_com_Tencent_WeKnora_internal_types.ExtractConfig": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"nodes": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.GraphNode"
}
},
"relations": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.GraphRelation"
}
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"text": {
"type": "string"
}
}
},
"github_com_Tencent_WeKnora_internal_types.FAQBatchUpsertPayload": {
"type": "object",
"required": [
"entries"
],
"properties": {
"entries": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.FAQEntryPayload"
}
},
"knowledge_id": {
"type": "string"
},
"mode": {
"type": "string",
"enum": [
"append",
"replace"
]
}
}
},
"github_com_Tencent_WeKnora_internal_types.FAQConfig": {
"type": "object",
"properties": {
"index_mode": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.FAQIndexMode"
},
"question_index_mode": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.FAQQuestionIndexMode"
}
}
},
"github_com_Tencent_WeKnora_internal_types.FAQEntryFieldsBatchUpdate": {
"type": "object",
"properties": {
"by_id": {
"description": "ByID 按条目ID更新key为条目ID",
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.FAQEntryFieldsUpdate"
}
},
"by_tag": {
"description": "ByTag 按Tag批量更新key为TagID空字符串表示未分类",
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.FAQEntryFieldsUpdate"
}
}
}
},
"github_com_Tencent_WeKnora_internal_types.FAQEntryFieldsUpdate": {
"type": "object",
"properties": {
"is_enabled": {
"type": "boolean"
},
"is_recommended": {
"type": "boolean"
},
"tag_id": {
"type": "string"
}
}
},
"github_com_Tencent_WeKnora_internal_types.FAQEntryPayload": {
"type": "object",
"required": [
"answers",
"standard_question"
],
"properties": {
"answer_strategy": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.AnswerStrategy"
},
"answers": {
"type": "array",
"items": {
"type": "string"
}
},
"is_enabled": {
"type": "boolean"
},
"is_recommended": {
"type": "boolean"
},
"negative_questions": {
"type": "array",
"items": {
"type": "string"
}
},
"similar_questions": {
"type": "array",
"items": {
"type": "string"
}
},
"standard_question": {
"type": "string"
},
"tag_id": {
"type": "string"
},
"tag_name": {
"type": "string"
}
}
},
"github_com_Tencent_WeKnora_internal_types.FAQIndexMode": {
"type": "string",
"enum": [
"question_only",
"question_answer"
],
"x-enum-varnames": [
"FAQIndexModeQuestionOnly",
"FAQIndexModeQuestionAnswer"
]
},
"github_com_Tencent_WeKnora_internal_types.FAQQuestionIndexMode": {
"type": "string",
"enum": [
"combined",
"separate"
],
"x-enum-varnames": [
"FAQQuestionIndexModeCombined",
"FAQQuestionIndexModeSeparate"
]
},
"github_com_Tencent_WeKnora_internal_types.FAQSearchRequest": {
"type": "object",
"required": [
"query_text"
],
"properties": {
"match_count": {
"type": "integer"
},
"query_text": {
"type": "string"
},
"vector_threshold": {
"type": "number"
}
}
},
"github_com_Tencent_WeKnora_internal_types.FallbackStrategy": {
"type": "string",
"enum": [
"fixed",
"model"
],
"x-enum-comments": {
"FallbackStrategyFixed": "Fixed response",
"FallbackStrategyModel": "Model fallback response"
},
"x-enum-descriptions": [
"Fixed response",
"Model fallback response"
],
"x-enum-varnames": [
"FallbackStrategyFixed",
"FallbackStrategyModel"
]
},
"github_com_Tencent_WeKnora_internal_types.GraphNode": {
"type": "object",
"properties": {
"attributes": {
"type": "array",
"items": {
"type": "string"
}
},
"chunks": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string"
}
}
},
"github_com_Tencent_WeKnora_internal_types.GraphRelation": {
"type": "object",
"properties": {
"node1": {
"type": "string"
},
"node2": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"github_com_Tencent_WeKnora_internal_types.ImageProcessingConfig": {
"type": "object",
"properties": {
"model_id": {
"description": "Model ID",
"type": "string"
}
}
},
"github_com_Tencent_WeKnora_internal_types.Knowledge": {
"type": "object",
"properties": {
"created_at": {
"description": "Creation time of the knowledge",
"type": "string"
},
"deleted_at": {
"description": "Deletion time of the knowledge",
"allOf": [
{
"$ref": "#/definitions/gorm.DeletedAt"
}
]
},
"description": {
"description": "Description of the knowledge",
"type": "string"
},
"embedding_model_id": {
"description": "ID of the embedding model",
"type": "string"
},
"enable_status": {
"description": "Enable status of the knowledge",
"type": "string"
},
"error_message": {
"description": "Error message of the knowledge",
"type": "string"
},
"file_hash": {
"description": "File hash of the knowledge",
"type": "string"
},
"file_name": {
"description": "File name of the knowledge",
"type": "string"
},
"file_path": {
"description": "File path of the knowledge",
"type": "string"
},
"file_size": {
"description": "File size of the knowledge",
"type": "integer"
},
"file_type": {
"description": "File type of the knowledge",
"type": "string"
},
"id": {
"description": "Unique identifier of the knowledge",
"type": "string"
},
"knowledge_base_id": {
"description": "ID of the knowledge base",
"type": "string"
},
"knowledge_base_name": {
"description": "Knowledge base name (not stored in database, populated on query)",
"type": "string"
},
"metadata": {
"description": "Metadata of the knowledge",
"type": "array",
"items": {
"type": "integer"
}
},
"parse_status": {
"description": "Parse status of the knowledge",
"type": "string"
},
"processed_at": {
"description": "Processed time of the knowledge",
"type": "string"
},
"source": {
"description": "Source of the knowledge",
"type": "string"
},
"storage_size": {
"description": "Storage size of the knowledge",
"type": "integer"
},
"summary_status": {
"description": "Summary status for async summary generation",
"type": "string"
},
"tag_id": {
"description": "Optional tag ID for categorization within a knowledge base",
"type": "string"
},
"tenant_id": {
"description": "Tenant ID",
"type": "integer"
},
"title": {
"description": "Title of the knowledge",
"type": "string"
},
"type": {
"description": "Type of the knowledge",
"type": "string"
},
"updated_at": {
"description": "Last updated time of the knowledge",
"type": "string"
}
}
},
"github_com_Tencent_WeKnora_internal_types.KnowledgeBase": {
"type": "object",
"properties": {
"chunk_count": {
"description": "Chunk count (not stored in database, calculated on query)",
"type": "integer"
},
"chunking_config": {
"description": "Chunking configuration",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.ChunkingConfig"
}
]
},
"cos_config": {
"description": "Storage config",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.StorageConfig"
}
]
},
"created_at": {
"description": "Creation time of the knowledge base",
"type": "string"
},
"deleted_at": {
"description": "Deletion time of the knowledge base",
"allOf": [
{
"$ref": "#/definitions/gorm.DeletedAt"
}
]
},
"description": {
"description": "Description of the knowledge base",
"type": "string"
},
"embedding_model_id": {
"description": "ID of the embedding model",
"type": "string"
},
"extract_config": {
"description": "Extract config",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.ExtractConfig"
}
]
},
"faq_config": {
"description": "FAQConfig stores FAQ specific configuration such as indexing strategy",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.FAQConfig"
}
]
},
"id": {
"description": "Unique identifier of the knowledge base",
"type": "string"
},
"image_processing_config": {
"description": "Image processing configuration",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.ImageProcessingConfig"
}
]
},
"is_processing": {
"description": "IsProcessing indicates if there is a processing import task (for FAQ type knowledge bases)",
"type": "boolean"
},
"is_temporary": {
"description": "Whether this knowledge base is temporary (ephemeral) and should be hidden from UI",
"type": "boolean"
},
"knowledge_count": {
"description": "Knowledge count (not stored in database, calculated on query)",
"type": "integer"
},
"name": {
"description": "Name of the knowledge base",
"type": "string"
},
"processing_count": {
"description": "ProcessingCount indicates the number of knowledge items being processed (for document type knowledge bases)",
"type": "integer"
},
"question_generation_config": {
"description": "QuestionGenerationConfig stores question generation configuration for document knowledge bases",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.QuestionGenerationConfig"
}
]
},
"summary_model_id": {
"description": "Summary model ID",
"type": "string"
},
"tenant_id": {
"description": "Tenant ID",
"type": "integer"
},
"type": {
"description": "Type of the knowledge base (document, faq, etc.)",
"type": "string"
},
"updated_at": {
"description": "Last updated time of the knowledge base",
"type": "string"
},
"vlm_config": {
"description": "VLM config",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.VLMConfig"
}
]
}
}
},
"github_com_Tencent_WeKnora_internal_types.KnowledgeBaseConfig": {
"type": "object",
"properties": {
"chunking_config": {
"description": "Chunking configuration",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.ChunkingConfig"
}
]
},
"faq_config": {
"description": "FAQ configuration (only for FAQ type knowledge bases)",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.FAQConfig"
}
]
},
"image_processing_config": {
"description": "Image processing configuration",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.ImageProcessingConfig"
}
]
}
}
},
"github_com_Tencent_WeKnora_internal_types.LoginRequest": {
"type": "object",
"required": [
"email",
"password"
],
"properties": {
"email": {
"type": "string"
},
"password": {
"type": "string",
"minLength": 6
}
}
},
"github_com_Tencent_WeKnora_internal_types.LoginResponse": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"refresh_token": {
"type": "string"
},
"success": {
"type": "boolean"
},
"tenant": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.Tenant"
},
"token": {
"type": "string"
},
"user": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.User"
}
}
},
"github_com_Tencent_WeKnora_internal_types.MCPAdvancedConfig": {
"type": "object",
"properties": {
"retry_count": {
"description": "Number of retries, default: 3",
"type": "integer"
},
"retry_delay": {
"description": "Delay between retries in seconds, default: 1",
"type": "integer"
},
"timeout": {
"description": "Timeout in seconds, default: 30",
"type": "integer"
}
}
},
"github_com_Tencent_WeKnora_internal_types.MCPAuthConfig": {
"type": "object",
"properties": {
"api_key": {
"type": "string"
},
"custom_headers": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"token": {
"type": "string"
}
}
},
"github_com_Tencent_WeKnora_internal_types.MCPEnvVars": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"github_com_Tencent_WeKnora_internal_types.MCPHeaders": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"github_com_Tencent_WeKnora_internal_types.MCPService": {
"type": "object",
"properties": {
"advanced_config": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.MCPAdvancedConfig"
},
"auth_config": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.MCPAuthConfig"
},
"created_at": {
"type": "string"
},
"deleted_at": {
"$ref": "#/definitions/gorm.DeletedAt"
},
"description": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"env_vars": {
"description": "Environment variables for stdio",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.MCPEnvVars"
}
]
},
"headers": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.MCPHeaders"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"stdio_config": {
"description": "Required for stdio transport",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.MCPStdioConfig"
}
]
},
"tenant_id": {
"type": "integer"
},
"transport_type": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.MCPTransportType"
},
"updated_at": {
"type": "string"
},
"url": {
"description": "Optional: required for SSE/HTTP Streamable",
"type": "string"
}
}
},
"github_com_Tencent_WeKnora_internal_types.MCPStdioConfig": {
"type": "object",
"properties": {
"args": {
"description": "Command arguments array",
"type": "array",
"items": {
"type": "string"
}
},
"command": {
"description": "Command: \"uvx\" or \"npx\"",
"type": "string"
}
}
},
"github_com_Tencent_WeKnora_internal_types.MCPTransportType": {
"type": "string",
"enum": [
"sse",
"http-streamable",
"stdio"
],
"x-enum-comments": {
"MCPTransportHTTPStreamable": "HTTP Streamable",
"MCPTransportSSE": "Server-Sent Events",
"MCPTransportStdio": "Stdio (Standard Input/Output)"
},
"x-enum-descriptions": [
"Server-Sent Events",
"HTTP Streamable",
"Stdio (Standard Input/Output)"
],
"x-enum-varnames": [
"MCPTransportSSE",
"MCPTransportHTTPStreamable",
"MCPTransportStdio"
]
},
"github_com_Tencent_WeKnora_internal_types.ManualKnowledgePayload": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"status": {
"type": "string"
},
"title": {
"type": "string"
}
}
},
"github_com_Tencent_WeKnora_internal_types.MatchType": {
"type": "integer",
"enum": [
0,
1,
2,
3,
4,
5,
6,
7,
8
],
"x-enum-comments": {
"MatchTypeDirectLoad": "直接加载匹配类型",
"MatchTypeParentChunk": "父Chunk匹配类型",
"MatchTypeRelationChunk": "关系Chunk匹配类型",
"MatchTypeWebSearch": "网络搜索匹配类型"
},
"x-enum-descriptions": [
"",
"",
"",
"",
"父Chunk匹配类型",
"关系Chunk匹配类型",
"",
"网络搜索匹配类型",
"直接加载匹配类型"
],
"x-enum-varnames": [
"MatchTypeEmbedding",
"MatchTypeKeywords",
"MatchTypeNearByChunk",
"MatchTypeHistory",
"MatchTypeParentChunk",
"MatchTypeRelationChunk",
"MatchTypeGraph",
"MatchTypeWebSearch",
"MatchTypeDirectLoad"
]
},
"github_com_Tencent_WeKnora_internal_types.MentionedItem": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"kb_type": {
"description": "\"document\" or \"faq\" (only for kb type)",
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"description": "\"kb\" for knowledge base, \"file\" for file",
"type": "string"
}
}
},
"github_com_Tencent_WeKnora_internal_types.Message": {
"type": "object",
"properties": {
"agent_steps": {
"description": "Agent execution steps (only for assistant messages generated by agent)\nThis contains the detailed reasoning process and tool calls made by the agent\nStored for user history display, but NOT included in LLM context to avoid redundancy",
"type": "array",
"items": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.AgentStep"
}
},
"content": {
"description": "Message text content",
"type": "string"
},
"created_at": {
"description": "Message creation timestamp",
"type": "string"
},
"deleted_at": {
"description": "Soft delete timestamp",
"allOf": [
{
"$ref": "#/definitions/gorm.DeletedAt"
}
]
},
"id": {
"description": "Unique identifier for the message",
"type": "string"
},
"is_completed": {
"description": "Whether message generation is complete",
"type": "boolean"
},
"knowledge_references": {
"description": "References to knowledge chunks used in the response",
"type": "array",
"items": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.SearchResult"
}
},
"mentioned_items": {
"description": "Mentioned knowledge bases and files (for user messages)\nStores the @mentioned items when user sends a message",
"type": "array",
"items": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.MentionedItem"
}
},
"request_id": {
"description": "Request identifier for tracking API requests",
"type": "string"
},
"role": {
"description": "Message role: \"user\", \"assistant\", \"system\"",
"type": "string"
},
"session_id": {
"description": "ID of the session this message belongs to",
"type": "string"
},
"updated_at": {
"description": "Last update timestamp",
"type": "string"
}
}
},
"github_com_Tencent_WeKnora_internal_types.ModelParameters": {
"type": "object",
"properties": {
"api_key": {
"type": "string"
},
"base_url": {
"type": "string"
},
"embedding_parameters": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.EmbeddingParameters"
},
"interface_type": {
"type": "string"
},
"parameter_size": {
"description": "Ollama model parameter size (e.g., \"7B\", \"13B\", \"70B\")",
"type": "string"
}
}
},
"github_com_Tencent_WeKnora_internal_types.ModelSource": {
"type": "string",
"enum": [
"local",
"remote",
"aliyun"
],
"x-enum-comments": {
"ModelSourceAliyun": "Aliyun DashScope model",
"ModelSourceLocal": "Local model",
"ModelSourceRemote": "Remote model"
},
"x-enum-descriptions": [
"Local model",
"Remote model",
"Aliyun DashScope model"
],
"x-enum-varnames": [
"ModelSourceLocal",
"ModelSourceRemote",
"ModelSourceAliyun"
]
},
"github_com_Tencent_WeKnora_internal_types.ModelType": {
"type": "string",
"enum": [
"Embedding",
"Rerank",
"KnowledgeQA",
"VLLM"
],
"x-enum-comments": {
"ModelTypeEmbedding": "Embedding model",
"ModelTypeKnowledgeQA": "KnowledgeQA model",
"ModelTypeRerank": "Rerank model",
"ModelTypeVLLM": "VLLM model"
},
"x-enum-descriptions": [
"Embedding model",
"Rerank model",
"KnowledgeQA model",
"VLLM model"
],
"x-enum-varnames": [
"ModelTypeEmbedding",
"ModelTypeRerank",
"ModelTypeKnowledgeQA",
"ModelTypeVLLM"
]
},
"github_com_Tencent_WeKnora_internal_types.QuestionGenerationConfig": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"question_count": {
"description": "Number of questions to generate per chunk (default: 3, max: 10)",
"type": "integer"
}
}
},
"github_com_Tencent_WeKnora_internal_types.RegisterRequest": {
"type": "object",
"required": [
"email",
"password",
"username"
],
"properties": {
"email": {
"type": "string"
},
"password": {
"type": "string",
"minLength": 6
},
"username": {
"type": "string",
"maxLength": 50,
"minLength": 3
}
}
},
"github_com_Tencent_WeKnora_internal_types.RegisterResponse": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"success": {
"type": "boolean"
},
"tenant": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.Tenant"
},
"user": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.User"
}
}
},
"github_com_Tencent_WeKnora_internal_types.RetrieverEngineParams": {
"type": "object",
"properties": {
"retriever_engine_type": {
"description": "Retriever engine type",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.RetrieverEngineType"
}
]
},
"retriever_type": {
"description": "Retriever type",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.RetrieverType"
}
]
}
}
},
"github_com_Tencent_WeKnora_internal_types.RetrieverEngineType": {
"type": "string",
"enum": [
"postgres",
"elasticsearch",
"infinity",
"elasticfaiss",
"qdrant"
],
"x-enum-varnames": [
"PostgresRetrieverEngineType",
"ElasticsearchRetrieverEngineType",
"InfinityRetrieverEngineType",
"ElasticFaissRetrieverEngineType",
"QdrantRetrieverEngineType"
]
},
"github_com_Tencent_WeKnora_internal_types.RetrieverEngines": {
"type": "object",
"properties": {
"engines": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.RetrieverEngineParams"
}
}
}
},
"github_com_Tencent_WeKnora_internal_types.RetrieverType": {
"type": "string",
"enum": [
"keywords",
"vector",
"websearch"
],
"x-enum-comments": {
"KeywordsRetrieverType": "Keywords retriever",
"VectorRetrieverType": "Vector retriever",
"WebSearchRetrieverType": "Web search retriever"
},
"x-enum-descriptions": [
"Keywords retriever",
"Vector retriever",
"Web search retriever"
],
"x-enum-varnames": [
"KeywordsRetrieverType",
"VectorRetrieverType",
"WebSearchRetrieverType"
]
},
"github_com_Tencent_WeKnora_internal_types.SearchParams": {
"type": "object",
"properties": {
"disable_keywords_match": {
"type": "boolean"
},
"disable_vector_match": {
"type": "boolean"
},
"keyword_threshold": {
"type": "number"
},
"knowledge_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"match_count": {
"type": "integer"
},
"query_text": {
"type": "string"
},
"vector_threshold": {
"type": "number"
}
}
},
"github_com_Tencent_WeKnora_internal_types.SearchResult": {
"type": "object",
"properties": {
"chunk_index": {
"description": "Chunk index",
"type": "integer"
},
"chunk_metadata": {
"description": "ChunkMetadata stores chunk-level metadata (e.g., generated questions)",
"type": "array",
"items": {
"type": "integer"
}
},
"chunk_type": {
"description": "Chunk 类型",
"type": "string"
},
"content": {
"description": "Content",
"type": "string"
},
"end_at": {
"description": "End at",
"type": "integer"
},
"id": {
"description": "ID",
"type": "string"
},
"image_info": {
"description": "图片信息 (JSON 格式)",
"type": "string"
},
"knowledge_filename": {
"description": "Knowledge file name\nUsed for file type knowledge, contains the original file name",
"type": "string"
},
"knowledge_id": {
"description": "Knowledge ID",
"type": "string"
},
"knowledge_source": {
"description": "Knowledge source\nUsed to indicate the source of the knowledge, such as \"url\"",
"type": "string"
},
"knowledge_title": {
"description": "Knowledge title",
"type": "string"
},
"match_type": {
"description": "Match type",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.MatchType"
}
]
},
"metadata": {
"description": "Metadata",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"parent_chunk_id": {
"description": "父 Chunk ID",
"type": "string"
},
"score": {
"description": "Score",
"type": "number"
},
"seq": {
"description": "Seq",
"type": "integer"
},
"start_at": {
"description": "Start at",
"type": "integer"
},
"sub_chunk_id": {
"description": "SubChunkIndex",
"type": "array",
"items": {
"type": "string"
}
}
}
},
"github_com_Tencent_WeKnora_internal_types.Session": {
"type": "object",
"properties": {
"agent_config": {
"description": "Agent 配置会话级别仅存储enabled和knowledge_bases",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.SessionAgentConfig"
}
]
},
"context_config": {
"description": "上下文管理配置(可选)",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.ContextConfig"
}
]
},
"created_at": {
"type": "string"
},
"deleted_at": {
"$ref": "#/definitions/gorm.DeletedAt"
},
"description": {
"description": "Description",
"type": "string"
},
"embedding_top_k": {
"description": "向量召回TopK",
"type": "integer"
},
"enable_rewrite": {
"description": "多轮改写开关",
"type": "boolean"
},
"fallback_response": {
"description": "固定回复内容",
"type": "string"
},
"fallback_strategy": {
"description": "兜底策略",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.FallbackStrategy"
}
]
},
"id": {
"description": "ID",
"type": "string"
},
"keyword_threshold": {
"description": "关键词召回阈值",
"type": "number"
},
"knowledge_base_id": {
"description": "Strategy configuration",
"type": "string"
},
"max_rounds": {
"description": "多轮保持轮数",
"type": "integer"
},
"rerank_model_id": {
"description": "排序模型ID",
"type": "string"
},
"rerank_threshold": {
"description": "排序阈值",
"type": "number"
},
"rerank_top_k": {
"description": "排序TopK",
"type": "integer"
},
"summary_model_id": {
"description": "总结模型ID",
"type": "string"
},
"summary_parameters": {
"description": "总结模型参数",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.SummaryConfig"
}
]
},
"tenant_id": {
"description": "Tenant ID",
"type": "integer"
},
"title": {
"description": "Title",
"type": "string"
},
"updated_at": {
"type": "string"
},
"vector_threshold": {
"description": "向量召回阈值",
"type": "number"
}
}
},
"github_com_Tencent_WeKnora_internal_types.SessionAgentConfig": {
"type": "object",
"properties": {
"agent_mode_enabled": {
"description": "Whether agent mode is enabled for this session",
"type": "boolean"
},
"knowledge_bases": {
"description": "Accessible knowledge base IDs for this session",
"type": "array",
"items": {
"type": "string"
}
},
"knowledge_ids": {
"description": "Accessible knowledge IDs (individual documents) for this session",
"type": "array",
"items": {
"type": "string"
}
},
"web_search_enabled": {
"description": "Whether web search is enabled for this session",
"type": "boolean"
}
}
},
"github_com_Tencent_WeKnora_internal_types.StorageConfig": {
"type": "object",
"properties": {
"app_id": {
"description": "App ID",
"type": "string"
},
"bucket_name": {
"description": "Bucket Name",
"type": "string"
},
"path_prefix": {
"description": "Path Prefix",
"type": "string"
},
"provider": {
"description": "Provider",
"type": "string"
},
"region": {
"description": "Region",
"type": "string"
},
"secret_id": {
"description": "Secret ID",
"type": "string"
},
"secret_key": {
"description": "Secret Key",
"type": "string"
}
}
},
"github_com_Tencent_WeKnora_internal_types.SummaryConfig": {
"type": "object",
"properties": {
"context_template": {
"description": "Context template",
"type": "string"
},
"frequency_penalty": {
"description": "Frequency penalty",
"type": "number"
},
"max_completion_tokens": {
"description": "Max completion tokens",
"type": "integer"
},
"max_tokens": {
"description": "Max tokens",
"type": "integer"
},
"no_match_prefix": {
"description": "No match prefix",
"type": "string"
},
"presence_penalty": {
"description": "Presence penalty",
"type": "number"
},
"prompt": {
"description": "Prompt",
"type": "string"
},
"repeat_penalty": {
"description": "Repeat penalty",
"type": "number"
},
"seed": {
"description": "Seed",
"type": "integer"
},
"temperature": {
"description": "Temperature",
"type": "number"
},
"top_k": {
"description": "TopK",
"type": "integer"
},
"top_p": {
"description": "TopP",
"type": "number"
}
}
},
"github_com_Tencent_WeKnora_internal_types.Tenant": {
"type": "object",
"properties": {
"agent_config": {
"description": "Global Agent configuration for this tenant (default for all sessions)",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.AgentConfig"
}
]
},
"api_key": {
"description": "API key",
"type": "string"
},
"business": {
"description": "Business",
"type": "string"
},
"context_config": {
"description": "Global Context configuration for this tenant (default for all sessions)",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.ContextConfig"
}
]
},
"conversation_config": {
"description": "Global Conversation configuration for this tenant (default for normal mode sessions)",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.ConversationConfig"
}
]
},
"created_at": {
"description": "Creation time",
"type": "string"
},
"deleted_at": {
"description": "Deletion time",
"allOf": [
{
"$ref": "#/definitions/gorm.DeletedAt"
}
]
},
"description": {
"description": "Description",
"type": "string"
},
"id": {
"description": "ID",
"type": "integer"
},
"name": {
"description": "Name",
"type": "string"
},
"retriever_engines": {
"description": "Retriever engines",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.RetrieverEngines"
}
]
},
"status": {
"description": "Status",
"type": "string"
},
"storage_quota": {
"description": "Storage quota (Bytes), default is 10GB, including vector, original file, text, index, etc.",
"type": "integer"
},
"storage_used": {
"description": "Storage used (Bytes)",
"type": "integer"
},
"updated_at": {
"description": "Last updated time",
"type": "string"
},
"web_search_config": {
"description": "Global WebSearch configuration for this tenant",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.WebSearchConfig"
}
]
}
}
},
"github_com_Tencent_WeKnora_internal_types.ToolCall": {
"type": "object",
"properties": {
"args": {
"description": "Tool arguments",
"type": "object",
"additionalProperties": true
},
"duration": {
"description": "Execution time in milliseconds",
"type": "integer"
},
"id": {
"description": "Function call ID from LLM",
"type": "string"
},
"name": {
"description": "Tool name",
"type": "string"
},
"reflection": {
"description": "Agent's reflection on this tool call result (if enabled)",
"type": "string"
},
"result": {
"description": "Execution result (contains Output)",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.ToolResult"
}
]
}
}
},
"github_com_Tencent_WeKnora_internal_types.ToolResult": {
"type": "object",
"properties": {
"data": {
"description": "Structured data for programmatic use",
"type": "object",
"additionalProperties": true
},
"error": {
"description": "Error message if execution failed",
"type": "string"
},
"output": {
"description": "Human-readable output",
"type": "string"
},
"success": {
"description": "Whether the tool executed successfully",
"type": "boolean"
}
}
},
"github_com_Tencent_WeKnora_internal_types.User": {
"type": "object",
"properties": {
"avatar": {
"description": "Avatar URL of the user",
"type": "string"
},
"can_access_all_tenants": {
"description": "Whether the user can access all tenants (cross-tenant access)",
"type": "boolean"
},
"created_at": {
"description": "Creation time of the user",
"type": "string"
},
"deleted_at": {
"description": "Deletion time of the user",
"allOf": [
{
"$ref": "#/definitions/gorm.DeletedAt"
}
]
},
"email": {
"description": "Email address of the user",
"type": "string"
},
"id": {
"description": "Unique identifier of the user",
"type": "string"
},
"is_active": {
"description": "Whether the user is active",
"type": "boolean"
},
"tenant": {
"description": "Association relationship, not stored in the database",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.Tenant"
}
]
},
"tenant_id": {
"description": "Tenant ID that the user belongs to",
"type": "integer"
},
"updated_at": {
"description": "Last updated time of the user",
"type": "string"
},
"username": {
"description": "Username of the user",
"type": "string"
}
}
},
"github_com_Tencent_WeKnora_internal_types.VLMConfig": {
"type": "object",
"properties": {
"api_key": {
"description": "API Key",
"type": "string"
},
"base_url": {
"description": "Base URL",
"type": "string"
},
"enabled": {
"type": "boolean"
},
"interface_type": {
"description": "Interface Type: \"ollama\" or \"openai\"",
"type": "string"
},
"model_id": {
"type": "string"
},
"model_name": {
"description": "兼容老版本\nModel Name",
"type": "string"
}
}
},
"github_com_Tencent_WeKnora_internal_types.WebSearchConfig": {
"type": "object",
"properties": {
"api_key": {
"description": "API密钥如果需要",
"type": "string"
},
"blacklist": {
"description": "黑名单规则列表",
"type": "array",
"items": {
"type": "string"
}
},
"compression_method": {
"description": "压缩方法none, summary, extract, rag",
"type": "string"
},
"document_fragments": {
"description": "文档片段数量用于RAG压缩",
"type": "integer"
},
"embedding_dimension": {
"description": "嵌入维度用于RAG压缩",
"type": "integer"
},
"embedding_model_id": {
"description": "RAG压缩相关配置",
"type": "string"
},
"include_date": {
"description": "是否包含日期",
"type": "boolean"
},
"max_results": {
"description": "最大搜索结果数",
"type": "integer"
},
"provider": {
"description": "搜索引擎提供商ID",
"type": "string"
},
"rerank_model_id": {
"description": "重排模型ID用于RAG压缩",
"type": "string"
}
}
},
"gorm.DeletedAt": {
"type": "object",
"properties": {
"time": {
"type": "string"
},
"valid": {
"description": "Valid is true if Time is not NULL",
"type": "boolean"
}
}
},
"internal_handler.CopyKnowledgeBaseRequest": {
"type": "object",
"required": [
"source_id"
],
"properties": {
"source_id": {
"type": "string"
},
"target_id": {
"type": "string"
}
}
},
"internal_handler.CreateModelRequest": {
"type": "object",
"required": [
"name",
"parameters",
"source",
"type"
],
"properties": {
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"parameters": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.ModelParameters"
},
"source": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.ModelSource"
},
"type": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.ModelType"
}
}
},
"internal_handler.EvaluationRequest": {
"type": "object",
"properties": {
"chat_id": {
"description": "ID of chat model to use",
"type": "string"
},
"dataset_id": {
"description": "ID of dataset to evaluate",
"type": "string"
},
"knowledge_base_id": {
"description": "ID of knowledge base to use",
"type": "string"
},
"rerank_id": {
"description": "ID of rerank model to use",
"type": "string"
}
}
},
"internal_handler.FabriTextRequest": {
"type": "object",
"properties": {
"llm_config": {
"$ref": "#/definitions/internal_handler.LLMConfig"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"internal_handler.GetSystemInfoResponse": {
"type": "object",
"properties": {
"build_time": {
"type": "string"
},
"commit_id": {
"type": "string"
},
"go_version": {
"type": "string"
},
"graph_database_engine": {
"type": "string"
},
"keyword_index_engine": {
"type": "string"
},
"minio_enabled": {
"type": "boolean"
},
"vector_store_engine": {
"type": "string"
},
"version": {
"type": "string"
}
}
},
"internal_handler.KBModelConfigRequest": {
"type": "object",
"required": [
"embeddingModelId",
"llmModelId"
],
"properties": {
"documentSplitting": {
"description": "文档分块配置",
"type": "object",
"properties": {
"chunkOverlap": {
"type": "integer"
},
"chunkSize": {
"type": "integer"
},
"separators": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"embeddingModelId": {
"type": "string"
},
"llmModelId": {
"type": "string"
},
"multimodal": {
"description": "多模态配置",
"type": "object",
"properties": {
"cos": {
"type": "object",
"properties": {
"appId": {
"type": "string"
},
"bucketName": {
"type": "string"
},
"pathPrefix": {
"type": "string"
},
"region": {
"type": "string"
},
"secretId": {
"type": "string"
},
"secretKey": {
"type": "string"
}
}
},
"enabled": {
"type": "boolean"
},
"minio": {
"type": "object",
"properties": {
"bucketName": {
"type": "string"
},
"pathPrefix": {
"type": "string"
},
"useSSL": {
"type": "boolean"
}
}
},
"storageType": {
"description": "\"cos\" or \"minio\"",
"type": "string"
}
}
},
"nodeExtract": {
"description": "知识图谱配置",
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"nodes": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.GraphNode"
}
},
"relations": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.GraphRelation"
}
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"text": {
"type": "string"
}
}
},
"questionGeneration": {
"description": "问题生成配置",
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"questionCount": {
"type": "integer"
}
}
},
"vlm_config": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.VLMConfig"
}
}
},
"internal_handler.LLMConfig": {
"type": "object",
"properties": {
"api_key": {
"type": "string"
},
"base_url": {
"type": "string"
},
"model_name": {
"type": "string"
},
"source": {
"type": "string"
}
}
},
"internal_handler.RemoteModelCheckRequest": {
"type": "object",
"required": [
"baseUrl",
"modelName"
],
"properties": {
"apiKey": {
"type": "string"
},
"baseUrl": {
"type": "string"
},
"modelName": {
"type": "string"
}
}
},
"internal_handler.TextRelationExtractionRequest": {
"type": "object",
"required": [
"tags",
"text"
],
"properties": {
"llm_config": {
"$ref": "#/definitions/internal_handler.LLMConfig"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"text": {
"type": "string"
}
}
},
"internal_handler.UpdateChunkRequest": {
"type": "object",
"properties": {
"chunk_index": {
"type": "integer"
},
"content": {
"type": "string"
},
"embedding": {
"type": "array",
"items": {
"type": "number"
}
},
"end_at": {
"type": "integer"
},
"image_info": {
"type": "string"
},
"is_enabled": {
"type": "boolean"
},
"start_at": {
"type": "integer"
}
}
},
"internal_handler.UpdateKnowledgeBaseRequest": {
"type": "object",
"required": [
"config",
"name"
],
"properties": {
"config": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.KnowledgeBaseConfig"
},
"description": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"internal_handler.UpdateModelRequest": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"parameters": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.ModelParameters"
},
"source": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.ModelSource"
},
"type": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.ModelType"
}
}
},
"internal_handler_session.CreateKnowledgeQARequest": {
"type": "object",
"required": [
"query"
],
"properties": {
"agent_enabled": {
"description": "Whether agent mode is enabled for this request",
"type": "boolean"
},
"knowledge_base_ids": {
"description": "Selected knowledge base ID for this request",
"type": "array",
"items": {
"type": "string"
}
},
"knowledge_ids": {
"description": "Selected knowledge ID for this request",
"type": "array",
"items": {
"type": "string"
}
},
"mentioned_items": {
"description": "@mentioned knowledge bases and files",
"type": "array",
"items": {
"$ref": "#/definitions/internal_handler_session.MentionedItemRequest"
}
},
"query": {
"description": "Query text for knowledge base search",
"type": "string"
},
"summary_model_id": {
"description": "Optional summary model ID for this request (overrides session default)",
"type": "string"
},
"web_search_enabled": {
"description": "Whether web search is enabled for this request",
"type": "boolean"
}
}
},
"internal_handler_session.CreateSessionRequest": {
"type": "object",
"properties": {
"agent_config": {
"description": "Agent configuration (optional, session-level config only: enabled and knowledge_bases)",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.SessionAgentConfig"
}
]
},
"knowledge_base_id": {
"description": "ID of the associated knowledge base (optional, can be set/changed during queries)",
"type": "string"
},
"session_strategy": {
"description": "Session strategy configuration",
"allOf": [
{
"$ref": "#/definitions/internal_handler_session.SessionStrategy"
}
]
}
}
},
"internal_handler_session.GenerateTitleRequest": {
"type": "object",
"required": [
"messages"
],
"properties": {
"messages": {
"description": "Messages to use as context for title generation",
"type": "array",
"items": {
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.Message"
}
}
}
},
"internal_handler_session.MentionedItemRequest": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"kb_type": {
"description": "\"document\" or \"faq\" (only for kb type)",
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"description": "\"kb\" for knowledge base, \"file\" for file",
"type": "string"
}
}
},
"internal_handler_session.SearchKnowledgeRequest": {
"type": "object",
"required": [
"query"
],
"properties": {
"knowledge_base_id": {
"description": "Single knowledge base ID (for backward compatibility)",
"type": "string"
},
"knowledge_base_ids": {
"description": "IDs of knowledge bases to search (multi-KB support)",
"type": "array",
"items": {
"type": "string"
}
},
"knowledge_ids": {
"description": "IDs of specific knowledge (files) to search",
"type": "array",
"items": {
"type": "string"
}
},
"query": {
"description": "Query text to search for",
"type": "string"
}
}
},
"internal_handler_session.SessionStrategy": {
"type": "object",
"properties": {
"embedding_top_k": {
"description": "Number of top results to retrieve from vector search",
"type": "integer"
},
"enable_rewrite": {
"description": "Whether to enable query rewrite for multi-round conversations",
"type": "boolean"
},
"fallback_response": {
"description": "Fixed response content for fallback",
"type": "string"
},
"fallback_strategy": {
"description": "Strategy to use when no relevant knowledge is found",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.FallbackStrategy"
}
]
},
"keyword_threshold": {
"description": "Threshold for keyword-based retrieval",
"type": "number"
},
"max_rounds": {
"description": "Maximum number of conversation rounds to maintain",
"type": "integer"
},
"no_match_prefix": {
"description": "Prefix for responses when no match is found",
"type": "string"
},
"rerank_model_id": {
"description": "ID of the model used for reranking results",
"type": "string"
},
"rerank_threshold": {
"description": "Threshold for reranking results",
"type": "number"
},
"rerank_top_k": {
"description": "Number of top results after reranking",
"type": "integer"
},
"summary_model_id": {
"description": "ID of the model used for summarization",
"type": "string"
},
"summary_parameters": {
"description": "Parameters for the summary model",
"allOf": [
{
"$ref": "#/definitions/github_com_Tencent_WeKnora_internal_types.SummaryConfig"
}
]
},
"vector_threshold": {
"description": "Threshold for vector-based retrieval",
"type": "number"
}
}
},
"internal_handler_session.StopSessionRequest": {
"type": "object",
"required": [
"message_id"
],
"properties": {
"message_id": {
"type": "string"
}
}
}
},
"securityDefinitions": {
"ApiKeyAuth": {
"description": "租户身份认证:输入 sk- 开头的 API Key",
"type": "apiKey",
"name": "X-API-Key",
"in": "header"
},
"Bearer": {
"description": "用户登录认证:输入 Bearer {token} 格式的 JWT 令牌",
"type": "apiKey",
"name": "Authorization",
"in": "header"
}
}
}`
// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = &swag.Spec{
Version: "1.0",
Host: "",
BasePath: "/api/v1",
Schemes: []string{},
Title: "WeKnora API",
Description: "WeKnora 知识库管理系统 API 文档",
InfoInstanceName: "swagger",
SwaggerTemplate: docTemplate,
LeftDelim: "{{",
RightDelim: "}}",
}
func init() {
swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
}