プログラミング

プログラミング

【豆知識】Elementsパネルでその場でCSSを編集して確認する

こんにちは、かつコーチです。「この余白をあと10pxだけ広げたらどう見えるか試したい」というとき、いちいちCSSファイルを編集して保存するのは手間です。Elementsパネルを使えば、ブラウザ上で直接CSSを書き換えて確認できます。結論:ま...
プログラミング

【豆知識】Chrome DevToolsの開き方とタブ構成の全体像

こんにちは、かつコーチです。「DevToolsを開いてください」と言われても、ショートカットも各タブの役割も分からないと戸惑いますよね。今回は開き方とタブ構成の全体像をまとめます。結論:まずこれをやればいいDevToolsを開く方法は主に3...
プログラミング

【豆知識】更新ボタンを長押し・右クリックするだけでキャッシュをクリアする方法

こんにちは、かつコーチです。前回、CSSが反映されない時は設定画面から「キャッシュされた画像とファイル」を消せばいいとお伝えしました。ただ、毎回設定画面を開くのは正直面倒です。実はもっと手軽にキャッシュをクリアする方法があります。結論:まず...
プログラミング

【豆知識】CSSが反映されない時、Chromeのキャッシュはどれを消せばいい?

こんにちは、かつコーチです。CSSを修正してブラウザを更新したのに、見た目が変わらない。そんな経験は誰にでもあります。「とりあえずキャッシュを消せばいい」と聞いて設定画面を開くと、項目が多くて戸惑いますよね。今日は、CSS未反映を直すために...
Laravel

【Laravel】プロンプトインジェクション対策:安全にLLMを組み込む設計

こんにちは、かつコーチです。「LaravelへのLLM導入」シリーズもいよいよ最終回です。今回は、LLMをプロダクションで安全に運用するために避けて通れないプロンプトインジェクション対策について解説します。プロンプトインジェクションとは?プ...
Laravel

【Laravel】コスト管理とレート制限:トークン消費を抑える実装

こんにちは、かつコーチです。LLM連携機能は、使えば使うほどAPI利用料がかかります。野放しにしておくと、想定外の高額請求につながることもあります。今回は、トークン数の記録・可視化と、Laravel標準のRate Limiting機能を使っ...
Laravel

【Laravel】AI呼び出しをテストでモックする(Http::fakeパターン)

こんにちは、かつコーチです。LLM連携機能を実装したら、当然テストも書きたくなります。ただし、テストのたびに実際のAI APIを叩いていると、実行するたびに課金が発生してしまいます。今回はHttp::fake()を使って、AI API呼び出...
Laravel

【Laravel】RAGパイプラインを実装する(チャンク分割〜検索〜生成)

こんにちは、かつコーチです。前回はpgvectorでベクトル検索の環境を構築しました。今回はいよいよ、RAG(AI自身の知識ではなく、検索した文書を渡して回答させる仕組み。カンニングペーパーを渡してから質問に答えてもらうイメージです)のパイ...
Laravel

【Laravel】pgvectorでベクトル検索の環境を構築する

こんにちは、かつコーチです。RAG(RAG:AI自身の知識ではなく、検索した文書を渡して回答させる仕組み。カンニングペーパーを渡してから質問に答えてもらうイメージです)を実装するには、まずベクトル検索の基盤を作る必要があります。今回はPos...
Laravel

【Laravel】embeddingとは?文章の意味を数値化する仕組み

こんにちは、かつコーチです。「関連する記事を自動でおすすめしたい」「類似の問い合わせを検索したい」といった要望を実現する鍵になるのが、embeddingです。このシリーズもいよいよRAG(検索拡張生成)実装の入り口に差し掛かりました。この記...
Laravel

【Laravel】ツール呼び出し(Function Calling)でAIにアプリの操作を行わせる

こんにちは、かつコーチです。前回は構造化出力でJSON形式の応答を得る方法を紹介しました。今回はさらに一歩進んで、LLM自身に「この関数を呼び出したい」と判断させ、実際にアプリの処理を実行させる仕組みを解説します。ツール呼び出し(Funct...
Laravel

【Laravel】構造化出力(Structured Output)でJSON形式の応答を得る

こんにちは、かつコーチです。AIチャットは文章で返してくれれば十分ですが、業務システムに組み込むとなると話は別です。「感情分析の結果をDBに保存したい」「フォームの項目を自動入力したい」となると、決まった形式のデータが必要になります。この記...
Laravel

【Laravel】会話履歴を管理するチャットUIを実装する

こんにちは、かつコーチです。前回はストリーミングでAIの応答を表示する方法を紹介しました。ただ、それだけでは「一問一答」しかできず、文脈を踏まえた会話にはなりません。この記事では、会話履歴をDBに保存し、マルチターン(複数往復)の会話をLL...
Laravel

【Laravel】ストリーミングレスポンスを実装する(SSEでリアルタイム表示)

こんにちは、かつコーチです。ChatGPTを使っていると、文字が一気に表示されるのではなく、じわじわと出てくるのに気づいた方も多いと思います。あれを自分のLaravelアプリで再現したいという相談を、最近よく受けます。この記事では、ストリー...
Laravel

【Laravel】Prism PHPでテキスト生成を実装する基本

こんにちは、かつコーチです。前回はLaravel AI SDKでテキスト生成を実装しました。今回は、その内部でも使われているPrism PHPを直接使って、同じ処理を書いてみます。「結局どっちが自分に合っているのか」を実感するために、コード...
Laravel

【Laravel】Laravel AI SDKでテキスト生成を実装する基本

こんにちは、かつコーチです。前回はAPIキーの準備が終わりました。いよいよここから、Laravel AI SDKを使って実際にテキスト生成を実装していきます。この記事では、Ai::make()->prompt()の基本的な使い方から、プロバ...
Laravel

【Laravel】APIキーの設定と環境構築(OpenAI・Anthropic対応)

こんにちは、かつコーチです。LaravelでLLMを使い始める前に、必ず必要になるのがAPIキーの発行と環境設定です。ここを雑にやると、あとで「動かない」「キーが漏れた」といったトラブルにつながります。この記事では、OpenAIとAnthr...
Laravel

【Laravel】比較 : Laravel AI SDK・Prism PHP・LLPhant、どれを選ぶべきか

こんにちは、かつコーチです。Laravel×LLMを調べ始めると、「Laravel AI SDK」「Prism PHP」「LLPhant」「Neuron AI」など、似たような名前のライブラリが次々と出てきて混乱しませんか。私も最初に調べた...
Laravel

【Laravel】なぜLaravelアプリにLLMを導入するのか?活用パターンの全体像

こんにちは、かつコーチです。「LaravelにAIを組み込みたいけど、何から手をつければいいか分からない」。そんな相談を最近よく受けます。この記事では、LaravelアプリにLLM(大規模言語モデル。文章を理解し、文章で応答するAI)を導入...
Java

【Java】比較検証 : JavaとPython、プログラミング初心者に向いているのはどちらか

こんにちは、かつコーチです。これでJava基礎編は80本目、最終回です。「プログラミングを初めて学ぶなら、JavaとPythonどちらがいいですか」これは、学習相談を受けるたびに聞かれる質問トップ3に入る内容です。どちらも求人数が多く「学ぶ...