Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ワークスペース構成

Litsea は 2 つのクレートとサポートディレクトリで構成される Cargo ワークスペースとして組織されています。

ディレクトリ構成

litsea/
├── Cargo.toml              # Workspace manifest
├── Cargo.lock              # Dependency lock file
├── Makefile                # Build convenience targets
├── rustfmt.toml            # Rust formatting configuration
├── LICENSE                 # MIT
├── README.md               # Project overview
├── litsea/                 # Core library crate
│   ├── Cargo.toml
│   ├── src/
│   │   ├── lib.rs          # Module declarations and version
│   │   ├── adaboost.rs     # AdaBoost algorithm
│   │   ├── segmenter.rs    # Word segmentation
│   │   ├── extractor.rs    # Feature extraction from corpus
│   │   ├── trainer.rs      # Training orchestration
│   │   ├── language.rs     # Language definitions and char patterns
│   │   └── util.rs         # URI scheme utilities
│   └── benches/
│       └── bench.rs        # Criterion benchmarks
├── litsea-cli/             # CLI binary crate
│   ├── Cargo.toml
│   └── src/
│       └── main.rs         # CLI entry point
├── models/                 # Pre-trained models
│   ├── japanese.model
│   ├── chinese.model
│   ├── korean.model
│   ├── RWCP.model
│   └── JEITA_Genpaku_ChaSen_IPAdic.model
├── resources/              # Sample data and test fixtures
│   └── bocchan.txt         # Sample corpus
├── scripts/                # Corpus preparation utilities
│   ├── download_udtreebank.sh      # Download UD Treebanks and output CoNLL-U file path
│   └── corpus_udtreebank.sh           # Convert CoNLL-U files to Litsea corpus format
├── docs/                   # mdbook documentation (this book)
└── .github/
    └── workflows/          # CI/CD pipelines
        ├── regression.yml  # Test on push/PR
        ├── release.yml     # Release builds and publishing
        └── periodic.yml    # Weekly stability tests

クレートの詳細

litsea(コアライブラリ)

コアライブラリは、分割、学習、モデル I/O のすべての機能を提供します。

DependencyVersion用途
thiserror2.0エラー型の導出
reqwest0.13HTTP/HTTPS モデル読み込み(rustls)
tokio1.49リモートモデル読み込み用非同期ランタイム
criterion0.8ベンチマーク(開発依存)
tempfile3.25テスト用一時ファイル(開発依存)

litsea-cli(CLI バイナリ)

CLI は Litsea の機能へのコマンドラインインターフェースを提供します。

DependencyVersion用途
clap4.5コマンドライン引数の解析
ctrlc3.5学習中の Ctrl+C のグレースフルハンドリング
tokio1.49非同期ランタイム
litsea0.4コアライブラリ(ワークスペースメンバー)

ワークスペース設定

ワークスペースは Cargo resolver バージョン 3(Rust Edition 2024)を使用します:

[workspace]
resolver = "3"
members = ["litsea", "litsea-cli"]

[workspace.package]
version = "0.4.0"
edition = "2024"
rust-version = "1.87"

共有依存関係はワークスペースレベルの [workspace.dependencies] で定義され、各クレートから { workspace = true } で参照されます。