Spaces:
Running
Running
from langchain_core.tools import tool | |
from langchain_community.tools.tavily_search import TavilySearchResults | |
from rag import create_rag_pipeline, add_urls_to_vectorstore | |
# Initialize RAG pipeline | |
rag_components = create_rag_pipeline(collection_name="london_events") | |
# Add some initial URLs to the vector store | |
urls = [ | |
"https://www.timeout.com/london/things-to-do-in-london-this-weekend", | |
"https://www.timeout.com/london/london-events-in-march" | |
] | |
add_urls_to_vectorstore( | |
rag_components["vector_store"], | |
rag_components["text_splitter"], | |
urls | |
) | |
def retrieve_context(query: str) -> list[str]: | |
"""Searches the knowledge base for relevant information about events and activities. Use this when you need specific details about events.""" | |
return [doc.page_content for doc in rag_components["retriever"].get_relevant_documents(query)] | |
# Initialize Tavily search tool | |
tavily_tool = TavilySearchResults(max_results=5) | |
# Create tool belt | |
tool_belt = [tavily_tool, retrieve_context] |