mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-08-25 19:39:35 +00:00
knownledge base answer fix
This commit is contained in:
parent
56e9cde86e
commit
55b3702aeb
@ -158,6 +158,12 @@ conv_qa_prompt_template = """ 基于以下已知的信息, 专业、详细的回
|
|||||||
|
|
||||||
default_conversation = conv_one_shot
|
default_conversation = conv_one_shot
|
||||||
|
|
||||||
|
conversation_types = {
|
||||||
|
"native": "LLM原生对话",
|
||||||
|
"default_knownledge": "默认知识库对话",
|
||||||
|
"custome": "新增知识库对话",
|
||||||
|
}
|
||||||
|
|
||||||
conv_templates = {
|
conv_templates = {
|
||||||
"conv_one_shot": conv_one_shot,
|
"conv_one_shot": conv_one_shot,
|
||||||
"vicuna_v1": conv_vicuna_v1,
|
"vicuna_v1": conv_vicuna_v1,
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
from pilot.vector_store.file_loader import KnownLedge2Vector
|
from pilot.vector_store.file_loader import KnownLedge2Vector
|
||||||
from langchain.prompts import PromptTemplate
|
from langchain.prompts import PromptTemplate
|
||||||
from pilot.conversation import conv_qa_prompt_template
|
from pilot.conversation import conv_qa_prompt_template
|
||||||
from langchain.chains import RetrievalQA
|
|
||||||
from pilot.configs.model_config import VECTOR_SEARCH_TOP_K
|
from pilot.configs.model_config import VECTOR_SEARCH_TOP_K
|
||||||
from pilot.model.vicuna_llm import VicunaLLM
|
from pilot.model.vicuna_llm import VicunaLLM
|
||||||
|
|
||||||
|
@ -11,6 +11,7 @@ import datetime
|
|||||||
import requests
|
import requests
|
||||||
from urllib.parse import urljoin
|
from urllib.parse import urljoin
|
||||||
from pilot.configs.model_config import DB_SETTINGS
|
from pilot.configs.model_config import DB_SETTINGS
|
||||||
|
from pilot.server.vectordb_qa import KnownLedgeBaseQA
|
||||||
from pilot.connections.mysql_conn import MySQLOperator
|
from pilot.connections.mysql_conn import MySQLOperator
|
||||||
from pilot.vector_store.extract_tovec import get_vector_storelist, load_knownledge_from_doc, knownledge_tovec_st
|
from pilot.vector_store.extract_tovec import get_vector_storelist, load_knownledge_from_doc, knownledge_tovec_st
|
||||||
|
|
||||||
@ -19,6 +20,7 @@ from pilot.configs.model_config import LOGDIR, VICUNA_MODEL_SERVER, LLM_MODEL, D
|
|||||||
from pilot.conversation import (
|
from pilot.conversation import (
|
||||||
default_conversation,
|
default_conversation,
|
||||||
conv_templates,
|
conv_templates,
|
||||||
|
conversation_types,
|
||||||
SeparatorStyle
|
SeparatorStyle
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -149,7 +151,7 @@ def post_process_code(code):
|
|||||||
code = sep.join(blocks)
|
code = sep.join(blocks)
|
||||||
return code
|
return code
|
||||||
|
|
||||||
def http_bot(state, db_selector, temperature, max_new_tokens, request: gr.Request):
|
def http_bot(state, mode, db_selector, temperature, max_new_tokens, request: gr.Request):
|
||||||
start_tstamp = time.time()
|
start_tstamp = time.time()
|
||||||
model_name = LLM_MODEL
|
model_name = LLM_MODEL
|
||||||
|
|
||||||
@ -180,14 +182,12 @@ def http_bot(state, db_selector, temperature, max_new_tokens, request: gr.Reques
|
|||||||
new_state.append_message(new_state.roles[0], query)
|
new_state.append_message(new_state.roles[0], query)
|
||||||
new_state.append_message(new_state.roles[1], None)
|
new_state.append_message(new_state.roles[1], None)
|
||||||
state = new_state
|
state = new_state
|
||||||
|
|
||||||
# try:
|
if mode == conversation_types["default_knownledge"] and not db_selector:
|
||||||
# if not db_selector:
|
query = state.messages[-2][1]
|
||||||
# sim_q = get_simlar(query)
|
knqa = KnownLedgeBaseQA()
|
||||||
# print("********vector similar info*************: ", sim_q)
|
state.messages[-2][1] = knqa.get_similar_answer(query)
|
||||||
# state.append_message(new_state.roles[0], sim_q + query)
|
|
||||||
# except Exception as e:
|
|
||||||
# print(e)
|
|
||||||
|
|
||||||
prompt = state.get_prompt()
|
prompt = state.get_prompt()
|
||||||
|
|
||||||
@ -268,7 +268,7 @@ def change_tab(tab):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
def change_mode(mode):
|
def change_mode(mode):
|
||||||
if mode == "默认知识库对话":
|
if mode in ["默认知识库对话", "LLM原生对话"]:
|
||||||
return gr.update(visible=False)
|
return gr.update(visible=False)
|
||||||
else:
|
else:
|
||||||
return gr.update(visible=True)
|
return gr.update(visible=True)
|
||||||
@ -320,7 +320,8 @@ def build_single_model_ui():
|
|||||||
show_label=True).style(container=False)
|
show_label=True).style(container=False)
|
||||||
|
|
||||||
with gr.TabItem("知识问答", elem_id="QA"):
|
with gr.TabItem("知识问答", elem_id="QA"):
|
||||||
mode = gr.Radio(["默认知识库对话", "新增知识库"], show_label=False, value="默认知识库对话")
|
|
||||||
|
mode = gr.Radio(["LLM原生对话", "默认知识库对话", "新增知识库对话"], show_label=False, value="LLM原生对话")
|
||||||
vs_setting = gr.Accordion("配置知识库", open=False)
|
vs_setting = gr.Accordion("配置知识库", open=False)
|
||||||
mode.change(fn=change_mode, inputs=mode, outputs=vs_setting)
|
mode.change(fn=change_mode, inputs=mode, outputs=vs_setting)
|
||||||
with vs_setting:
|
with vs_setting:
|
||||||
@ -365,7 +366,7 @@ def build_single_model_ui():
|
|||||||
btn_list = [regenerate_btn, clear_btn]
|
btn_list = [regenerate_btn, clear_btn]
|
||||||
regenerate_btn.click(regenerate, state, [state, chatbot, textbox] + btn_list).then(
|
regenerate_btn.click(regenerate, state, [state, chatbot, textbox] + btn_list).then(
|
||||||
http_bot,
|
http_bot,
|
||||||
[state, db_selector, temperature, max_output_tokens],
|
[state, mode, db_selector, temperature, max_output_tokens],
|
||||||
[state, chatbot] + btn_list,
|
[state, chatbot] + btn_list,
|
||||||
)
|
)
|
||||||
clear_btn.click(clear_history, None, [state, chatbot, textbox] + btn_list)
|
clear_btn.click(clear_history, None, [state, chatbot, textbox] + btn_list)
|
||||||
@ -374,7 +375,7 @@ def build_single_model_ui():
|
|||||||
add_text, [state, textbox], [state, chatbot, textbox] + btn_list
|
add_text, [state, textbox], [state, chatbot, textbox] + btn_list
|
||||||
).then(
|
).then(
|
||||||
http_bot,
|
http_bot,
|
||||||
[state, db_selector, temperature, max_output_tokens],
|
[state, mode, db_selector, temperature, max_output_tokens],
|
||||||
[state, chatbot] + btn_list,
|
[state, chatbot] + btn_list,
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -382,7 +383,7 @@ def build_single_model_ui():
|
|||||||
add_text, [state, textbox], [state, chatbot, textbox] + btn_list
|
add_text, [state, textbox], [state, chatbot, textbox] + btn_list
|
||||||
).then(
|
).then(
|
||||||
http_bot,
|
http_bot,
|
||||||
[state, db_selector, temperature, max_output_tokens],
|
[state, mode, db_selector, temperature, max_output_tokens],
|
||||||
[state, chatbot] + btn_list
|
[state, chatbot] + btn_list
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user