Einstein 1 Studio で独自の大規模言語モデルを導入する


+ [Bring Your Own Large Language Model in Einstein 1 Studio](https://developer.salesforce.com/blogs/2024/03/bring-your-own-large-language-model-in-einstein-1-studio)


OpenAI または Azure OpenAI モデルを利用し、Salesforce データに統合および基盤を置き、Prompt Builder で表示される独自の LLM を導入します。


Spring '24 リリースの一環として、Salesforce Data Cloud でEinstein 1 Studio Model Builderをリリースできることを嬉しく思います。 Einstein 1 Studio を使用すると、管理者、開発者、データ専門家は、予測および生成 AI モデルを構築、接続、管理できます。 Einstein 1 Studio は、ノーコードビルダー予測モデル、Bring Your Own 予測モデル (BYOM)、Bring Your Own Large Language Model (BYO LLM) など、複数のタイプのモデルに対応する Salesforce の統合モデル管理プラットフォームを提供します。これらのモデルは、Salesforce Customer 360 アプリケーションにシームレスに統合でき、インテリジェントな意思決定が可能になります。 


Einstein 1 Studio のBring Your Own LLM (BYO LLM) は、管理者、データサイエンティスト、AI スペシャリストが、外部でホストされている OpenAI または Azure OpenAI GPT 大規模言語モデルを Salesforce に接続し、カスタム言語モデル内で使用できるようにする新機能です。プロンプトビルダーテンプレート。これにより、開発チームは Microsoft との既存の契約を使用するか、OpenAI を使用するかを選択して、LLM に簡単に接続し、Salesforce 内の GenAI プロンプトに使用できるようになります。接続するモデルは、一般的な GPT バージョンの 1 つにすることができます。また、重要なことに、 OpenAI または Azure OpenAI で作成した微調整されたモデルを接続することもできます。

# BYO LLM で何ができるのですか?
外部基盤モデルを生成 AI のソースとして接続すると、それをさまざまな生成 AI ユースケースに適応させることができます。Einstein 1 Studio を使用すると、モデルを本番環境にデプロイする前に、新しいモデルを簡単に設定し、プレイグラウンド環境でプロンプトをテストできます。 

外部 LLM に接続して検証した後、Salesforce Prompt Builder を使用して、Salesforce ユーザ向けのさまざまな生成アプリケーションを作成できます。 Prompt Builder を使用すると、CRM データに応答を基にして、フローや APEX などを統合することもできます。 

Prompt Builder は BYO LLM の主要な消費者であり、重要なビジネス価値がユーザーに提供される場所でもあるため、この包括的なPrompt Builder 究極ガイドを確認することを強くお勧めします。その際、ドキュメントで Prompt Builder を呼び出し可能なアクション、Apex、API などと統合するすべての方法を確認してください。 

# BYO LLM について理解しておくべき重要な用語

+ 基礎モデル:接続先の「ベース」LLM。
+ 構成されたモデル: カスタマイズされたハイパーパラメーターを持つことができる一意の名前を持つ基礎モデルの仮想インスタンス。
+ Salesforce 対応モデル: Salesforce によって有効化され、ターンキー生成 AI 機能で使用できる標準 LLM です。
+ カスタム モデル:カスタム プロンプト ビルダー テンプレートで使用するために接続した組織の外部 LLM。
+ モデルプレイグラウンド: Einstein 1 Studio 内のシンプルなプロンプトエクスペリエンス。これにより、設定されたモデルを作成してテストできます。オプションで、構成されたモデルごとに異なるハイパーパラメータをテストして保存し、特定のビジネス ユース ケースのさまざまなプロンプト テンプレートで使用できます。
+ チャットの完了/推論: LLM からの応答。通常、これは生成または要約のいずれかです。

# BYO LLM アーキテクチャ
外部モデルは、Data Cloud の Einstein 1 Studio 内で接続、設定、管理されます。 LLM に接続して使用するプロンプトテンプレートは、ユースケースに適した Salesforce UX のどこにでも配置できます。 

外部 LLM に接続すると、Salesforce 環境内から実行されるプロンプトは、他の生成 AI アプリケーションと同じ方法で API 経由で完了/生成リクエストを作成します。外部モデルからのすべての推論リクエストは、コンテンツがユーザーに表示される前に、   LLM ゲートウェイとEinstein Trust Layerを介してルーティングされます。

以下のアーキテクチャ スライドに示されているように、Einstein Trust Layer は、保護とコンプライアンスの追加レイヤーを提供します。Einstein Trust Layer の詳細については、ブログ投稿を参照してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/54f1c997-7ccd-08cf-675a-83d5265869b3.png)

Spring '24 リリースでサポートされる OpenAI モデルのリストを以下に示します。追加の LLM プロバイダ/モデルおよび埋め込みモデルは、Summer '24 リリースでサポートされる予定であることに注意してください。

オープンAI
+ OpenAI GPT 4
+ OpenAI GPT 4 32k
+ OpenAI GPT 3.5 ターボ
+ OpenAI GPT 3.5 ターボ 16k

Azure オープン AI
+ AzureOpenAI GPT 4 ターボ
+ AzureOpenAI GPT 3.5 ターボ
+ AzureOpenAI GPT 3.5 ターボ 16k

# Salesforce 組織で BYO LLM を使用するための要件
Salesforce 組織で BYO LLM を有効にするには、次の 2 つの重要な前提条件が必要です。

1. Einstein 1 Studio モデルビルダーにアクセスするには、組織で Data Cloud を有効にする必要があります。
2. [BYO LLM Foundation Model] タブを有効にするには、Einstein for Sales、Service、または Platform アドオン SKU が必要です。

# 組織で BYO LLM を設定し、Prompt Builder で使用する方法
組織内で BYO LLM を迅速に立ち上げて実行するには、完全なエンドツーエンドのセットアップ プロセスを 10 の簡単な手順で完了します。ウォークスルーでは、特に 「磁束コンデンサー」を製造する製造会社向けに架空のデータで微調整された OpenAI モデルを使用した実際の BYO LLM 導入のスクリーンショットを使用します。 

Azure OpenAI のセットアップ プロセスは OpenAI と非常に似ていますが、モデル デプロイメント名が必要である点が異なります。

### 前提条件
OpenAI または Azure OpenAI GPT モデルを Einstein 1 Studio に接続するには、いくつかの重要な情報を収集する必要があります。

### OpenAIの場合
+ あなたの組織の秘密鍵
+ 接続する GPT のバージョン
+ 微調整モデルのみのモデル名 (以下のスクリーンショットを参照)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/863900e5-1588-5572-cbcf-3304b5644626.png)

### Azure OpenAIの場合
+ あなたの組織の秘密鍵
+ 接続する GPT のバージョン
+ モデルのエンドポイント URL

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/8375a8ee-f554-541f-4c44-e68f1f2d9015.png)

+ OpenAI Studio からの Azure デプロイ名。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/e83416da-f820-1206-9b4c-69187077be31.png)

# ステップ 1: Data Cloud 内から基盤モデルを追加する
Data Cloud の [Einstein 1 Studio] タブに移動し、[Foundation Models] タブを選択します。基盤モデルを追加すると、外部ソースと Salesforce の間にエンドポイント接続が確立されます。「基礎モデルの追加」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/2c914379-3f6f-6ee5-12bd-178dca5d53b6.png)

# ステップ 2: OpenAI または Azure OpenAI のどちらかを選択する
接続する LLM プロバイダーを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/1301e9d9-0fd2-e9b8-23b3-8ea3ee4789b4.png)

# ステップ 3:モデル接続の詳細に必要なフィールドを入力します。
基礎モデルに付ける任意の名前と必要な入力を入力します。以下のスクリーンショットは、OpenAI 微調整モデルの接続の詳細を示しています。 

「接続」をクリックし、 「名前を付けて接続」ボタンを使用して基礎モデルを保存します。必要に応じて、同じ名前を使用できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/2a91ba9f-862b-1d2e-4d90-c9cded79946c.png)


# ステップ 4:モデルの概要ページで基礎モデルの詳細を確認する
モデルを保存した後、モデルの概要画面で詳細が正しく表示されていることを確認します。基礎モデルを接続したので、Model Playground のプロンプトで使用する新しい「構成済みモデル」を構成およびテストできます。 「新しいモデルの構成」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/046e4d61-57f5-7807-dee0-a938ea0536b8.png)

# ステップ 5:モデル プレイグラウンドで、プロンプトを表示してモデルへの接続をテストします。
単純なテキスト プロンプトを入力し、LLM から適切な応答を受信して​​いることを確認します。必要に応じて、ハイパーパラメータを調整し、応答を検証します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/f64a5b05-1bb8-b1c2-6454-6594b9de89f9.png)


# ステップ 6:プロンプトビルダーに表示される適切な名前を付けて、構成したモデルを保存します。
構成されたモデルを一意の名前で保存すると、エンジニアがそれを使用する場所を識別しやすくなります (サービス エージェント構成モデルなど) 。名前を付けたら、「モデルの作成」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/5b59845e-92c8-4498-2e16-fc01a35035db.png)


# ステップ 7:新しく構成されたモデルに移動して表示する
モデル プレイグラウンドを閉じると、基礎モデルの詳細内の [構成されたモデル] タブに項目が表示されていることがわかります。「構成済みモデル」タブをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/ad52d345-9141-892d-b2dc-ec8bb8626b98.png)

# ステップ 8:モデル名をクリックして、設定済みモデルの詳細ページに移動します。
新しく構成したモデルの名前を直接クリックして、詳細を表示します。この画面内には、 [プロンプト テンプレートの作成]ボタンがあります。それを選択すると、新しいタブが開き、プロンプト テンプレート ビルダー画面が自動的に起動します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/01c0ffbf-0550-0f08-8228-89c2fe17c6c7.png)

# ステップ 9:新しいプロンプト テンプレートを作成する
使用するプロンプト テンプレートのタイプを、他の必須フィールドとともに選択します。 「営業メール」テンプレート タイプを選択していることに注目してください。ただし、ユースケースに適したテンプレート タイプを使用できます。 

注: この記事の前半にあるプロンプト ビルダーのリンクでは、テンプレートについて詳しく説明しています。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/b05269f8-8b3c-58be-424f-14e50fdceb11.png)

# ステップ 10: [カスタム モデル タイプ] ドロップダウンで構成済みのモデルを選択します。
プロンプト テンプレート ワークスペース内で、モデル タイプのドロップダウン メニューを「標準」から「カスタム」に変更します。 「モデル」リストに、ステップ 6 で作成した設定済みモデルが表示されます。これで、LLMを使用して、Salesforce UX のどこでも使用できる新しいプロンプトテンプレートを作成、プレビュー、保存、アクティブ化できるようになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/a27f9eea-8093-5a18-e891-0135d0c02542.png)


以下のスクリーンショットでは、プロンプト テンプレートをプレビューしたときに受け取った応答によって単純な営業メールが生成されていることに注目してください。ただし、このメールには、架空の組織独自の微調整されたモデルからのコンテンツと微妙な知識も組み込まれています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/f28f0330-25b2-1293-77ae-21020e7a2211.png)

# 結論
プロセスを理解したところで、LLM を接続し、Salesforce Prompt Builder を使用していくつかの素晴らしい GenAI 機能を構築してみることをお勧めします。これらの高度にインテリジェントなプロンプトを日常業務で使用できるようにすると、CRM のビジネス ユーザーは非常に満足するでしょう。 

そして、BYO LLM を使用した生成 AI が完成しました。これは、微調整された OpenAI または Azure OpenAI モデルを利用し、Salesforce データに統合および基盤があり、Prompt Builder で表示されます。乾杯！



+ [BYO LLM Spring '24 リリースノート](https://help.salesforce.com/s/articleView?id=release-notes.rn_cdp_2024_spring_ai_byo_llm.htm&release=248&type=5&_ga=2.135953329.109396209.1711227758-1867851958.1710833301)