|
|
@@ -138,11 +138,7 @@ class FunctionKnowledge:
|
|
|
|
|
|
try:
|
|
|
prompt_template = self._load_prompt("function_generate_query_prompt.md")
|
|
|
- prompt = prompt_template.format(
|
|
|
- question=question,
|
|
|
- post_info=post_info,
|
|
|
- persona_info=persona_info
|
|
|
- )
|
|
|
+ prompt = prompt_template.replace("{question}", question)
|
|
|
|
|
|
logger.info("→ 调用Gemini生成Query...")
|
|
|
query = generate_text(prompt=prompt)
|
|
|
@@ -189,7 +185,7 @@ class FunctionKnowledge:
|
|
|
return cached_tool
|
|
|
|
|
|
try:
|
|
|
- all_tool_infos = get_all_tool_infos()
|
|
|
+ all_tool_infos = self._load_prompt("all_tools_infos.md")
|
|
|
if not all_tool_infos:
|
|
|
logger.info(" 工具库为空,无可用工具")
|
|
|
return "None"
|
|
|
@@ -198,14 +194,14 @@ class FunctionKnowledge:
|
|
|
logger.info(f" 当前可用工具数: {tool_count}")
|
|
|
|
|
|
prompt_template = self._load_prompt("function_knowledge_select_tools_prompt.md")
|
|
|
- prompt = prompt_template.format(
|
|
|
- query=query,
|
|
|
- tool_infos=all_tool_infos
|
|
|
- )
|
|
|
+ prompt = prompt_template.replace("{all_tool_infos}", all_tool_infos)
|
|
|
|
|
|
logger.info("→ 调用Gemini选择工具...")
|
|
|
- tool_name = generate_text(prompt=prompt)
|
|
|
- tool_name = tool_name.strip()
|
|
|
+ result = generate_text(prompt=prompt)
|
|
|
+ result_json = json.loads(result)
|
|
|
+ tool_name = result_json.get('工具名', '')
|
|
|
+ tool_mcp_name = result_json.get('工具调用ID', '')
|
|
|
+ tool_instructions = result_json.get('使用方法', '')
|
|
|
|
|
|
logger.info(f"✓ 选择结果: {tool_name}")
|
|
|
|