Skip to main content

Advanced implementation of GraphRAG for enhanced LLM reasoning

Project description

GraphFleet

GraphRAG implementation for fleet management using FastAPI and PostgreSQL.

Features

  • GraphRAG-powered search functionality
  • Async PostgreSQL database integration
  • FastAPI REST API with OpenAPI documentation
  • Environment-based configuration
  • Poetry dependency management

Prerequisites

  • Python 3.11 or higher
  • PostgreSQL 13 or higher
  • Poetry for dependency management

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/GraphFleet.git
cd GraphFleet
  1. Install dependencies using Poetry:
poetry install
  1. Copy the example environment file and update it with your settings:
cp .env.example .env
  1. Update the .env file with your configuration:
  • Set your PostgreSQL connection details
  • Add your OpenAI API key
  • Configure other settings as needed

Development

  1. Start the PostgreSQL database

  2. Run the development server:

poetry run uvicorn app.main:app --reload
  1. Access the API documentation:

Project Structure

GraphFleet/
├── app/
│   ├── api/
│   │   └── api_v1/
│   │       └── endpoints/
│   │           └── search.py
│   ├── core/
│   │   └── config.py
│   ├── db/
│   │   ├── base.py
│   │   ├── init_db.py
│   │   └── session.py
│   ├── models/
│   ├── schemas/
│   │   └── search.py
│   ├── services/
│   │   └── search.py
│   └── main.py
├── tests/
├── .env
├── .env.example
├── pyproject.toml
└── README.md

Testing

Run the test suite:

poetry run pytest

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Security Policy

Supported Versions

Use this section to tell people about which versions of your project are currently being supported with security updates.

Version Supported
5.1.x :white_check_mark:
5.0.x :x:
4.0.x :white_check_mark:
< 4.0 :x:

Reporting a Vulnerability

Use this section to tell people how to report a vulnerability.

Tell them where to go, how often they can expect to get an update on a reported vulnerability, what to expect if the vulnerability is accepted or declined, etc.

Contributing to GraphFleet

First off, thank you for considering contributing to GraphFleet! It's people like you that make GraphFleet such a great tool.

Code of Conduct

By participating in this project, you are expected to uphold our Code of Conduct.

How Can I Contribute?

Reporting Bugs

This section guides you through submitting a bug report for GraphFleet. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.

  • Use a clear and descriptive title for the issue to identify the problem.
  • Describe the exact steps which reproduce the problem in as many details as possible.
  • Provide specific examples to demonstrate the steps.

Suggesting Enhancements

This section guides you through submitting an enhancement suggestion for GraphFleet, including completely new features and minor improvements to existing functionality.

  • Use a clear and descriptive title for the issue to identify the suggestion.
  • Provide a step-by-step description of the suggested enhancement in as many details as possible.
  • Provide specific examples to demonstrate the steps.

Pull Requests

The process described here has several goals:

  • Maintain GraphFleet's quality
  • Fix problems that are important to users
  • Engage the community in working toward the best possible GraphFleet
  • Enable a sustainable system for GraphFleet's maintainers to review contributions

Please follow these steps to have your contribution considered by the maintainers:

  1. After you submit your pull request, verify that all status checks are passing

Styleguides

Git Commit Messages

  • Use the present tense ("Add feature" not "Added feature")
  • Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
  • Limit the first line to 72 characters or less
  • Reference issues and pull requests liberally after the first line

Python Styleguide

All Python code must adhere to the PEP 8 style guide.

Documentation Styleguide

  • Use Markdown for documentation.
  • Reference functions and classes in backticks.

Additional Notes

Issue and Pull Request Labels

This section lists the labels we use to help us track and manage issues and pull requests.

  • bug - Issues for bugs in the codebase.
  • enhancement - Issues for new features or improvements.
  • documentation - Issues related to documentation.
  • help-wanted - Issues where we need help from the community.

Thank You!

Your contributions to open source, large or small, make projects like this possible. Thank you for taking the time to contribute.

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.37.tar.gz (20.8 kB view details)

Uploaded Source

Built Distribution

graphfleet-0.5.37-py3-none-any.whl (27.3 kB view details)

Uploaded Python 3

File details

Details for the file graphfleet-0.5.37.tar.gz.

File metadata

  • Download URL: graphfleet-0.5.37.tar.gz
  • Upload date:
  • Size: 20.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.5 Darwin/24.2.0

File hashes

Hashes for graphfleet-0.5.37.tar.gz
Algorithm Hash digest
SHA256 22f2696968eb9329168f84916f459616e7feac5be6b8d8b1f1541d1c5174514d
MD5 58ef31eab341b01a94d83f32510431b5
BLAKE2b-256 a32e05e26e42e35c8ecde1badc7b5f45bc87f2c40cec47d1575b83fbccb891df

See more details on using hashes here.

File details

Details for the file graphfleet-0.5.37-py3-none-any.whl.

File metadata

  • Download URL: graphfleet-0.5.37-py3-none-any.whl
  • Upload date:
  • Size: 27.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.5 Darwin/24.2.0

File hashes

Hashes for graphfleet-0.5.37-py3-none-any.whl
Algorithm Hash digest
SHA256 42e1d0d728fd3ef9e8b44f62b93bdf1acadbf5477bc5b169fed7b5e724955a34
MD5 6eec8e9ceb0e9f9cdc89daa9a20de7cb
BLAKE2b-256 a07b666bf135fcfcf537666ca246f1ee69a9c4bf137b17f83d827eeecfa3eddd

See more details on using hashes here.

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