Home

Awesome

<a id="readme-top"></a>

<br /> <div align="center"> <a href="https://dsg-polymtl.github.io/flockmtl/"> <img src="docs/static/img/logo-dark.svg" alt="Logo" height="80"> </a> <br /><br /> <p align="center"> A DBMS extension that deeply integrates LLM and RAG capabilities directly into OLAP systems to seamlessly mix analytics with semantic analysis. <br /> <a href="https://dsg-polymtl.github.io/flockmtl/docs/what-is-flockmtl"><strong>Explore the docs Β»</strong></a> <br /> <br /> <a href="https://dsg-polymtl.github.io/flockmtl/">Landing Page</a> | <a href="https://github.com/dsg-polymtl/flockmtl/issues/new?labels=bug&template=bug-report.md">Report Bug</a> | <a href="https://github.com/dsg-polymtl/flockmtl/issues/new?labels=enhancement&template=feature-request.md">Request Feature</a> </p> </div> <details> <summary> <h2>Table of Contents</h2> </summary> <ol> <li><a href="#-about-the-project">About The Project</a></li> <li><a href="#-features">Features</a></li> <li> <a href="#-getting-started">Getting Started</a> <ul> <li><a href="#-prerequisites">Prerequisites</a></li> <li><a href="#βš™-installation">Installation</a></li> </ul> </li> <li><a href="#-usage">Usage</a></li> <li><a href="#-roadmap">Roadmap</a></li> <li><a href="#-feedback-and-issues">Feedback and Issues</a></li> <li><a href="#-license">License</a></li> <li><a href="#-acknowledgments">Acknowledgments</a></li> </ol> </details>

πŸ“œ About The Project

FlockMTL is an advanced DuckDB extension that seamlessly integrates analytics with semantic analysis through declarative SQL queries. Designed for modern data analysis needs, FlockMTL empowers users to work with structured and unstructured data, combining OLAP workflows with the capabilities of LLMs (Large Language Models) and RAG (Retrieval-Augmented Generation) pipelines.

<p align="right"><a href="#readme-top">πŸ” back to top</a></p>

πŸ”₯ Features

<p align="right"><a href="#readme-top">πŸ” back to top</a></p>

πŸš€ Getting Started

πŸ“ Prerequisites

  1. DuckDB: Version 1.1.1 or later. Install it from the official DuckDB installation guide.
  2. Supported Providers: Ensure you have credentials or API keys for at least one of the supported providers:
    • OpenAI
    • Azure
    • Ollama
  3. Supported OS:
    • Linux
    • macOS
    • Windows
<p align="right"><a href="#readme-top">πŸ” back to top</a></p>

βš™οΈ Installation

FlockMTL is a Community Extension available directly from DuckDB's community catalog.

  1. Install the extension:
    INSTALL flockmtl FROM community;
    
  2. Load the extension:
    LOAD flockmtl;
    
<p align="right"><a href="#readme-top">πŸ” back to top</a></p>

πŸ’» Usage

πŸ”§ Example Query

Using FlockMTL, you can run semantic analysis tasks directly in DuckDB. For example:

SELECT llm_complete(
    {'model_name': 'description-model'},
    {'prompt': 'Summarize this data point: '},
    {'data_point': data_column}
) AS summary
FROM your_table;

Explore more usage examples in the documentation.

<p align="right"><a href="#readme-top">πŸ” back to top</a></p>

πŸ›£οΈ Roadmap

Our roadmap outlines upcoming features and improvements. Stay updated by checking out our detailed plan.

<p align="right"><a href="#readme-top">πŸ” back to top</a></p>

πŸ› οΈ Feedback and Issues

We value your feedback! If you’d like to report an issue or suggest a new feature, please use the links below:

For contributing code or other contributions, please refer to our dedicated Contribution Guidelines.

<p align="right"><a href="#readme-top">πŸ” back to top</a></p>

πŸ“ License

This project is licensed under the MIT License. See the LICENSE file for details.

<p align="right"><a href="#readme-top">πŸ” back to top</a></p>

✨ Team

This project is under active development by the Data Systems Group (DSG) at Polytechnique MontrΓ©al.

<p align="right"><a href="#readme-top">πŸ” back to top</a></p>