Condivisione della tecnologia

Streaming LLM locale con FastAPI, Llama.cpp e Langchain

2024-07-11

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

Significato della domanda:

Streaming di modelli linguistici locali di grandi dimensioni utilizzando FastAPI, Llama.cpp e Langchain

Contesto del problema:

Ho configurato FastAPI con Llama.cpp e Langchain. Ora voglio abilitare lo streaming nelle risposte FastAPI. Lo streaming funziona con Llama.cpp nel mio terminale, ma non sono riuscito a implementarlo con una risposta FastAPI.

Ho configurato FastAPI utilizzando Llama.cpp e Langchain. Ora voglio abilitare lo streaming nella risposta FastAPI. Nel mio terminale, lo streaming funziona bene con Llama.cpp, ma non riesco a farlo funzionare con la risposta FastAPI.

La maggior parte dei tutorial si è concentrata sull'abilitazione dello streaming con un modello OpenAI, ma io sto usando un LLM locale (Mistral quantizzato) con llama.cpp. Penso di dover modificare Callbackhandler, ma nessun tutorial ha funzionato. Ecco il mio codice:

La maggior parte dei tutorial si concentra su come abilitare lo streaming utilizzando i modelli OpenAI, ma sto utilizzando un modello di linguaggio nativo di grandi dimensioni (Mistral quantizzato) con llama.cpp. Penso di dover modificare il Callbackhandler ma non ho trovato nessun tutorial che funzioni. Di seguito è riportato il mio codice:

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