import fire from r2r import R2RBuilder, SerperClient, WebSearchPipe from r2r.base.abstractions.llm import GenerationConfig def run_rag_pipeline(query="Who was Aristotle?"): # Create search pipe override and pipes web_search_pipe = WebSearchPipe( serper_client=SerperClient() # TODO - Develop a `WebSearchProvider` for configurability ) app = R2RBuilder().with_vector_search_pipe(web_search_pipe).build() # Run the RAG pipeline through the R2R application result = app.rag( query, rag_generation_config=GenerationConfig(model="gpt-4o"), ) print(f"Search Results:\n\n{result.search_results}") print(f"RAG Results:\n\n{result.completion}") if __name__ == "__main__": fire.Fire(run_rag_pipeline)