Обмен технологиями

Потоковая передача локального LLM с помощью FastAPI, Llama.cpp и Langchain

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Значение вопроса:

Потоковая передача локальных моделей большого языка с использованием FastAPI, Llama.cpp и Langchain.

Предыстория проблемы:

Я настроил FastAPI с Llama.cpp и Langchain. Теперь я хочу включить потоковую передачу в ответах FastAPI. Потоковая передача работает с Llama.cpp в моем терминале, но я не смог реализовать ее с ответом FastAPI.

Я настроил FastAPI, используя Llama.cpp и Langchain. Теперь я хочу включить потоковую передачу в ответе FastAPI. В моем терминале потоковая передача отлично работает с Llama.cpp, но я не могу заставить ее работать с ответом FastAPI.

Большинство руководств были сосредоточены на включении потоковой передачи с помощью модели OpenAI, но я использую локальный LLM (квантованный Mistral) с llama.cpp. Я думаю, что мне нужно изменить Callbackhandler, но ни одно руководство не помогло. Вот мой код:

Большинство руководств посвящено тому, как включить потоковую передачу с использованием моделей OpenAI, но я использую собственную модель большого языка (квантованный Mistral) с llama.cpp. Я думаю, мне нужно изменить обработчик обратного вызова, но я не нашел ни одного работающего руководства. Ниже мой код:

  1. from fastapi import FastAPI, Request, Response
  2. from langchain_community.llms import LlamaCpp
  3. from langchain.callbacks.manager import CallbackManager
  4. from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler
  5. import copy
  6. from langchain.chains import LLMChain
  7. from langchain.prompts import PromptTemplate
  8. model_path = "../modelle/mixtral-8x7b-instruct-v0.1.Q5_K_M.gguf"
  9. prompt= """