Ver Fonte

Merge branch 'lzh_knowledge_1202' of https://git.yishihui.com/yangxiaohui/kg_agent into lzh_knowledge_1202

liuzhiheng há 14 horas atrás
pai
commit
d238bff9cd

+ 5 - 0
knowledge_v2/.cache/70a208f70a7e/function_knowledge/generated_query.json

@@ -0,0 +1,5 @@
+{
+  "prompt": "你是一个问题转换助手。你的任务是将用户的问题,转换一个用于搜索或调用工具的查询语句(Query)。\n\n用户问题:\n女儿的生日派对这个选题点怎么来的\n\n转换规则:\n- 提取问题中的 主体对象\n- 将问题转换成 用什么工具获取 [主体对象] query格式\n\n示例:\n用户问题: “教资查分”这个选题点怎么来的\n主体对象: “教资查分”选题点\n转换的Query: 用什么工具获取“教资查分”选题点\n\n请分析上述信息,按要求生成Query语句。\n只输出Query语句,不要包含任何解释。",
+  "response": "用什么工具获取女儿的生日派对这个选题点",
+  "query": "用什么工具获取女儿的生日派对这个选题点"
+}

Diff do ficheiro suprimidas por serem muito extensas
+ 1 - 0
knowledge_v2/.cache/70a208f70a7e/function_knowledge/selected_tool.json


+ 1 - 0
knowledge_v2/.cache/70a208f70a7e/question.txt

@@ -0,0 +1 @@
+女儿的生日派对这个选题点怎么来的||发帖时间:2025-09-16||

Diff do ficheiro suprimidas por serem muito extensas
+ 14 - 0
knowledge_v2/.cache/dd8dd68ebf0c/execution_record.json


+ 7 - 0
knowledge_v2/.cache/dd8dd68ebf0c/function_knowledge/extracted_params.json

@@ -0,0 +1,7 @@
+{
+  "prompt": "你是一个API调用专家。你的任务是根据已经选择的工具及使用方法信息生成正确的调用参数。\n\n选择的工具调用ID:\nnew_red_hot_search_words_search\n选择的工具使用方法:\n输入关键词\"教资查分\",获取该词在小红书的热度值、近90天热度值趋势曲线、声量概览及相关搜索结果,从而判断其作为选题点的热度和趋势,辅助选题决策。\n\n所有的工具参数定义:\n{\n    \"name\": \"新红热搜词搜索\",\n    \"description\": \"提供小红书热搜词深度检索与趋势分析服务,输入关键词即可获取全维度数据表现:核心包含热度值(实时动态更新)、声量概览(笔记数、总热度、热门天数、热门内容领域、高频搭配词)、近 90 天热度值趋势曲线(支持自定义时间区间)、相关搜索结果。可直观呈现关键词种草趋势、流量峰值时段、高转化内容特征,帮助用户优化笔记标题关键词布局、预判话题生命周期。\",\n    \"inputSchema\": {\n        \"type\": \"object\",\n        \"properties\": {\n            \"prompt\": {\n                \"type\": \"string\",\n                \"description\": \"用户使用方法,包括输入的关键词\"\n            }\n        },\n        \"required\": [\n            \"prompt\"\n        ]\n    }\n}\n\n请分析工具的参数要求,根据查询内容提取或推断出合适的参数值。\n\n输出格式:请以 JSON 格式输出参数字典,例如:\n{\n    \"param1\": \"value1\",\n    \"param2\": \"value2\"\n}\n\n注意事项:\n1. 只输出参数的JSON字典,不要包含任何解释\n2. 参数名必须与工具定义中的参数名完全一致\n3. 参数值要从查询中提取或合理推断\n4. 不要添加工具定义中没有的参数\n5. 如果某个参数无法从查询中获取,使用合理的默认值或省略该参数\n\n只输出JSON,不要包含markdown标记。",
+  "response": "{\n    \"prompt\": \"输入关键词\\\"教资查分\\\",获取该词在小红书的热度值、近90天热度值趋势曲线、声量概览及相关搜索结果,从而判断其作为选题点的热度和趋势,辅助选题决策。\"\n}",
+  "params": {
+    "prompt": "输入关键词\"教资查分\",获取该词在小红书的热度值、近90天热度值趋势曲线、声量概览及相关搜索结果,从而判断其作为选题点的热度和趋势,辅助选题决策。"
+  }
+}

+ 5 - 0
knowledge_v2/.cache/dd8dd68ebf0c/function_knowledge/generated_query.json

@@ -0,0 +1,5 @@
+{
+  "prompt": "你是一个问题转换助手。你的任务是将用户的问题,转换一个用于搜索或调用工具的查询语句(Query)。\n\n用户问题:\n教资查分这个选题点怎么来的\n\n转换规则:\n- 提取问题中的 主体对象\n- 将问题转换成 用什么工具获取 [主体对象] query格式\n\n示例:\n用户问题: “教资查分”这个选题点怎么来的\n主体对象: “教资查分”选题点\n转换的Query: 用什么工具获取“教资查分”选题点\n\n请分析上述信息,按要求生成Query语句。\n只输出Query语句,不要包含任何解释。",
+  "response": "用什么工具获取 教资查分这个选题点",
+  "query": "用什么工具获取 教资查分这个选题点"
+}

Diff do ficheiro suprimidas por serem muito extensas
+ 1 - 0
knowledge_v2/.cache/dd8dd68ebf0c/function_knowledge/selected_tool.json


+ 1 - 1
knowledge_v2/.cache/dd8dd68ebf0c/function_knowledge/tool_call.json

@@ -3,7 +3,7 @@
   "arguments": {
     "prompt": "输入关键词\"教资查分\",获取该词在小红书的热度值、近90天热度值趋势曲线、声量概览及相关搜索结果,从而判断其作为选题点的热度和趋势,辅助选题决策。"
   },
-  "result": "```json\n{\n    \"result\": {\n        \"content\": \"## \\\"教资查分\\\"关键词数据表现和趋势分析\\n\\n### 热度值\\n- 近30天热度值超过96.14%全站其他词\\n- 近30天热度值超过95.86%教育领域其他词\\n\\n### 声量概览\\n- **笔记数**: 16篇(环比增长700.00%)\\n- **总热度**: 4082(环比增长408100.00%)\\n- **热门天数**: 4/30天\\n- **近30天热门内容领域**:\\n  - 教育: 56.25%\\n  - 职场: 31.25%\\n  - 运动健身: 6.25%\\n- **高频搭配词**: 暂无相关数据\\n\\n### 热度值趋势\\n- **整体趋势**: 下降趋势\\n- **效果分析**:\\n  - TOP1下降趋势: 2025-11-07 至 2025-11-08\\n  - TOP2下降趋势: 2025-11-04 至 2025-11-05\\n\\n### 相关搜索结果\\n- 共1条搜索结果\\n- 内容领域分布: 教育、职场等领域为主\\n\\n从数据可以看出,\\\"教资查分\\\"这个关键词在近期有显著的热度增长,但目前呈现下降趋势。该关键词主要与教育和职场领域相关,这符合教师资格证查询分数的实际应用场景。虽然笔记数量不多(16篇),但环比增长非常高,表明这是一个短期内突然受到关注的话题。\"\n    },\n    \"success\": true\n}\n```",
+  "result": "## \"教资查分\"关键词数据表现和趋势分析\n\n### 热度值\n- 近30天热度值超过96.14%全站其他词\n- 近30天热度值超过95.86%教育领域其他词\n\n### 声量概览\n- **笔记数**: 16篇(环比增长700.00%)\n- **总热度**: 4082(环比增长408100.00%)\n- **热门天数**: 4/30天\n- **近30天热门内容领域**:\n  - 教育: 56.25%\n  - 职场: 31.25%\n  - 运动健身: 6.25%\n- **高频搭配词**: 暂无相关数据\n\n### 热度值趋势\n- **整体趋势**: 下降趋势\n- **效果分析**:\n  - TOP1下降趋势: 2025-11-07 至 2025-11-08\n  - TOP2下降趋势: 2025-11-04 至 2025-11-05\n\n### 相关搜索结果\n- 共1条搜索结果\n- 内容领域分布: 教育、职场等领域为主\n\n从数据可以看出,\"教资查分\"这个关键词在近期有显著的热度增长,但目前呈现下降趋势。该关键词主要与教育和职场领域相关,这符合教师资格证查询分数的实际应用场景。虽然笔记数量不多(16篇),但环比增长非常高,表明这是一个短期内突然受到关注的话题。",
   "response": {
     "result": {
       "image_url": [],

+ 1 - 0
knowledge_v2/.cache/dd8dd68ebf0c/question.txt

@@ -0,0 +1 @@
+教资查分这个选题点怎么来的||发帖时间:2025.11.07||

Diff do ficheiro suprimidas por serem muito extensas
+ 14 - 0
knowledge_v2/.cache/e8a667667b44/execution_record.json


+ 5 - 0
knowledge_v2/.cache/e8a667667b44/function_knowledge/generated_query.json

@@ -0,0 +1,5 @@
+{
+  "prompt": "你是一个问题转换助手。你的任务是将用户的问题,转换一个用于搜索或调用工具的查询语句(Query)。\n\n用户问题:\n帮我打开我电脑的c盘\n\n转换规则:\n- 提取问题中的 主体对象\n- 将问题转换成 用什么工具获取 [主体对象] query格式\n\n示例:\n用户问题: “教资查分”这个选题点怎么来的\n主体对象: “教资查分”选题点\n转换的Query: 用什么工具获取“教资查分”选题点\n\n请分析上述信息,按要求生成Query语句。\n只输出Query语句,不要包含任何解释。",
+  "response": "用什么工具获取我电脑的c盘",
+  "query": "用什么工具获取我电脑的c盘"
+}

Diff do ficheiro suprimidas por serem muito extensas
+ 1 - 0
knowledge_v2/.cache/e8a667667b44/function_knowledge/selected_tool.json


+ 0 - 0
knowledge_v2/.cache/e8a667667b44/knowledge.txt


+ 10 - 0
knowledge_v2/.cache/e8a667667b44/llm_search/generated_queries.json

@@ -0,0 +1,10 @@
+{
+  "prompt": "你是一个搜索专家。你的任务是根据用户的问题,生成多个用于搜索引擎的查询语句(Query),以便从不同角度获取全面的信息。\n\n用户问题:\n帮我打开我电脑的c盘||发帖时间:2025.11.07||\n\n请生成 3-5 个查询语句,涵盖问题的核心概念、相关背景和细节。\n请以 JSON 格式输出,格式如下:\n{\n    \"queries\": [\n        \"查询语句1\",\n        \"查询语句2\",\n        \"查询语句3\"\n    ]\n}\n\n只输出 JSON,不要包含任何解释或 markdown 标记。",
+  "response": "{\n    \"queries\": [\n        \"如何打开电脑C盘\",\n        \"Windows 系统进入C盘\",\n        \"文件资源管理器查看C盘\",\n        \"我的电脑C盘在哪里\"\n    ]\n}",
+  "queries": [
+    "如何打开电脑C盘",
+    "Windows 系统进入C盘",
+    "文件资源管理器查看C盘",
+    "我的电脑C盘在哪里"
+  ]
+}

+ 1 - 0
knowledge_v2/.cache/e8a667667b44/question.txt

@@ -0,0 +1 @@
+帮我打开我电脑的c盘||发帖时间:2025.11.07||

+ 12 - 12
knowledge_v2/function_knowledge.py

@@ -357,15 +357,15 @@ class FunctionKnowledge:
                     if cached_tool_call:
                         logger.info(f"✓ 使用缓存的工具调用结果")
                         response = cached_tool_call.get('response', {})
-                        # tool_result = self.organize_tool_result(response)
-                        # # 保存工具调用信息(包含工具名、入参、结果)
-                        # tool_call_data = {
-                        #     "tool_name": tool_id,
-                        #     "arguments": arguments,
-                        #     "result": tool_result,
-                        #     "response": response
-                        # }
-                        # self.cache.set(combined_question, 'function_knowledge', 'tool_call.json', tool_call_data)
+                        tool_result = self.organize_tool_result(response)
+                        # 保存工具调用信息(包含工具名、入参、结果)
+                        tool_call_data = {
+                            "tool_name": tool_id,
+                            "arguments": arguments,
+                            "result": tool_result,
+                            "response": response
+                        }
+                        self.cache.set(combined_question, 'function_knowledge', 'tool_call.json', tool_call_data)
                     else:
                         logger.info(f"  → 调用工具,参数: {arguments}")
                         rs = call_tool(tool_id, arguments)
@@ -462,10 +462,10 @@ class FunctionKnowledge:
 
 if __name__ == "__main__":
     # 测试代码
-    question = "女儿的生日派对这个选题点怎么来的"
-    post_info = "发帖时间:2025-09-16"
+    question = "教资查分这个选题点怎么来的"
+    post_info = "发帖时间:2025.11.07"
     persona_info = ""
-    
+
     try:
         agent = FunctionKnowledge()
         execution_result = agent.get_knowledge(question, post_info, persona_info)

+ 2 - 1
knowledge_v2/prompt/tool_result_prettify_prompt.md

@@ -1,7 +1,8 @@
-你是一个数据结构化整体大师,你的任务是将API返回的结构化数据整理成一份适合人类阅读的数据
+你是一个数据结构化整体大师,你的任务是将API返回的结构化数据整理成一份适合人类阅读的普通字符串文本数据
 要求:
 - 去除无用或者空数据字段
 - 遇到转义后的json字符串,需要去除掉转义字符
+- 如果数据是个复杂的标准api json结构,那么你需要合理的取出有用的内容
 
 输出整理后的数据即可,不要包含任何解释。
 

Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff