생성 모델

이 페이지에는 RAG를 지원하는 Vertex AI의 Gemini 모델, 자체 배포 모델, 관리 API가 있는 모델이 나와 있습니다.

Gemini 모델

다음 표에는 Vertex AI RAG 엔진을 지원하는 Gemini 모델과 해당 버전이 나와 있습니다.

모델 버전
Gemini 2.0 Flash (텍스트 전용 GA) gemini-2.0-flash-001
Gemini 2.0 Pro (실험용) gemini-2.0-pro-exp-02-05
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 엔진은 Model Garden의 모든 모델을 지원합니다.

자체 배포한 개방형 모델 엔드포인트에서 Vertex AI RAG 엔진을 사용합니다.

코드 샘플에 사용된 변수를 바꿉니다.

  • 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에서 관리 API를 사용하고 Vertex AI RAG 엔진을 지원하는 모델은 다음과 같습니다.

다음 코드 샘플은 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
                      }
                  }
              }
          },
      )
    

다음 단계