2024-03-27 10:12:28 +08:00

89 lines
3.1 KiB
Python
Raw Permalink 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.

from __future__ import annotations
from typing import List
from fastapi import APIRouter, Request
from chatchat.server.chat.file_chat import upload_temp_docs
from chatchat.server.knowledge_base.kb_api import list_kbs, create_kb, delete_kb
from chatchat.server.knowledge_base.kb_doc_api import (list_files, upload_docs, delete_docs,
update_docs, download_doc, recreate_vector_store,
search_docs, update_info)
from chatchat.server.knowledge_base.kb_summary_api import (summary_file_to_vector_store, recreate_summary_vector_store,
summary_doc_ids_to_vector_store)
from chatchat.server.utils import BaseResponse, ListResponse
kb_router = APIRouter(prefix="/knowledge_base", tags=["Knowledge Base Management"])
kb_router.get("/list_knowledge_bases",
response_model=ListResponse,
summary="获取知识库列表")(list_kbs)
kb_router.post("/create_knowledge_base",
response_model=BaseResponse,
summary="创建知识库"
)(create_kb)
kb_router.post("/delete_knowledge_base",
response_model=BaseResponse,
summary="删除知识库"
)(delete_kb)
kb_router.get("/list_files",
response_model=ListResponse,
summary="获取知识库内的文件列表"
)(list_files)
kb_router.post("/search_docs",
response_model=List[dict],
summary="搜索知识库"
)(search_docs)
kb_router.post("/upload_docs",
response_model=BaseResponse,
summary="上传文件到知识库,并/或进行向量化"
)(upload_docs)
kb_router.post("/delete_docs",
response_model=BaseResponse,
summary="删除知识库内指定文件"
)(delete_docs)
kb_router.post("/update_info",
response_model=BaseResponse,
summary="更新知识库介绍"
)(update_info)
kb_router.post("/update_docs",
response_model=BaseResponse,
summary="更新现有文件到知识库"
)(update_docs)
kb_router.get("/download_doc",
summary="下载对应的知识文件")(download_doc)
kb_router.post("/recreate_vector_store",
summary="根据content中文档重建向量库流式输出处理进度。"
)(recreate_vector_store)
kb_router.post("/upload_temp_docs",
summary="上传文件到临时目录,用于文件对话。"
)(upload_temp_docs)
summary_router = APIRouter(prefix="/kb_summary_api")
summary_router.post("/summary_file_to_vector_store",
summary="单个知识库根据文件名称摘要"
)(summary_file_to_vector_store)
summary_router.post("/summary_doc_ids_to_vector_store",
summary="单个知识库根据doc_ids摘要",
response_model=BaseResponse,
)(summary_doc_ids_to_vector_store)
summary_router.post("/recreate_summary_vector_store",
summary="重建单个知识库文件摘要"
)(recreate_summary_vector_store)
kb_router.include_router(summary_router)