File size: 705 Bytes
99f19b3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from langchain_core.tools import tool

def get_retriever_tool(vectorstore):
    """
    Creates a LangChain tool from the vector store retriever.
    """
    retriever = vectorstore.as_retriever()
    
    @tool
    def retrieve_rag_docs(query: str) -> str:
        """Search and retrieve information about the RAG Chatbot and LangGraph Agent project from the knowledge base."""
        # Use invoke if available, else get_relevant_documents
        if hasattr(retriever, "invoke"):
            docs = retriever.invoke(query)
        else:
            docs = retriever.get_relevant_documents(query)
            
        return "\n\n".join([d.page_content for d in docs])
    
    return retrieve_rag_docs