# RagTool: A Dynamic Knowledge Base Tool RagTool is designed to answer questions by leveraging the power of RAG by leveraging (EmbedChain). It integrates seamlessly with the CrewAI ecosystem, offering a versatile and powerful solution for information retrieval. ## **Overview** RagTool enables users to dynamically query a knowledge base, making it an ideal tool for applications requiring access to a vast array of information. Its flexible design allows for integration with various data sources, including files, directories, web pages, yoututbe videos and custom configurations. ## **Usage** RagTool can be instantiated with data from different sources, including: - ๐Ÿ“ฐ PDF file - ๐Ÿ“Š CSV file - ๐Ÿ“ƒ JSON file - ๐Ÿ“ Text - ๐Ÿ“ Directory/ Folder - ๐ŸŒ HTML Web page - ๐Ÿ“ฝ๏ธ Youtube Channel - ๐Ÿ“บ Youtube Video - ๐Ÿ“š Docs website - ๐Ÿ“ MDX file - ๐Ÿ“„ DOCX file - ๐Ÿงพ XML file - ๐Ÿ“ฌ Gmail - ๐Ÿ“ Github - ๐Ÿ˜ Postgres - ๐Ÿฌ MySQL - ๐Ÿค– Slack - ๐Ÿ’ฌ Discord - ๐Ÿ—จ๏ธ Discourse - ๐Ÿ“ Substack - ๐Ÿ Beehiiv - ๐Ÿ’พ Dropbox - ๐Ÿ–ผ๏ธ Image - โš™๏ธ Custom #### **Creating an Instance** ```python from crewai_tools.tools.rag_tool import RagTool # Example: Loading from a file rag_tool = RagTool().from_file('path/to/your/file.txt') # Example: Loading from a directory rag_tool = RagTool().from_directory('path/to/your/directory') # Example: Loading from a web page rag_tool = RagTool().from_web_page('https://example.com') # Example: Loading from an Embedchain configuration rag_tool = RagTool().from_embedchain('path/to/your/config.json') ``` ## **Contribution** Contributions to RagTool and the broader CrewAI tools ecosystem are welcome. To contribute, please follow the standard GitHub workflow for forking the repository, making changes, and submitting a pull request. ## **License** RagTool is open-source and available under the MIT license. Thank you for considering RagTool for your knowledge base needs. Your contributions and feedback are invaluable to making RagTool even better.