Skip to main content

Build upon GraphRAG, provide a quick solution setup and is part of the overall Qredence System like AgenticFleet and FleetUI

Project description

Overview

thumbnail

X (formerly Twitter) Follow Discord GraphFleet is an advanced implementation of [GraphRAG from Microsoft](https://github.com/microsoft/graphrag), 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
  • [Join the discord

Getting Started

Prerequisites

  • Python 3.10
  • 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:

    export GRAPHRAG_API_KEY="fd7763c639184c20962857cacacd1a38"
    export GRAPHRAG_API_BASE="https://gpt-4o-fr.openai.azure.com"
    export GRAPHRAG_API_VERSION="2024-04-01-preview"
    export GRAPHRAG_LLM_MODEL="gpt-4"
    export GRAPHRAG_DEPLOYMENT_NAME="model name"
    export GRAPHRAG_EMBEDDING_MODEL="embedding model"
    

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

  2. 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.

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

Security

Security

License

text

Star History

Star History Chart

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graphfleet-0.5.0.tar.gz (796.8 kB view hashes)

Uploaded Source

Built Distribution

graphfleet-0.5.0-py3-none-any.whl (801.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page