Unverified 提交 e0cf2601 作者: Bing Han 提交者: GitHub

Use fastapi to implement API (#209)

* Use fastapi to implement API

* Update model_config.py

---------

Co-authored-by: imClumsyPanda <littlepanda0716@gmail.com>
上级 4e9de7df
...@@ -165,6 +165,10 @@ output/* ...@@ -165,6 +165,10 @@ output/*
log/* log/*
.chroma .chroma
vector_store/* vector_store/*
content/*
api_content/*
llm/* llm/*
embedding/* embedding/*
\ No newline at end of file
pyrightconfig.json
...@@ -93,6 +93,12 @@ $ python cli_demo.py ...@@ -93,6 +93,12 @@ $ python cli_demo.py
$ python webui.py $ python webui.py
``` ```
或执行 [api.py](api.py) 利用 fastapi 部署 API
```shell
$ python api.py
```
注:如未将模型下载至本地,请执行前检查`$HOME/.cache/huggingface/`文件夹剩余空间,至少15G。 注:如未将模型下载至本地,请执行前检查`$HOME/.cache/huggingface/`文件夹剩余空间,至少15G。
执行后效果如下图所示: 执行后效果如下图所示:
...@@ -168,7 +174,7 @@ Web UI 可以实现如下功能: ...@@ -168,7 +174,7 @@ Web UI 可以实现如下功能:
- [ ] 删除知识库中文件 - [ ] 删除知识库中文件
- [ ] 利用 streamlit 实现 Web UI Demo - [ ] 利用 streamlit 实现 Web UI Demo
- [ ] 增加 API 支持 - [ ] 增加 API 支持
- [ ] 利用 fastapi 实现 API 部署方式 - [x] 利用 fastapi 实现 API 部署方式
- [ ] 实现调用 API 的 Web UI Demo - [ ] 实现调用 API 的 Web UI Demo
## 项目交流群 ## 项目交流群
......
...@@ -112,6 +112,11 @@ Note: When using langchain.document_loaders.UnstructuredFileLoader for unstructu ...@@ -112,6 +112,11 @@ Note: When using langchain.document_loaders.UnstructuredFileLoader for unstructu
Execute [webui.py](webui.py) script to experience **Web interaction** <img src="https://img.shields.io/badge/Version-0.1-brightgreen"> Execute [webui.py](webui.py) script to experience **Web interaction** <img src="https://img.shields.io/badge/Version-0.1-brightgreen">
```commandline ```commandline
python webui.py python webui.py
```
Or execute [api.py](api.py) script to deploy web api.
```shell
$ python api.py
``` ```
Note: Before executing, check the remaining space in the `$HOME/.cache/huggingface/` folder, at least 15G. Note: Before executing, check the remaining space in the `$HOME/.cache/huggingface/` folder, at least 15G.
......
差异被折叠。 点击展开。
...@@ -40,6 +40,8 @@ VS_ROOT_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), "vector_ ...@@ -40,6 +40,8 @@ VS_ROOT_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), "vector_
UPLOAD_ROOT_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), "content", "") UPLOAD_ROOT_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), "content", "")
API_UPLOAD_ROOT_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), "api_content")
# 基于上下文的prompt模版,请务必保留"{question}"和"{context}" # 基于上下文的prompt模版,请务必保留"{question}"和"{context}"
PROMPT_TEMPLATE = """已知信息: PROMPT_TEMPLATE = """已知信息:
{context} {context}
...@@ -47,4 +49,4 @@ PROMPT_TEMPLATE = """已知信息: ...@@ -47,4 +49,4 @@ PROMPT_TEMPLATE = """已知信息:
根据上述已知信息,简洁和专业的来回答用户的问题。如果无法从中得到答案,请说 “根据已知信息无法回答该问题” 或 “没有提供足够的相关信息”,不允许在答案中添加编造成分,答案请使用中文。 问题是:{question}""" 根据上述已知信息,简洁和专业的来回答用户的问题。如果无法从中得到答案,请说 “根据已知信息无法回答该问题” 或 “没有提供足够的相关信息”,不允许在答案中添加编造成分,答案请使用中文。 问题是:{question}"""
# 匹配后单段上下文长度 # 匹配后单段上下文长度
CHUNK_SIZE = 500 CHUNK_SIZE = 500
\ No newline at end of file
...@@ -10,4 +10,6 @@ cpm_kernels ...@@ -10,4 +10,6 @@ cpm_kernels
faiss-cpu faiss-cpu
accelerate accelerate
gradio==3.24.1 gradio==3.24.1
#detectron2@git+https://github.com/facebookresearch/detectron2.git@v0.6#egg=detectron2 fastapi
\ No newline at end of file uvicorn
#detectron2@git+https://github.com/facebookresearch/detectron2.git@v0.6#egg=detectron2
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论