Skip to content

Latest commit

 

History

History
402 lines (330 loc) · 9.16 KB

File metadata and controls

402 lines (330 loc) · 9.16 KB

初始化配置 API

返回目录

方法 路径 描述
GET /initialization/config/:kb_id 获取知识库初始化配置
POST /initialization/initialize/:kb_id 初始化知识库模型配置
PUT /initialization/config/:kb_id 更新知识库模型配置
GET /initialization/ollama/status 检查 Ollama 状态
GET /initialization/ollama/models 获取本地 Ollama 模型列表
POST /initialization/ollama/models/check 检查 Ollama 模型是否可用
POST /initialization/ollama/models/download 下载 Ollama 模型
GET /initialization/ollama/download/progress/:task_id 获取下载进度
GET /initialization/ollama/download/tasks 获取所有下载任务
POST /initialization/remote/check 检查远程模型 API
POST /initialization/embedding/test 测试嵌入模型
POST /initialization/rerank/check 检查重排序模型
POST /initialization/multimodal/test 测试多模态模型
POST /initialization/extract/text-relation 提取文本关系

GET /initialization/config/:kb_id - 获取知识库初始化配置

请求:

curl --location 'http://localhost:8080/api/v1/initialization/config/kb-00000001' \
--header 'X-API-Key: sk-xxxxx' \
--header 'Content-Type: application/json'

响应:

{
    "data": {
        "chat_model_id": "model-00000001",
        "embedding_model_id": "model-00000002",
        "rerank_model_id": "model-00000003",
        "multimodal_id": "model-00000004"
    },
    "success": true
}

POST /initialization/initialize/:kb_id - 初始化知识库模型配置

请求:

curl --location 'http://localhost:8080/api/v1/initialization/initialize/kb-00000001' \
--header 'X-API-Key: sk-xxxxx' \
--header 'Content-Type: application/json' \
--data '{
    "chat_model_id": "model-00000001",
    "embedding_model_id": "model-00000002",
    "rerank_model_id": "model-00000003",
    "multimodal_id": "model-00000004"
}'

响应:

{
    "success": true
}

PUT /initialization/config/:kb_id - 更新知识库模型配置

请求:

curl --location --request PUT 'http://localhost:8080/api/v1/initialization/config/kb-00000001' \
--header 'X-API-Key: sk-xxxxx' \
--header 'Content-Type: application/json' \
--data '{
    "chat_model_id": "model-00000010",
    "embedding_model_id": "model-00000002"
}'

响应:

{
    "success": true
}

GET /initialization/ollama/status - 检查 Ollama 状态

请求:

curl --location 'http://localhost:8080/api/v1/initialization/ollama/status' \
--header 'X-API-Key: sk-xxxxx' \
--header 'Content-Type: application/json'

响应:

{
    "data": {
        "available": true
    },
    "success": true
}

GET /initialization/ollama/models - 获取本地 Ollama 模型列表

请求:

curl --location 'http://localhost:8080/api/v1/initialization/ollama/models' \
--header 'X-API-Key: sk-xxxxx' \
--header 'Content-Type: application/json'

响应:

{
    "data": [
        {
            "name": "llama3:8b",
            "size": 4661211648,
            "modified_at": "2025-08-10T15:30:00+08:00"
        },
        {
            "name": "nomic-embed-text:latest",
            "size": 274302976,
            "modified_at": "2025-08-11T09:00:00+08:00"
        }
    ],
    "success": true
}

POST /initialization/ollama/models/check - 检查 Ollama 模型是否可用

请求:

curl --location 'http://localhost:8080/api/v1/initialization/ollama/models/check' \
--header 'X-API-Key: sk-xxxxx' \
--header 'Content-Type: application/json' \
--data '{
    "models": ["llama3:8b", "nomic-embed-text:latest", "mistral:7b"]
}'

响应:

{
    "data": {
        "llama3:8b": true,
        "nomic-embed-text:latest": true,
        "mistral:7b": false
    },
    "success": true
}

POST /initialization/ollama/models/download - 下载 Ollama 模型

请求:

curl --location 'http://localhost:8080/api/v1/initialization/ollama/models/download' \
--header 'X-API-Key: sk-xxxxx' \
--header 'Content-Type: application/json' \
--data '{
    "model": "mistral:7b"
}'

响应:

{
    "data": {
        "id": "task-00000001",
        "modelName": "mistral:7b",
        "status": "downloading",
        "progress": 0,
        "message": "开始下载",
        "startTime": "2025-08-12T10:00:00+08:00"
    },
    "success": true
}

GET /initialization/ollama/download/progress/:task_id - 获取下载进度

请求:

curl --location 'http://localhost:8080/api/v1/initialization/ollama/download/progress/task-00000001' \
--header 'X-API-Key: sk-xxxxx' \
--header 'Content-Type: application/json'

响应:

{
    "data": {
        "id": "task-00000001",
        "modelName": "mistral:7b",
        "status": "downloading",
        "progress": 45.6,
        "message": "正在下载 2.1GB / 4.6GB",
        "startTime": "2025-08-12T10:00:00+08:00"
    },
    "success": true
}

GET /initialization/ollama/download/tasks - 获取所有下载任务

请求:

curl --location 'http://localhost:8080/api/v1/initialization/ollama/download/tasks' \
--header 'X-API-Key: sk-xxxxx' \
--header 'Content-Type: application/json'

响应:

{
    "data": [
        {
            "id": "task-00000001",
            "modelName": "mistral:7b",
            "status": "completed",
            "progress": 100,
            "message": "下载完成",
            "startTime": "2025-08-12T10:00:00+08:00",
            "endTime": "2025-08-12T10:15:00+08:00"
        },
        {
            "id": "task-00000002",
            "modelName": "llama3:70b",
            "status": "downloading",
            "progress": 30.2,
            "message": "正在下载 12.5GB / 41.4GB",
            "startTime": "2025-08-12T10:20:00+08:00"
        }
    ],
    "success": true
}

POST /initialization/remote/check - 检查远程模型 API

请求:

curl --location 'http://localhost:8080/api/v1/initialization/remote/check' \
--header 'X-API-Key: sk-xxxxx' \
--header 'Content-Type: application/json' \
--data '{
    "api_url": "https://api.openai.com/v1",
    "api_key": "sk-xxxxx",
    "model": "gpt-4o"
}'

响应:

{
    "data": {
        "success": true,
        "message": "模型可用"
    },
    "success": true
}

POST /initialization/embedding/test - 测试嵌入模型

请求:

curl --location 'http://localhost:8080/api/v1/initialization/embedding/test' \
--header 'X-API-Key: sk-xxxxx' \
--header 'Content-Type: application/json' \
--data '{
    "api_url": "https://api.openai.com/v1",
    "api_key": "sk-xxxxx",
    "model": "text-embedding-3-small"
}'

响应:

{
    "data": {
        "success": true,
        "message": "嵌入模型测试通过"
    },
    "success": true
}

POST /initialization/rerank/check - 检查重排序模型

请求:

curl --location 'http://localhost:8080/api/v1/initialization/rerank/check' \
--header 'X-API-Key: sk-xxxxx' \
--header 'Content-Type: application/json' \
--data '{
    "api_url": "https://api.cohere.ai/v1",
    "api_key": "sk-xxxxx",
    "model": "rerank-english-v3.0"
}'

响应:

{
    "data": {
        "success": true,
        "message": "重排序模型可用"
    },
    "success": true
}

POST /initialization/multimodal/test - 测试多模态模型

请求:

curl --location 'http://localhost:8080/api/v1/initialization/multimodal/test' \
--header 'X-API-Key: sk-xxxxx' \
--header 'Content-Type: application/json' \
--data '{
    "api_url": "https://api.openai.com/v1",
    "api_key": "sk-xxxxx",
    "model": "gpt-4o"
}'

响应:

{
    "data": {
        "success": true,
        "message": "多模态模型测试通过"
    },
    "success": true
}

POST /initialization/extract/text-relation - 提取文本关系

请求:

curl --location 'http://localhost:8080/api/v1/initialization/extract/text-relation' \
--header 'X-API-Key: sk-xxxxx' \
--header 'Content-Type: application/json' \
--data '{
    "text": "WeKnora 是一个知识管理平台,支持多种文档格式的解析和检索。",
    "model_id": "model-00000001"
}'

响应:

{
    "data": {
        "entities": [
            {"name": "WeKnora", "type": "Product"},
            {"name": "知识管理平台", "type": "Concept"}
        ],
        "relations": [
            {
                "source": "WeKnora",
                "target": "知识管理平台",
                "relation": "is_a"
            }
        ]
    },
    "success": true
}