Jev 1.13はテキストを評価し、アプリケーションが定義する構造化された質問に答えます。サポートへのメッセージと部署の一覧を渡すと、リクエストの振り分け先を選択できます。Jevをローカルで実行したい場合、本ガイドで確認した公式情報には、ダウンロード可能な重みは提供されていません。ローカルで判断のための推論を行うために、本ガイドではConvai InnovationsのLayaを使用します。LayaはJevと互換性のあるインターフェースを備えた別のモデルです。TypeSafeのモデルドキュメント · Layaリポジトリ
本ガイドでは、Jev 1.13の仕組みと、Layaをローカルで使うと何が変わるのかを説明します。私たちのTetrisデモでは、この2つのデプロイ方法を比較しています。続くmacOSとLinux向けの手順では、外部のPythonプロセスでlaya==0.3.20を使い、支払いに関する苦情を振り分けます。セットアップを始めるには、Layaのインストール手順へ進んでください。
検証に関する注記:2026年9月25日に、Layaの公開パッケージ、ローダーのソースコード、チェックポイントファイルを確認しました。推論用の依存関係を含めずにlaya==0.3.20をインストールし、インポートできることを確認しています。モデルの読み込み、予測、ネットワークを切断した状態での実行は未検証です。
Jev 1.13とは?
JevはTypeSafe初のSystem Oneモデルで、アプリケーションの状態を評価し、型付きの判断結果を返します。質問と許可する回答をアプリケーション側で定義するため、Jevはコードで解析する必要のある応答文を書かずに、振り分け先を選んだり、条件を採点したりできます。TypeSafeのSystem Oneドキュメント
状態は、評価の対象となる情報です。サポート業務であれば、次のメッセージを含むJSONオブジェクトなどが該当します:My card was billed twice for the same order. Please reverse the extra charge. 顧客のテキストは状態に、振り分けルールは質問に含めてください。状態のドキュメント
以下の例はインターフェースの説明であり、実測したモデル出力ではありません。
| プリミティブ | メッセージについての質問 | アプリケーションが受け取る内容 |
|---|---|---|
| Choice | 支払い、製品サポート、アカウントアクセスのうち、どのキューで受け付けるべきですか? | 選択された選択肢と、各選択肢の確率 |
| Score | 定義済みの順序付き評価基準では、緊急度はどの程度ですか? | 評価基準全体から算出したスコアの期待値。小数になる場合もあります |
| Noul | 顧客は返金を求めていますか? | 命題が真であるとモデルが推定した確率 |
2026年9月25日時点で、TypeSafeはjev-1.13.0を現行バージョンとして掲載しており、jev-latestとjev-previewはいずれもこのバージョンに解決されます。Jev 1.13は、JSON形式の状態を含むテキストを受け付けます。ドキュメント上の上限は、リクエスト全体で64kトークン、状態と最も長い質問の合計で32kトークンです。これらは入力の上限であり、無関係な情報を含む長い状態は、それでも精度を低下させる可能性があります。モデル仕様 · Jev 1.13の制約
TypeSafeは予測の集合に対してキャリブレーションを定義しているため、キャリブレーションされたモデルでも、個々の支払いリクエストを高い確信度で誤ったキューに振り分けることがあります。キャリブレーションの適用範囲
取引金額と権限の確認には、通常のコードを使ってください。Jev自体の制約ページでも、算術、数え上げ、日付計算の信頼性に欠けることに加え、指示や根拠の表現方法に影響されやすいことが指摘されています。Jev 1.13の制約
Jev 1.13はローカルで実行できますか?
本ガイドで確認した情報には、公式のローカルインストール方法はありません。TypeSafeはPOST /v1/systemoneを通じてJevを提供しており、PythonとJavaScriptのSDKが利用できます。ノートパソコンでAPIクライアントを実行しても、推論はサービス側に送信されます。TypeSafeのモデル一覧
ローカルで判断のための推論を行うには、Layaの重みをダウンロードし、Pythonで読み込みます。以下のインストール手順で実行するのはLayaであり、Jev 1.13をダウンロードしたり実行したりするものではありません。
JevとLayaの比較:ローカルにすると何が変わる?
LayaはConvai Innovationsが独自に開発したモデルファミリーで、ダウンロード可能な重みとApache 2.0ライセンスを備えています。Jevと互換性のあるインターフェースにより、アプリケーションコードを適応させやすくなりますが、同等の精度や同一のアーキテクチャを示すものではありません。Layaリポジトリ
この比較は、TypeSafeのモデルドキュメントとLayaの公開モデルカードに基づいています。
| 項目 | Jev | Laya |
|---|---|---|
| 開発元 | TypeSafe AI | Convai Innovations |
| 説明されているデプロイ形態 | ホスト型サービス | 外部のローカルPythonランタイム |
| 特定すべきバージョン情報 | ドキュメントに記載されたリリースはjev-1.13.0 | ランタイムのバージョンに加え、チェックポイントとリビジョン |
| 入力 | JSONを含むテキスト形式の状態 | JSONを含むテキスト形式の状態 |
| 出力 | 型付きの判断結果と確率 | 型付きの判断結果と確率 |
| 確認した公式情報におけるローカル用の重み | 公式のダウンロードは見つからず | Hugging FaceでApache 2.0ライセンスにより入手可能 |
判断のための推論を自分のコンピューター内で完結させることが要件なら、Layaから始めてください。マネージドサービスを求めるなら、同じラベル付きの例でJevを評価してください。
私たちのJev対LayaのTetrisデモ
@atomic_chat_hqが投稿したTetrisデモで、クラウド上のJevとローカルのLayaを比較しました。この投稿では、ローカル実行にメモリ16 GBのMacBook Airを使用したと記載されています。映像では、Jevの盤面がゲームオーバーになる一方、Layaはプレイを続けています。モデルが次の操作を選んでいる間にも盤面は変わり得るため、応答時間がゲームループに関わってきます。
Atomic Chatが録画したTetrisデモ。画面上のタイマーはアプリケーションの表示値であり、計測の開始点と終了点は投稿に記載されていません。元の投稿を開く。
| 項目 | 確認できた内容 | 制約 |
|---|---|---|
| タスク | Jev cloudとLaya localというラベルが付いた、横並びの2つのTetris盤面 | ゲームのコード、アクションのスキーマ、盤面の同期方法は提供されていません |
| ローカルのハードウェア | 投稿には16 GBのMacBook Airと記載されています | プロセッサーの世代とランタイムは明記されていません |
| 画面上のタイマー | 確認した1フレームでは、Jevが316 ms、Layaが48 msと表示されています | 1フレームの値は、平均値やレイテンシの分布ではありません |
| 画面上で確認できる結果 | Jevがゲームオーバーになる一方、Layaはプレイを続けています | 試行回数と、この録画が選ばれた経緯は不明です |
| 速度に関する主張 | 投稿では、Layaの判断は11倍速かったとされています | 確認したフレームではその比率は再現されず、根拠となるログも入手できません |
| モデルのバージョン | 映像ではモデルにJevとLayaというラベルが付いています | Jevの正確なバージョン、Layaのチェックポイント、リビジョンは特定されていません |
計測コードがないため、モデルの推論時間とネットワークにかかる時間を切り分けたり、クラウド側の遅延をネットワークのレイテンシだけに帰したり、ゲームの結果からタスク全般でどちらの精度が上かを結論づけたりすることはできません。
自分で比較する場合は、両モデルに対して同じ状態と質問を記録してください。ローカルでの読み込み時間は読み込み済みの状態での予測時間と分けて計測し、API応答全体にかかる時間と、サーバーが報告する推論時間があればその時間も区別してください。すべての試行を残したうえで、判断の精度とレイテンシを併せて比較してください。
Layaのチェックポイントとコンピューターの要件
Layaのモデルカードでは、以下の3つの選択肢が説明されています。対応言語とタスクの結果は、開発元による報告です。
| チェックポイント | モデルサイズ | デフォルトの入力上限 | 想定する初期用途 |
|---|---|---|---|
convaiinnovations/laya | 421Mパラメータ | 512トークン | 英語での判断 |
convaiinnovations/laya-multilingual | 322Mパラメータ | 1,024トークン | 多言語入力。開発元は100を超える言語への対応を報告しています |
convaiinnovations/laya-typed-decisions | 421Mパラメータ | 1,024トークン | 請求書処理、セキュリティインシデント、カスタマーサービス、エージェントのトレースの可観測性 |
typed-decisionsチェックポイントは、これらの業務を対象とした開発元のベンチマークの訓練用分割データでファインチューニングされています。その評価では、ベースのチェックポイントのスコアは、各質問で最も頻出する回答を常に選ぶベースラインを下回りました。開発元による評価
以下の手順では、英語用チェックポイントとPython 3.10以降を使用してください。このパッケージは、PyTorch、Transformers、Safetensors、Hugging Face Hub、NumPyへの依存を宣言しています。CPUでの実行がサポートされており、NVIDIA CUDAとAppleのMPSバックエンドもデバイスの選択肢です。以下の手順では、デバイス設定を明確にするためにCPUを使用します。パッケージ設定
英語モデルは、双方向のModernBERT-largeエンコーダーと、指定された選択肢を採点する判断ヘッドを使用します。多言語モデルはmmBERT-baseを使用し、ドキュメントによると、明示的に設定すれば入力上限を8,192トークンに引き上げられます。これらの上限には、モデルが評価するシリアライズ済みの情報が含まれ、長さ無制限の文書に質問を別枠で追加できるわけではありません。長いテキストや大きな選択肢リストでは、切り詰めが起きないか検証する必要があります。ランタイムのドキュメント
英語用チェックポイントの重みファイルは約843 MBで、これにトークナイザーと設定ファイルが加わります。これはダウンロードサイズです。RAM使用量を見積もるには、PyTorch、中間テンソル、ほかの実行中のアプリケーションも考慮する必要がありますが、本レビューではいずれも測定していません。私たちのTetris投稿に登場する16 GBのマシンは、確認された構成であり、実測に基づく最低要件ではありません。チェックポイントのファイル一覧
Apple Silicon向けには、独立したlaya-mlx移植版が、別のMLXランタイムと変換済みチェックポイントを提供しています。このパッケージにはPython 3.11以降とmacOS 14以降が必要です。異なる実行バックエンドを使用するため、以下のPyTorchガイドで得られる計測時間は、MLX構成の計測結果を表すものではありません。
PythonでLayaをローカル実行する方法
この方法では、自分のコンピューター上のPythonプロセスでLayaを実行します。Atomic Chat内でのLayaのカタログへのネイティブ対応や、Layaとの連携が最初から最後まで動作することは確認していません。
1. Python環境を作成する
これらのシェルコマンドは、Python 3.10以降がインストールされたmacOSまたはLinuxを対象としています。DebianやUbuntuで環境作成中にensurepipエラーが発生する場合、通常は対応するPythonのvenvパッケージをインストールする必要があります。
python3 --version mkdir laya-local cd laya-local python3 -m venv .venv source .venv/bin/activate python -m pip install "laya==0.3.20" python -I -c "import laya; print(laya.__version__)"
最後のコマンドは0.3.20を出力するはずです。このコマンドが確認するのはパッケージのインポートであり、モデルによる予測ではありません。インストール時には依存関係もダウンロードされ、それらのディスク使用量はモデルの重みとは別に必要です。
2. リビジョンを固定したチェックポイントを1つダウンロードする
これをdownload_model.pyとして保存してください。本ガイドで確認したリビジョンの英語用チェックポイントをダウンロードします。フィルターには、その重み、トークナイザー、設定ファイルが含まれ、多言語用と型付き判断用のチェックポイントは除外されます。
from huggingface_hub import snapshot_download
snapshot_download(
repo_id="convaiinnovations/laya",
revision="55cf4c4ebb4ebe31b2550e8bdf3bd21b99753851",
local_dir="models/laya",
allow_patterns=[
"rl_agent_config.json",
"model.safetensors",
"tokenizer/*",
"encoder/*",
],
)インターネットに接続した状態で実行してください:
python download_model.py
models/layaはそのまま保持してください。公開されているローダーには、重みファイル、rl_agent_config.json、encoder/config.json、トークナイザーファイルが一緒に必要です。
3. 最初の判断を実行する
これを同じフォルダーにfirst_decision.pyとして保存してください。質問ではキューの選択を求め、プログラムは選択されたラベルと各候補に割り当てられた確率を出力します。
import json
import laya
agent = laya.load("./models/laya", device="cpu")
state = {
"message": (
"My card was billed twice for the same order. "
"Please reverse the extra charge."
)
}
questions = {
"queue": {
"type": "choice",
"instructions": "Which support queue should handle this message?",
"criteria": {
"payments": "Billing errors, charges and refunds.",
"product_support": "Product bugs or failures.",
"account_access": "Login and password problems.",
"manual_review": "Unclear requests or none of the other queues.",
},
}
}
result = agent.predict(state, questions)
answer = result["answers"]["queue"]
print("Selected queue:", answer["choice"])
print(json.dumps(answer["probabilities"], indent=2))python first_decision.py
このメッセージで想定される分類はpaymentsです。モデル呼び出しが成功すると、選択されたキーと確率の辞書が返されますが、想定した回答が得られる保証はありません。この例の推論出力は実測していません。
4. その後のオフライン実行を確認する
最初の予測が成功したら、Hugging FaceとTransformersをオフラインモードにして、スクリプトを再実行してください:
HF_HUB_OFFLINE=1 TRANSFORMERS_OFFLINE=1 python first_decision.py
これにより、ここで使用するライブラリによるHubへの問い合わせが無効になります。スクリプトはローカルディレクトリを読み込み、リモート推論の呼び出しは含みません。構成全体がネットワークを切断した状態で動作することを確認するには、ネットワーク接続を切断して同じコマンドを再実行してください。本ガイドではオフライン実行を検証していません。トークナイザーやエンコーダーの設定が欠けていると、読み込めない場合があります。
仮想環境は保持してください。予測に成功したら、python -m pip freeze > requirements-lock.txtで解決済みの依存関係を記録し、モデルファイルと組み合わせて動作したパッケージのバージョンを残してください。Layaだけを固定しても、すべての依存関係が固定されるわけではありません。
Layaでサポートリクエストを振り分ける
返されたキューを社内の受信トレイに対応付け、担当者のために元のメッセージを保持してください。アカウントへのアクセスに関する問題や製品の不具合について、ラベル付きの例を追加し、モデルがキューを区別できることを確認してください。
曖昧なリクエストや、指定したどのキューにも該当しないメッセージを含めてください。モデルはこれらのリクエストに対してmanual_reviewを選べますが、それでも高い確信度で誤ったキューに割り当てる可能性があります。振り分けを自動化する前に、実際の業務から取り分けた未使用の評価用データで、その挙動を検証してください。
返金の承認はアプリケーションコードで管理してください。リクエストがpaymentsに分類されたことは、その振り分け先を示すものであり、実際に金銭を移動させるべきかどうかは、取引記録と返金ポリシーによって決まります。顧客への返信文が必要なら、振り分け後にテキスト生成モデルを使ってください。私たちの16 GB MacBook向けローカルモデルガイドでは、その別の用途を扱っています。
Layaのドキュメントには任意で利用できるMCPサーバーの説明もあり、AtomicはMCPツールをサポートしています。この組み合わせが最初から最後まで動作することは確認していません。
Layaのインストールと出力でよくある問題
| 問題 | 確認または変更する内容 |
|---|---|
No module named laya | .venvを有効化し、その環境のpython -m pipを使用してください。スクリプトにlaya.pyという名前を付けないでください。 |
| ダウンロードまたはオフラインキャッシュのエラー | オンラインでダウンロード手順を実行し、ローカルディレクトリに重み、設定、トークナイザーの各ファイルがあることを確認してください。スクリプトはlaya-localから実行してください。 |
| CUDAまたはMPSを利用できない | 初回実行ではdevice="cpu"を維持してください。デバイスを切り替える前に、対応するPyTorchバックエンドを設定してください。 |
| メモリ使用量が予想より多い | チェックポイントは1つだけ読み込んでください。Router(preload=True)は複数のチェックポイントを読み込めますが、この例では不要です。 |
| 長い入力で関連する根拠が失われる | 状態と選択肢の説明を短くしてください。上限を引き上げる前に、選択したチェックポイントの入力上限と判断ヘッドの処理上限を確認してください。 |
| 英語モデルのNoulの回答が誤っているように見える | モデルカードでは、false/trueの選択肢の表現に影響されやすいと報告されています。中立的なラベルと明確な説明を使い、選択肢を2つ明示したChoiceを評価してください。 |
action.act_probabilityがほぼ常に高い | モデルカードでは、このヘッドには有用な変動がほとんどないと報告されています。これをアクション実行の許可として扱わないでください。 |
ChoiceとScoreでは、Layaのconfidenceフィールドはエントロピーに基づき、answer_confidenceは選択肢の確率の最大値です。Scoreの場合、この確率は評価基準のある段階に対応するものであり、小数の期待スコアに対応するものではありません。回答のデコード処理の実装
Layaの開発者は、英語用と多言語用のベースチェックポイントは、配布時の状態では確信度が過剰に高いと報告しています。自動化されたアクションの制御に確率を使う前に、実際の業務のラベル付きの例で評価してください。モデルカードに記載された制約
よくある質問
LayaはJevのオープンソース版ですか?
いいえ。LayaはConvai Innovationsが独自に開発したモデルファミリーで、コードと重みはApache 2.0ライセンスで提供されています。判断用のインターフェースにはJevと共通する部分がありますが、Jevの公式移植版でも、Jevの重みをダウンロードできるものでもありません。
MacでLayaを実行できますか?
はい。PythonランタイムはCPUとMPSでの実行をサポートし、独立したMLX移植版はApple Siliconを対象としています。私たちのTetris投稿では16 GBのMacBook Airを使用したと報告していますが、チップやランタイムは明記していません。これはデモの構成を示す情報として扱い、最低メモリ要件とはみなさないでください。
LayaにAPIキーは必要ですか?
このローカルPythonの例ではAPIキーは不要です。アクセス制限のない公開チェックポイントを使用します。最初のパッケージのインストールとファイルのダウンロードには、インターネット接続が必要です。別途ホストされているサービスには、独自の認証要件がある場合があります。
Layaは返信文を書いたり、チャットモデルの代わりになったりできますか?
いいえ。Layaは、定義した質問の型の範囲内で判断結果を返します。説明や返信の下書きが必要な業務では、引き続きテキスト生成が必要です。振り分けと応答の品質を個別に評価できるよう、2つの呼び出しを分けてください。
Layaは常にJevより高速、または高精度ですか?
私たちのTetrisデモから普遍的な結論を導くことはできません。ランタイム、入力の長さ、ハードウェア、APIの経路は応答時間に影響し、タスクとチェックポイントは精度に影響します。導入予定の業務で、両方を測定してください。
どのLayaチェックポイントから始めるべきですか?
本ガイドの短い英語の例には、英語用チェックポイントを使ってください。ほかの言語では、多言語用チェックポイントを評価してください。タスクがチェックポイント表の専門用途に該当する場合は、自分のラベル付きデータでtyped-decisionsチェックポイントを評価してください。
Jev 1.13とローカルのLayaのどちらを使うべきですか?
TypeSafeのホスト型判断モデルを使いたく、必要な状態をそのAPIに送信できるなら、Jev 1.13を使ってください。自分のハードウェアで判断のための推論を実行することが要件なら、Layaを選んでください。最初のローカル予測が成功したら、サンプルメッセージを自分のアプリケーションのラベル付き事例に置き換えてください。結果を実運用の受信トレイに接続する前に、選択されたキューをラベルと比較してください。Jevも評価する場合は、同じ事例を送信し、応答時間だけでなく振り分けの誤りも比較できるようにしてください。

