「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>テキスト生成系(Transformer系)]] > [[教育系>テキスト生成系(Transformer系)#eab0d86b]] --[[LLM Engineering:Master AI、Large Language Models&Agents]] --[[The Complete Agentic AI Engineering Course (2025)]] --オリジナル・コンテンツ(イキナリLLMからスタートしたい) *目次 [#l95bce82] #contents *概要 [#c3f2637e] (何気に、以下の概要の文字列は生成AIで生成していたりする笑) -イキナリLLMからスタートしたい~Python知らなくても、機械学習の基礎飛ばして、LLMを即戦力に!~ -伝統的なルートを飛び越えて、LLMの世界にダイブしましょう! あなたのAI活用が、今日から変わります。 **なぜ「イキナリLLM」なのか? [#i7ab13c5] -AIの波が急速に広がる中、特にLLM、大規模言語モデルがビジネスや日常に浸透し始めています。 -ChatGPTやGeminiなどのツールがEUCとして誰でも簡単に使えるようになり、企業ではLLMを活用した業務効率化が急務となっています。 --しかし、伝統的な学習パスでは、先ず、[[G検定>G検定:試験対策]]や[[E資格>E資格:試験対策]]を目指し、[[Python]]プログラミングを学び、[[機械学習>機械学習(machine learning)]]の基礎を固め、[[深層学習>深層学習(deep learning)]]を理解 --そして、ようやく大規模な[[言語モデル>言語処理(AI)]]であるLLM([[Transformer系>テキスト生成系(Transformer系)]])に到達する……というステップを踏むのが一般的です。これでは、数ヶ月から1年かかることも珍しくありません。 -「そんな時間がない! すぐにLLMを使って仕事やプロジェクトに活かしたい!」という声に応えるのが、このコンテンツの目的です。 --私たちは、最小限の前提知識でLLMの核心に飛び込み、即実践できるスキルを提供します。Pythonの基本すら知らなくてもOK。 --段階を飛ばして、LLMの活用法から逆算して必要な知識をピックアップし、短期間で「LLMを使いこなせる人」を生み出します。 **このコンテンツの対象者 [#a15cd371] -LLMに興味はあるけど、プログラミング経験ゼロの人 -基礎を学ぶ時間は無いが直ぐに実務で使いたいビジネスパーソン -AIツールをEUCとして活用し、業務効率化を目指す人 -各資格の取得は後回しで、まずはLLMの面白さを体感したい人 **学習の目標と流れ [#afe02242] -LLMの基礎理解(理論ゼロからスタート):LLMとは何か? なぜ今注目されているのか? を実例で解説。 -即実践ツール活用:APIやノーコードツールを使って、LLMを動かす(Python不要の方法から)。 -必須知識の逆引き学習:LLMを使う上で必要な機械学習/深層学習のエッセンスだけをピックアップ。 -プロジェクト実践:チャットボット作成やテキスト生成などのハンズオンで即戦力化。 *詳細 [#s6742ab6] **LLMの基礎理解 [#h2bab3d9] 以下をLLMに聞いてみてください(笑) ***LLMとは何か? [#bee2fa2b] -言語モデルのうち、主に次単語予測を行うもので、Transformerを使用した大規模なモノ。 -大規模なテキストコーパスを使って学習、タスク(生成、理解、抽出)に合わせて追加学習される。 --自然言語生成(NLG) ---文章生成 ---要約 ---翻訳 ---対話 --自然言語理解(NLU) ---質問応答 ---感情分析 ---意図認識 ---文書分類 --情報抽出(IE) ---実体 ---関係 ---要点 -更に、ドメイン(業務、教育、医療、法律、開発、創作)にあわせてファインチューニングされる。 ***注目の理由は? [#a94da6e1] -自然言語処理のブレイクスルー~ 従来のルールベースや小規模モデルでは難しかった自然な会話や創造的な文章生成が可能。 -汎用性の高さ~ 1つのモデルで複数のタスクをこなせるため、開発コストや時間を大幅に削減。 -業務効率化・自動化~ カスタマーサポート、ドキュメント生成、データ分析など、さまざまな業務に応用可能。 -急速な進化とオープン化~ OpenAI、Meta、Google、Anthropicなどが競って開発を進めており、OSSのLLMも登場。 ***実例で解説 [#j8927e44] -カスタマーサポートの自動化~ チャットボットが顧客の質問に自動応答。 -社内ドキュメント検索エージェント~ 社内のPDFやドキュメントを自然言語で検索・要約。 -コード生成・レビュー支援~ 開発者が自然言語で指示を出すと、コードを生成・修正・レビュー。 **環境構築編 [#w39a4a4d] ***Python環境 [#rfad6ae8] Pythonのインストール方法と基本的な動作確認を解説。 -Pythonのバージョン(2025/10現在) --3.8~3.11の推奨理由:安定性・機能性・互換性のバランスが非常に良い。 --3.12の推奨理由:パフォーマンス・開発体験・型安全性・構文の柔軟性 --また、更に別バージョンをインストールしたり、仮想環境を使用したりする。 ---システムPythonを汚さないよう別のPythonをインストールすることもできる。 ---仮想環境を使用については[[PKGMGRと仮想環境>#x8d452d9]]で解説する。 -WindowsのWSL2でのPythonインストール手順 --[[WSL → WSL2>https://techinfoofmicrosofttech.osscons.jp/index.php?WSL%20%E2%86%92%20WSL2]] --通常のPythonをインストールする([[Python>Python#va75989e]]、[[WSL2 Ubuntu 24.04 LTS 2025/1/21]])。 --[[システムPythonと別のPythonをインストールする(以降、pythonとpipはエイリアスで使い分ける)。>LLMのFT#l5db1fb1]] -[[ターミナル / コマンドプロンプトでの基本操作(python)>Python#k0f72db4]] ***PKGMGRと仮想環境 [#x8d452d9] 「PKGMGR」と「仮想環境」の使用方法を学び、プロジェクト毎に独立した環境を構築、LLM関連パッケージを安全にインストール。 -PKGMGR --...とは、パッケージ・マネージャーのこと --pythonではpipと言うパッケージ・マネージャーを使用する。 --[[ターミナル / コマンドプロンプトでの基本操作(pip)>Python#md319810]] -[[仮想環境>Python#q0c50a8d]] --実行単位に依存関係のPKGバージョンが異なると、スクリプト系特融の互換性の緩さから、動かないことが多い。 --[[仮想環境>Python#q0c50a8d]]では、環境や実行の単位毎にインストール・パッケージを別々に管理できる。 --[[ターミナル / コマンドプロンプトでの基本操作(venv)>Python#id8b0d17]] ***Notebook環境 [#x64e5c93] Jupyter系やGoogle Colabのセットアップ。PythonのREPL(対話型シェル)以上のインタラクティブ体験を説明。 -[[JupyterLabのインストールと起動>JupyterLab]] ... [[ただし、仮想環境での手順はコチラ>WSL2 Ubuntu 24.04 LTS 2025/1/21#jd2b3138]] -[[JupyterLab]]の使い方は、Notebook系なので[[Jupyter Notebook]]とほぼ同じ(コード実行、Markdown記法、結果の可視化) -[[サンプルコード(簡単なテキスト生成)>OpenAI API#t825a87f]]を[[JupyterLab]]から実行して動作確認してみる。 -[[Google Colabの利用方法と基本操作>Google Colaboratory]](無料で使えるクラウド環境)。 ***IDE環境 [#r74563aa] より本格的な開発向けに、IDEのセットアップ。将来的なスケールアップに備える -[[VS CodeのインストールとPython、Jupyter 拡張機能の設定。>https://techinfoofmicrosofttech.osscons.jp/index.php?Python%20for%20Visual%20Studio%20Code]] -Notebook系との違いを簡単に説明、基本的なデバッグ方法やコード補完の活用。 -[[VS CodeベースのCursorもPython界隈では人気がある模様。>The Complete Agentic AI Engineering Course (2025)#ea76807c]] **基本ツール編 [#u49d4e1c] ***前提 [#i848979a] -[[環境構築編>#w39a4a4d]] -「.env」の内容 # LLM系 OPENAI_API_KEY=sk-proj-... # Proxy環境下で使用する場合は HTTP_PROXY=" http://<USERID>:<PASSWORD>@<HOSTNAME>:<PORTNUMBER>" HTTPS_PROXY=" http://<USERID>:<PASSWORD>@<HOSTNAME>:<PORTNUMBER>" REQUESTS_CA_BUNDLE=combined-ca-bundle.pem # ... -JupyterLabのPythonセルで... --はじめにパッケージのインストール(Pythonシェルマジック) !pip install python-dotenv ※ JupyterLabのPythonセルからシェルを実行する場合、「!」を付与する。 --以下のコードで「.env」ファイルの環境変数をロード(Python) from dotenv import load_dotenv import os # .env ファイルをロード load_dotenv() ※ カレント・ディレクトリからルートに遡ってはじめに見つかった「.env」ファイルを適用する。 ***[[Ollama]] [#jadac8f9] ローカルでLLMを動かすための軽量ツール、プライバシーやコストを意識した活用法を学ぶ。 -Ollamaの[[インストール>Ollama#bafac0e6]] -OSSモデルの[[ダウンロードと実行>Ollama#u5adea41]] -[[APIエンドポイントを使った簡単なアプリケーション構築>Ollama#qd7199c5]] ***[[OpenAI API]] [#d05db979] [[OpenAI API]](ChatGPTの基盤)を使ったLLM活用の入門。 -[[APIキーの取得とセットアップ>OpenAI API#w2280b16]]。 -簡単なテキスト生成([[curl → python>OpenAI API#ra914dbd]])。 ***LlamaIndex [#jadac8f9] LlamaIndex を使いRAGを作成。 ※ 実装レベルの参考は[[コチラ>LlamaIndex#jef5cff5]] -LangChainの概要 --RAGを簡単に実装するためのフレームワーク --LangChainよりRAG、特にIndexに特化している。 -インストールと基本設定(LLM_LlamaIndex1.ipynb) -実例 --ベクトル検索(LLM_LlamaIndex1.ipynb) --グラフ検索(LLM_LlamaIndex2.ipynb) -[[その他、様々なインデックス>LlamaIndex#df70fbd4]] -その他の機能 --エージェントの構築(LLM_LlamaIndex3.ipynb) --パイプライン、ワークフロー(LLM_LlamaIndex4.ipynb) --構築構造化データ抽出(...) ***LangChain [#nb2e2108] -LangChainの概要 --LLMを簡単に実装するためのフレームワーク。 --[[Script、LLM界隈の悪しき慣習(I/F変更)の象徴(笑)>LangChain#wdd0e98c]] -実行できたら同時の環境を記憶しておく。 --仮想環境からパッケージ情報を抜いてくる(シェル) pip freeze > requirements.txt --当該仮想環境のパッケージの全クリア(シェル) pip uninstall -r <(pip freeze) -y --当該仮想環境のパッケージの再インストール(シェル) pip install -r requirements.txt -[[インストールと基本設定、基本機能の実行>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?LLM%20Engineering%EF%BC%9AMaster%20AI%E3%80%81Large%20Language%20Models%EF%BC%86Agents#d1e72416]] -ただし、動作しなくなっているので、チュートリアルは[[コチラ>https://docs.langchain.com/oss/python/langchain/overview]](笑) ***[[Gradio>LLMチャット系ツール#md161b4d]] [#v86a89ca] -Gradioの概要 -[[インストール>LLMチャット系ツール#yc5069fa]] !pip install gradio -[[画面定義の例>LLMチャット系ツール#he9d235e]] --Gradioによる画面定義 --Session的な概念を加えた画面定義 --チャットUI(履歴の考慮もアリ)。 --チャットUIにRAGを追加した例 ***LangFlow [#e76f1d35] LangFlowを使い基本的なチュートリアルを実行。 -LangFlowの概要~ ノーコード/ローコードLLMフロー可視化・実行ツール -[[インストールと基本設定>LangFlow#mb82d354]] -[[基本チュートリアル>LangFlowのファースト・ステップ]] -[[カスタムノードの作成例>LangFlowのサード・ステップ]] **[[LLMエージェント]]編 [#o01c3a32] ***[[エージェント概要>LLMエージェント#l87448a9]] [#tad2e6ed] エージェントとは何か、LLMとの違いを理解し、次のプログラミングに意欲を持つ。 -エージェントの定義 -実例:タスク分解、外部ツール連携 -フレームワークの紹介 ***[[ほぼバズワードのMCP>MCP(Model Context Protocol)]] [#d990166b] -AIモデルと外部システムのやりとりを標準化するオープン・プロトコル -MCPの機能要件はFunction callingと変わらないが、その他の幾つかの非機能要件に対応。 -関心の本丸はSaaS(法人向けの重量級機能)の利用(統一的なアクセスポイント化) ***[[エージェント・フレームワーク>LLMエージェント#v6874125]] [#ia5040f7] エージェントを動かす簡単なコード実装・実行し、感覚をつかむ。 -インストール -エージェント定義 -ハンズオンのコンセプト **GPUオフロード環境編 [#f72a2ad2] ***[[Google Colaboratory]] [#mdd54d71] ***[[Modal>LLM Engineering:Master AI、Large Language Models&Agents#va18fb20]] (.com) [#h13cd77b] ***[[Hugging Face]] [#j6225391] -Space -Inference Endpoints **LLMファインチューニング編 [#y1fb1c6f] ***ファインチューニング概要 [#r149b556] ファインチューニングの基本概念と必要性を解説。~ ファインチューニングの目的とプロセスを直感的に理解。 -ファインチューニングとは?(モデルを特定タスクに最適化)。 -転移学習やLoRA(軽量チューニング)の簡単な説明。 -実例: カスタマーサポート向けの応答モデル、専門用語対応モデル。 -必要なデータセットの準備(例: JSONやCSV形式)。 -コストや計算リソースの現実的な話(GPU必要性など)を追加。 ***ファインチューニング・プログラミング [#s8854c7a] 実際にファインチューニングを実践、簡単なファインチューニングを自分で実行し、業務特化のモデルを試作。 -オープンソースモデルをHugging Faceでチューニング -LoRAを使った軽量チューニングの実装(peftライブラリ) -ハンズオン: 小規模データセットでカスタムモデル作成。 -評価方法(生成結果の比較、精度チェック) -Google Colab などの無料GPU活用をガイド 全体の補足と提案