我将 RAG 与 LLAMA3 用于 AI 机器人。我发现 RAG 与 chromadb 比调用 LLM 本身慢得多。 根据测试结果,仅仅一个1000字左右的简单网页,检索就需要2秒多的时间:
Time used for retrieving: 2.245511054992676
Time used for LLM: 2.1182022094726562
这是我的简单代码:
embeddings = OllamaEmbeddings(model="llama3")
vectorstore = Chroma.from_documents(documents=splits, embedding=embeddings)
retriever = vectorstore.as_retriever()
question = "What is COCONut?"
start = time.time()
retrieved_docs = retriever.invoke(question)
formatted_context = combine_docs(retrieved_docs)
end = time.time()
print(f"Time used for retrieving: {end - start}")
start = time.time()
answer = ollama_llm(question, formatted_context)
end = time.time()
print(f"Time used for LLM: {end - start}")
我发现当我的chromaDB大小只有1.4M左右时,检索需要20多秒,而LLM仍然只需要大约3或4秒。我有什么遗漏的吗?还是RAG技术本身这么慢?
如果您认为这为您的案例提供了完美的背景,请将此标记为答案。