- 発売日:2025/03/25
- 出版社:技術評論社
- ISBN:9784297147440
通常価格
4,620 円(税込)
通常価格
セール価格
4,620 円(税込)
単価
/
あたり
税込
- 発売日:2025/03/25
- 出版社:技術評論社
- ISBN:9784297147440
読み込み中...
My店舗在庫
My店舗登録で在庫確認と店舗お受け取りのご利用が可能になります。(要ログイン)
店舗在庫
商品説明
Chat GPTをはじめとした生成AIサービスが躍進しています。Gemini、ClaudeやAzure OpenAI、Llamaなど生成AIのサービスは日々能力が向上し、さまざまなビジネスシーンですでに活用されています。本書で解説するDIfy(ディファイ)とは、各種生成AIを使用してアプリケーション開発ができるプラットフォームです。しかもオープンソースで利用可能です。Webサービス版Difyではすぐに自分が使いたいアプリを作ることができます。さらにDockerを使用すれば、個人や自社の環境で開発ができるようになります。本書はアプリを作りながらさまざまな視点からDIfyの活用方法の解説をします。例を挙げるとAIチャットボット、RAG(Retrieval-Augmented Generation)、エージェント、ワークフロー、ノードの活用、各種ツールやAPIの使い方、チャットフローの作り方まで詳しくフルカラーで説明します。最終的にはDockerで完全クローズドなシステムを構築するまで完全解説します。Difyは作りたいアプリをノーコード・ローコードで実現できます。その威力と影響力に刮目するでしょう。生成AIの可能性にITエンジニアは興奮が止まらないかもしれません。500ページを超えるボリュームで全方位から詳しく解説します!
目次
■第1章 生成AIの理解と活用
1.1 生成AIの回答の仕組みとユーザーアプリケーション
1.2 Difyの役割と課題ドリブン開発
1.2.1 Difyの登場
1.2.2 なにを作りたいのか?
1.2.3 人間とAIの新しい協業
1.2.4 Difyで始める課題ドリブン開発
1.3 Difyとはどのようなものか?
1.3.1 オープンソースの利点
1.3.2 ノーコード、ローコード開発の魅力
1.3.3 APIとして呼び出しが可能
1.3.4 ローカル環境で動く安心感
1.3.5 正直、ここが物足りないDify
■第2章 チャットボットの作成
2.1 さっそくDifyを使ってみる
2.1.1 Difyの始め方:クラウド版とコミュニティ版
2.1.2 Difyアカウントの作成
2.1.3 最初のアプリケーション作成
2.1.4 アプリケーションのテスト
2.1.5 アプリケーションの公開
2.1.6 チャットボットWebアプリケーションの共有
2.1.7 次のステップへ
2.2 LLMのモデルの登録
2.2.1 デフォルトモデルを確認してみよう
2.2.2 他のLLMを使いたい
2.2.3 API料金について
2.2.4 Geminiを使えるようにしてみよう
2.2.5 Geminiモデルでテストする
2.3 LLMパラメータの調整
2.3.1 パラメータ設定の基本
2.3.2 パラメータの違いを体験してみよう
2.3.3 LLMパラメータの仕組みを理解しよう
2.3.4 Temperature:創造性温度調整
2.3.5 TopP:選択肢の絞り込み
2.3.6 2つのパラメータの関連
2.3.7 実践:用途に応じた設定
2.4 プロンプトを考える
2.4.1 プロンプトの重要性
2.4.2 システムプロンプトとユーザープロンプト
2.4.3 Zero-Shot LearningとFew-Shot Learning
2.4.4 Zero-ShotLearning
2.4.5 Few-ShotLearning
2.4.6 CoTで問題を解いてみる
2.4.7 まとめ
2.5 Webページにチャットボットを埋め込む
2.5.1 さあ埋め込んでみよう!
2.5.2 こんなに簡単でいいの?
2.6 履歴の確認と監視について
2.6.1 ログの確認方法
2.6.2 ログの重要性
2.6.3 チャットボットの監視
2.6.4 監視とログ、その真価
第3章 RAGを使いこなす
3.1 RAGとは何か?
3.1.1 4つのステップで理解するRAG
3.1.2 類似度検索を理解しておこう
3.1.3 RAGのすごいところ
3.1.4 RAGをDifyで構築する
3.2 ナレッジの構築
3.2.1 ナレッジベースを作成してみよう
3.2.2 テキストの前処理とクリーニング
3.2.3 インデックスモードと埋め込みモデルの選択
3.2.4 検索設定
3.2.5 ちゃんと検索できるかテストしてみる
3.3 チャットボットでRAGを行ってみる
3.3.1 新規アプリの作成
3.3.2 プロンプトとコンテキストの設定
3.3.3 モデルの選択
3.3.4 デバッグとプレビュー
3.3.5 実際にチャットしてみる
3.4 RAGのポイントは入力データにあり
3.4.1 データの下ごしらえ
3.4.2 なぜ分割(チャンク)が大事なの?
3.4.3 データの整え方
3.4.4 文学作品をAIに読ませる
3.4.5 PDFからの単純な変換の罠
3.4.6 「テキストのパラグラフ化手法」の登場
3.4.7 パラグラフ化の効果
3.4.8 出力結果を統合してベクトル化
3.4.9 きれいに並んだデータの威力
3.4.10 まずはここから始めよう
3.5 ハイブリッド検索について
3.5.1 リランクで検索結果をもう一段階磨く
3.5.2 Cohereのモデルを使うには?
3.5.3 ハイブリッド検索でさらに網羅的に
■第4章 エージェントの作成
4.1 エージェントとは
4.1.1 なぜAIエージェントの時代と言われるのか
4.1.2 AIエージェントの簡単なしくみ
4.1.3 AIエージェントを構築するには
4.2 DifyでAIエージェントを作る
4.2.1 エージェントの選択と作成
4.2.2 コンテキストを登録
4.2.3 ツールを登録
4.2.4 「手順」にプロンプトを書く
4.2.5 個別のツールが機能するか会話でテストする
4.2.6 まとめ
4.3 ツールの連携の実例
4.3.1 時間と情報検索の連携
4.3.2 Web検索と計算の連携
4.3.3 ナレッジと計算の連携
4.3.4 まとめ
4.4 マルチモーダル対応の実例
4.4.1 マルチモーダルの可能性
4.4.2 エージェントの設定
4.4.3 画像を読んで質問をする
4.4.4 PDFファイルを読み要約してもらう
4.4.5 まとめ
■第5章 ワークフローの作成
5.1 AIアプリ開発の基本技術
5.1.1 通常のワークフローとAIワークフローの違い
5.1.2 Difyを使ったワークフローはどんなものか
5.2 さっそく作ってみよう
5.2.1 ワークフローの新規作成
5.2.2 「開始」ノードの設定
5.2.3 LLMノードの追加
5.2.4 LLMノードの設定項目
5.2.5 テスト実行
5.2.6 「終了」ノードをつなぐ
5.2.7 ワークフローを公開する
5.3 ワークフロー公開の2つのモード
5.3.1 アプリを実行
5.3.2 バッチでアプリを実行
5.4 知識をつなげて統合する
5.4.1 社内相談窓口というユースケース
5.4.2 知識取得ノードをつなげる
5.4.3 総務担当者ノードを追加
5.4.4 責任者ノードを追加
5.4.5 実行例:上司のパワハラ相談
5.5 議事録を作成する
5.5.1 まずは簡単な議事録を作成
5.5.2 もっと詳細にまとめるように改造する
5.5.3 この方法のポイント
5.6 DSLのエクスポートとインポート
5.6.1 DSLのエクスポート
5.6.2 DSLのインポート
5.6.3 DSLエクスポートの別の方法
5.6.4 実践的なアドバイス:DSLの効果的な活用法
■第6章 各種ノードの型
6.1 壱ノ型=開始-終了:アルファでありオメガである
6.1.1 ノードとは何か?
6.1.2 すべての始まりは「開始」から
6.1.3 [開始]-[終了]は最も基本な組み合わせ
6.1.4 この中で何が起こっているのか
6.1.5 入力フィールドの設定を理解しよう
6.1.6 複数の入力フィールドの設定
6.1.7 出力変数も複数指定OK! でも少し注意が必要
6.2 弐ノ型=開始-LLM-終了:究極の型
6.2.1 なぜ「究極」なのか
6.2.2 LLMの追加
6.2.3 変数はいたるところで設定できる
6.2.4 この型の真の力
6.2.5 CoTをLLMノードで実装するヒント
6.3 参ノ型=条件分岐:条件によって処理を分ける
6.3.1 単純な条件分岐IF/ELSE
6.3.2 各分岐にLLMをつなげて設定する
6.3.3 終了ノードの追加
6.3.4 実行してみる
6.3.5 ELIFについて
6.3.6 質問分類器で自動振り分け
6.3.7 質問分類器の設定
6.4 四ノ型=知識取得:RAGで知識を得る
6.4.1 なぜワークフローでRAGなのか
6.4.2 開始ノード設定
6.4.3 知識取得ノードの追加と設定
6.4.4 LLMノードの追加
6.4.5 終了ノードにつなげる
6.4.6 ワークフローでのRAGの応用
6.5 伍の型=変数を取り出す:パラメータ抽出
6.5.1 パラメータ抽出とは?
6.5.2 実際に作ってみよう
6.5.3 パラメータ抽出のパターン集
6.5.4 シンプルな配列パターンの例
6.5.5 パラメータ抽出の真価
6.6 六ノ型=繰返し処理:イテレータで回す
6.6.1 最も簡単な繰り返し処理をつくる(果物カラーガイド)
6.6.2 テストしてみる
6.7 七ノ型=定型文の処理:テンプレートはどう使うのか
6.7.1 繰り返し処理を行ったあとはどうする?
6.7.2 テンプレートはもっとすごい
6.7.3 テンプレートの基本
6.7.4 もう少し複雑なテンプレート
6.7.5 入力処理でのテンプレート活用
6.7.6 テンプレートの型の本質
6.7.7 テンプレートを使いこなすコツ
6.8 八ノ型=コード実行:ラストワンマイルの切り札
6.8.1 コードノード、使ってみよう
6.8.2 いろいろなサンプル
6.8.3 httpxでAPIを呼ぶ
6.9 九ノ型=API召喚術:HTTPリクエストノードでAPI連携
6.9.1 なぜHTTPリクエストノードを使うの?
6.9.2 地名から緯度経度を取得する例をつくろう
6.9.3 実行してレスポンスを確認しよう
6.9.4 データを抽出・整形する(コードノード)
6.9.5 再び実行してみる
6.10 拾ノ型=パラレル実行:ノードを同時に実行する
6.10.1 パラレル実行の基本の型
6.10.2 実際にやってみよう
6.10.3 終了ノード以外でパラレル実行の結果を受ける
6.10.4 注意点やコツなど
6.10.5 活用例をいくつか
6.10.6 まとめ
6.11 拾壱ノ型=ファイル処理:あらゆるファイルを読むこと
6.11.1 ドキュメントを読み込み要約する
6.11.2 ワークフローの作成
6.11.3 画像ファイルを読み、解説してもらう
6.11.4 音声ファイルを読んで文字起こし
6.11.5 リスト処理で振り分けて処理する
6.12 拾弐ノ型=構造化出力:非構造データを構造化する
6.12.1 テキストから構造化出力
6.12.2 画像から構造化出力(名刺リーダーのユースケース)
6.13 まとめ:十二の型、その先にある無限の可能性
■第7章 各種ツールの使い方
7.1 エージェントとワークフローでのツールの扱いの違い
7.1.1 エージェントとワークフローとでは使い方が異なる
7.1.2 エージェントで作ってみてからワークフローで使う
7.2 Webブラウジングをつくる
7.2.1 エージェントでつくる
7.2.2 ワークフローでつくる
7.2.3 まとめと実践的なポイント
7.3 コードインタプリターをつくる
7.3.1 エージェントでつくる
7.3.2 実行をして確認
7.3.3 ワークフローで実現(パラメータ抽出を使う場合)
7.3.4 結果をテンプレートでまとめて実行まで
7.3.5 ワークフローで実現(構造化出力を使う場合)
7.3.6 まとめ:CodeInterpreterの2つの実現方法
7.4 ワークフローをツールとして組み込む
7.4.1 なぜワークフローをツール化するとよいのか
7.4.2 ワークフローをツールとして保存する
7.4.3 ツールを使ってみる
7.4.4 ツールの設定と実行
7.4.5 実行してみよう
7.4.6 なぜこれがすごいのか
7.5 カスタムツールの作成
7.5.1 カスタムツールの正体
7.5.2 GitHubAPIで試してみよう
7.5.3 カスタムツールの設定
7.5.4 テストボタンで動作確認
7.5.5 ちょっとした疑問=レスポンスの制御について
7.5.6 OpenAPI(swagger)仕様で最も重要な部分はどこか
7.6 まとめ:創造のための三つの極意
7.6.1 極意その一:型で基礎を固める
7.6.2 極意その二:ツールで可能性を広げる
7.6.3 極意その三:手法を使い分ける
7.6.4 創造への扉が開かれた
■第8章 チャットフローの作成
8.1 チャットフローを理解する
8.1.1 なぜ最後にチャットフローなのか
8.1.2 チャットフローの特徴
8.1.3 チャットフローの実践的な活用
8.1.4 チャットフローの発展性
8.2 チャットフローを作ってみよう
8.2.1 最も簡単なQ&Aボットから始める
8.2.2 実行してみる
8.2.3 もう少し賢くしてみよう
8.2.4 実行してみよう
8.2.5 知識を使って賢くする
8.2.6 実行してみる
8.3マルチモーダルに対応してみよう
8.3.1 マルチモーダルの可能性
8.3.2 マルチモーダルチャットフローの仕組み
8.3.3 チャットフローを作成する
8.3.4 画像をアップロードできる設定をする
8.3.5 実行してテストする
8.3.6 ドキュメント処理ルートの実装
8.3.7 ドキュメントの読み込みに対応する
8.3.8 実行してテストする
8.3.9 実用的な使用例を考える
8.4任意に会話を記憶できる会話変数と変数代入
8.4.1 なぜ会話変数が必要なの?
8.4.2 会話変数とは?
8.4.3 変数代入で記憶を保存する
8.4.4 変数代入ノードの追加
8.4.5 実行してみよう
8.4.6 会話変数のさまざまな応用
8.4.7 注意点
8.4.8 まとめ
■第9章APIとしての活用を探る
9.1 APIで自由を手にいれる
9.1.1 DifyはBaaSでもある
9.1.2 APIで広がる可能性
9.2 DifyAPIとしてアクセスする
9.2.1 まずはシンプルなアプリを作る
9.2.2 APIキーを取得する
9.2.3 APIを呼び出してみよう(cURLを使う)
9.2.4 コマンドの説明
9.2.5 どんな動きをしているのか
9.2.6 Pythonでプログラミングをしてみよう
9.2.7 APIを呼び出すプログラムを書いてみよう
9.2.8 もう少し実用的なプログラムに
9.2.9 WebUIで試してみる
9.2.10 ワークフローのAPIについてのまとめ
9.3 チャットボットAPIを使うには
9.3.1 基本的なチャットボット
9.3.2 APIキーを取得する
9.3.3 APIを動かしてみる
9.3.4 Python+Gradioでチャットボットを作る
9.4 ストリーミングに対応する
9.4.1 ストリーミングとは?
9.4.2 さっそく試してみよう
9.4.3 Pythonでプログラミング
9.4.4 プログラムの説明
9.5 エージェントに対応する
9.5.1 エージェントに対応するには
9.5.2 エージェントのAPIを取得する
9.5.3 エージェントAPIをテストする
9.5.4 返信内容を解析してみる
9.5.5 エージェントとしてプログラミングする
9.6 APIでナレッジを操作する
9.6.1 なぜナレッジAPIが必要なの?
9.6.2 ナレッジの仕組みを理解しよう
9.6.3 ナレッジからAPIを取得する
9.6.4 空のデータセットを作成する
9.6.5 テキストをドキュメントに追加してみよう
9.6.6 APIでドキュメントを更新する
9.6.7 ファイルからドキュメントを作成する
9.6.8 ファイルからドキュメントを更新する
9.6.9 その他の主要なナレッジAPI
9.6.10 この章まとめ:筆者の実践例から見たDifyAPIの可能性
■第10章 ローカル環境の構築
10.1 Dockerの物語
10.1.1 さまざまな住人が暮らすLinux街
10.1.2 便利な引っ越し箱の登場
10.1.3 Docker……そしてDify
10.2 Dockerを使ったインストール方法
10.2.1 Dockerのインストールの前提条件
10.2.2 事前準備:Gitのインストール
10.2.3 Dockerをインストールする
10.2.4 Dockerはどうやって使うのか
10.2.5 DifyをDocker上でインストールする
10.2.6 Difyのバージョンアップ手順
10.3 Difyの内部構造
10.3.1 docker-compose.yamlを読み解く
10.3.2 各種コンテナの詳細を覗いてみる
10.3.3 Webサービスを見てみよう
10.3.4 Difyの記憶装置を理解する
10.3.5 weaviate
10.3.6 まとめ
10.4 環境変数とカスタマイズ
10.4.1 設定できることを知ろう
10.4.2 環境変数の世界を覗いてみよう
10.4.3 環境変数の文法を解読する
10.4.4 環境変数の設定方法
10.4.5 環境変数の優先順位を理解する
10.4.6 .envファイルの活用
10.4.7 カスタマイズ設定例
10.4.8 トラブルシューティング
10.4.9 まとめ:環境変数マスターへの道
10.5 OllamaでローカルAIチャットボットを作る
10.5.1 システム要件をチェックしよう
10.5.2 モデルのダウンロードと実行
10.5.3 環境変数の設定(外部アクセスを許可する)
10.5.4 外部アクセスの確認
10.5.5 Difyと連携しよう
10.5.6 まとめ
■終章 次なる一歩に向けて
1.1 生成AIの回答の仕組みとユーザーアプリケーション
1.2 Difyの役割と課題ドリブン開発
1.2.1 Difyの登場
1.2.2 なにを作りたいのか?
1.2.3 人間とAIの新しい協業
1.2.4 Difyで始める課題ドリブン開発
1.3 Difyとはどのようなものか?
1.3.1 オープンソースの利点
1.3.2 ノーコード、ローコード開発の魅力
1.3.3 APIとして呼び出しが可能
1.3.4 ローカル環境で動く安心感
1.3.5 正直、ここが物足りないDify
■第2章 チャットボットの作成
2.1 さっそくDifyを使ってみる
2.1.1 Difyの始め方:クラウド版とコミュニティ版
2.1.2 Difyアカウントの作成
2.1.3 最初のアプリケーション作成
2.1.4 アプリケーションのテスト
2.1.5 アプリケーションの公開
2.1.6 チャットボットWebアプリケーションの共有
2.1.7 次のステップへ
2.2 LLMのモデルの登録
2.2.1 デフォルトモデルを確認してみよう
2.2.2 他のLLMを使いたい
2.2.3 API料金について
2.2.4 Geminiを使えるようにしてみよう
2.2.5 Geminiモデルでテストする
2.3 LLMパラメータの調整
2.3.1 パラメータ設定の基本
2.3.2 パラメータの違いを体験してみよう
2.3.3 LLMパラメータの仕組みを理解しよう
2.3.4 Temperature:創造性温度調整
2.3.5 TopP:選択肢の絞り込み
2.3.6 2つのパラメータの関連
2.3.7 実践:用途に応じた設定
2.4 プロンプトを考える
2.4.1 プロンプトの重要性
2.4.2 システムプロンプトとユーザープロンプト
2.4.3 Zero-Shot LearningとFew-Shot Learning
2.4.4 Zero-ShotLearning
2.4.5 Few-ShotLearning
2.4.6 CoTで問題を解いてみる
2.4.7 まとめ
2.5 Webページにチャットボットを埋め込む
2.5.1 さあ埋め込んでみよう!
2.5.2 こんなに簡単でいいの?
2.6 履歴の確認と監視について
2.6.1 ログの確認方法
2.6.2 ログの重要性
2.6.3 チャットボットの監視
2.6.4 監視とログ、その真価
第3章 RAGを使いこなす
3.1 RAGとは何か?
3.1.1 4つのステップで理解するRAG
3.1.2 類似度検索を理解しておこう
3.1.3 RAGのすごいところ
3.1.4 RAGをDifyで構築する
3.2 ナレッジの構築
3.2.1 ナレッジベースを作成してみよう
3.2.2 テキストの前処理とクリーニング
3.2.3 インデックスモードと埋め込みモデルの選択
3.2.4 検索設定
3.2.5 ちゃんと検索できるかテストしてみる
3.3 チャットボットでRAGを行ってみる
3.3.1 新規アプリの作成
3.3.2 プロンプトとコンテキストの設定
3.3.3 モデルの選択
3.3.4 デバッグとプレビュー
3.3.5 実際にチャットしてみる
3.4 RAGのポイントは入力データにあり
3.4.1 データの下ごしらえ
3.4.2 なぜ分割(チャンク)が大事なの?
3.4.3 データの整え方
3.4.4 文学作品をAIに読ませる
3.4.5 PDFからの単純な変換の罠
3.4.6 「テキストのパラグラフ化手法」の登場
3.4.7 パラグラフ化の効果
3.4.8 出力結果を統合してベクトル化
3.4.9 きれいに並んだデータの威力
3.4.10 まずはここから始めよう
3.5 ハイブリッド検索について
3.5.1 リランクで検索結果をもう一段階磨く
3.5.2 Cohereのモデルを使うには?
3.5.3 ハイブリッド検索でさらに網羅的に
■第4章 エージェントの作成
4.1 エージェントとは
4.1.1 なぜAIエージェントの時代と言われるのか
4.1.2 AIエージェントの簡単なしくみ
4.1.3 AIエージェントを構築するには
4.2 DifyでAIエージェントを作る
4.2.1 エージェントの選択と作成
4.2.2 コンテキストを登録
4.2.3 ツールを登録
4.2.4 「手順」にプロンプトを書く
4.2.5 個別のツールが機能するか会話でテストする
4.2.6 まとめ
4.3 ツールの連携の実例
4.3.1 時間と情報検索の連携
4.3.2 Web検索と計算の連携
4.3.3 ナレッジと計算の連携
4.3.4 まとめ
4.4 マルチモーダル対応の実例
4.4.1 マルチモーダルの可能性
4.4.2 エージェントの設定
4.4.3 画像を読んで質問をする
4.4.4 PDFファイルを読み要約してもらう
4.4.5 まとめ
■第5章 ワークフローの作成
5.1 AIアプリ開発の基本技術
5.1.1 通常のワークフローとAIワークフローの違い
5.1.2 Difyを使ったワークフローはどんなものか
5.2 さっそく作ってみよう
5.2.1 ワークフローの新規作成
5.2.2 「開始」ノードの設定
5.2.3 LLMノードの追加
5.2.4 LLMノードの設定項目
5.2.5 テスト実行
5.2.6 「終了」ノードをつなぐ
5.2.7 ワークフローを公開する
5.3 ワークフロー公開の2つのモード
5.3.1 アプリを実行
5.3.2 バッチでアプリを実行
5.4 知識をつなげて統合する
5.4.1 社内相談窓口というユースケース
5.4.2 知識取得ノードをつなげる
5.4.3 総務担当者ノードを追加
5.4.4 責任者ノードを追加
5.4.5 実行例:上司のパワハラ相談
5.5 議事録を作成する
5.5.1 まずは簡単な議事録を作成
5.5.2 もっと詳細にまとめるように改造する
5.5.3 この方法のポイント
5.6 DSLのエクスポートとインポート
5.6.1 DSLのエクスポート
5.6.2 DSLのインポート
5.6.3 DSLエクスポートの別の方法
5.6.4 実践的なアドバイス:DSLの効果的な活用法
■第6章 各種ノードの型
6.1 壱ノ型=開始-終了:アルファでありオメガである
6.1.1 ノードとは何か?
6.1.2 すべての始まりは「開始」から
6.1.3 [開始]-[終了]は最も基本な組み合わせ
6.1.4 この中で何が起こっているのか
6.1.5 入力フィールドの設定を理解しよう
6.1.6 複数の入力フィールドの設定
6.1.7 出力変数も複数指定OK! でも少し注意が必要
6.2 弐ノ型=開始-LLM-終了:究極の型
6.2.1 なぜ「究極」なのか
6.2.2 LLMの追加
6.2.3 変数はいたるところで設定できる
6.2.4 この型の真の力
6.2.5 CoTをLLMノードで実装するヒント
6.3 参ノ型=条件分岐:条件によって処理を分ける
6.3.1 単純な条件分岐IF/ELSE
6.3.2 各分岐にLLMをつなげて設定する
6.3.3 終了ノードの追加
6.3.4 実行してみる
6.3.5 ELIFについて
6.3.6 質問分類器で自動振り分け
6.3.7 質問分類器の設定
6.4 四ノ型=知識取得:RAGで知識を得る
6.4.1 なぜワークフローでRAGなのか
6.4.2 開始ノード設定
6.4.3 知識取得ノードの追加と設定
6.4.4 LLMノードの追加
6.4.5 終了ノードにつなげる
6.4.6 ワークフローでのRAGの応用
6.5 伍の型=変数を取り出す:パラメータ抽出
6.5.1 パラメータ抽出とは?
6.5.2 実際に作ってみよう
6.5.3 パラメータ抽出のパターン集
6.5.4 シンプルな配列パターンの例
6.5.5 パラメータ抽出の真価
6.6 六ノ型=繰返し処理:イテレータで回す
6.6.1 最も簡単な繰り返し処理をつくる(果物カラーガイド)
6.6.2 テストしてみる
6.7 七ノ型=定型文の処理:テンプレートはどう使うのか
6.7.1 繰り返し処理を行ったあとはどうする?
6.7.2 テンプレートはもっとすごい
6.7.3 テンプレートの基本
6.7.4 もう少し複雑なテンプレート
6.7.5 入力処理でのテンプレート活用
6.7.6 テンプレートの型の本質
6.7.7 テンプレートを使いこなすコツ
6.8 八ノ型=コード実行:ラストワンマイルの切り札
6.8.1 コードノード、使ってみよう
6.8.2 いろいろなサンプル
6.8.3 httpxでAPIを呼ぶ
6.9 九ノ型=API召喚術:HTTPリクエストノードでAPI連携
6.9.1 なぜHTTPリクエストノードを使うの?
6.9.2 地名から緯度経度を取得する例をつくろう
6.9.3 実行してレスポンスを確認しよう
6.9.4 データを抽出・整形する(コードノード)
6.9.5 再び実行してみる
6.10 拾ノ型=パラレル実行:ノードを同時に実行する
6.10.1 パラレル実行の基本の型
6.10.2 実際にやってみよう
6.10.3 終了ノード以外でパラレル実行の結果を受ける
6.10.4 注意点やコツなど
6.10.5 活用例をいくつか
6.10.6 まとめ
6.11 拾壱ノ型=ファイル処理:あらゆるファイルを読むこと
6.11.1 ドキュメントを読み込み要約する
6.11.2 ワークフローの作成
6.11.3 画像ファイルを読み、解説してもらう
6.11.4 音声ファイルを読んで文字起こし
6.11.5 リスト処理で振り分けて処理する
6.12 拾弐ノ型=構造化出力:非構造データを構造化する
6.12.1 テキストから構造化出力
6.12.2 画像から構造化出力(名刺リーダーのユースケース)
6.13 まとめ:十二の型、その先にある無限の可能性
■第7章 各種ツールの使い方
7.1 エージェントとワークフローでのツールの扱いの違い
7.1.1 エージェントとワークフローとでは使い方が異なる
7.1.2 エージェントで作ってみてからワークフローで使う
7.2 Webブラウジングをつくる
7.2.1 エージェントでつくる
7.2.2 ワークフローでつくる
7.2.3 まとめと実践的なポイント
7.3 コードインタプリターをつくる
7.3.1 エージェントでつくる
7.3.2 実行をして確認
7.3.3 ワークフローで実現(パラメータ抽出を使う場合)
7.3.4 結果をテンプレートでまとめて実行まで
7.3.5 ワークフローで実現(構造化出力を使う場合)
7.3.6 まとめ:CodeInterpreterの2つの実現方法
7.4 ワークフローをツールとして組み込む
7.4.1 なぜワークフローをツール化するとよいのか
7.4.2 ワークフローをツールとして保存する
7.4.3 ツールを使ってみる
7.4.4 ツールの設定と実行
7.4.5 実行してみよう
7.4.6 なぜこれがすごいのか
7.5 カスタムツールの作成
7.5.1 カスタムツールの正体
7.5.2 GitHubAPIで試してみよう
7.5.3 カスタムツールの設定
7.5.4 テストボタンで動作確認
7.5.5 ちょっとした疑問=レスポンスの制御について
7.5.6 OpenAPI(swagger)仕様で最も重要な部分はどこか
7.6 まとめ:創造のための三つの極意
7.6.1 極意その一:型で基礎を固める
7.6.2 極意その二:ツールで可能性を広げる
7.6.3 極意その三:手法を使い分ける
7.6.4 創造への扉が開かれた
■第8章 チャットフローの作成
8.1 チャットフローを理解する
8.1.1 なぜ最後にチャットフローなのか
8.1.2 チャットフローの特徴
8.1.3 チャットフローの実践的な活用
8.1.4 チャットフローの発展性
8.2 チャットフローを作ってみよう
8.2.1 最も簡単なQ&Aボットから始める
8.2.2 実行してみる
8.2.3 もう少し賢くしてみよう
8.2.4 実行してみよう
8.2.5 知識を使って賢くする
8.2.6 実行してみる
8.3マルチモーダルに対応してみよう
8.3.1 マルチモーダルの可能性
8.3.2 マルチモーダルチャットフローの仕組み
8.3.3 チャットフローを作成する
8.3.4 画像をアップロードできる設定をする
8.3.5 実行してテストする
8.3.6 ドキュメント処理ルートの実装
8.3.7 ドキュメントの読み込みに対応する
8.3.8 実行してテストする
8.3.9 実用的な使用例を考える
8.4任意に会話を記憶できる会話変数と変数代入
8.4.1 なぜ会話変数が必要なの?
8.4.2 会話変数とは?
8.4.3 変数代入で記憶を保存する
8.4.4 変数代入ノードの追加
8.4.5 実行してみよう
8.4.6 会話変数のさまざまな応用
8.4.7 注意点
8.4.8 まとめ
■第9章APIとしての活用を探る
9.1 APIで自由を手にいれる
9.1.1 DifyはBaaSでもある
9.1.2 APIで広がる可能性
9.2 DifyAPIとしてアクセスする
9.2.1 まずはシンプルなアプリを作る
9.2.2 APIキーを取得する
9.2.3 APIを呼び出してみよう(cURLを使う)
9.2.4 コマンドの説明
9.2.5 どんな動きをしているのか
9.2.6 Pythonでプログラミングをしてみよう
9.2.7 APIを呼び出すプログラムを書いてみよう
9.2.8 もう少し実用的なプログラムに
9.2.9 WebUIで試してみる
9.2.10 ワークフローのAPIについてのまとめ
9.3 チャットボットAPIを使うには
9.3.1 基本的なチャットボット
9.3.2 APIキーを取得する
9.3.3 APIを動かしてみる
9.3.4 Python+Gradioでチャットボットを作る
9.4 ストリーミングに対応する
9.4.1 ストリーミングとは?
9.4.2 さっそく試してみよう
9.4.3 Pythonでプログラミング
9.4.4 プログラムの説明
9.5 エージェントに対応する
9.5.1 エージェントに対応するには
9.5.2 エージェントのAPIを取得する
9.5.3 エージェントAPIをテストする
9.5.4 返信内容を解析してみる
9.5.5 エージェントとしてプログラミングする
9.6 APIでナレッジを操作する
9.6.1 なぜナレッジAPIが必要なの?
9.6.2 ナレッジの仕組みを理解しよう
9.6.3 ナレッジからAPIを取得する
9.6.4 空のデータセットを作成する
9.6.5 テキストをドキュメントに追加してみよう
9.6.6 APIでドキュメントを更新する
9.6.7 ファイルからドキュメントを作成する
9.6.8 ファイルからドキュメントを更新する
9.6.9 その他の主要なナレッジAPI
9.6.10 この章まとめ:筆者の実践例から見たDifyAPIの可能性
■第10章 ローカル環境の構築
10.1 Dockerの物語
10.1.1 さまざまな住人が暮らすLinux街
10.1.2 便利な引っ越し箱の登場
10.1.3 Docker……そしてDify
10.2 Dockerを使ったインストール方法
10.2.1 Dockerのインストールの前提条件
10.2.2 事前準備:Gitのインストール
10.2.3 Dockerをインストールする
10.2.4 Dockerはどうやって使うのか
10.2.5 DifyをDocker上でインストールする
10.2.6 Difyのバージョンアップ手順
10.3 Difyの内部構造
10.3.1 docker-compose.yamlを読み解く
10.3.2 各種コンテナの詳細を覗いてみる
10.3.3 Webサービスを見てみよう
10.3.4 Difyの記憶装置を理解する
10.3.5 weaviate
10.3.6 まとめ
10.4 環境変数とカスタマイズ
10.4.1 設定できることを知ろう
10.4.2 環境変数の世界を覗いてみよう
10.4.3 環境変数の文法を解読する
10.4.4 環境変数の設定方法
10.4.5 環境変数の優先順位を理解する
10.4.6 .envファイルの活用
10.4.7 カスタマイズ設定例
10.4.8 トラブルシューティング
10.4.9 まとめ:環境変数マスターへの道
10.5 OllamaでローカルAIチャットボットを作る
10.5.1 システム要件をチェックしよう
10.5.2 モデルのダウンロードと実行
10.5.3 環境変数の設定(外部アクセスを許可する)
10.5.4 外部アクセスの確認
10.5.5 Difyと連携しよう
10.5.6 まとめ
■終章 次なる一歩に向けて
カスタマーレビュー
honto本の通販ストアのレビュー(0件)
並び順:
- 最新順
- 評価高い順
- 評価低い順
1/1ページ
最近チェックした商品
- 選択結果を選ぶと、ページが全面的に更新されます。
- 新しいウィンドウで開きます。