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 uses knowledge graphs to provide substantial improvements in question-and-answer performance when reasoning about complex information. It addresses limitations of traditional RAG approaches:
- 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... 👀
- 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.
- Python 3.11
- Poetry
- Make sure to have a virtual environment manager such as
virtualenv
installed
- Clone the repository:
git clone https://github.com/Qredence/GraphFleet.git
cd GraphFleet
-
Simply run these in your terminal:
poetry shell poetry install
- 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.
-
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.
-
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.
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 .
- 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.
- 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:
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
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"
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