在我的 Flask 应用程序中,我使用 Langchain 和 Faiss 存储数据。然而,随着每次操作,内存使用量都会增加并且永远不会减少。我使用多个矢量数据库对此进行了测试,但内存使用量持续上升。我该如何解决这个问题?
我的代码:
def upload_data():
text = request.get_json().get('text')
text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=150)
docs = text_splitter.split_text(text)
FAISS.from_texts(docs, OpenAIEmbeddings()).save_local("faiss_index")
return "Success"
我尝试更改多个矢量数据库。
内存使用问题似乎可能是由于未正确释放资源造成的。尝试强制垃圾收集:保存 FAISS 索引后,使用 gc.collect() 释放内存。
import gc
def upload_data():
text = request.get_json().get('text')
text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=150)
docs = text_splitter.split_text(text)
index = FAISS.from_texts(docs, OpenAIEmbeddings())
index.save_local("faiss_index")
del index
gc.collect()
return "Success"
希望这能解决:)