geo/docs/04-API文档/knowledge.md

2.9 KiB

知识库API

知识库API位于 backend/app/api/knowledge.py

端点列表

方法 路径 说明
GET /api/v1/knowledge/bases 获取知识库列表
POST /api/v1/knowledge/bases 创建知识库
GET /api/v1/knowledge/bases/{id} 获取知识库详情
PUT /api/v1/knowledge/bases/{id} 更新知识库
DELETE /api/v1/knowledge/bases/{id} 删除知识库
POST /api/v1/knowledge/bases/{id}/documents 上传文档
GET /api/v1/knowledge/bases/{id}/documents 获取文档列表
DELETE /api/v1/knowledge/bases/{id}/documents/{doc_id} 删除文档
POST /api/v1/knowledge/search 搜索知识
GET /api/v1/knowledge/entities 获取实体列表
GET /api/v1/knowledge/relations 获取关系列表

获取知识库列表

GET /api/v1/knowledge/bases

响应

{
  "success": true,
  "data": {
    "items": [
      {
        "id": "uuid",
        "name": "知识库名称",
        "description": "知识库描述",
        "document_count": 100,
        "created_at": "2024-01-01T00:00:00Z"
      }
    ],
    "total": 10
  }
}

创建知识库

POST /api/v1/knowledge/bases

请求体

{
  "name": "知识库名称",
  "description": "知识库描述",
  "embedding_model": "text-embedding-ada-002"
}

上传文档

POST /api/v1/knowledge/bases/{id}/documents

请求体 (multipart/form-data)

字段 类型 说明
file file 文档文件
title string 文档标题
tags string[] 标签

支持格式

  • PDF
  • TXT
  • Markdown
  • DOCX

搜索知识

POST /api/v1/knowledge/search

请求体

{
  "query": "搜索关键词",
  "knowledge_base_ids": ["uuid1", "uuid2"],
  "top_k": 10
}

响应

{
  "success": true,
  "data": {
    "results": [
      {
        "content": "相关内容片段",
        "document_id": "uuid",
        "document_title": "文档标题",
        "similarity": 0.95,
        "metadata": {}
      }
    ]
  }
}

知识图谱API

知识图谱API位于 backend/app/api/knowledge_graph.py

获取实体列表

GET /api/v1/knowledge/entities

查询参数

参数 类型 说明
entity_type string 实体类型
brand_id uuid 品牌ID

响应

{
  "success": true,
  "data": {
    "items": [
      {
        "id": "uuid",
        "name": "实体名称",
        "type": "brand",
        "properties": {},
        "created_at": "2024-01-01T00:00:00Z"
      }
    ]
  }
}

获取关系列表

GET /api/v1/knowledge/relations

响应

{
  "success": true,
  "data": {
    "items": [
      {
        "id": "uuid",
        "source_id": "uuid",
        "target_id": "uuid",
        "relation_type": "competes_with",
        "properties": {},
        "created_at": "2024-01-01T00:00:00Z"
      }
    ]
  }
}