ソースを参照

fix: extra input for opening statement was not suitable for prompt (#143)

John Wang 2 年 前
コミット
54a6571462
1 ファイル変更10 行追加2 行削除
  1. 10 2
      api/core/completion.py

+ 10 - 2
api/core/completion.py

@@ -177,13 +177,21 @@ Avoid mentioning that you obtained the information from the context.
 And answer according to the language of the user's question.
 And answer according to the language of the user's question.
 """
 """
                 if pre_prompt:
                 if pre_prompt:
-                    human_inputs.update(inputs)
+                    extra_inputs = {k: inputs[k] for k in
+                                    OutLinePromptTemplate.from_template(template=pre_prompt).input_variables
+                                    if k in inputs}
+                    if extra_inputs:
+                        human_inputs.update(extra_inputs)
                     human_message_instruction += pre_prompt + "\n"
                     human_message_instruction += pre_prompt + "\n"
 
 
                 human_message_prompt = human_message_instruction + "Q:{query}\nA:"
                 human_message_prompt = human_message_instruction + "Q:{query}\nA:"
             else:
             else:
                 if pre_prompt:
                 if pre_prompt:
-                    human_inputs.update(inputs)
+                    extra_inputs = {k: inputs[k] for k in
+                                    OutLinePromptTemplate.from_template(template=pre_prompt).input_variables
+                                    if k in inputs}
+                    if extra_inputs:
+                        human_inputs.update(extra_inputs)
                     human_message_prompt = pre_prompt + "\n" + human_message_prompt
                     human_message_prompt = pre_prompt + "\n" + human_message_prompt
 
 
             # construct main prompt
             # construct main prompt