Compartir tecnología

Transmisión de LLM local con FastAPI, Llama.cpp y Langchain

2024-07-11

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

Significado de la pregunta:

Transmisión de modelos de lenguaje local de gran tamaño mediante FastAPI, Llama.cpp y Langchain

Antecedentes del problema:

He configurado FastAPI con Llama.cpp y Langchain. Ahora quiero habilitar la transmisión en las respuestas de FastAPI. La transmisión funciona con Llama.cpp en mi terminal, pero no pude implementarla con una respuesta de FastAPI.

Configuré FastAPI usando Llama.cpp y Langchain. Ahora quiero habilitar la transmisión en respuesta FastAPI. En mi terminal, el streaming funciona bien con Llama.cpp, pero no logro que funcione con la respuesta FastAPI.

La mayoría de los tutoriales se centraron en habilitar la transmisión con un modelo OpenAI, pero estoy usando un LLM local (Mistral cuantificado) con llama.cpp. Creo que tengo que modificar el Callbackhandler, pero ningún tutorial funcionó. Aquí está mi código:

La mayoría de los tutoriales se centran en cómo habilitar la transmisión usando modelos OpenAI, pero yo estoy usando un modelo nativo de lenguaje grande (Mistral cuantificado) con llama.cpp. Creo que necesito modificar Callbackhandler pero no encontré ningún tutorial que funcione. A continuación se muestra mi código:

  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= """