Databricks生成AIクックブック

[GenAI Cookbook — Databricks Generative AI Cookbook](https://ai-cookbook.io/index.html) [2024/6/20時点]の翻訳です。

:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::

# 生成AIクックブック

**要約** このノックブックでは、Databricksプラットフォームの[Mosaic AI Agent Evaluation](https://docs.databricks.com/ja/generative-ai/agent-evaluation/index.html)と[GenAI Cookbook — Databricks Generative AI Cookbook](https://docs.databricks.com/ja/generative-ai/retrieval-augmented-generation.html)を用いて、初期のPOCからプロダクションレディのアプリケーションに至る流れをサンプルコードと共に説明します。

このDatabricks生成AIクックブックは、*高品質*な生成AIアプリケーションを構築するための決定版のハウツーガイドです。*高品質*なアプリケーションとは以下の特性を持つアプリケーションです:

1. **正確:** 正しいレスポンスを提供
1. **安全:** 有害や安全でないレスポンスを提供しない
1. **制御されている:** データのアクセス権やアクセスコントロールに準拠し、リネージを追跡

Mosaic AIの研究チームとのパートナーシップを通じて開発されたこのガイドブックでは、高品質なRAGアプリケーションを構築するためのDatabricksベストプラクティスの開発ワークフローを列挙します: *評価によってドライブされる開発*です。RAGアプリケーションの品質を改善できる最も適切なノブやアプローチを説明し、これらのテクニックを実装するサンプルコードの包括的なレポジトリを提供します。

:::note warn
**重要**
- 数分しかなくて、Mosaic AI Agent Framework & Agent Evaluationのデモを見たいですか？[こちら](https://qiita.com/taka_yayoi/items/424eb455dc2bc99f56f9)からスタートしてください。
- ご自身のデータを用いてコードに取り組み、RAGのPOCをデプロイしたいですか？[こちら](https://ai-cookbook.io/nbs/6-implement-overview.html)からスタートしてください。
- データは無いが、サンプルのRAGアプリケーションをデプロイしてみたいですか。このページからスタートしましょう。
:::

![](https://ai-cookbook.io/_images/dbxquality.png)

**Databricksにおける品質へのアプローチ**

- 品質に向けて迅速に繰り返すための、高速かつ*コードファースト*の開発者ループ
- 人間によるフィードバックの収集を容易に
- アプリケーション品質の迅速かつ信頼できる指標

![](https://ai-cookbook.io/_images/review_app2.gif)

このクックブックは、Databricksプラットフォームを活用することを意図しています。特に:

- エンタープライズレディのLLMOpsやガバナンスを伴う迅速な開発者ワークフローを提供する[Mosaic AI Agent Framework](https://docs.databricks.com/ja/generative-ai/retrieval-augmented-generation.html)
- 直感的なWebベースのチャットUIを通じて収集される人間のフィードバックによって強化される品質メトリクスを計測するために、プロプライエタリなAIアシストのLLM審判を用いた、信頼できる品質指標を提供する[Mosaic AI Agent Evaluation](https://docs.databricks.com/ja/generative-ai/agent-evaluation/index.html)

# Retrieval-augmented generation (RAG)

> この初回のリリースでは、Retrieval-augmented generation (RAG)にフォーカスします。今後のリリースでは、この他の人気の生成AIテクニックが含まれる予定です: エージェント & 関数呼び出し、プロンプトエンジニアリング、ファインチューニング、事前トレーニング。

このRAGクックブックは2つのセクションに分かれます:

1. **学習:** プロダクションレディ、高品質RAGアプリケーションに必要なコンポーネントの理解
1. **実装:** 高品質RAGアプリケーションを提供するための、評価ドリブンワークフローに従うサンプルコードの活用

## コードベースのクイックスタート

| 所要時間 | 成果 | リンク |
|:--|:--|:--|
|30分   |フィードバックを収集するWebベースのチャットアプリにデプロイされるサンプルのRAGアプリケーション   | [RAG Demo](https://ai-cookbook.io/10-min-demo/mosaic-ai-agents-demo-dbx-notebook.html)  |
|2時間   | みなさまのビジネスステークホルダーからフィードバックを収集することができるチャットUIに*あなたのデータ*をデプロイしたPOCのRAG  | [Build & deploy a POC](https://ai-cookbook.io/nbs/5-hands-on-build-poc.html)  |
|1時間   |  あなたのPOCアプリに対する包括的な品質/コスト/レーテンシーの評価 | <ul><li>[Evaluate your POC](https://ai-cookbook.io/nbs/5-hands-on-evaluate-poc.html)<li>[Identify the root causes of quality issues](https://ai-cookbook.io/nbs/5-hands-on-improve-quality-step-1.html)</ul>  |

# 目次

## 概要

- [Databricks生成AIクックブック](https://qiita.com/taka_yayoi/items/36c51bce8f33a70cf204)
- [Retrieval-augmented generation (RAG)](https://qiita.com/taka_yayoi/items/36c51bce8f33a70cf204#retrieval-augmented-generation-rag)

## 学習

- [1\. RAGの概要](https://qiita.com/taka_yayoi/items/ad36e09639a95b6eae69)
- [2\. RAGの基礎](https://qiita.com/taka_yayoi/items/45cb187666242fcb542f)
- [3\. RAG品質のノブ](https://qiita.com/taka_yayoi/items/c5d63ebe767ec9833464)
- [4\. RAGの品質の評価](https://qiita.com/taka_yayoi/items/c7e549323b9fcbb9edec)
    - [4\.1\. "品質"の定義: 評価セット](https://qiita.com/taka_yayoi/items/8f4c2777a1151e1d7b6a)
    - [4\.2\. パフォーマンスの評価: メトリクスが重要です](https://qiita.com/taka_yayoi/items/05f650df667ffca3e92d)
    - [4\.3\. 計測の実現: サポートするインフラストラクチャ](https://qiita.com/taka_yayoi/items/e8c2b711a2ebe5bd1d1d)
- [5\. 評価ドリブンの開発ワークフロー](https://qiita.com/taka_yayoi/items/1887ddfae49a6a32cc0e)

## 実装

- [前提条件: 要件の収集](https://qiita.com/taka_yayoi/items/810b04093e2546ff78e8)
- [ステップ1: コードレポジトリのクローンと計算資源の作成](https://qiita.com/taka_yayoi/items/501e2a6f675b3236c6d3)
- [ステップ2: ステークホルダーのフィードバックを収集するPOCのデプロイ](https://qiita.com/taka_yayoi/items/917a67a4aafe5cb9896a)
- [ステップ3: ステークホルダーのフィードバックから評価セットを作成](https://qiita.com/taka_yayoi/items/981604b85a998ddf9b07)
- [ステップ4: POCの品質の評価](https://qiita.com/taka_yayoi/items/c53863b12652a72d0607)
- [ステップ5: 品質問題の根本原因の特定](https://qiita.com/taka_yayoi/items/c1f76a39a43506fe7e33)
    - [収集品質のデバッグ](https://qiita.com/taka_yayoi/items/758ba436168b08e184fc)
    - [生成品質のデバッグ](https://qiita.com/taka_yayoi/items/2a14ef50cec340502fec)
- [ステップ6: 繰り返しの実装 & 品質改善の評価](https://qiita.com/taka_yayoi/items/42de353690e29dbb6efe)
    - [データパイプライン修正の実装](https://qiita.com/taka_yayoi/items/fd2f3cd4119184e62ce5)
- [ステップ6: デプロイと監視](https://qiita.com/taka_yayoi/items/9010f51c1e219b656f07)

<br>

- [目次](https://qiita.com/taka_yayoi/items/36c51bce8f33a70cf204#%E7%9B%AE%E6%AC%A1)
- 次のセクション: [1. RAGの概要](https://qiita.com/taka_yayoi/items/ad36e09639a95b6eae69)

### はじめてのDatabricks

[はじめてのDatabricks](https://qiita.com/taka_yayoi/items/8dc72d083edb879a5e5d)

### Databricks無料トライアル

[Databricks無料トライアル](https://databricks.com/jp/try-databricks)