Есть ли способ позволить префиксу langchain.memory удалить ":" и сначала добавить только "[INST]" и добавить "[/INST]" в историю человека?
Я использую llama2, и его подсказки имеют формат, позволяющий модели знать о таком разговоре.
[INST] {First_human_input} [/INST]
{First_model_output}
[INST] {Second_human_input}[/INST]
но память в langchain по умолчанию такая
Human: First_input
AI: First_output
Human: Second_input
Несмотря на использование langchain по умолчанию, llama также может знать, но выводит сообщение «AI:». Я уже пытался установить ai_prefix и human_prefix, но «:» не могу удалить. Есть ли хороший способ решить?
1 ответ
Вы можете сделать это, расширив и переопределив метод save_context в классе ConversationStringBufferMemory.
#extract from ConversationStringBufferMemory
#here you can custom separator instead of :
human = f"{self.human_prefix}: " + inputs[prompt_input_key]
ai = f"{self.ai_prefix}: " + outputs[output_key]
self.buffer += "\n" + "\n".join([human, ai])