/NeoGPT

Chat effortlessly, execute commands, and interpret code with Llama3, Phi3, and more - your local AI assistant. Enjoy seamless interaction while ensuring ultimate privacy

Primary LanguagePythonMIT LicenseMIT

NeoGPT 🚀

GitHub license GitHub issues GitHub stars GitHub forks Google Collab

Currently We are in the development phase and are in progress of removing langchain as a dependency from the existing codebase. We are also working on adding more features to the CLI .

Documentation | Discord

Intro Image

pip install neogpt

Not working? Read our setup guide here

$ neogpt

Introduction

NeoGPT is an AI assistant that transforms your local workspace into a powerhouse of productivity from your CLI. With features like code interpretation, multi-RAG support, vision models, and LLM integration, NeoGPT redefines how you work and create. Join the revolution and experience a new era of efficiency with NeoGPT.

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/neogpt
      pip install -r requirements.txt
    
  2. 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 as reference:

  3. 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
  4. 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

  • Code Interpreter: Execute code seamlessly in your local environment with our Code Interpreter. Enjoy the convenience of real-time code execution, all within your personal workspace.

  • Multi RAG Support: NeoGPT supports multiple RAG techniques, enabling you to choose the most suitable model for your needs. It includes local RAG, ensemble RAG, web RAG, and more. 🧠📚

  • Vision: Explore a new dimension as NeoGPT supports vision models like bakllava and llava, enabling you to chat with images using Ollama. 🖼️👁️🧠

  • LLM 🤖: NeoGPT supports multiple LLM models, allowing users to interact with a variety of language models. We support LlamaCpp, Ollama, LM Studio, OpenAI, and Togerther Ai. 🤖🧠📚

Quick Start

pip install https://github.com/neokd/NeoGPT/releases/download/v0.1.0/neogpt-0.1.0-py3-none-any.whl

Terminal

After installing the package, you can run the CLI by typing the following command in your terminal.

$ neogpt

Python

from neogpt import db_retriever

chain = db_retriever()

chain.invoke("What operating system are we on?")

Commands

Code Interpreter

To use the Interpreter, type the following command in your terminal.

$ neogpt --interpreter

Build Vector Database

To build the vector database, type the following command in your terminal.

$ neogpt --build

Run Streamlit UI

To run the Streamlit UI, type the following command in your terminal.

$ neogpt --ui

Change Your LLM

Offline LLM

To change your LLM, type the following command in your terminal.

$ neogpt --model ollama/bakllava

Online LLM

To change your LLM, type the following command in your terminal.

Warning: Add your API key to the .env file before running the command.

$ neogpt --model together/mistralai/Mistral-7B-Instruct-v0.2

Magic Commands

  • 🔄 /reset - Reset the chat session
  • 🚪 /exit - Exit the chat session
  • 📜 /history - Print the chat history
  • 💾 /save - Save the chat history to a neogpt/conversations
  • 📋 /copy - Copy the last response from NeoGPT to the clipboard
  • /undo - Remove the last response from the chat history
  • 🔁 /redo - Resend the last human input to the model
  • 📂 /load [path] - Load the saved chat history from the specified file
  • 🔖 /tokens [prompt] - Calculate the number of tokens for a given prompt
  • 📄 /export - Export the current settings to the settings/settings.yaml file
  • 📜 /conversations - List available previously saved conversations.
  • 📚 /source - Prints the source directory
  • 🔍 /search [keyword] - Search the chat history for the keyword
  • 📋 /copycode or /cc - Copy the last code block to the clipboard

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! 🤖✨