Κοινή χρήση τεχνολογίας

Ροή τοπικού 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 (quantized Mistral) με το llama.cpp. Νομίζω ότι πρέπει να τροποποιήσω το Callbackhandler, αλλά κανένα σεμινάριο δεν λειτούργησε. Εδώ είναι ο κωδικός μου:

Τα περισσότερα μαθήματα επικεντρώνονται στον τρόπο ενεργοποίησης της ροής χρησιμοποιώντας μοντέλα OpenAI, αλλά χρησιμοποιώ ένα μοντέλο εγγενούς μεγάλης γλώσσας (quantized Mistral) με το llama.cpp. Νομίζω ότι πρέπει να τροποποιήσω το Callbackhandler, αλλά δεν βρήκα κανένα σεμινάριο που να λειτουργεί. Παρακάτω είναι ο κωδικός μου:

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