はじめに:なぜ圧縮が今、LLMにとって非常に強力なのか
1週間分のチャットログ、テレメトリー、またはマルチシステムアプリのトレースをプロンプトに詰め込もうとしたことがあるなら、コンテキストウィンドウの厳しい限界に直面したことがあるでしょう。通常のやり方である、要約、削除、チャンク化は、信号損失が発生するまでしか効果がありません。DeepSeek‑OCRは、テキストをOCR‑VLMパイプラインを使用してビジョントークンに圧縮し、意味を失うことなくコンテキストを劇的に縮小するという、驚くべき工夫を導入します。初期のコミュニティの報告によると、生のテキストトークンの代わりにビジュアルトークンを活用することで、桁違いの圧縮効率を実現しています。一部の分析では、これを「コンテキスト光圧縮」と表現し、長文コンテキストのワークフローにおいて「数千のテキストトークンを数百のビジョントークンに」変換すると述べています。
この実践的なステップバイステップのDeepSeek‑OCRチュートリアルでは、取得精度を維持しながら、LLMのチャット履歴、ログ、およびデータを圧縮する方法を学びます。さらに、OCRベースの圧縮を、要約、階層型チャンク化、およびRAGと組み合わせて、強力で低遅延のプロンプトを実現する方法も学びます。
このガイドの対象者
- 長いチャットやアクティビティトレイルを取り込む必要のあるAIコパイロットの構築者
- LLM推論のためにログ、トレース、およびメトリックを処理するデータエンジニア
- 予算内で超長文コンテキストのワークフローをプロトタイプする研究者
一文で表現するポイント:広範なテキストをLLMが読み取れるコンパクトな視覚表現に変換できれば、推論の手がかりを犠牲にすることなく、コンテキストの予算を取り戻すことができます。
DeepSeek‑OCR圧縮とは? その中心的な考え方
- ビジョントークン圧縮:高密度のテキストスパンを高情報量の視覚埋め込みに変換します。ビジョントークンは、同等のテキストトークンよりも安価でコンパクトになる可能性があります。
- コンテキスト光圧縮:OCR/VLMを使用して、大規模なテキストコンテキストを画像または視覚的に構造化されたレイアウトとしてエンコードし、トークン数を削減しながらセマンティック構造を保持します。
- 長文コンテキストのワークフロー:数千のトークンを数百のビジョントークンに圧縮し、計画、ツール使用、または複数ターンの推論のためのより大きなワーキングセットを可能にします。
使用する場合
- 反復的な言い回しや予測可能な構造を持つチャット履歴
- システムログ、トレース、ビルド出力、または分析ダンプ
- ドキュメントのスナップショット、ダッシュボード、または半構造化レポート
このチュートリアルで構築するもの
以下のためのパイプラインを実装します。
- チャット/ログデータを正規化およびセグメント化します。
- 圧縮戦略(OCR‑ビジュアル、テキスト要約、またはハイブリッド)を選択します。
- DeepSeek‑OCRを介してコンパクトな視覚表現を生成します。
- 取得のためにメタデータでインデックスを作成します。
- テキストと画像の両方を受け入れるハイブリッドRAGプロンプトでクエリを実行します。
セクション1 — データ準備:煩雑な履歴をモデルフレンドリーにする
- タイムスタンプとロールを正規化します:例:{timestamp}{role}:{message}。
- 短所:VLMサポートが必要です。レンダリングと画像のI/Oが必要です。
- 使用する場合:長文コンテキストの忠実度、図/表、または正確な言い回しの保持が必要な場合。
- アンカー用の「スケルトン」テキスト要約を保持し、深度用の圧縮されたビジュアルカードを添付します。
- これにより、取得精度(テキスト)とリコール/忠実度(ビジョン)のバランスが取れます。
セクション3 — DeepSeek‑OCRを使用したビジュアルコンテキストカードの構築
目標:5〜20 KBのテキストスパンを、OCR/VLM読み取り用に最適化された512〜1024 pxの画像に変換します。
テンプレートの提案
- タイトルバー:セッションID、時間範囲、トピックラベル。
- 2カラムレイアウト:左カラムは主要なターン/ログ用、右カラムはハイライト(エラー、決定、コマンド、メトリック)用。
- コード/ログ行用の等幅ブロック、コンテキスト用の箇条書きの要約。
- コントラストフレンドリーなテーマ。小さなフォント(1倍スケールで11〜12 pt未満)は避けてください。
レンダリングのヒント
- HTML/CSSを使用して、クリーンで一貫性のあるカードを作成します(例:Puppeteer/Playwrightのスクリーンショット)。
- プロンプトで特定の項目を参照するために、安定したアンカー(行番号、ID)を含めます。
- カードあたり〜200〜400語に制限します。セッションごとにカードのスタックを作成します。
DeepSeek‑OCRパス
- DeepSeek‑OCRを実行して、往復の忠実度(カード→OCRテキスト)を確認します。これにより、レイアウトとフォントが正確にデコードされることを再確認します。
- OCRテキストが異なる場合は、フォント、間隔を調整するか、高密度コードを複数のカードに分割します。
これが機能する理由
コミュニティおよびサードパーティの記述は、テキストコンテキストをビジョントークンに圧縮しながら、読みやすさを維持すると、意味のある効率向上が得られることを示しています。
セクション4 — 要約レイヤー:スケルトンを保持し、筋肉を蓄える
必要な場合にのみ解像度を上げることができるように、階層化された要約を実装します。
- L0:アトミックな行/ターンタグ—ロール、タイムスタンプ、タイプ(エラー、ノート、コード)、埋め込み。
- L1:20〜40ターンごと、または2〜5分のログごとのマイクロ要約(1〜2文)。
- L2:セッション概要(5〜8個の箇条書き)—決定、ブロッカー、結果、およびビジュアルカードへのリンク。
- L3:スレッドの連鎖—毎週またはプロジェクトレベルのロールアップ。
実践的なヒューリスティックス
- 常に逐語的なアンカーを含めます:エラーコード、SQL ID、トレースID、コミットSHA。
- 抽象的な要約の前に抽出的な要約を使用します。次に、読みやすさのために抽象的に洗練します。
- キャッチアッププロンプトを高速化するために、「前回のセッションからの変更点」の箇条書きを追加します。
セクション5 — ハイブリッドRAGのインデックス作成と取得
メタデータスキーマ
- doc_id、session_id、time_range、roles、topic labels
- 重要度スコア、エラーの重大度、コンポーネント/サービス
- リンク:{visual_card_uri}、{summary_uri}。
- OCRベースの圧縮を、階層化された要約およびRAGと組み合わせて、精度と深度を実現します。
- 忠実度を高く、レイテンシーを低く保つために、レイアウト、フォント、およびインデックス作成を最適化します。
- 圧縮されたカードを第一級のエビデンスとして扱い、プロンプトで引用します。
次のステップ
- 1つのチャットプロジェクトまたはログデータセットで最小限のパイプラインをプロトタイプします。
- 10個の一般的なクエリに対して、テキストのみとハイブリッド圧縮のA/Bテストを行います。
- 忠実度のメトリックに基づいて、カードデザイン、リトリーバーの組み合わせ、および予算を調整します。
- キャッシング、ACL、および監視を使用して、チームのワークフローにスケールします。
よくある質問
Q1:DeepSeek‑OCRとは何ですか?また、LLMのチャット履歴を圧縮するために使用する理由は何ですか?
DeepSeek‑OCRは、コンテキスト光圧縮を可能にします。つまり、大規模なテキストスパンを、VLMが効率的に処理できるビジョントークンとしてエンコードします。これにより、トークン予算を削減し、テキストのみの要約よりも構造をより適切に保持しながら、長文コンテキストの高い忠実度を維持できます。
Q2:ビジョントークン圧縮は、テキスト要約とどのように異なりますか?
ビジョントークン圧縮は、レイアウトと正確な言い回しを保持しながら、より高い効果的な圧縮を達成することがよくあります。これは、引用、コード、およびエラー文字列に役立ちます。要約はより高速で簡単ですが、まれな詳細を省略したり、抽象化エラーが発生したりする可能性があります。
Q3:DeepSeek‑OCRをRAGと組み合わせてログとチャットに使用できますか?
はい。高速なリコールのためにテキスト要約を使用し、深度のためにOCR検証済みのビジュアルカードを添付します。2段階のリトリーバーは、最初に概要を取得し、次に関連性の高いカードを取得して、精度とコンテキストカバレッジのバランスを取ることができます。
Q4:OCR圧縮コンテキストカードに最適なレイアウトは何ですか?
タイトルバー、2カラムのコンテンツ、コード用の等幅ブロック、およびハイライト用の明確な箇条書きを使用して、クリーンなHTML/CSSを使用します。カードあたり200〜400語、11〜12 pt以上のフォントを使用し、OCRラウンドトリップで読みやすさを検証します。
Q5:圧縮によって重要な情報が失われているかどうかをどのように測定しますか?
事実のゴールドセットに対するFidelity@K、行番号の引用によるエビデンスカバレッジ、およびレイテンシー/コストメトリックを追跡します。≥95%の事実保持を目標とし、ほとんどの回答がカードの行またはアンカーIDを引用することを確認します。