обратные вызовы langchain StreamingStdOutCallbackHandler удаляет символ новой строки

Нам удалось получить потоковый ответ от LlamaCpp, используяstreaming=True и CallbackManager([StreamingStdOutCallbackHandler()]). Но проблема в том, что выводимый поток не содержит символов новой строки, из-за чего текст потокового вывода выглядит как длинный абзац.

Содержимое консоли отображается правильно, а когда мы возвращаем полный ответ, он содержит символы новой строки. Проблема заключается только в потоковом выводе. Из-за этого мы не можем правильно отобразить вывод llm.

Пытался,

      def get70BGPULLMObject():
# LANGCHAIN
callback_manager = CallbackManager([StreamingStdOutCallbackHandler()])
llm = LlamaCpp(model_path=llm_model_path,
               temperature=0,
               n_gpu_layers=83,
               n_ctx=4096,
               max_tokens=4096,
               n_batch=2048,
               n_gqa=8,
               verbose=True,
               callback_manager=callback_manager,
               streaming=True,
               stream_prefix=True
               )
return llm

async def generateStreamingOutput(llm, question):
    for item in llm.stream(json.dumps(question), stop=['Question:']):
        yield item
    return EventSourceResponse(generateStreamingOutput(llm, question))

0 ответов

Другие вопросы по тегам