/GraphFleet

An open-source integration of GraphRAG for Agentic System with NoCode

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

Overview

Pepy Total Downlods GitHub License GitHub forks GitHub Repo stars X (formerly Twitter) Follow Discord

GraphFleet_Query

GraphFleet is an advanced implementation of GraphRAG from Microsoft, designed to enhance large language models' ability to reason about complex information and private datasets. It builds upon GraphRAG (Retrieval Augmented Generation using Graph structures) and will gradually adopt its own path to fulfill our roadmap at Qredence.

GraphFleet

GraphFleet uses knowledge graphs to provide substantial improvements in question-and-answer performance when reasoning about complex information. It addresses limitations of traditional RAG approaches:

Roadmap

  • Provide a FleetUI Design Kit and a quicker way of starting GraphFleet locally.
  • Provide a Toddle interface ready to use for GraphFleet
  • Add integrations of Composio
  • Add integrations of LangSmith
  • Add few selfhosting one click deploy solutions.
  • Access GraphFleet through a secure and enterprise-ready Azure Cloud hosting version.
  • And way more... 👀

Key Features

  • Structured, hierarchical approach to Retrieval Augmented Generation.
  • Knowledge graph extraction from raw text.
  • Community hierarchy building.
  • Hierarchical summarization.
  • Enhanced reasoning capabilities for LLMs on private datasets.

Contribute

  • Leave us a star ♥
  • Fork and contribute to the project
  • Discord X (formerly Twitter) Follow

Getting Started

Prerequisites

  • Python 3.11
  • Poetry
  • Make sure to have a virtual environment manager such as virtualenv installed

Installation

  1. Clone the repository:
   git clone https://github.com/Qredence/GraphFleet.git
   cd GraphFleet
  1. Simply run these in your terminal:

    poetry shell
    poetry install

Usage

  1. Configuration: Environment Variables: Set up your environment variables in a .env file (refer to the .env.example file for available options). Key variables include:

Fill in the .env file in the root folder and the one in the graphfleet folder.

```bash
export GRAPHRAG_API_KEY="your_api_key_here"
export GRAPHRAG_API_BASE="your_api_base_url_here"
export GRAPHRAG_API_VERSION="your_api_version_here"
export GRAPHRAG_LLM_MODEL="your_llm_model_here"
export GRAPHRAG_DEPLOYMENT_NAME="your_deployment_name_here"
export GRAPHRAG_EMBEDDING_MODEL="your_embedding_model_here"
```

settings.yaml: Customize GraphFleet's behavior further by modifying the settings.yaml file within the graphfleet directory.

  1. Data Indexing: Jupyter Notebook Guide: Follow the instructions provided in the get-started-graphfleet.ipynb notebook to learn how to index your data with GraphFleet. This notebook provides a hands-on experience for setting up your knowledge base.

  2. Interacting with GraphFleet: Jupyter Notebooks: Explore GraphFleet's capabilities with the provided notebooks:

    get-started-graphfleet.ipynb: A comprehensive guide to indexing your data and running basic queries.

    Local Search Notebook.ipynb: Demonstrates local search techniques.

    app.py (FastAPI Application): Run a Streamlit-powered web interface to interact with GraphFleet using a user-friendly chat-like interface.

Start the application API only

uvicorn graphfleet.api.api:app --host 0.0.0.0 --port 8001

Access the interface in your web browser at the provided URL http://0.0.0.0:8001/docs .

  1. Data Indexing:

Jupyter Notebook Guide: Follow the instructions provided in the get-started-graphfleet.ipynb notebook to learn how to index your data with GraphFleet. This notebook provides a hands-on experience for setting up your knowledge base.

  1. Interacting with GraphFleet: Jupyter Notebooks: Explore GraphFleet's capabilities with the provided notebooks:

get-started-graphfleet.ipynb: A comprehensive guide to indexing your data and running basic queries. Local Search Notebook.ipynb: Demonstrates local search techniques. [Add descriptions of other notebooks and their purpose here] app.py (FastAPI Application): Run a Streamlit-powered web interface to interact with GraphFleet using a user-friendly chat-like interface:

Running the API only

To run the API, save the code in a file named api.py and execute the following command in your terminal:

uvicorn api:app --reload --port 8001

Start the application

streamlit run app.py # Access the interface in your web browser at the provided URL (usually http://localhost:8080).
python -m graphrag.query --root ./graphfleet --method local "What are the key features of GraphRAG ??"

For Global query mode :

python -m graphrag.query --root ./graphfleet --method global "What are the top main features of GraphRAG"

Running the API only

To run the API, save the code in a file named api.py and execute the following command in your terminal:

uvicorn api:app --reload --port 8001

GraphFleet_Query

Security

Security

License

text

Star History

Star History Chart