/NeoGPT

Chat effortlessly with Documents, YouTube Videos,Code, and Social Media Chats. Your go-to for quick and smart interactions! 🤖💬

Primary LanguagePythonMIT LicenseMIT

NeoGPT Gif

NeoGPT 🚀

GitHub license GitHub issues GitHub stars GitHub forks

Note: Looking for the documentation? Check out the official documentation.

Overview

Bid farewell to mundane engagements with documents and YouTube videos. NeoGPT emerges as your reliable companion, facilitating seamless and engaging conversations with both local documents and extensive YouTube content. Tailored to meet the needs of professionals, developers, researchers, and enthusiasts, NeoGPT is designed to elevate your experience and streamline your interactions with diverse content sources. Experience a new dimension of productivity and engagement with NeoGPT, your go-to tool for navigating the world of information with ease and sophistication.🚀

NeoGPT is continuously evolving, and your feedback shapes its future. Join our Discord community to stay up to date with the latest developments.

Table of Contents

Getting Started

  1. Installation: Clone this repository and install the necessary dependencies.
     git clone https://github.com/neokd/NeoGPT.git
     cd NeoGPT
     pip install -r requirements.txt
  1. Building Database Currently NeoGPT supports local files and Youtube videos. To build the database add your local files to the documents directory and URL in the builder.url file. Then run the builder script.

       python main.py --build

    This will create a database file in the neogpt/db folder. You can also specify the database to use by using --db flag. Supported databases are:

    • Chroma (default)
    • FAISS

    Currently the database is built using 2 papers and 1 youtube video:

  2. Run NeoGPT: Run the CLI to start using NeoGPT. Requires Python v3.10. You can use the --help flag to view the available commands and options.

        python main.py

    You can also use --ui flag to run the Streamlit UI.

        python main.py --ui
  3. Project Documentation: To view the project documentation, run the following command in your terminal or command prompt (Development ⚠️)

        cd docs
        npm i mintlify
        mintlify dev

Features

  • Hybrid RAG (Keyword based and Semantic Search) 🕵️‍♂️📂: NeoGPT supports a Hybrid Retriever that combines both keyword-based and semantic search functionalities. This allows users to perform more nuanced and context-aware searches, enhancing the accuracy and relevance of retrieved information.

  • Docker Support 🐳: NeoGPT is designed to be Docker-compatible, providing users with the flexibility and convenience of containerization. This ensures easy deployment and compatibility across various environments, streamlining the setup process for users.

  • User Interface 💻 (Streamlit): The inclusion of a user-friendly command-line interface (CLI) along with a Streamlit-based User Interface (UI) enhances the accessibility of NeoGPT. This dual-interface approach caters to users with different technical backgrounds, making interactions more seamless.

  • Agent-based Chatbot 🤖: NeoGPT introduces an agent-based chatbot system, allowing users to interact with specialized agents tailored for different purposes. This feature enhances the versatility of NeoGPT, enabling it to cater to a wide range of user needs and use cases.

Contributing

We welcome contributions to NeoGPT! If you have ideas for new features or improvements, please open an issue or submit a pull request. For more information, see our contributing guide.

License

This project is licensed under the MIT License - see the LICENSE file for details. Let's innovate together! 🤖✨