インストールと実行¶
ChilmAI を開発者として使い始める手順です。ライブラリとして自分のアプリケーションに組み込む場合は PyPI から、サンプルデータでの試用・Web UI や HTTP API の起動・開発への参加はソースコードから始めます。
プログラミング不要で使いたい方へ
ブラウザの画面操作だけで入所選考を試したい場合、Windows 11(64-bit)の PC であれば配布されている ZIP をダウンロードするだけで使えます(Python のインストールも不要です)。詳しくは 自治体の方へ をご覧ください。
インストール¶
Python 3.10 〜 3.12 を用意して、インストールします。
pip install chilmai
uv でプロジェクトに追加する場合は次のとおりです。
uv add chilmai
PyPI のパッケージに含まれるのはコアライブラリ(chilmai)のみです。Web UI と HTTP API のリファレンス実装(apps/)、およびサンプルデータは含まれないため、これらを使う場合はソースコードから始めてください。
Git、Python 3.10 〜 3.12、uv を用意してください。Web UI を利用する場合は、Microsoft Edge や Google Chrome などのモダンブラウザも必要です。
git clone https://github.com/CyberAgent/ChilmAI.git
cd ChilmAI
uv sync
開発に参加する場合のセットアップ(テスト・ドキュメント用の依存関係や pre-commit フック)は コントリビューション を参照してください。
サンプルデータで実行する¶
動作確認用の合成データとして、次の 2 ファイルを用意しています。
| ファイル | 内容 |
|---|---|
申込者データ_デモ.csv |
申請児童 5 名(うち、きょうだい 1 組・転園希望 1 名) |
保育所データ_デモ.csv |
保育所 3 園(3 歳枠のみ・合計 5 枠) |
サンプルデータを用意する¶
サンプルデータは PyPI のパッケージに含まれません。上の表のリンク先(GitHub)でファイルを開き、「Download raw file」から 2 ファイルをダウンロードしてください。
以下では、作業ディレクトリに sample/ を作成して 2 ファイルを保存した状態を前提とします。別の場所に保存した場合は、次のコードのパスをその保存先に合わせて書き換えてください。
2 ファイルはリポジトリの sample/ に含まれています。追加の準備は不要です。以下ではリポジトリ直下を作業ディレクトリとして進めます。
マッチングを実行する¶
Python API からマッチングを実行します。
from pathlib import Path
from chilmai.generic.config import DEFAULT_CONFIG
from chilmai.generic.service import MatchingService
# CSV の保存先に合わせて書き換えてください
children_file = Path("sample/申込者データ_デモ.csv")
daycares_file = Path("sample/保育所データ_デモ.csv")
service = MatchingService()
result = service.match(
children_file_bytes=children_file.read_bytes(),
children_file_format="csv",
daycares_file_bytes=daycares_file.read_bytes(),
daycares_file_format="csv",
mapping=DEFAULT_CONFIG,
solver_config={"max_time_seconds": 10},
)
print(result["matched_children"])
作業ディレクトリにスクリプトとして保存し、python <ファイル名> または uv run <ファイル名> で実行します。
match() はマッチング結果を含む辞書を返します。戻り値の構造の詳細と、入力データに問題がないか事前に確認する validate() については Python API を参照してください。
次のステップ¶
- 入力データと設定 — 自分のデータを読み込ませるための形式と列名マッピング
- Python API — アプリケーションへの組み込み
- リファレンスアプリ — Web UI と HTTP API の起動
- カスタマイズ — 自治体ごとの差分の実装