Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

3 © Hitachi Academy Co., Ltd. 2025. All rights reserved. コード生成AIとは

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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 デジタル戦略の資料から引用

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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リーダボード

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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 インストール手順のドキュメント

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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連携についてのドキュメント

Slide 17

Slide 17 text

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プラグインのインストールと設定方法

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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を追加

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

27 © Hitachi Academy Co., Ltd. 2025. All rights reserved. デモ: Fizz Buzzコードの生成

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

29 © Hitachi Academy Co., Ltd. 2025. All rights reserved. デモ: 2点間の距離を算出

Slide 31

Slide 31 text

30 © Hitachi Academy Co., Ltd. 2025. All rights reserved. デモ: 2点間の距離を算出

Slide 32

Slide 32 text

31 © Hitachi Academy Co., Ltd. 2025. All rights reserved. まとめ

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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の登録商標です。 • その他記載の会社名、製品名などは、それぞれの会社の商標もしくは登録商標です。 商標について