Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jinchat-server
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
aigc-pioneer
jinchat-server
Commits
987f5518
提交
987f5518
authored
6月 14, 2023
作者:
hzg0601
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
stream_chat_bing
上级
b63c7421
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
38 行增加
和
0 行删除
+38
-0
api.py
api.py
+38
-0
没有找到文件。
api.py
浏览文件 @
987f5518
...
@@ -346,6 +346,41 @@ async def stream_chat(websocket: WebSocket, knowledge_base_id: str):
...
@@ -346,6 +346,41 @@ async def stream_chat(websocket: WebSocket, knowledge_base_id: str):
)
)
turn
+=
1
turn
+=
1
async
def
stream_chat_bing
(
websocket
:
WebSocket
):
"""
基于bing搜索的流式问答
"""
await
websocket
.
accept
()
turn
=
1
while
True
:
input_json
=
await
websocket
.
receive_json
()
question
,
history
=
input_json
[
"question"
],
input_json
[
"history"
]
await
websocket
.
send_json
({
"question"
:
question
,
"turn"
:
turn
,
"flag"
:
"start"
})
last_print_len
=
0
for
resp
,
history
in
local_doc_qa
.
get_search_result_based_answer
(
question
,
chat_history
=
history
,
streaming
=
True
):
await
websocket
.
send_text
(
resp
[
"result"
][
last_print_len
:])
last_print_len
=
len
(
resp
[
"result"
])
source_documents
=
[
f
"""出处 [{inum + 1}] {os.path.split(doc.metadata['source'])[-1]}:
\n\n
{doc.page_content}
\n\n
"""
f
"""相关度:{doc.metadata['score']}
\n\n
"""
for
inum
,
doc
in
enumerate
(
resp
[
"source_documents"
])
]
await
websocket
.
send_text
(
json
.
dumps
(
{
"question"
:
question
,
"turn"
:
turn
,
"flag"
:
"end"
,
"sources_documents"
:
source_documents
,
},
ensure_ascii
=
False
,
)
)
turn
+=
1
async
def
document
():
async
def
document
():
return
RedirectResponse
(
url
=
"/docs"
)
return
RedirectResponse
(
url
=
"/docs"
)
...
@@ -377,6 +412,9 @@ def api_start(host, port):
...
@@ -377,6 +412,9 @@ def api_start(host, port):
app
.
get
(
"/"
,
response_model
=
BaseResponse
)(
document
)
app
.
get
(
"/"
,
response_model
=
BaseResponse
)(
document
)
# # 增加基于bing搜索的流式问答
app
.
websocket
(
"/local_doc_qa/stream_chat_bing"
)(
stream_chat_bing
)
app
.
post
(
"/chat"
,
response_model
=
ChatMessage
)(
chat
)
app
.
post
(
"/chat"
,
response_model
=
ChatMessage
)(
chat
)
app
.
post
(
"/local_doc_qa/upload_file"
,
response_model
=
BaseResponse
)(
upload_file
)
app
.
post
(
"/local_doc_qa/upload_file"
,
response_model
=
BaseResponse
)(
upload_file
)
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论