from langchain.tools import Tool from langchain_community.vectorstores import FAISS from langchain_community.embeddings import HuggingFaceEmbeddings import os EMBEDDINGS = HuggingFaceEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2") INDEX_PATH = "memory/faiss_index" if os.path.exists(INDEX_PATH): vectordb = FAISS.load_local(INDEX_PATH, EMBEDDINGS, allow_dangerous_deserialization=True) else: vectordb = FAISS.from_texts(["Base vide"], EMBEDDINGS) vectordb.save_local(INDEX_PATH) def local_search(query: str): docs = vectordb.similarity_search(query, k=3) return "\n".join([d.page_content for d in docs]) local_knowledge_tool = Tool( name="Base Locale", func=local_search, description="Recherche dans la base documentaire locale FAISS" )