生成モデル

このページでは、RAG をサポートする Gemini モデル、セルフデプロイ モデル、Vertex AI のマネージド API を使用するモデルについて説明します。

Gemini モデル

次の表に、Vertex AI RAG Engine をサポートする Gemini モデルとそれらのバージョンを示します。

モデル バージョン
Gemini 1.5 Flash gemini-1.5-flash-002
gemini-1.5-flash-001
Gemini 1.5 Pro gemini-1.5-pro-002
gemini-1.5-pro-001
Gemini 1.0 Pro gemini-1.0-pro-001
gemini-1.0-pro-002
Gemini 1.0 Pro Vision gemini-1.0-pro-vision-001
Gemini gemini-experimental

セルフデプロイ モデル

Vertex AI RAG Engine は、Model Garden のすべてのモデルをサポートしています。

セルフデプロイしたオープンモデル エンドポイントで Vertex AI RAG Engine を使用します。

コードサンプルで使用されている変数を置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • LOCATION: リクエストを処理するリージョン。
  • ENDPOINT_ID: エンドポイント ID。

      # Create a model instance with your self-deployed open model endpoint
      rag_model = GenerativeModel(
          "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID",
          tools=[rag_retrieval_tool]
      )
    

Vertex AI のマネージド API を使用するモデル

Vertex AI RAG Engine をサポートする Vertex AI のマネージド API を使用するモデルには、次のようなものがあります。

次のコードサンプルは、Gemini GenerateContent API を使用して生成モデル インスタンスを作成する方法を示しています。モデル ID /publisher/meta/models/llama-3.1-405B-instruct-maas は、モデルカードにあります。

コードサンプルで使用されている変数を置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • LOCATION: リクエストを処理するリージョン。
  • RAG_RETRIEVAL_TOOL: RAG 取得ツール。

      # Create a model instance with Llama 3.1 MaaS endpoint
      rag_model = GenerativeModel(
          "projects/PROJECT_ID/locations/LOCATION/publisher/meta/models/llama-3.1-405B-instruct-maas",
          tools=RAG_RETRIEVAL_TOOL
      )
    

次のコードサンプルは、OpenAI 互換の ChatCompletions API を使用してモデル レスポンスを生成する方法を示しています。

コードサンプルで使用されている変数を置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • LOCATION: リクエストを処理するリージョン。
  • MODEL_ID: コンテンツ生成用の LLM モデル。例: meta/llama-3.1-405b-instruct-maas
  • INPUT_PROMPT: コンテンツ生成のために LLM に送信されるテキスト。Vertex AI Search のドキュメントに関連するプロンプトを使用します。
  • RAG_CORPUS_ID: RAG コーパス リソースの ID。
  • ROLE: ロール。
  • USER: ユーザー名。
  • CONTENT: コンテンツ。

      # Generate a response with Llama 3.1 MaaS endpoint
      response = client.chat.completions.create(
          model="MODEL_ID",
          messages=[{"ROLE": "USER", "content": "CONTENT"}],
          extra_body={
              "extra_body": {
                  "google": {
                      "vertex_rag_store": {
                          "rag_resources": {
                              "rag_corpus": "RAG_CORPUS_ID"
                          },
                          "similarity_top_k": 10
                      }
                  }
              }
          },
      )
    

次のステップ