コンテンツにスキップ

インストールと実行

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 を参照してください。

次のステップ