Slide 1

Slide 1 text

2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2 Freelance Frontend Engineer Tsubasa SEKIGUCHI ローカルで始める 生成AI再入門 Getting Started with Generative AI Again for Free

Slide 2

Slide 2 text

関口 翼 Tsubasa SEKIGUCHI aka TinyKitten フリーランス フロントエンドエンジニア 関口 翼 Tsubasa SEKIGUCHI aka TinyKitten フリーランス フロントエンドエンジニア 2 2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2

Slide 3

Slide 3 text

TinyKitten タイニーキトゥン aka 関口 翼 フリーランス フロントエンドエンジニア 3 2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2

Slide 4

Slide 4 text

TrainLCD スマートフォンで使えるトレインビジョン 鉄道での移動中に迷いそうな時、 電車から降りれるか不安な時 きっとあなたの役に立つはずです 日本全国の鉄道路線で使える 新感覚ナビゲーションアプリ 4 2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2

Slide 5

Slide 5 text

5 バズりました ユーザーさんがシェアしてくれたので App Storeランキング12位に入りました
 寝耳に水です TrainLCD 最近のハイライト 2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2

Slide 6

Slide 6 text

2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2 PoCの紹介 Proof of Concept 6

Slide 7

Slide 7 text

7 AI搭載乗換検索CLI ※AIは経路検索を行いません 単純に2駅間の経路を表示するだけの シンプルなCLI AIは経路計算後の観光案内文章生成に 使用 PoCの紹介 2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2

Slide 8

Slide 8 text

8 2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2 Ollama ローカルでLLM(Large Language Model)が 動かせるOSS 経路検索の結果から おすすめスポットの紹介文言を生成 今回使用するOSS

Slide 9

Slide 9 text

9 2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2 Rust 効率的かつ信頼できるソフトウェアを 開発できる言わずと知れた言語 DB接続(MySQL)と経路検索(ダイクストラ法)の 実装で使用 今回使用するOSS

Slide 10

Slide 10 text

Gemma こちらはOSSではなくオープンモデル Geminiモデルの作成に使用されたものと 同じ研究に基づいて構築されたモデル 今回は最新のGemma 3を採用 今回使用するモデル 10 2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2

Slide 11

Slide 11 text

11 2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2 基礎知識 Fundamental Knowledge

Slide 12

Slide 12 text

12 2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2 LLM 基礎知識 LLMはLarge Language Modelの略 日本語で言うと「大規模言語モデル」 大量のデータと深層学習技術によって 構築された言語モデル LLM 基礎知識 LLMはLarge Language Modelの略 日本語で言うと「大規模言語モデル」 大量のデータと深層学習技術によって 構築された言語モデル 引用: LLM (大規模言語モデル)の仕組みとは?生成 AI との違いや活用事例などを一挙に紹介! https://g-gen.co.jp/useful/General-tech/llm-ai/

Slide 13

Slide 13 text

2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2 13 LLM 基礎知識 文書作成や翻訳、感情分析など 自然言語処理のさまざまなタスクに 応用されている ChatGPTがLLMの応用として有名

Slide 14

Slide 14 text

引用: 自然言語処理モデル「GPT-3」の紹介 https://www.intellilink.co.jp/column/ai/2021/031700.aspx 2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2 14 LLM 基礎知識 従来の言語モデルと比べて、データ量や パラメータ量を大幅に増加させている そのため、自然言語の微妙なニュアンスを 捉えることができる

Slide 15

Slide 15 text

引用: ダイクストラ法 https://ja.wikipedia.org/wiki/%E3%83%80%E3%82%A4%E3%82%AF%E3%82%B9%E3%83%88%E3%83%A9%E6%B3%95 2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2 15 グラフ理論 基礎知識 今回のシステムでは鉄道路線の経路検索に グラフ理論のダイクストラ法を採用 乗換アプリなど、最短経路問題の アルゴリズムとして広く採用されている

Slide 16

Slide 16 text

16 2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2 どう作るのか Implementation

Slide 17

Slide 17 text

2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2 17 モデルを決める どう作るのか 今回はGemma 3文章生成のモデルに 採用 Gemma 3を選んだ理由は、 いくつかモデルを試して一番生成文が 自然だったから

Slide 18

Slide 18 text

引用: library https://ollama.com/library 2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2 18 モデルを決める どう作るのか モデルを選ぶときは、 手元のPCのスペックと相談する必要性あり 各モデルには 4B 12B 27B などの種類が存在 値が大きなモデルを選べば精度は高くなる ただしPCに求められるスペックは高くなる

Slide 19

Slide 19 text

2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2 19 モデルを決める どう作るのか Ollamaの場合、モデルを追加する方法は とても簡単で、コマンドひとつ叩くだけ

Slide 20

Slide 20 text

2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2 20 Ollama+WebAPI どう作るのか Ollamaはを使うとOpenAI互換の Web APIサーバを構築可能 OllamaのCLIを使わずとも、APIを経由して LLMを使用することができる POST /v1/chat/completions

Slide 21

Slide 21 text

2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2 21 Ollama+WebAPI どう作るのか OpenAI互換のWeb APIのため、 ChatGPTのAPIを叩く時と同じ パラメータで文章を生成できる ただし、Ollamaで使用できるモデルを 指定する必要がある

Slide 22

Slide 22 text

2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2 22 Rust+reqwest どう作るのか 今回作ったシステムでは、Rustを 開発言語として採用 reqwestは10k+のGitHub Starがある RustのHTTPクライアントライブラリ

Slide 23

Slide 23 text

2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2 23 ダイクストラ法 どう作るのか Rustでダイクストラ法の計算を行うには petgraphというライブラリを採用 ちなみに、Rustでライブラリのことを 「クレート(Crate)」という

Slide 24

Slide 24 text

2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2 24 ね?簡単でしょう まとめ 案外簡単にLLMをローカルのPCで 動かしてAI搭載アプリを実装することが できました 皆様もローカルでLLMを 動かしてみてください

Slide 25

Slide 25 text

2025.03.15 | Gunma.web #55 生成AI LT会 Ver.2 Freelance Frontend Engineer Tsubasa SEKIGUCHI ご清聴ありがとうございました! Thank you for listening!