Ich baue eine
-Anläufe-Generation (RAG) Anwendung mit
python + fastapi . Ich betreibe auch einen
Kafka Consumer neben der Fastapi -App, um eingehende Text zu verarbeiten und Einbettung (in FAISS gespeichert) zu generieren. Ich bin jedoch vor einem Hauptproblem vorhanden - die
Start -up -Zeit für den
Kafka -Arbeiter und
fastapi App ist
sehr hoch (90–100 Sekunden) . Ich habe versucht, es mithilfe von
Fastapis Lebensdauer Ereignis zu den Aufwärmaufgaben (Modellbeladung, Vektorspeicherladung usw.) in den Hintergrund abzuladen. Dies reduzierte es leicht auf
~ 85–88 Sekunden -aber es ist immer noch zu langsam für den praktischen Gebrauch.
Hier ist meine Frage:
Was soll ich tun, um die Startzeit meines Kafka -Arbeiters und der Fastapi -App zu verkürzen. class = "Lang-Py PrettyPrint-Override">Code: Select all
@asynccontextmanager
async def lifespan(app: FastAPI):
logger.info("Starting up RecallAI...")
start = time.time()
async def warmup():
logger.info("Warming up models and vector store...")
get_embeddings_model()
get_llm()
get_vectorstore()
logger.info(f"Warmup complete in {time.time() - start:.2f} seconds")
asyncio.create_task(warmup())
yield
logger.info("Shutting down RecallAI...")
Dies hilft, aber nicht genug - die App dauert immer noch lange, bis es reagiert. /> Sogar
importieren store_embeddings im kafka -Arbeiter dauert mehrere Sekunden. />
Code: Select all
@cache
def get_embeddings_model():
return HuggingFaceEmbeddings(model_name="BAAI/bge-small-en-v1.5")
@cache
def get_llm():
return ChatGroq(groq_api_key=os.getenv("GROQ_API_KEY"), model_name="llama-3-70b")
def get_vectorstore():
embeddings = get_embeddings_model()
return FAISS.load_local("img_vector_store", embeddings, allow_dangerous_deserialization=True)
< /code>
Hier ist der Kafka -Arbeiter: < /p>
from recall_ai.vector_embeddings.store_vector_embedding import store_embeddings
def insert_batch(batch):
try:
res = store_embeddings()
...
Sogar
importieren store_embeding nimmt 90 Sekunden [/b]. Diese Funktion lädt interne Modelle und erstellt Faiss -Indexes, was zur Verzögerung beiträgt.>
Ich baue eine [b] -Anläufe-Generation (RAG) [/b] Anwendung mit [b] python + fastapi [/b]. Ich betreibe auch einen [b] Kafka Consumer [/b] neben der Fastapi -App, um eingehende Text zu verarbeiten und Einbettung (in FAISS gespeichert) zu generieren. Ich bin jedoch vor einem Hauptproblem vorhanden - die [b] Start -up -Zeit [/b] für den [b] Kafka -Arbeiter [/b] und [b] fastapi App [/b] ist [b] sehr hoch (90–100 Sekunden) [/b]. Ich habe versucht, es mithilfe von [b] Fastapis Lebensdauer Ereignis [/b] zu den Aufwärmaufgaben (Modellbeladung, Vektorspeicherladung usw.) in den Hintergrund abzuladen. Dies reduzierte es leicht auf [b] ~ 85–88 Sekunden [/b]-aber es ist immer noch zu langsam für den praktischen Gebrauch. [b] Hier ist meine Frage: [/b]
[b] Was soll ich tun, um die Startzeit meines Kafka -Arbeiters und der Fastapi -App zu verkürzen. class = "Lang-Py PrettyPrint-Override">[code]@asynccontextmanager
async def lifespan(app: FastAPI):
logger.info("Starting up RecallAI...")
start = time.time()
async def warmup():
logger.info("Warming up models and vector store...")
get_embeddings_model()
get_llm()
get_vectorstore()
logger.info(f"Warmup complete in {time.time() - start:.2f} seconds")
asyncio.create_task(warmup())
yield
logger.info("Shutting down RecallAI...")
[/code]
Dies hilft, aber nicht genug - die App dauert immer noch lange, bis es reagiert. /> Sogar [url=viewtopic.php?t=18708]importieren[/url] store_embeddings im kafka -Arbeiter dauert mehrere Sekunden. /> [code]@cache
def get_embeddings_model():
return HuggingFaceEmbeddings(model_name="BAAI/bge-small-en-v1.5")
@cache
def get_llm():
return ChatGroq(groq_api_key=os.getenv("GROQ_API_KEY"), model_name="llama-3-70b")
def get_vectorstore():
embeddings = get_embeddings_model()
return FAISS.load_local("img_vector_store", embeddings, allow_dangerous_deserialization=True)
< /code>
Hier ist der Kafka -Arbeiter: < /p>
from recall_ai.vector_embeddings.store_vector_embedding import store_embeddings
def insert_batch(batch):
try:
res = store_embeddings()
...
[/code]
Sogar [url=viewtopic.php?t=18708]importieren[/url] store_embeding nimmt 90 Sekunden [/b]. Diese Funktion lädt interne Modelle und erstellt Faiss -Indexes, was zur Verzögerung beiträgt.>