スプリント1 デモ台本 — 9月18日
本番ホストを5分で歩く手順。各ステップは API がすでに応答するリクエストそのもの。
金曜日のスプリント1デモの台本。対象は本番ホストのみ。6ステップ、5分以内。どのステップもホストが配信するページか、API がすでに応答するリクエストであり、演出はなく、ターミナルも不要。
以下のパスはホスト自身のもの。<host> は本番ホスト名で、アプリはルート、ドキュメントは /docs/ にある(ADR-0056)。
https://<host>/en/ を開き、台本で使う3つのサンプルをそれぞれエンコードしておく。デモがコールドスタートではなくホストのエンコードキャッシュから走るようにするため。準備はこれだけで、来訪者が2回目のクリックで得るものと変わらない。
1. 優位性を1ページで — 30秒
Section titled “1. 優位性を1ページで — 30秒”https://<host>/ を開く。/en/ にリダイレクトされ、セールスページが出る。見出し、2つのボタン、6つのステップ。各ステップに1文と、それを証明する実行へのリンクがある。
見出しを読み上げ、言語切り替えを一度押して /ja/ を見せ、戻る。
2. すべてのページを理解し、ページごとに最適なパーサーを — 90秒
Section titled “2. すべてのページを理解し、ページごとに最適なパーサーを — 90秒”ステップ3「ページごとに最適なパーサーと、その理由」の証明リンクをクリックする。?sample=mhlw-notice&run=encode でプレイグラウンドが開き、2021年の厚生労働省の事務連絡をエンコードする。
- 1ページ目: プランは
native-extractionを選び、理由はテキストレイヤーの存在。残したフォールバックがその下に並ぶ。 - ページャーで5ページ目(スキャンされた別添)へ: プランは
generic-ocrを選び、理由はテキストレイヤーがないこと。プラン通りに読めたかどうかも1行で示される。
1つのドキュメント、2つのパーサー、しかも高価な処理が走る前に決まっている。これはデプロイ自身が検証するシナリオ(@deployed、tests/bdd/features/encode.feature)。
3. ひとつの構造化された結果 — 60秒
Section titled “3. ひとつの構造化された結果 — 60秒”同じ実行のままビューを移動する。
- Entities — ページ自身のテキスト上に示されたスパン。
- Tags — 分類器が答えたファセットと、エンリッチャーが書いたタグ。
- Chart — 代わりに
?sample=process-chart&run=encodeを開く。スライド2の工程系統図が、記号と接続のグラフとして読まれている(ADR-0043)。 そのあと Draw.io ファイル を押し、落ちてきたものを開く。同じグラフが、顧客の技術者がすでに使っているエディタに載っている。ファイルを書くのはパーサーのディストリビューション自身だと言う(ADR-0058)。レシピができる前の「あなたの形式を、あなたの例から」とはこれのことだ。
4. 検索とエージェントへ — 45秒
Section titled “4. 検索とエージェントへ — 45秒”同じ実行で Search を開き、文書中の語句を検索する。ヒットはページと矩形を示し、どのレーンが見つけたかも示す。チャンクが持つ語か、POST /v1/embed が返したベクトルか、その両方か。
範囲を口に出して言う。ページ自身もそう書いている。索引はこのブラウザーがエンコードしたドキュメントだけで、ブラウザー内に保持され、どこにも送られない。
5. 同じドキュメントをもう一度 — 15秒
Section titled “5. 同じドキュメントをもう一度 — 15秒”同じサンプルをもう一度エンコードする。即座に返り、「キャッシュから提供(実行時刻 …)」と表示される。それが何かを言う。このデモホストの便宜であって製品機能ではない。indx serve は結果をキャッシュしない。
6. その下にある契約 — 30秒
Section titled “6. その下にある契約 — 30秒”ドキュメントは /docs/、画面が生成元にしている API リファレンスは /scalar。次に /en/deploy/ のデプロイ画面。ライブの capability スナップショットを読んでいる。同じサービスが、1つのコンテナで、顧客自身のクラウドで動く。