File size: 789 Bytes
30b5e11 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
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"
)
|