Schema-Action-Querying — テキスト→アクションで操作するマルチテーブルExcel/CSVクエリ

AI/ML

概要

Schema-Action-Queryingは、Excel/CSVファイルを対象に「テキスト(自然言語)→アクション(集計・フィルタ・結合など)」へと自動変換するマルチテーブルText-to-Actionシステムです。特徴は約3Bパラメータの小型ローカル言語モデルで高精度(READMEでは90%超を掲示)を狙う点にあり、データベースのセットアップや外部クラウド依存なしで、ファイルからテーブル検出、スキーマ推定、結合候補の提示、実行プランの生成・実行までを行います。サンプルや設定が用意され、Python環境で手軽に試せるのが利点です。

GitHub

リポジトリの統計情報

  • スター数: 10
  • フォーク数: 10
  • ウォッチャー数: 10
  • コミット数: 20
  • ファイル数: 6
  • メインの言語: Python

主な特徴

  • ローカルで動作する小型(≈3Bパラメータ)言語モデルを利用し、クラウドや大規模API不要で実行可能。
  • Excel/CSVからテーブル・カラム・結合候補を自動検出し、自然言語クエリを実行プランに変換。
  • スキーマに基づくプロンプト設計や検証ステップでモデルの誤答(幻覚)を抑止。
  • サンプル、設定ファイル、要件が同梱され、すぐに試せる開発体験を提供。

技術的なポイント

Schema-Action-Queryingのコアは「スキーマ認識」と「アクション生成」の二つの工程です。まずファイルパーサーがExcel/CSVを読み込み、表の境界、ヘッダ行、データ型の推定を行って候補テーブルを作成します。次に、テーブル間の潜在的なリレーション(キー候補や類似カラム)をスキーマグラフとして表現します。自然言語クエリが入力されると、ローカルの3B級LLMに対してスキーマと例示を含むプロンプトを与え、クエリを一連のアクション(フィルタ、集計、結合、列変換など)に分解させます。

生成されたアクションは内部の実行エンジン(主にpandasや軽量のデータ操作ライブラリ想定)にマッピングされ、ファイル上でインメモリ実行されます。技術的工夫として、スキーマをプロンプトコンテキストに取り込みモデルをスキーマに「締め付ける」ことで誤解を防ぎ、複数候補がある場合は候補提示→ユーザー確認→再推論といった確認ループを設けることで精度向上を図っています。

また、3B規模のモデルを前提としているため、推論コストと応答速度のバランスを意識したプロンプト長の管理や少数ショット設計が重要です。ローカル実行の利点を生かして、データのプライバシーを維持しつつオフラインで運用できますが、大規模なデータセットや複雑な結合処理に対してはメモリや計算資源の制約が残ります。拡張ポイントとしては、モデルのプラグイン交換(異なる3Bモデルや量子化モデルの採用)、より高度な結合候補探索アルゴリズム、実行計画のコスト推定などが考えられます。

プロジェクトの構成

主要なファイルとディレクトリ:

  • README.md: file
  • assets: dir
  • configs: dir
  • examples: dir
  • requirements.txt: file

…他 1 ファイル

まとめ

3Bモデルでローカル/プライバシー重視の実用的なテーブルクエリ環境を提供。

リポジトリ情報:

READMEの抜粋:

Schema-Action-Querying 🔍

First multi-table Text-to-Action system powered by small language models (3B params)

Query Excel/CSV files with 90%+ accuracy using only 3B models—no GPT-4, no database setup needed.

Python 3.8+ License: Apache 2.0 HF Dataset