# エンドツーエンドのRAGアプリケーションワークフロー

> エンドツーエンドのRAGアプリケーションワークフロー -
> Pythonクライアントを使用して、本番環境向けのRAGアプリケーションを構築します。プレイグラウンド、LLM、ベクターデータベース、モデレーション、テストを1つのワークフローに統合します。

This Markdown file sits beside the HTML page at the same path (with a `.md` suffix). It summarizes the topic and lists links for tools and LLM context.

Companion generated at `2026-07-15T05:55:44.622951+00:00` (UTC).

## Primary page

- [エンドツーエンドのRAGアプリケーションワークフロー](https://docs.datarobot.com/ja/docs/api/dev-learning/python/genai/rag-workflow.html.md): Full documentation for this topic (Markdown sidecar).

## Sections on this page

- [プレイグラウンドの作成](https://docs.datarobot.com/ja/docs/api/dev-learning/python/genai/rag-workflow.html.md#create-a-playground): In-page section heading.
- [LLMを選択](https://docs.datarobot.com/ja/docs/api/dev-learning/python/genai/rag-workflow.html.md#select-an-llm): In-page section heading.
- [ベクターデータベースを構築](https://docs.datarobot.com/ja/docs/api/dev-learning/python/genai/rag-workflow.html.md#build-a-vector-database): In-page section heading.
- [LLMブループリントの作成](https://docs.datarobot.com/ja/docs/api/dev-learning/python/genai/rag-workflow.html.md#llm): In-page section heading.
- [カスタムモデルの登録](https://docs.datarobot.com/ja/docs/api/dev-learning/python/genai/rag-workflow.html.md#register-custom-model): In-page section heading.
- [モデレーションの追加](https://docs.datarobot.com/ja/docs/api/dev-learning/python/genai/rag-workflow.html.md#add-moderation): In-page section heading.
- [チャットによる対話](https://docs.datarobot.com/ja/docs/api/dev-learning/python/genai/rag-workflow.html.md#interact-via-chats): In-page section heading.

## Documentation content

この例では、LLMブループリント、ベクターデータベース、モデレーション、およびテストを組み合わせて、完全なRAG（検索拡張生成）アプリケーションを構築する方法を示します。 このワークフローでは、本番環境に対応した生成AIアプリケーションのすべてのコンポーネントを統合する方法を示します。

### プレイグラウンドの作成

プレイグラウンドは、LLM設定を試行するためのワークスペースです。 すべてのLLMブループリントはプレイグラウンドに関連付けられている必要があります。

```
import datarobot as dr
playground = dr.genai.Playground.create(
    name="RAG Application Playground",
    use_case=use_case.id
) 
```

### LLMを選択

DataRobotが提供する利用可能なLLMから選択します。 ユースケースでフィルターしたり、モデルの機能に基づいて選択したりできます。

```
llms = dr.genai.LLMDefinition.list()
llm = [l for l in llms if 'gpt-4' in l.name.lower()][0] 
```

### ベクターデータベースを構築

ドキュメントをデータセットとしてアップロードし、適切なチャンキングパラメーターを使用してベクターデータベースを作成します。 ベクターデータベースには、RAG用のドキュメントの埋め込みが保存されます。

```
dataset = dr.Dataset.upload("company_docs.csv")
supported = dr.genai.VectorDatabase.get_supported_embeddings(dataset_id=dataset.id)
from datarobot.models.genai.vector_database import ChunkingParameters
chunking_params = ChunkingParameters(
    embedding_model=supported.default_embedding_model,
    chunking_method="semantic",
    chunk_size=500,
    chunk_overlap_percentage=10
)
use_case = dr.UseCase.get(use_case_id)
vector_db = dr.genai.VectorDatabase.create(
    dataset_id=dataset.id,
    use_case=use_case.id,
    name="Company Knowledge Base",
    chunking_parameters=chunking_params
) 
```

### LLMブループリントの作成

LLMとベクターデータベースを組み合わせて、RAG対応のブループリントを作成します。 システムプロンプトやその他のLLM設定を行います。

```
blueprint = dr.genai.LLMBlueprint.create(
    playground=playground.id,
    name="RAG Customer Support",
    description="RAG-enabled customer support assistant",
    llm=llm.id,
    llm_settings={
        "system_prompt": "You are a customer support assistant. Use the provided context to answer questions accurately.",
        "temperature": 0.7
    },
    vector_database=vector_db.id,
    vector_database_settings={
        "max_documents_retrieved_per_prompt": 3
    }
) 
```

### カスタムモデルの登録

ブループリントをカスタムモデルバージョンとして登録し、デプロイして本番環境で使用できるようにします。

```
custom_model_version = blueprint.register_custom_model() 
```

### モデレーションの追加

安全で適切な回答を確実にするために、コンテンツフィルターを設定します。 モデレーションにより、問題のあるコンテンツをブロックしたり、警告を表示したりできます。

```
template = dr.ModerationTemplate.list()[0]
moderation = dr.ModerationConfiguration.create(
    template_id=template.id,
    name="Content Safety",
    description="Filter inappropriate content",
    stages=[dr.ModerationGuardStage.PROMPT, dr.ModerationGuardStage.RESPONSE],
    entity_id=custom_model_version.id,
    entity_type=dr.ModerationGuardEntityType.CUSTOM_MODEL_VERSION,
    intervention=dr.ModerationIntervention.BLOCK
) 
```

### チャットによる対話

RAGアプリケーションと対話するためのチャットセッションを作成します。 チャットでは、コンテキストを考慮した回答のために会話履歴が保持されます。

```
chat = dr.genai.Chat.create(
    name="Customer Support Session",
    llm_blueprint=blueprint.id
)
prompt = dr.genai.ChatPrompt.create(
    chat=chat.id,
    text="What is your return policy?"
)
prompt.text
prompt.result_text 
```
