Compartilhamento de tecnologia

Transmissão LLM local com FastAPI, Llama.cpp e Langchain

2024-07-11

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

Significado da pergunta:

Streaming de modelos locais de grandes idiomas usando FastAPI, Llama.cpp e Langchain

Contexto do problema:

Configurei o FastAPI com Llama.cpp e Langchain. Agora, quero habilitar o streaming nas respostas do FastAPI. O streaming funciona com Llama.cpp no ​​meu terminal, mas não consegui implementá-lo com uma resposta do FastAPI.

Configurei FastAPI usando Llama.cpp e Langchain. Agora quero habilitar o streaming na resposta FastAPI. No meu terminal, o streaming funciona bem com Llama.cpp, mas não consigo fazê-lo funcionar com a resposta FastAPI.

A maioria dos tutoriais se concentrou em habilitar streaming com um modelo OpenAI, mas estou usando um LLM local (Mistral quantizado) com llama.cpp. Acho que tenho que modificar o Callbackhandler, mas nenhum tutorial funcionou. Aqui está meu código:

A maioria dos tutoriais se concentra em como habilitar o streaming usando modelos OpenAI, mas estou usando um modelo nativo de linguagem grande (Mistral quantizado) com llama.cpp. Acho que preciso modificar o Callbackhandler mas não encontrei nenhum tutorial que funcione. Abaixo está meu 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= """