Przeglądaj źródła

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

John Wang 1 rok temu
rodzic
commit
54a6571462
1 zmienionych plików z 10 dodań i 2 usunięć
  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