シンプルなチャットボット¶
FlexAIの真の価値は、どんなに複雑なアイデアでも簡単に構築、デプロイ、スケールできることにあります。高速プロトタイピング、スムーズなイテレーション、あらゆるレベルでの信頼性の高いデプロイのために構築されています。
まずは、アプリケーションへの信頼性の高いLLM統合を学びましょう。このガイドでは、ユーザーの質問を分類し、LLMを使用して直接応答し、国固有の豆知識で応答を強化する簡単なチャットボットを構築します。
ステップ 1:新しいワークフローを作成(2分)¶
- スタジオ > ワークフロー > 空白から作成 > オーケストレート > 新しいチャットフロー > 作成 へ移動
ステップ 2:ワークフローノードを追加(6分)¶
Tip:
任意の変数を参照したい場合は、まず
{または/を入力すると、ワークフローで使用可能なさまざまな変数が表示されます。
1. LLMノードと出力:質問を理解して回答¶
Info:
LLMノードは言語モデルにプロンプトを送信し、ユーザー入力に基づいて応答を生成します。API呼び出し、レート制限、インフラストラクチャの複雑さを抽象化するので、ロジックの設計に集中できます。
LLMノードを作成¶
`ノードを追加` ボタンを使用してLLMノードを作成し、開始ノードに接続
モデルを設定¶
デフォルトのモデルを選択
システムプロンプトを設定¶
システムプロンプトフィールドに以下を貼り付け:
```text
ユーザーは国に関する質問をします。質問は {{sys.query}} です
タスク:
1. 言及された国を特定する。
2. 質問を明確に言い換える。
3. 一般的な知識を使って質問に答える。
次のJSON形式で応答してください:
{
"country": "<国名>",
"question": "<言い換えた質問>",
"answer": "<質問への直接的な回答>"
}
```
構造化出力を有効化¶
**構造化出力を有効にする** により、LLMが返すものを簡単に制御し、正確なデータ抽出や条件ロジックでのダウンストリーム使用のために一貫した機械可読出力を確保できます。
- 出力変数の構造化をONに切り替え > `設定` をクリックして `JSONからインポート` をクリック
- 貼り付け:
```json
{
"country": "string",
"question": "string",
"answer": "string"
}
```
2. コードブロック:豆知識を取得¶
Info:
コードノードはコードを使用してカスタムロジックを実行します。必要な場所に正確にコードを注入できます——ビジュアルワークフロー内で——バックエンド全体を配線する必要がありません。
コードノードを作成¶
`ノードを追加` ボタンを使用して `コード` ノードを作成し、LLMブロックに接続
入力変数を設定¶
1つの `入力変数` 名を "country" に変更し、変数を `structured_output` > `country` に設定
Pythonコードを追加¶
このコードを `PYTHON3` に貼り付け:
```python
def main(country: str) -> dict:
country_name = country.lower()
fun_facts = {
"japan": "日本には500万台以上の自動販売機があります。",
"france": "フランスは世界で最も訪問者が多い国です。",
"italy": "イタリアは他のどの国よりも多くのユネスコ世界遺産を持っています。"
}
fun_fact = fun_facts.get(country_name, f"{country.title()}に関する豆知識はありません。")
return {"fun_fact": fun_fact}
```
出力変数の名前を変更¶
より良いラベル付けのため、出力変数 `result` を `fun_fact` に変更
3. 回答ノード:ユーザーへの最終回答¶
Info:
回答ノードはクリーンな最終出力を作成して返します。
回答ノードを作成¶
`ノードを追加` ボタンを使用して `回答` ノードを作成
回答フィールドを設定¶
回答フィールドに貼り付け:
```text
Q: {{ structured_output.question }}
A: {{ structured_output.answer }}
豆知識: {{ fun_fact }}
```
ワークフローの終了:

ステップ 3:ボットをテスト(3分)¶
プレビュー をクリックして、次の質問をしてみましょう:
- "フランスの首都は何ですか?"
- "日本料理について教えてください"
- "イタリアの文化について説明してください"
- その他の質問
ボットが期待通りに動作することを確認してください!
ボットが完成しました!¶
このガイドでは、インフラストラクチャを再発明することなく、言語モデルを確実かつスケーラブルに統合する方法を示しました。FlexAIのビジュアルワークフローとモジュラーノードにより、より速く構築するだけでなく、LLM駆動アプリのためのクリーンでプロダクション対応のアーキテクチャを採用しています。