fix(ai-web): 优化qa嵌入提示词
This commit is contained in:
@@ -150,9 +150,11 @@ public class EmbeddingNodes {
|
|||||||
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "qa_split", nodeName = "使用Q/A格式分段", nodeType = NodeTypeEnum.COMMON)
|
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "qa_split", nodeName = "使用Q/A格式分段", nodeType = NodeTypeEnum.COMMON)
|
||||||
public void qaSplit(NodeComponent node) {
|
public void qaSplit(NodeComponent node) {
|
||||||
EmbeddingContext context = node.getContextBean(EmbeddingContext.class);
|
EmbeddingContext context = node.getContextBean(EmbeddingContext.class);
|
||||||
|
// language=TEXT
|
||||||
context.getDocuments().addAll(llmSplit(
|
context.getDocuments().addAll(llmSplit(
|
||||||
"""
|
"""
|
||||||
对用户输入的文本,生成多组高质量的问答对。请遵循以下指南:
|
对用户输入的文本,生成多组高质量的问答对。请遵循以下指南:
|
||||||
|
|
||||||
1. 问题部分:
|
1. 问题部分:
|
||||||
为同一个主题创建尽可能多的不同表述的问题,确保问题的多样性。
|
为同一个主题创建尽可能多的不同表述的问题,确保问题的多样性。
|
||||||
每个问题应考虑用户可能的多种问法,例如:
|
每个问题应考虑用户可能的多种问法,例如:
|
||||||
@@ -167,7 +169,7 @@ public class EmbeddingNodes {
|
|||||||
答案应直接基于给定文本,确保准确性和一致性。
|
答案应直接基于给定文本,确保准确性和一致性。
|
||||||
包含相关的细节,如日期、名称、职位等具体信息,必要时提供背景信息以增强理解。
|
包含相关的细节,如日期、名称、职位等具体信息,必要时提供背景信息以增强理解。
|
||||||
3. 格式:
|
3. 格式:
|
||||||
使用"问:"标记问题集合的开始,所有问题应在一个段落内,问题之间用空格分隔。
|
使用"问:"标记问题的开始,问题文本应在一个段落内完成。
|
||||||
使用"答:"标记答案的开始,答案应清晰分段,便于阅读。
|
使用"答:"标记答案的开始,答案应清晰分段,便于阅读。
|
||||||
问答对之间用“---”分隔,以提高可读性。
|
问答对之间用“---”分隔,以提高可读性。
|
||||||
4. 内容要求:
|
4. 内容要求:
|
||||||
@@ -175,6 +177,8 @@ public class EmbeddingNodes {
|
|||||||
避免添加文本中未提及的信息,确保信息的真实性。
|
避免添加文本中未提及的信息,确保信息的真实性。
|
||||||
一个问题搭配一个答案,避免一组问答对中同时涉及多个问题。
|
一个问题搭配一个答案,避免一组问答对中同时涉及多个问题。
|
||||||
如果文本信息不足以回答某个方面,可以在答案中说明 "根据给定信息无法确定",并尽量提供相关的上下文。
|
如果文本信息不足以回答某个方面,可以在答案中说明 "根据给定信息无法确定",并尽量提供相关的上下文。
|
||||||
|
除了问答对本身,避免输出任何与问答对无关的提示性、引导性、解释性的文本。
|
||||||
|
|
||||||
格式样例:
|
格式样例:
|
||||||
问:苹果通常是什么颜色的?
|
问:苹果通常是什么颜色的?
|
||||||
答:红色。
|
答:红色。
|
||||||
|
|||||||
Reference in New Issue
Block a user