more optimize of ai search plugin (#1896)

This commit is contained in:
澄潭
2025-03-14 23:24:22 +08:00
committed by GitHub
parent f09e029a6b
commit 34b3fc3114
9 changed files with 229 additions and 22 deletions

View File

@@ -185,7 +185,7 @@ none
4.2.2. 根据问题所属领域将问题拆分成多组关键词的组合同时组合中的关键词个数尽量不要超过3个
5. Final: 按照下面**回复内容示例**进行回复,注意:
- 不要输出思考过程
- 可以向多个查询目标分别查询多次,多个查询用换行分隔,总查询次数控制在5次以内
- 可以向多个查询目标分别查询多次,多个查询用换行分隔,总查询次数控制在{max_count}次以内
- 查询搜索引擎时,需要以"internet:"开头
- 查询Arxiv论文时需要以Arxiv的Category值开头例如"cs.AI:"
- 查询Arxiv论文时优先用英文表述关键词进行搜索

View File

@@ -0,0 +1,39 @@
# 目标
你需要分析**用户发送的消息**,是否需要查询中文搜索引擎,并按照如下情况回复相应内容:
## 情况一:不需要查询搜索引擎
### 情况举例:
1. **用户发送的消息**不是在提问或寻求帮助
2. **用户发送的消息**是要求翻译文字
### 思考过程
根据上面的**情况举例**,如果符合,则按照下面**回复内容示例**进行回复,注意不要输出思考过程
### 回复内容示例:
none
## 情况二:需要查询搜索引擎
### 情况举例:
1. 答复**用户发送的消息**,需依赖互联网上最新的资料
2. 答复**用户发送的消息**,需依赖论文等专业资料
3. 通过查询资料,可以更好地答复**用户发送的消息**
### 思考过程
根据上面的**情况举例**,以及其他需要查询资料的情况,如果符合,按照以下步骤思考,并按照下面**回复内容示例**进行回复,注意不要输出思考过程:
1. What: 分析要答复**用户发送的消息**,需要了解什么知识和资料
2. How: 分析对于要查询的知识和资料,应该提出什么样的问题
3. Adjust: 明确查询什么问题后,用一句话概括问题,并且针对搜索引擎做问题优化
4. Final: 按照下面**回复内容示例**进行回复,注意:
- 不要输出思考过程
- 可以查询多次,多个查询用换行分隔,总查询次数控制在{max_count}次以内
- 需要以"internet:"开头
- 即使**用户发送的消息**使用了中文以外的其他语言,也用中文向搜索引擎查询问题,但注意不要翻译专有名词
### 回复内容示例:
#### 查询多次搜索引擎
internet: 黄金价格走势
internet: 历史黄金价格高点
# 用户发送的消息为:
{question}

View File

@@ -186,7 +186,7 @@ none
4.3.2. 根据问题所属领域将问题拆分成多组关键词的组合同时组合中的关键词个数尽量不要超过3个
5. Final: 按照下面**回复内容示例**进行回复,注意:
- 不要输出思考过程
- 可以向多个查询目标分别查询多次,多个查询用换行分隔,总查询次数控制在5次以内
- 可以向多个查询目标分别查询多次,多个查询用换行分隔,总查询次数控制在{max_count}次以内
- 查询搜索引擎时,需要以"internet:"开头
- 查询私有知识库时,需要以"private:"开头
- 查询Arxiv论文时需要以Arxiv的Category值开头例如"cs.AI:"

View File

@@ -25,7 +25,7 @@ none
3. Adjust: 明确查询什么问题后,用一句话概括问题,并且针对搜索引擎做问题优化
4. Final: 按照下面**回复内容示例**进行回复,注意:
- 不要输出思考过程
- 可以查询多次,多个查询用换行分隔,总查询次数控制在5次以内
- 可以查询多次,多个查询用换行分隔,总查询次数控制在{max_count}次以内
- 需要以"internet:"开头
- 尽量满足**用户发送的消息**中的搜索要求,例如用户要求用英文搜索,则需用英文表述问题和关键词
- 用户如果没有要求搜索语言,则用和**用户发送的消息**一致的语言表述问题和关键词

View File

@@ -28,7 +28,7 @@ none
4.2. 向私有知识库提问:用一句话概括问题,私有知识库不需要对关键词进行拆分
5. Final: 按照下面**回复内容示例**进行回复,注意:
- 不要输出思考过程
- 可以向多个查询目标分别查询多次,多个查询用换行分隔,总查询次数控制在5次以内
- 可以向多个查询目标分别查询多次,多个查询用换行分隔,总查询次数控制在{max_count}次以内
- 查询搜索引擎时,需要以"internet:"开头
- 查询私有知识库时,需要以"private:"开头
- 当用多个关键词查询时,关键词之间用","分隔

View File

@@ -7,7 +7,8 @@ def main():
# 解析命令行参数
parser = argparse.ArgumentParser(description='AI Search Test Script')
parser.add_argument('--question', required=True, help='The question to analyze')
parser.add_argument('--prompt', required=True, help='The prompt file to analyze')
parser.add_argument('--prompt', required=True, help='The prompt file to analyze')
parser.add_argument('--count', required=True, help='The max search count')
args = parser.parse_args()
# 读取并解析prompts.md模板
@@ -17,6 +18,7 @@ def main():
# 替换模板中的{question}变量
prompt = prompt_template.replace('{question}', args.question)
prompt = prompt_template.replace('{max_count}', args.count)
# 准备请求数据
headers = {