Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Contents

...

Apache SkyWalking Natural Language to BydbQL

Background

BanyanDB is the native storage engine for Apache SkyWalking, designed specifically for observability data (Traces, Metrics, and Logs). It utilizes its own query language, BydbQL, which is SQL-like but optimized for time-series and observability schemas. While BydbQL is powerful, non-expert users or SREs in high-pressure situations may find it difficult to construct complex queries for specific traces or aggregated metrics.

The goal of this project is to build an Intelligent Query Agent that leverages Large Language Models (LLMs) to translate Natural Language (NL) into valid BydbQL.

Tasks

  • Schema-Aware Prompting: Develop a mechanism to extract BanyanDB metadata (Groups, Streams, Measures, Tag Families) and feed it into the LLM context (RAG - Retrieval-Augmented Generation).
  • N2SQL Implementation: Adapt state-of-the-art "Natural Language to SQL" (NL2SQL) techniques to the specific syntax and constraints of BydbQL.
  • Verification Loop: Integrate the agent with the existing BydbQL parser to validate generated queries before execution.
  • CLI/UI Integration: Implement a "chat" interface or an --ask flag in bydbctl (the BanyanDB CLI tool) to allow users to query data via plain English (e.g., "Show me the top 5 slowest services in the last hour").

Requirements

  • Proficiency in Go (BanyanDB's primary language).
  • Experience with LLM APIs (OpenAI, Gemini, or local models via Ollama) and orchestration frameworks (LangChain, LangGraph).
  • Understanding of Compiler Front-ends (Lexing, Parsing, AST).
Difficulty: Major
Project size: ~350 hour (large)
Potential mentors:
Hongtao Gao, mail: hanahmily (at) apache.org
Project Devs, mail: dev (at) skywalking.apache.org

Mahout

Add ZZFeatureMap Encoding for

Apache Mahout Automated API Documentation Pipeline for Qumat & QDP

Summary

Implement an automated API documentation pipeline that generates and publishes API reference documentation from the Python (Qumat, QDP) and Rust (qdp-core) codebases, integrated into the project's Docusaurus website and CI.

Background

  • Apache Mahout exposes two main API surfaces:
    • Qumat: Python library for quantum circuits (backends: Qiskit, Cirq, Amazon Braket).
    • QDP (Quantum Data Plane): GPU-accelerated encoding (Rust core + PyO3 Python bindings, qumat.qdp / _qdp).
  • Manual doc updates are error-prone and don’t scale. Automating from source keeps docs accurate and reduces maintainer burden.

Current state

  • QuMat API is maintained by hand and can drift from code.
  • QDP API is waiting for new website migration to be finished.
  • Rust (qdp-core) has extensive doc comments but no published rustdoc in the website.

Goals

1. Generate API reference from source for Python (Qumat).
2. Integrate generated docs into the existing Docusaurus site.
3. Automate the pipeline in CI so doc builds run on changes.
4. Define conventions (docstrings, public API) for future contributors.

Deliverables

  • Python API doc pipeline (Sphinx or pdoc) for qumat and QDP.
  • QuMat API reference either generated or explicitly linked.
  • Rust (qdp-core) rustdoc built and linked from the website.
  • CI job(s) that build Python API docs and rustdoc and fail on errors.
  • Short contribution guide on docstring style and how to update API docs.

Tracked github issue

https://github.com/apache/mahout/issues/1012

Difficulty: Major
Project size: ~175 hour (medium)
Potential mentors:
Jie-Kai Chang, mail: jiekaichang (at) apache.org
Project Devs, mail: dev (at) mahout.apache.org

Add ZZFeatureMap Encoding for QDP

Backgroud

ZZFeatureMap is the most widely-used data encoding in quantum machine learning. It's the default in Qiskit and PennyLane for quantum kernel methods and variational classifiers.

QDP currently supports amplitude, angle, basis, and IQP encodings. Adding ZZFeatureMap completes our QML encoding suite.

What is ZZFeatureMap?

Maps classical features to quantum states using:
1. Hadamard gates (superposition)
2. RZ gates (single-qubit rotations)
3. ZZ interactions (two-qubit entanglement)
4. Repetition layers for expressivity

Backgroud

ZZFeatureMap is the most widely-used data encoding in quantum machine learning. It's the default in Qiskit and PennyLane for quantum kernel methods and variational classifiers.

QDP currently supports amplitude, angle, basis, and IQP encodings. Adding ZZFeatureMap completes our QML encoding suite.

What is ZZFeatureMap?

Maps classical features to quantum states using:
1. Hadamard gates (superposition)
2. RZ gates (single-qubit rotations)
3. ZZ interactions (two-qubit entanglement)
4. Repetition layers for expressivity

Tracked github issue

https://github.com/apache/mahout/issues/1008

Difficulty: Major
Project size: ~350 hour (large)
Potential mentors:
Ryan Huang, mail: hcr (at) apache.org
Project Devs, mail: dev (at) mahout.apache.org

Apache Mahout Automated API Documentation Pipeline for Qumat & QDP

Summary

Implement an automated API documentation pipeline that generates and publishes API reference documentation from the Python (Qumat, QDP) and Rust (qdp-core) codebases, integrated into the project's Docusaurus website and CI.

Background

  • Apache Mahout exposes two main API surfaces:
    • Qumat: Python library for quantum circuits (backends: Qiskit, Cirq, Amazon Braket).
    • QDP (Quantum Data Plane): GPU-accelerated encoding (Rust core + PyO3 Python bindings, qumat.qdp / _qdp).
  • Manual doc updates are error-prone and don’t scale. Automating from source keeps docs accurate and reduces maintainer burden.

Current state

  • QuMat API is maintained by hand and can drift from code.
  • QDP API is waiting for new website migration to be finished.
  • Rust (qdp-core) has extensive doc comments but no published rustdoc in the website.

Goals

1. Generate API reference from source for Python (Qumat).
2. Integrate generated docs into the existing Docusaurus site.
3. Automate the pipeline in CI so doc builds run on changes.
4. Define conventions (docstrings, public API) for future contributors.

Deliverables

  • Python API doc pipeline (Sphinx or pdoc) for qumat and QDP.
  • QuMat API reference either generated or explicitly linked.
  • Rust (qdp-core) rustdoc built and linked from the website.
  • CI job(s) that build Python API docs and rustdoc and fail on errors.
  • Short contribution guide on docstring style and how to update API docs.

    Tracked github issue

    https://github.com/apache/mahout/issues/10121008

    Difficulty: Major
    Project size: ~175 ~350 hour (mediumlarge)
    Potential mentors:
    Jie-Kai ChangRyan Huang, mail: jiekaichang hcr (at) apache.org
    Project Devs, mail: dev (at) mahout.apache.org

    ...