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

ローカルLLMを活用したコード生成と、ローコード開発ツールへの応用

 ローカルLLMを活用したコード生成と、ローコード開発ツールへの応用

近年、コード生成AIの普及により、システム開発の生産性が大幅に向上してきました。特にGitHub Copilotは多くの開発現場で標準的に活用されています。一方でミッションクリティカルなシステムの開発や、工場の生産現場での開発では、コンプライアンスや閉域ネットワークの観点から、手元の開発環境で動作するコード生成AIモデルが適しています。 本セッションでは、OllamaやvLLMを活用したコード生成AIモデルの推論環境の構築方法を紹介し、Visual Studio Codeのプラグインを通して利用する方法を解説します。また、日立独自の実装としてローコード開発ツールNode-REDで動作するコード補完プラグインについてもデモを交えてご紹介します。

※ LF AI & Data Foundation主催の下記イベントで登壇した内容です。
https://community.linuxfoundation.org/events/details/lfhq-lf-ai-data-foundation-presents-lf-ai-amp-data-japan-rug-kick-off/

Kazuhito Yokoi

February 18, 2025
Tweet

More Decks by Kazuhito Yokoi

Other Decks in Technology

Transcript

  1. © Hitachi Academy Co., Ltd. 2025. All rights reserved. ローカルLLMを活用したコード生成と

    ローコード開発ツールへの応用 株式会社 日立アカデミー 研修開発本部 2025年2月18日 横井一仁
  2. 1 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    横井 一仁 (よこい かずひと) • 自然言語処理、検索技術、ストレージの研究開発に従事 • OT(制御・運用技術)領域のデジタル人財育成 • 産業用ロボットの教育に、 3Dシミュレータ、VR、 ビジュアルプログラミングBlocklyを導入 • 技能五輪世界大会Industry 4.0分野の若手技術者支援 • グローバルで日立の技術力をアピールする活動 • Open Source Summit North America 2023招待講演@バンクーバー • Open Source Summit China 2023招待講演@上海 • SUPCON社グローバルイベント招待講演@シンガポール • IBM社カンファレンスにOSS枠を提案し、3枠登壇@ラスベガス • 日立アメリカ主催のHAL R&Dセミナーに登壇@サンタクララ 自己紹介 https://www.hitachi.co.jp/products/it/oss/efforts/index.html#:~:text=%E6%A8%AA%E4%BA%95
  3. © Hitachi Academy Co., Ltd. 2025. All rights reserved. 1.

    コード生成AIとは 2. コード生成AIの推論環境構築 3. コード生成AIをローコード開発ツールへ適用 コンテンツ 2
  4. 4 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    Visual Studio Code、JetBrains、Eclipseなどの 統合開発環境上でソフトウェア開発を支援するAI • チャット、コード補完、コード修正などを統合開発環境 上で行えるユーザインターフェイスから利用 • クラウドベースのコード生成AIの動向 ・ 2022年6月 GitHub Copilotが一般提供開始 ・ 2024年4月 Amazon Q Developerが一般提供開始 ・ 2024年4月 GoogleがGemini Code Assistを発表 ・ 2024年12月 GitHub Copilotが無料利用可能に ・ 2025年2月 GitHub CopilotがGemini 2.0サポート 多くの開発現場がコード生成AIの導入によって コーディング作業を大幅に効率化 コード生成AIとは https://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/q-in-IDE-inline-chat.html https://cloud.google.com/blog/products/application-development/gen-ai-and-app-development-tools-and-partnerships Gemini Code Assist Amazon Q Developer
  5. 5 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    1から順に数字をカウントし、3の倍数の時に「Fizz」、5の倍数の時に「Buzz」、 15の倍数の時に「Fizz Buzz」を出力するJavaScriptコードを生成 GitHub Copilotを用いたFizz Buzzコードの生成
  6. 6 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    (1) チャット上で対話形式でコード生成 • プロンプトでアリゴリズムのコード提案 • テーブル定義書からSQL文を作成 • シェルスクリプトからプログラム生成 • 特定のテストフレームワークを用いた 自動テストを実行するコードを作成 • CIの設定ファイル作成 (2) ソースコード入力中のコード補完 • 関数の引数を自動補完 • コメント文からソースコード補完 コード生成AIのユースケース (3) 既存のソースコードの修正 • ソースコードのリファクタリング • エラーメッセージから バグの修正案を提示 (4) ソースコードからドキュメント生成 • Markdown形式の説明文を生成 • Mermaidのシーケンス図を作成 • PlantUMLでアクティビティ図作成 • コメント文を生成 • コミットメッセージを自動付与 特に(2)のコード補完は、コード生成AIを統合開発環境と 連携させることで実現できるソフトウェア開発ならではの機能
  7. 7 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    ミッションクリティカル分野のシステム開発や、OT領域へコード生成AIを適用 日立のコード生成AIの取り組み https://www.hitachi.co.jp/New/cnews/month/2024/06/0611/20240611_02_digital.pdf#page=19 https://www.hitachi.co.jp/New/cnews/month/2023/06/0613/20230613_03_digital.pdf#page=26 Hitachi Investor Day 2024 デジタル戦略の資料から引用 Hitachi Investor Day 2023 デジタル戦略の資料から引用
  8. 8 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    ミッションクリティカル分野やOT分野のシステム開発では、 GitHub Copilotの様なクラウドベースのコード生成AIの利用が難しいケースも存在 • 機密扱いのソースコードや個人情報を含むデータが インターネット上の社外サービスに送信されてしまう • 開発プロジェクト毎に開発環境が用意されるため、 クラウドベースの従量課金は費用の見積が困難 • 工場の生産ラインなどは 閉域ネットワーク前提のシステムのため、 クラウドベースのサービスは接続不可 クラウドベースのコード生成AIの課題 インターネット クラウド サービス へ接続
  9. 9 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    ローカルPCやオンプレミスのサーバ内で動作する、 ローカルLLMのコード生成を用いることで課題を解決 • 機密情報の運用ルールを満たした 開発環境下でコード生成AIを利用できる • 固定のハードウェア費用しか発生しないため、 追加費用なしで長期的に利用できる • インターネットに接続ができない 閉域ネットワーク環境下でも利用可能 ローカルLLMのコード生成AIによる解決 閉域ネットワーク ローカル LLM インターネット ネットワーク アクセス不可
  10. 10 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    複数のテック企業がコード生成AIのモデルを作成し、オープンウェイトで公開 • 一般的にパラメータ数が多いほど高精度だが推論処理に時間が長くなる • ローカルPCやサーバのメモリ量やGPUの有無で扱えるモデルとサイズが決まる • 同程度の計算リソースを使用する モデルの良し悪しは、日本語LLMを 比較したリーダボードが参考になる コード生成AIのモデル # モデル名 開発元 パラメータ数 1 Qwen2.5 Coder Alibaba 0.5~32B 2 Granite Code IBM 3~34B 3 CodeGemma Google 2~7B 4 DeepSeekCoder V2 DeepSeek 1.3~33B 5 StarCoder2 NVIDIA、ServiceNow、 Hugging Face 3~15B 6 Code Llama Meta 7~70B 7 Codestral Mistral 22B Ollamaライブラリにあるコード生成AIのモデル オープン日本語LLMリーダボード
  11. 11 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    コード生成AIの推論環境構築
  12. 12 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    高スループットでメモリ効率の高いLLM用の推論エンジン、推論用サーバ • 歴史 ・ 2023年6月 UC Berkeleyが開発しv0.1.0をリリース ・ 2024年7月 LF AI & Data Foundationの インキュベーションプロジェクト化 ・ 2025年2月現在 コントリビュータ821名 GitHubのスター数3.7万 • 特徴 ・ PagedAttentionアルゴリズムを採用し高速 ・ NVIDIA GPU、AMD GPU、Apple Silicon (2025年2月時点でGPU未対応)に対応 ・ OpenAI互換APIを提供 vLLMとは https://docs.vllm.ai/en/latest/getting_started/installation/cpu/index.html インストール手順のドキュメント
  13. 13 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    Alibabaが開発したコード生成AI用のモデル • コード生成のベンチマークでは、 DeepSeek CoderやCodestralより高精度 (オープン日本語LLMリーダボードでも 現在ランキングトップ) • GPT-4oやClaude 3.5 Sonnetの クラウドベースのLLMよりも高精度 • プログラミング言語の中では、 JavaScript、Python、Java、Go、Cが得意 (Swift、C#、C++、HTMLであれば GTP-4oの方が高精度) Qwen 2.5 Coderモデル プログラミング言語間の精度比較 https://ollama.com/library/qwen2.5-coder
  14. 14 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    GPU搭載のVM上で動作させたQwen/Qwen2.5-Coder-1.5B-Instructを呼び出す例 vLLMのデモンストレーション
  15. 15 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    GitHub Copilotライクなユーザインターフェイスを 追加できるVisual Studio Code用のプラグイン • Visual Studio Code上でチャット、 コード補完、コード修正を利用可能 • 推論環境としてvLLMやOllamaに対応 • ローカルLLMを利用する場合は Qwen 2.5 Coderのモデルなどを 用意して設定する必要がある Continueプラグインとは https://docs.continue.dev/getting-started/overview https://docs.continue.dev/customize/model-providers/more/vllm Continueプラグインの動作 vLLM連携についてのドキュメント
  16. 16 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    (1) Visual Studio Codeの拡張機能から「Continue」を検索して、インストール (2) 左側に追加されたアイコンをクリックして、チャット画面を開く (3) 入力欄下にある「Claude 3.5 Sonnet」を クリックして「+ Add Chat model」を選択 (4) Providerとして「Ollama」、 Modelとして「Qwen 2.5 Coder 7b」を選択して 「Connect」をクリック Continueプラグインのインストールと設定方法
  17. 17 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    推論エンジンとしてllama.cppを使用する推論用サーバソフトウェア • WindowsやmacOSでは、インストーラを用いて 手軽にGPUを利用する環境を構築できる • OpenAI互換APIを提供 • 利用可能なモデルがサイトに 公開されており、コマンド操作や REST APIでモデルをダウンロード可能 【Qwen 2.5 Coderをダウンロードするコマンド】 Ollamaとは モデルを参照できるサイト https://ollama.com/library/qwen2.5-coder ollama pull qwen2.5-coder:1.5-base
  18. 18 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    Continueプラグインを用いたFizz Buzzコードの生成 1から順に数字をカウントし、3の倍数の時に「Fizz」、5の倍数の時に「Buzz」、 15の倍数の時に「Fizz Buzz」を出力するJavaScriptコードを生成
  19. 19 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    現在地を表示するHTMLコードを生成するデモンストレーション
  20. 20 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    コード生成AIをローコード開発ツールへ適用
  21. 21 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    ローコード開発ツール Node-REDとは 機能ブロックをつなぎ、GUI上でビジュアル開発できるプログラミング環境 • OpenJS Foundationが ホストするOSS • プログラミング知識不要で、 ノーコードの開発も可能 • 必要に応じてコーディングを行い、 システムを拡張可能 部分的にソースコード追加も可能 機能ブロックを つなぎ開発
  22. 22 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    コード生成AIとローコード開発ツールの組み合わせ 生成AIとローコード開発ツールの組み合わせは相性が良い • ローコード開発ツールでは、機能ブロックの入出力データの仕様が 固定されているため、生成AIで生成したソースコードを組み合わせやすい • プログラミング知識を持たない工場の現場エンジニアも 手軽にコーディングができる 処理2 処理1 処理3 共通仕様
  23. 23 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    Node-RED用のコード補完プラグイン Node-REDのfunctionノードのコードエディタ用のコード補完プラグイン • GitHub Copilotを有効にした Visual Studio Codeと 同じコード補完のUXを提供 • Node-REDライブラリに OSSとして公開 • デフォルトでGranite Code Modelを用いてコメント文から JavaScriptコードを生成 functionノードのコードエディタ https://flows.nodered.org/node/@kazuhitoyokoi/node-red-contrib-plugin-codecompletion
  24. 24 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    コード補完プラグインの実装 • Node-REDのテキストエディタはVisual Studio Codeと同じMonaco Editorを使用 • Monaco EditorのInline Completions Provider機能を用いて同じUX実装 Visual Studio Code Monaco Editor [ GitHub Copilot/ContinueのUX ] • 灰色テキストでコード提案 • タブキーを押すことで提案コード採用 https://microsoft.github.io/monaco-editor/typedoc/functions/languages.registerInlineCompletionsProvider.html Inline Completions Node-RED Monaco Editor Inline Completions (新規追加) Node-REDへGitHub Copilotや Continueと同じUXを追加
  25. 25 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    Granite Codeモデル IBM Researchが2024年5月にリリースしたコード生成AIモデル • Mistral、他のモデルより高精度 • Apache-2.0 license • 116の開発言語をサポート • オープンウェイトだけでなく、 学習に用いたデータも 公開されている • Ollamaのダウンロード方法: https://github.com/ibm-granite/granite-code-models ユースケース毎のローカルLLM間の精度比較 Granite Codeモデル ollama pull granite- code:3b-instruct
  26. 26 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    デモ: Fizz Buzzコードの生成 (1) 生成したいコードのコメント文と for文を入力 (3) タブキーを押すことで、 提案されたコードを採用 (2) Fizz Buzzのコードが 灰色の文字列で提案される
  27. 28 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    デモ: 2点間の距離を算出 緯度と経度からなる2点間の位置から、 距離を算出するコードを生成 [ Haversineの式 ] 緯度1, 経度1 緯度2, 経度2 位置1 位置2 距離 手作業でコードを書くには 時間がかかる :(
  28. 32 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    本セッションでは、ローカルLLMのコード生成AIと、以下のTipsを紹介 • コード生成AIモデルと推論環境の構築 • Visual Studio Code用のプラグイン • ローコード開発ツールでのコード補完プラグイン 今後も進化し続けるローカルLLMのコード生成AIを使いこなしてゆきましょう まとめ
  29. © Hitachi Academy Co., Ltd. 2025. All rights reserved. 33

    ローカルLLMを活用したコード生成と ローコード開発ツールへの応用 2025年2月18日 株式会社 日立アカデミー 研修開発本部 横井一仁
  30. 34 © Hitachi Academy Co., Ltd. 2025. All rights reserved.

    • BlocklyとGemini、CodeGemmaは、Google, Inc.の登録商標です。 • Visual Studio CodeとMonaco editor、 Windowsは、 Microsoft Corporationの登録商標です。 • Eclipseは、 Eclipse Foundationの登録商標です。 • GitHub Copilotは、GitHub, Inc.の登録商標です。 • Amazon Q Developerは、 Amazon Technologies, Incの登録商標です。 • Qwenは、 Alibaba Innovation Private Limitedの登録商標です。 • Granite Codeは International Business Machines Corporationの登録商標です。 • vLLMは、 LF AI & Data Foundationの登録商標です。 • Claudeは、 Anthropic, PBC.の登録商標です。 • macOSは、Apple Inc.の登録商標です。 • Node-REDはOpenJS Foundationの登録商標です。 • その他記載の会社名、製品名などは、それぞれの会社の商標もしくは登録商標です。 商標について