Partage de technologie

Streaming local LLM avec FastAPI, Llama.cpp et Langchain

2024-07-11

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

Signification de la question :

Diffusion de modèles de langages volumineux locaux à l'aide de FastAPI, Llama.cpp et Langchain

Contexte du problème :

J'ai configuré FastAPI avec Llama.cpp et Langchain. Je souhaite maintenant activer le streaming dans les réponses FastAPI. Le streaming fonctionne avec Llama.cpp dans mon terminal, mais je n'ai pas pu l'implémenter avec une réponse FastAPI.

J'ai configuré FastAPI en utilisant Llama.cpp et Langchain. Maintenant, je souhaite activer le streaming dans la réponse FastAPI. Dans mon terminal, le streaming fonctionne correctement avec Llama.cpp, mais je n'arrive pas à le faire fonctionner avec la réponse FastAPI.

La plupart des tutoriels se concentraient sur l'activation du streaming avec un modèle OpenAI, mais j'utilise un LLM local (Mistral quantifié) avec llama.cpp. Je pense que je dois modifier le Callbackhandler, mais aucun tutoriel n'a fonctionné. Voici mon code :

La plupart des didacticiels se concentrent sur la façon d'activer le streaming à l'aide de modèles OpenAI, mais j'utilise un modèle natif en grand langage (Mistral quantifié) avec lama.cpp. Je pense que je dois modifier le Callbackhandler mais je n'ai trouvé aucun tutoriel qui fonctionne. Ci-dessous mon code :

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