File size: 740 Bytes
4d65ce5
 
9b7638e
 
4d65ce5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from agents import function_tool

        # This tool find and pull out similar info from the data

def create_search_tool(retriever):
    @function_tool
    def search_docs(query: str) -> str:
        """Search the knowledge base for relevant information."""
        docs = retriever.get_relevant_documents(query)
        results = []
        for i, doc in enumerate(docs, start=1):
            page = doc.metadata.get("page", "N/A")
            source = doc.metadata.get("source", "N/A")
            snippet = doc.page_content
            results.append(f"[Result {i}] (Page {page}, Source: {source})\n{snippet}")
        return "\n\n".join(results)

    # return the tool function so it can be passed to the Agent
    return search_docs