mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-08-10 20:52:33 +00:00
63 lines
1.7 KiB
Python
63 lines
1.7 KiB
Python
from dbgpt._private.config import Config
|
|
from dbgpt.app.scene import AppScenePromptTemplateAdapter, ChatScene
|
|
from dbgpt.app.scene.chat_db.professional_qa.out_parser import NormalChatOutputParser
|
|
from dbgpt.core import (
|
|
ChatPromptTemplate,
|
|
HumanPromptTemplate,
|
|
MessagesPlaceholder,
|
|
SystemPromptTemplate,
|
|
)
|
|
|
|
CFG = Config()
|
|
|
|
|
|
_DEFAULT_TEMPLATE_EN = """
|
|
Provide professional answers to requests and questions. If you can't get an answer from what you've provided, say: "Insufficient information in the knowledge base is available to answer this question." Feel free to fudge information.
|
|
Use the following tables generate sql if have any table info:
|
|
{table_info}
|
|
|
|
user question:
|
|
{input}
|
|
think step by step.
|
|
"""
|
|
|
|
_DEFAULT_TEMPLATE_ZH = """
|
|
根据要求和问题,提供专业的答案。如果无法从提供的内容中获取答案,请说:“知识库中提供的信息不足以回答此问题。” 禁止随意捏造信息。
|
|
|
|
使用以下表结构信息:
|
|
{table_info}
|
|
|
|
问题:
|
|
{input}
|
|
一步步思考。
|
|
"""
|
|
|
|
_DEFAULT_TEMPLATE = (
|
|
_DEFAULT_TEMPLATE_EN if CFG.LANGUAGE == "en" else _DEFAULT_TEMPLATE_ZH
|
|
)
|
|
|
|
|
|
PROMPT_NEED_STREAM_OUT = True
|
|
|
|
|
|
prompt = ChatPromptTemplate(
|
|
messages=[
|
|
SystemPromptTemplate.from_template(_DEFAULT_TEMPLATE),
|
|
MessagesPlaceholder(variable_name="chat_history"),
|
|
HumanPromptTemplate.from_template("{input}"),
|
|
]
|
|
)
|
|
|
|
prompt_adapter = AppScenePromptTemplateAdapter(
|
|
prompt=prompt,
|
|
template_scene=ChatScene.ChatWithDbQA.value(),
|
|
stream_out=PROMPT_NEED_STREAM_OUT,
|
|
output_parser=NormalChatOutputParser(is_stream_out=PROMPT_NEED_STREAM_OUT),
|
|
need_historical_messages=True,
|
|
)
|
|
|
|
|
|
CFG.prompt_template_registry.register(
|
|
prompt_adapter, language=CFG.LANGUAGE, is_default=True
|
|
)
|