Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Go × 軽量ワークフロー言語で実装する LLM ワークフロー

Yota Hamada
February 17, 2025
150

Go × 軽量ワークフロー言語で実装する LLM ワークフロー

Yota Hamada

February 17, 2025
Tweet

Transcript

  1. 実装における課題(2/2) • 大量の Web 検索, LLM の実行処理を行うため並列化が必須 大まかなワークフローのタスク数:   総タスク数 =

    リサーチ対象セル数 × 各セルに対する検索ワード拡張数 × Web 検索結果数   例: 10 列 × 4 キーワード × 検索結果 10 件 =400 タスク → どう実装するか?
  2. LLMプロダクトにワークフロー言語を用いる恩恵 • 再実行 • 進捗、エラー箇所の監視 • 分散・並行処理 • 柔軟性 ◦

    動的にワークフローの組み換えができる • 拡張性 ◦ 新しいタスク種別を追加しても, 基盤のコードを そのまま利用できる
  3. Goで実装する恩恵 • シングルバイナリ • 並行処理(goroutine + channel) • 静的型付け •

    速度 • 可読性 • 標準ライブラリ • 後方互換性 コード品質と生産性を両立しやすい言語
  4. β版と製品版の比較 • β 版は Python で実装 • 製品版は Go で実装し、ワークフロー機構を内蔵

    • 1回のリサーチ時間は 2~3 分 → 40秒程度になり、 ざっくり 70% ほど高速化
  5. 宣伝(2/2) • Dagu のユースケース ◦ 衛星観測データの取り込みパイプライン ◦ IoT のエッジデバイス上でのデータ処理 ◦

    メディアファイルの変換パイプライン ◦ 従業員の入退社に関するワークフロー自動化