custom preamble
This commit is contained in:
parent
7359bf7054
commit
af29716571
@ -230,8 +230,9 @@ async def enhanced_generate_stream_response(
|
||||
chat_history = format_messages_to_chat_history(messages)
|
||||
|
||||
# 创建preamble_text生成任务
|
||||
preamble_text, system_prompt = get_preamble_text(language, system_prompt)
|
||||
preamble_task = asyncio.create_task(
|
||||
call_preamble_llm(chat_history, query_text, get_preamble_text(language), language, model_name, api_key, model_server)
|
||||
call_preamble_llm(chat_history, query_text, preamble_text, language, model_name, api_key, model_server)
|
||||
)
|
||||
|
||||
# 创建guideline分析和agent创建任务
|
||||
|
||||
@ -421,7 +421,19 @@ def get_language_text(language: str):
|
||||
}
|
||||
return language_map.get(language.lower(), '')
|
||||
|
||||
def get_preamble_text(language: str):
|
||||
def get_preamble_text(language: str, system_prompt: str):
|
||||
# 首先检查system_prompt中是否有preamble代码块
|
||||
if system_prompt:
|
||||
preamble_pattern = r'```preamble\s*\n(.*?)\n```'
|
||||
preamble_matches = re.findall(preamble_pattern, system_prompt, re.DOTALL)
|
||||
if preamble_matches:
|
||||
# 提取preamble内容
|
||||
preamble_content = preamble_matches[0].strip()
|
||||
# 从system_prompt中删除preamble代码块
|
||||
cleaned_system_prompt = re.sub(preamble_pattern, '', system_prompt, flags=re.DOTALL)
|
||||
return preamble_content, cleaned_system_prompt
|
||||
|
||||
# 如果没有找到preamble代码块,使用默认的preamble选择
|
||||
if language == "jp":
|
||||
language = "ja"
|
||||
preamble_choices_map = {
|
||||
@ -465,14 +477,15 @@ def get_preamble_text(language: str):
|
||||
"お待たせしました。",
|
||||
"対応いたします。",
|
||||
"わかりましたね。",
|
||||
"承知しました。",
|
||||
"承知いたしました。",
|
||||
"確認させてください。",
|
||||
"少々お待ちいただけますか。",
|
||||
"お調べいたします。",
|
||||
"対応いたしますね。"
|
||||
]
|
||||
};
|
||||
return "\n".join(preamble_choices_map.get(language.lower(), []))
|
||||
default_preamble = "\n".join(preamble_choices_map.get(language.lower(), []))
|
||||
return default_preamble, system_prompt # 返回默认preamble和原始system_prompt
|
||||
|
||||
|
||||
async def call_preamble_llm(chat_history: str, last_message: str, preamble_choices_text: str, language: str, model_name: str, api_key: str, model_server: str) -> str:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user