|  | @@ -125,13 +125,17 @@ class Completion:
 | 
	
		
			
				|  |  |          pre_prompt = PromptBuilder.process_template(pre_prompt) if pre_prompt else pre_prompt
 | 
	
		
			
				|  |  |          if mode == 'completion':
 | 
	
		
			
				|  |  |              prompt_template = OutLinePromptTemplate.from_template(
 | 
	
		
			
				|  |  | -                template=("Use the following pieces of [CONTEXT] to answer the question at the end. "
 | 
	
		
			
				|  |  | -                          "If you don't know the answer, "
 | 
	
		
			
				|  |  | -                          "just say that you don't know, don't try to make up an answer. \n"
 | 
	
		
			
				|  |  | -                          "```\n"
 | 
	
		
			
				|  |  | -                          "[CONTEXT]\n"
 | 
	
		
			
				|  |  | -                          "{context}\n"
 | 
	
		
			
				|  |  | -                          "```\n" if chain_output else "")
 | 
	
		
			
				|  |  | +                template=("""Use the following CONTEXT as your learned knowledge:
 | 
	
		
			
				|  |  | +[CONTEXT]
 | 
	
		
			
				|  |  | +{context}
 | 
	
		
			
				|  |  | +[END CONTEXT]
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +When answer to user:
 | 
	
		
			
				|  |  | +- If you don't know, just say that you don't know.
 | 
	
		
			
				|  |  | +- If you don't know when you are not sure, ask for clarification. 
 | 
	
		
			
				|  |  | +Avoid mentioning that you obtained the information from the context.
 | 
	
		
			
				|  |  | +And answer according to the language of the user's question.
 | 
	
		
			
				|  |  | +""" if chain_output else "")
 | 
	
		
			
				|  |  |                           + (pre_prompt + "\n" if pre_prompt else "")
 | 
	
		
			
				|  |  |                           + "{query}\n"
 | 
	
		
			
				|  |  |              )
 | 
	
	
		
			
				|  | @@ -153,38 +157,36 @@ class Completion:
 | 
	
		
			
				|  |  |          else:
 | 
	
		
			
				|  |  |              messages: List[BaseMessage] = []
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            system_message = None
 | 
	
		
			
				|  |  |              if pre_prompt:
 | 
	
		
			
				|  |  |                  # append pre prompt as system message
 | 
	
		
			
				|  |  |                  system_message = PromptBuilder.to_system_message(pre_prompt, inputs)
 | 
	
		
			
				|  |  | +                messages.append(system_message)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            human_inputs = {
 | 
	
		
			
				|  |  | +                "query": query
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            human_message_prompt = "{query}"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              if chain_output:
 | 
	
		
			
				|  |  | -                # append context as system message, currently only use simple stuff prompt
 | 
	
		
			
				|  |  | -                context_message = PromptBuilder.to_system_message(
 | 
	
		
			
				|  |  | -                    """Use the following pieces of [CONTEXT] to answer the users question. 
 | 
	
		
			
				|  |  | -If you don't know the answer, just say that you don't know, don't try to make up an answer.
 | 
	
		
			
				|  |  | -```
 | 
	
		
			
				|  |  | +                human_inputs['context'] = chain_output
 | 
	
		
			
				|  |  | +                human_message_prompt = """Use the following CONTEXT as your learned knowledge.
 | 
	
		
			
				|  |  |  [CONTEXT]
 | 
	
		
			
				|  |  |  {context}
 | 
	
		
			
				|  |  | -```""",
 | 
	
		
			
				|  |  | -                    {'context': chain_output}
 | 
	
		
			
				|  |  | -                )
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                if not system_message:
 | 
	
		
			
				|  |  | -                    system_message = context_message
 | 
	
		
			
				|  |  | -                else:
 | 
	
		
			
				|  |  | -                    system_message.content = context_message.content + "\n\n" + system_message.content
 | 
	
		
			
				|  |  | +[END CONTEXT]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            if system_message:
 | 
	
		
			
				|  |  | -                messages.append(system_message)
 | 
	
		
			
				|  |  | +When answer to user:
 | 
	
		
			
				|  |  | +- If you don't know, just say that you don't know.
 | 
	
		
			
				|  |  | +- If you don't know when you are not sure, ask for clarification. 
 | 
	
		
			
				|  |  | +Avoid mentioning that you obtained the information from the context.
 | 
	
		
			
				|  |  | +And answer according to the language of the user's question.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            human_inputs = {
 | 
	
		
			
				|  |  | -                "query": query
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | +Q:{query}
 | 
	
		
			
				|  |  | +A:"""
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              # construct main prompt
 | 
	
		
			
				|  |  |              human_message = PromptBuilder.to_human_message(
 | 
	
		
			
				|  |  | -                prompt_content="{query}",
 | 
	
		
			
				|  |  | +                prompt_content=human_message_prompt,
 | 
	
		
			
				|  |  |                  inputs=human_inputs
 | 
	
		
			
				|  |  |              )
 | 
	
		
			
				|  |  |  
 |