-
Notifications
You must be signed in to change notification settings - Fork 0
/
prompt.py
187 lines (161 loc) · 6.22 KB
/
prompt.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
GENERIC_PROMPT_TPL = '''
1. 当你被人问起身份时,你必须用'我是一个农业问答机器人'回答。
例如问题 [你好,你是谁,你是谁开发的,你和GPT有什么关系,你和OpenAI有什么关系]
2. 你必须拒绝讨论任何关于政治,色情,暴力相关的事件或者人物。
例如问题 [普京是谁,列宁的过错,如何杀人放火,打架群殴,如何跳楼,如何制造毒药]
3. 请用中文回答用户问题。
4. 当你能够正确的回答时,无需再调用其他的工具.
-----------
用户问题: {query}
-----------
输出:
'''
GENERIC_PROMPT_TPL_1 = '''
1. 当你被人问起身份时,请记住你来自华中农业大学信息学院智能化软件工程创新团队,是一个农业大模型智能AI。
例如问题 [你好,你是谁,你是谁开发的,你和GPT有什么关系,你和OpenAI有什么关系]
2. 你必须拒绝讨论任何关于政治,色情,暴力相关的事件或者人物。
例如问题 [普京是谁,列宁的过错,如何杀人放火,打架群殴,如何跳楼,如何制造毒药]
3. 请用中文回答用户问题。
4. 当你能够正确的回答时,无需再调用其他的工具.
-----------
用户问题: {query}
-----------
输出:
'''
RETRIVAL_PROMPT_TPL = '''
1.请根据以下检索结果,回答用户问题,不需要补充和联想内容。
2.检索结果中没有相关信息时,回复“不知道”。
3.当你能够较为正确的回答时,无需再调用其他的工具.
----------
检索结果:{query_result}
----------
用户问题:{query}
-----------
输出:
'''
NER_PROMPT_TPL = '''
当你能够较为正确的回答时,无需再调用其他的工具.
1、从以下用户输入的句子中,提取实体内容。
2、注意:根据用户输入的事实抽取内容,不要推理,不要补充信息。
3、确保组合成的json中一定要含有'maize', 'crop', 'company', 'province', 'disease', 'symptom'字段,如果这些字段不在抽取的内容中,将其用'-1'代替。
4、每一个字段只能有一个值.
{format_instructions}
------------
用户输入:{query}
------------
输出:
'''
NER_PROMPT_TPL_2 = '''
1、从以下用户输入的句子中,提取实体内容。
2、注意:根据用户输入的事实抽取内容,不要推理,不要补充信息。
3、每一个字段只能有一个值.
{format_instructions}
------------
用户输入:{query}
------------
输出:
'''
MODEL_PROMPT_TPL = '''
1.请根据以下检索结果,回答用户问题,不需要补充和联想内容。
2.检索结果中没有相关信息时,回复“不知道”。
3.当问题中包含要预测某地区某作物表型在某文件(基因序列)下的预测值时,请调用此模块。
例如问题 [预测一下河北地区的农作物在example2.txt 文件中所记录的穗重、预测一下吉林地区的农作物在example4.txt 文件中所记录的株高]
4.每个问题中肯定会包括一个地区、一个表型和一个基因序列文件。
问题中涉及到的地区(region)包含五个:BJ->北京、HeB->河北、HN->河南、JL->吉林、LN->辽宁。
问题中涉及到的表型(phenotype)包含三个:DTT->开花期、PH->株高、EW->穗重。
5.请务必从问题中提取出表型信息,即开花期(DTT)、株高(PH)、穗重(EW)等信息。
----------
检索结果:{query_result}
----------
用户问题:{query}
-----------
输出:
'''
GRAPH_PROMPT_TPL = '''
请根据以下检索结果,回答用户问题,不要发散和联想内容。
检索结果中没有相关信息时,回复“不知道”。
----------
检索结果:
{query_result}
----------
用户问题:{query}
-----------
输出:
'''
SEARCH_PROMPT_TPL = '''
请根据以下检索结果,回答用户问题,不要发散和联想内容。
检索结果中没有相关信息时,回复“不知道”。
----------
检索结果:{query_result}
----------
用户问题:{query}
-----------
输出:
'''
PREDICT_PROMPT_TPL = '''
请根据用户提供的DNA序列,使用相对应的模型预测值,回答用户问题,不要发散和联想内容。
如果没有结果时,回复“不知道”。
----------
预测结果:{query_result}
----------
用户问题:{query}
-----------
输出:
'''
SUMMARY_PROMPT_TPL = '''
请结合以下历史对话信息,和用户消息,总结出一个简洁、完整的用户消息。
用户当前消息为最高级,不要做过多的修改!!!!不要改变原意!,历史消息的总结尽量放在总体消息的后面!
直接给出总结好的消息,不需要其他信息。
如果和历史对话消息没有关联,直接输出用户原始消息。
注意,仅补充内容,不能改变原消息的语义,和句式。
例如:
-----------
历史对话:
Human:鼻炎是什么引起的?\nAI:鼻炎通常是由于感染引起。
用户消息:吃什么药好得快?
-----------
输出:得了鼻炎,吃什么药好得快?
-----------
历史对话:
{chat_history}
-----------
用户消息:{query}
-----------
输出:
'''
PARSE_TOOLS_PROMPT_TPL = '''
你有权限使用以下工具,请优先尝试使用graph_func这个工具回复用户问题,
如若无法给出答案,则根据工具描述和用户问题,判断应该使用哪个工具,直接输出工具名称即可。
-----------
{tools_description}
-----------
用户问题:{query}
-----------
输出:
'''
CROP_TPL = """
1.请根据以下检索结果,回答用户问题,不需要补充和联想内容。
2.检索结果中没有相关信息时,回复“不知道”。
3.当你能够较为正确的回答时,无需再调用其他的工具.
----------
摘要数据: {abstract}
----------
用户问题: {query}
-----------
输出:
"""
GET_KEY_TPL = """
请从用户问题中提取关键词语,同时请记住输出严格按照下面给出的例子输出格式执行,例如
用户问题:黑糯305的生育期为
关键词语:黑糯305、生育期
用户问题:干旱胁迫对玉米生长的影响
关键词语:干旱胁迫、玉米生长
用户问题:先玉2036的改良路径
关键词语:先玉2036、改良路径
用户问题:{query}
"""
ONLY_ABSTRACT_STR = """
请根据下面给出的资料信息,从中总结处用户问题的答案。
资料信息:{msg}
用户问题:{question}
"""