Доступ к Anthropic Claude на Vertex AI с помощью Python sdk через конечную точку Private Service Connect

Доступ к Anthropic Claude на Vertex AI с помощью Python sdk через конечную точку Private Service Connect

О практической работе

subjectПоследнее обновление: сент. 6, 2024
account_circleАвторы: Ammett Williams & Sampath Kumar Maddula

1. Обзор

Доступ к Vertex AI API можно получить через Интернет , однако на вашем предприятии вы можете захотеть получить доступ к Vertex AI API в частном порядке, не выходя через Интернет. В ходе этой лабораторной работы вы сначала получите доступ к Anthropic Claude на Vertex через SDK Python, работающий на экземпляре виртуальной машины через общедоступный Интернет.

Затем вы создадите конечную точку Private Service Connect для Googleapis и измените поток трафика, чтобы использовать частную конечную точку для подключения к Vertex API.

В этой лабораторной работе вы создадите следующий узор.

Рисунок 1.

103967918b096e97.png

2. Цели

В ходе этой лабораторной работы вы научитесь выполнять следующую задачу:

  • Настройте экземпляр виртуальной машины для использования Python SDK
  • Подключитесь к чату Anthropic Claude с помощью скрипта Python
  • Настройте конечную точку PSC для подключения к Googleapis
  • Настройка записей DNS вручную
  • Проверьте путь подключения к Googleais

Установка лаборатории

Самостоятельная настройка среды

  1. Войдите в Google Cloud Console и создайте новый проект или повторно используйте существующий. Если у вас еще нет учетной записи Gmail или Google Workspace, вам необходимо ее создать .

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • Имя проекта — это отображаемое имя для участников этого проекта. Это строка символов, не используемая API Google. Вы всегда можете обновить его.
  • Идентификатор проекта уникален для всех проектов Google Cloud и является неизменяемым (невозможно изменить после его установки). Cloud Console автоматически генерирует уникальную строку; обычно тебя не волнует, что это такое. В большинстве лабораторий кода вам потребуется указать идентификатор проекта (обычно идентифицируемый как PROJECT_ID ). Если вам не нравится сгенерированный идентификатор, вы можете создать другой случайный идентификатор. Альтернативно, вы можете попробовать свой собственный и посмотреть, доступен ли он. Его нельзя изменить после этого шага и он сохраняется на протяжении всего проекта.
  • К вашему сведению, есть третье значение — номер проекта , которое используют некоторые API. Подробнее обо всех трех этих значениях читайте в документации .
  1. Затем вам необходимо включить выставление счетов в Cloud Console, чтобы использовать облачные ресурсы/API. Прохождение этой лаборатории кода не будет стоить много, если вообще что-то стоить. Чтобы отключить ресурсы и избежать выставления счетов за пределами этого руководства, вы можете удалить созданные вами ресурсы или удалить проект. Новые пользователи Google Cloud имеют право на участие в программе бесплатной пробной версии стоимостью 300 долларов США .

Запустить Cloud Shell

Хотя Google Cloud можно управлять удаленно с вашего ноутбука, в этой лаборатории вы будете использовать Google Cloud Shell , среду командной строки, работающую в облаке.

В Google Cloud Console щелкните значок Cloud Shell на верхней правой панели инструментов:

55efc1aaa7a4d3ad.png

Подготовка и подключение к среде займет всего несколько минут. Когда все будет готово, вы должны увидеть что-то вроде этого:

7ffe5cbb04455448.png

Эта виртуальная машина оснащена всеми необходимыми инструментами разработки. Он предлагает постоянный домашний каталог объемом 5 ГБ и работает в Google Cloud, что значительно повышает производительность сети и аутентификацию. Всю работу в этой лаборатории кода можно выполнять в браузере. Вам не нужно ничего устанавливать.

3. Задача 1. Среда настройки

Мы создадим собственный VPC с правилами брандмауэра. Если у вас уже есть VPC и проект, вы можете пропустить эту часть.

Откройте Cloud Shell, расположенный в верхней части консоли справа. И настройте следующим образом: 4261e776f64ea978.png

  1. Включите некоторые API, которые мы будем использовать в этой лабораторной работе.
gcloud services enable dns.googleapis.com
gcloud services enable aiplatform.googleapis.com
gcloud services enable servicedirectory.googleapis.com
  1. Установите несколько переменных. Эти переменные представляют собой идентификатор проекта и идентификатор сети пользовательского VPC (вы создадите VPC на шаге 4).
projectid=$(gcloud config get-value project)
networkid=anthropic-net 
echo $projectid
echo $networkid
clear
  1. Теперь создайте собственный VPC под названием anthropic-net.
gcloud compute networks create $networkid \
--project=$projectid \
--subnet-mode=custom \
--mtu=1460 \
--bgp-routing-mode=global
  1. Создайте подсеть vm1 в новом VPC.
gcloud compute networks subnets create vm-subnet \
--project=$projectid --range=10.0.88.0/24 \
--stack-type=IPV4_ONLY --network=$networkid \
--region=us-east1
  1. Добавьте правило межсетевого экрана ICMP в ваш VPC
gcloud compute firewall-rules create $networkid-allow-icmp --project=$projectid \
--network=$networkid \
--description="Allows ICMP connections from any source to any instance on the network." \
--direction=INGRESS \
--priority=65534 \
--source-ranges=0.0.0.0/0 \
--action=ALLOW \
--rules=icmp
  1. Добавьте правило брандмауэра SSH в ваш VPC
gcloud compute firewall-rules create $networkid-allow-ssh \
--project=$projectid \
--network=$networkid \
--description="Allows TCP connections from any source to any instance on the network using port 22." \
--direction=INGRESS --priority=65534 \
--source-ranges=0.0.0.0/0 --action=ALLOW \
--rules=tcp:22

4. Задача 2. Включить Anthropic в саду моделей Vertex

Нам нужно предоставить исходящий внешний доступ к Интернету, поэтому давайте создадим шлюз Cloud NAT и подключим его.

  1. Перейдите в Vertex AI и выберите Model Garden.
  2. Найдите Anthropic и выберите Claude 3.5 Sonnet.

4fd4338c598983d8.png

  1. Выберите «Включить» , вам потребуется ввести некоторую информацию. Заполните форму и выберите Далее
  2. На последней странице выберите «Согласен» , чтобы включить Claude 3.5 Sonnet. b3961312feb6c383.png

5. Задача 3. Создайте шлюз NAT и виртуальные машины.

Нам нужно предоставить исходящий внешний доступ к Интернету, поэтому давайте создадим шлюз Cloud NAT и подключим его.

В Cloud Shell используйте следующие команды

  1. Создайте облачный NAT.
gcloud compute routers create anthro-out-nat \
    --network $networkid \
    --region us-east1 
  1. Создайте шлюз Cloud NAT.
gcloud compute routers nats create anthro-out-nat-gw \
   
--router-region us-east1 \
   
--router anthro-out-nat \
   
--nat-all-subnet-ip-ranges \
   
--auto-allocate-nat-external-ips

Теперь давайте создадим одну виртуальную машину для доступа к Anthropic on Vertex AI через Python SDK.

Мы собираемся создать виртуальную машину для тестирования со следующими установленными пакетами.

  1. В том же сеансе облачной оболочки создайте anthro-vm, используя следующее.
gcloud compute instances create anthro-vm \
--project=$projectid \
--zone=us-east1-b \
--network-interface=stack-type=IPV4_ONLY,subnet=vm-subnet,no-address,network=$networkid \
--metadata startup-script="#! /bin/bash    
     
sudo apt-get update
     
sudo apt-get install python3 python3-dev python3-venv -y
     
sudo apt-get install tcpdump dnsutils -y
     
sudo -i
     
sudo mkdir -p ~/py-anthro-env
     
cd ~/py-anthro-env
     
python3 -m venv env
     
source env/bin/activate
     
pip install -U ipython google-cloud-aiplatform 'anthropic[vertex]'"

Вы должны увидеть виртуальную машину, созданную без общедоступных IP-адресов. Теперь давайте настроим виртуальную машину

6. Задача 4. Настроить ВМ и протестировать

  1. Перейдите к экземплярам виртуальных машин. Выберите виртуальную машину, начинающуюся с anthro-vm . Выберите SSH.
  2. Как только вы подключитесь к anthro-vm по SSH, включите root, набрав sudo -i
  3. Активируйте среду venv:
cd py-anthro-env
source env/bin/activate
  1. Теперь давайте аутентифицируем это, чтобы позже провести некоторое тестирование. Запустите следующую команду на виртуальной машине и нажмите y при появлении запроса.
gcloud auth application-default login
  1. Затем скопируйте URL-адрес, который начинается с https://, откройте новую вкладку в окне браузера лаборатории и вставьте URL-адрес. Примите подсказки.
  2. Когда вы увидите следующую копию выбора, вернитесь к сеансу vm anthro-vm и для ввода кода авторизации: вставьте скопированный код и нажмите Enter для аутентификации.

c29615cdf9324209.png

  1. Теперь давайте проведем быстрый тест, чтобы узнать, сможем ли мы подключиться к API Vertex Gemini. Он использует us-east5-aiplatform.googleapis.com , поэтому мы выполним dig по этому адресу, чтобы увидеть, как маршрутизируется трафик.
dig us-east5-aiplatform.googleapis.com
  1. Вы должны увидеть нечто похожее (адрес будет отличаться). Обратите внимание, что путь проходит через общедоступные IP-адреса, поскольку API является общедоступным API.
; <<>> DiG 9.16.48-Debian <<>> us-east5-aiplatform.googleapis.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9117
;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;us-east5-aiplatform.googleapis.com. IN A

;; ANSWER SECTION:
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.210.95
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.211.95
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.212.95
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.213.95
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.215.95
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.216.95
us-east5-aiplatform.googleapis.com. 300 IN A 108.177.12.95
us-east5-aiplatform.googleapis.com. 300 IN A 108.177.13.95
us-east5-aiplatform.googleapis.com. 300 IN A 74.125.26.95
  1. Теперь давайте использовать Python. Введите ipython , чтобы активировать интерфейс ipython .
ipython

4685b31f13df54e1.png

  1. Теперь скопируйте и вставьте следующее. При этом Клод спрашивает: « Где пройдут Олимпийские игры в 2024 году! ». ps Замените YOUR-Project-ID-Here на имя вашего идентификатора проекта.
from anthropic import AnthropicVertex

project_id = "YOUR-Project-ID-Here"
region = "us-east5"

client = AnthropicVertex(project_id=project_id, region=region)

message = client.messages.create(
   
model="claude-3-5-sonnet@20240620",
   
max_tokens=100,
   
messages=[
       
{
           
"role": "user",
           
"content": "Where is the olympics being held in 2024!",
       
}
   
],
)
print(message)
  1. Нажмите Enter, чтобы запустить и увидеть результат.
  2. Этот запрос обращался к Anthropic через общедоступный API Vertex.
  3. Закройте сеанс SSH , продолжим.

7. Задача 5. Создайте конечную точку PSC для googleapis

Чтобы обеспечить частное подключение к нашей конечной точке API Vertex, мы создадим конечную точку Private Service Connect для googleapis. Это позволит нам использовать частный IP-адрес, который мы назначаем для маршрутизации трафика на нужный нам GoogleAPI, в данном случае на Vertex Gemini.

  1. Откройте Cloud Shell, если он еще не открыт. Создайте IP-адрес для конечной точки PSC. В этом случае мы будем использовать 192.168.255.230 .
gcloud compute addresses create anthro-ip \
   
--global \
   
--purpose=PRIVATE_SERVICE_CONNECT \
   
--addresses=192.168.255.230 \
   
--network=$networkid
  1. Проверьте созданный IP-адрес
gcloud compute addresses list --filter="name=( 'anthro-ip' ...)"
  1. Затем создайте конечную точку PSC.
gcloud compute forwarding-rules create pscanthrovertex \
   
--global \
   
--network=$networkid \
   
--address=anthro-ip \
   
--target-google-apis-bundle=all-apis
  1. Это создаст конечную точку и запись в каталоге служб. Убедитесь, что конечная точка существует
gcloud compute forwarding-rules describe pscanthrovertex --global

8. Задача 6. Проверка подключения конечной точки через зону автоматического каталога служб.

Давайте подключимся к Gemini, используя частную конечную точку.

  1. Перейдите к экземпляру виртуальной машины anthro-vm1 . Выберите SSH и SSH в виртуальной машине.
  2. Получите root-доступ, набрав sudo -i
  3. Проверьте путь подключения к aiplatform-pscanthrovertex.p.googleapis.com с помощью команды dig . Вы должны увидеть IP-адрес конечной точки PSC.
dig aiplatform-pscanthrovertex.p.googleapis.com

9. Задача 7. Создайте вручную DNS-запись в googleapis (необязательно)

Вы можете создать запись DNS вручную, чтобы указать на конечную точку PSC, используя частный DNS. Это повлияет на все сети, которые вы ему назначите.

  1. Перейдите к Сетевым службам и выберите Cloud DNS.
  2. В зонах вы должны увидеть автоматически созданную зону для Private Service Connect для API Google с каталогом службы типа зоны. Это можно использовать для подключения к конечной точке PSC в формате ** SERVICE-ENDPOINT. p.googleapis.com Пример aiplatform-pscvertexgemini.p.googleapis.com
  3. В этом случае мы хотим вручную создать частную запись DNS. Перейдите в Cloud DNS и выберите «Создать зону».
  4. Настройте следующим образом

Конфигурация

Имя

Тип зоны

Частный

Название зоны

googleapis-частный

DNS-имя

googleapis.com

Добавить сети (выберите «Готово» при добавлении)

антропная сеть

Для завершения выберите

Создавать

  1. В области «Сведения о зоне» выберите «Добавить стандарт» , чтобы добавить запись A.

Конфигурация

Имя

Тип записи ресурса

А

IPv4-адрес (добавьте IP-адрес конечной точки)

192.168.255.230

Для завершения выберите

Создавать

  1. В области сведений о зоне выберите Добавить стандарт , чтобы добавить запись CNAME.

Конфигурация

Имя

DNS-имя

*

Тип ресурса записи

CNAME

Каноническое имя 1

googleapis.com

Для завершения выберите

Создавать

  1. Вы должны увидеть настройку с записью A и CNAME, как показано ниже. b7f122f0d1fd2850.png
  2. Далее проверяем связность с этими изменениями на anthro-vm.

10. Задача 8. Проверка подключения конечной точки через IP-адрес (необязательно)

Давайте подключимся к Gemini, используя частную конечную точку.

  1. Перейдите к экземпляру виртуальной машины anthro-vm . Выберите SSH и SSH в виртуальной машине.
  2. Получите root-доступ, набрав sudo -i
  3. Проверьте путь подключения к us-east5-aiplatform.googleapis.com с помощью команды ping . Это выполнит проверку IP-адреса в частном DNS, записи для googleapis. Этот IP-адрес является конечной точкой PSC, и ваши пинги будут безуспешными.
ping -c 2 us-east5-aiplatform.googleapis.com
  1. Проверьте путь подключения с помощью ping используя автоматически созданную запись DNS для API Google PSC с помощью aiplatform-pscanthrovertex.p.googleapis.com . Это указывает на IP-адрес конечной точки PSC, и ваши пинги будут безуспешными.
ping -c 2 aiplatform-pscanthrovertex.p.googleapis.com
  1. Проверьте путь подключения к us-east5-aiplatform.googleapis.com с помощью команды dig . Это должен быть IP-адрес конечной точки PSC.
dig us-east5-aiplatform.googleapis.com
  1. Вернитесь в консоль и откройте другой экземпляр VM Instance anthro-vm . Выберите SSH и SSH в виртуальной машине.
  2. Получите root-доступ, набрав sudo -i
  3. Запустите следующую команду, чтобы увидеть подключение в дампе TCP.
sudo tcpdump -i any port 53 -n or host us-east5-aiplatform.googleapis.com
  1. Теперь вернитесь к первому экземпляру SSH экземпляра виртуальной машины anthro-vm.
  2. Активируйте окружение, используя
cd py-gem-env
source env/bin/activate
  1. Теперь давайте протестируем Python. Введите ipython , чтобы активировать интерфейс ipython .
ipython
  1. Теперь скопируйте и вставьте следующее. Это спрашивает Клода: « Что такое роти? ». ps Замените YOUR-Project-ID-Here на имя вашего идентификатора проекта.
from anthropic import AnthropicVertex

project_id = "YOUR-Project-ID-Here"
region = "us-east5"

client = AnthropicVertex(project_id=project_id, region=region)

message = client.messages.create(
   
model="claude-3-5-sonnet@20240620",
   
max_tokens=100,
   
messages=[
       
{
           
"role": "user",
           
"content": "What is a roti?",
       
}
   
],
)
print(message)
  1. Нажмите Enter, чтобы запустить и увидеть результат.
  2. Вернитесь ко второму экземпляру экземпляра виртуальной машины anthro-vm. Вы должны увидеть результат TCPDUMP. Вы заметите, что IP-адрес виртуальной машины использует IP-адрес конечной точки PSC для подключения к us-east5-aiplatform.googleapis.com.

Закройте все сеансы SSH с экземпляром виртуальной машины anthro-vm

11. Поздравления

Поздравляем, вы успешно подключились к Anthropic на Vertex, используя как общедоступный адрес API, так и конфиденциально, используя конечную точку подключения частной службы для Googleapis. Эта функция может расширить возможности подключения частного API к вашей локальной или другой облачной среде, которая подключена через (Interconnect, Cross-Cloud Interconnect и VPC).

Очистить

gcloud compute instances delete anthro-vm --zone=us-east1-b --quiet

gcloud compute routers nats delete anthro-out-nat-gw --router=anthro-out-nat --region=us-east1 --quiet

gcloud compute routers delete anthro-out-nat --region=us-east1 --quiet

gcloud compute firewall-rules delete anthropic-net-allow-icmp anthropic-net-allow-ssh --quiet

gcloud compute forwarding-rules delete pscanthrovertex --global

gcloud dns record-sets delete googleapis.com. --zone googleapis-private --type A

gcloud dns record-sets delete *.googleapis.com --zone googleapis-private --type CNAME

gcloud dns managed-zones delete googleapis-private

gcloud compute addresses delete anthro-ip --global


gcloud compute networks subnets delete vm-subnet --region=us-east1 --quiet

gcloud compute networks delete anthropic-net --quiet

Вы можете узнать больше о сетях Vertex AI.

,
Доступ к Anthropic Claude на Vertex AI с помощью Python sdk через конечную точку Private Service Connect

О практической работе

subjectПоследнее обновление: сент. 6, 2024
account_circleАвторы: Ammett Williams & Sampath Kumar Maddula

1. Обзор

Доступ к Vertex AI API можно получить через Интернет , однако на вашем предприятии вы можете захотеть получить доступ к Vertex AI API в частном порядке, не выходя через Интернет. В ходе этой лабораторной работы вы сначала получите доступ к Anthropic Claude на Vertex через SDK Python, работающий на экземпляре виртуальной машины через общедоступный Интернет.

Затем вы создадите конечную точку Private Service Connect для Googleapis и измените поток трафика, чтобы использовать частную конечную точку для подключения к Vertex API.

В этой лабораторной работе вы создадите следующий узор.

Рисунок 1.

103967918b096e97.png

2. Цели

В ходе этой лабораторной работы вы научитесь выполнять следующую задачу:

  • Настройте экземпляр виртуальной машины для использования Python SDK
  • Подключитесь к чату Anthropic Claude с помощью скрипта Python
  • Настройте конечную точку PSC для подключения к Googleapis
  • Настройка записей DNS вручную
  • Проверьте путь подключения к Googleais

Установка лаборатории

Самостоятельная настройка среды

  1. Войдите в Google Cloud Console и создайте новый проект или повторно используйте существующий. Если у вас еще нет учетной записи Gmail или Google Workspace, вам необходимо ее создать .

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • Имя проекта — это отображаемое имя для участников этого проекта. Это строка символов, не используемая API Google. Вы всегда можете обновить его.
  • Идентификатор проекта уникален для всех проектов Google Cloud и является неизменяемым (невозможно изменить после его установки). Cloud Console автоматически генерирует уникальную строку; обычно тебя не волнует, что это такое. В большинстве лабораторий кода вам потребуется указать идентификатор проекта (обычно идентифицируемый как PROJECT_ID ). Если вам не нравится сгенерированный идентификатор, вы можете создать другой случайный идентификатор. Альтернативно, вы можете попробовать свой собственный и посмотреть, доступен ли он. Его нельзя изменить после этого шага и он сохраняется на протяжении всего проекта.
  • К вашему сведению, есть третье значение — номер проекта , которое используют некоторые API. Подробнее обо всех трех этих значениях читайте в документации .
  1. Затем вам необходимо включить выставление счетов в Cloud Console, чтобы использовать облачные ресурсы/API. Прохождение этой лаборатории кода не будет стоить много, если вообще что-то стоить. Чтобы отключить ресурсы и избежать выставления счетов за пределами этого руководства, вы можете удалить созданные вами ресурсы или удалить проект. Новые пользователи Google Cloud имеют право на участие в программе бесплатной пробной версии стоимостью 300 долларов США .

Запустить Cloud Shell

Хотя Google Cloud можно управлять удаленно с вашего ноутбука, в этой лаборатории вы будете использовать Google Cloud Shell , среду командной строки, работающую в облаке.

В Google Cloud Console щелкните значок Cloud Shell на верхней правой панели инструментов:

55efc1aaa7a4d3ad.png

Подготовка и подключение к среде займет всего несколько минут. Когда все будет готово, вы должны увидеть что-то вроде этого:

7ffe5cbb04455448.png

Эта виртуальная машина оснащена всеми необходимыми инструментами разработки. Он предлагает постоянный домашний каталог объемом 5 ГБ и работает в Google Cloud, что значительно повышает производительность сети и аутентификацию. Всю работу в этой лаборатории кода можно выполнять в браузере. Вам не нужно ничего устанавливать.

3. Задача 1. Среда настройки

Мы создадим собственный VPC с правилами брандмауэра. Если у вас уже есть VPC и проект, вы можете пропустить эту часть.

Откройте Cloud Shell, расположенный в верхней части консоли справа. И настройте следующим образом: 4261e776f64ea978.png

  1. Включите некоторые API, которые мы будем использовать в этой лабораторной работе.
gcloud services enable dns.googleapis.com
gcloud services enable aiplatform.googleapis.com
gcloud services enable servicedirectory.googleapis.com
  1. Установите несколько переменных. Эти переменные представляют собой идентификатор проекта и идентификатор сети пользовательского VPC (вы создадите VPC на шаге 4).
projectid=$(gcloud config get-value project)
networkid=anthropic-net 
echo $projectid
echo $networkid
clear
  1. Теперь создайте собственный VPC под названием anthropic-net.
gcloud compute networks create $networkid \
--project=$projectid \
--subnet-mode=custom \
--mtu=1460 \
--bgp-routing-mode=global
  1. Создайте подсеть vm1 в новом VPC.
gcloud compute networks subnets create vm-subnet \
--project=$projectid --range=10.0.88.0/24 \
--stack-type=IPV4_ONLY --network=$networkid \
--region=us-east1
  1. Добавьте правило межсетевого экрана ICMP в ваш VPC
gcloud compute firewall-rules create $networkid-allow-icmp --project=$projectid \
--network=$networkid \
--description="Allows ICMP connections from any source to any instance on the network." \
--direction=INGRESS \
--priority=65534 \
--source-ranges=0.0.0.0/0 \
--action=ALLOW \
--rules=icmp
  1. Добавьте правило брандмауэра SSH в ваш VPC
gcloud compute firewall-rules create $networkid-allow-ssh \
--project=$projectid \
--network=$networkid \
--description="Allows TCP connections from any source to any instance on the network using port 22." \
--direction=INGRESS --priority=65534 \
--source-ranges=0.0.0.0/0 --action=ALLOW \
--rules=tcp:22

4. Задача 2. Включить Anthropic в саду моделей Vertex

Нам нужно предоставить исходящий внешний доступ к Интернету, поэтому давайте создадим шлюз Cloud NAT и подключим его.

  1. Перейдите в Vertex AI и выберите Model Garden.
  2. Найдите Anthropic и выберите Claude 3.5 Sonnet.

4fd4338c598983d8.png

  1. Выберите «Включить» , вам потребуется ввести некоторую информацию. Заполните форму и выберите Далее
  2. На последней странице выберите «Согласен» , чтобы включить Claude 3.5 Sonnet. b3961312feb6c383.png

5. Задача 3. Создайте шлюз NAT и виртуальные машины.

Нам нужно предоставить исходящий внешний доступ к Интернету, поэтому давайте создадим шлюз Cloud NAT и подключим его.

В Cloud Shell используйте следующие команды

  1. Создайте облачный NAT.
gcloud compute routers create anthro-out-nat \
    --network $networkid \
    --region us-east1 
  1. Создайте шлюз Cloud NAT.
gcloud compute routers nats create anthro-out-nat-gw \
   
--router-region us-east1 \
   
--router anthro-out-nat \
   
--nat-all-subnet-ip-ranges \
   
--auto-allocate-nat-external-ips

Теперь давайте создадим одну виртуальную машину для доступа к Anthropic on Vertex AI через Python SDK.

Мы собираемся создать виртуальную машину для тестирования со следующими установленными пакетами.

  1. В том же сеансе облачной оболочки создайте anthro-vm, используя следующее.
gcloud compute instances create anthro-vm \
--project=$projectid \
--zone=us-east1-b \
--network-interface=stack-type=IPV4_ONLY,subnet=vm-subnet,no-address,network=$networkid \
--metadata startup-script="#! /bin/bash    
     
sudo apt-get update
     
sudo apt-get install python3 python3-dev python3-venv -y
     
sudo apt-get install tcpdump dnsutils -y
     
sudo -i
     
sudo mkdir -p ~/py-anthro-env
     
cd ~/py-anthro-env
     
python3 -m venv env
     
source env/bin/activate
     
pip install -U ipython google-cloud-aiplatform 'anthropic[vertex]'"

Вы должны увидеть виртуальную машину, созданную без общедоступных IP-адресов. Теперь давайте настроим виртуальную машину

6. Задача 4. Настроить ВМ и протестировать

  1. Перейдите к экземплярам виртуальных машин. Выберите виртуальную машину, начинающуюся с anthro-vm . Выберите SSH.
  2. Как только вы подключитесь к anthro-vm по SSH, включите root, набрав sudo -i
  3. Активируйте среду venv:
cd py-anthro-env
source env/bin/activate
  1. Теперь давайте аутентифицируем это, чтобы позже провести некоторое тестирование. Запустите следующую команду на виртуальной машине и нажмите y при появлении запроса.
gcloud auth application-default login
  1. Затем скопируйте URL-адрес, который начинается с https://, откройте новую вкладку в окне браузера лаборатории и вставьте URL-адрес. Примите подсказки.
  2. Когда вы увидите следующую копию выбора, вернитесь к сеансу vm anthro-vm и для ввода кода авторизации: вставьте скопированный код и нажмите Enter для аутентификации.

c29615cdf9324209.png

  1. Теперь давайте проведем быстрый тест, чтобы узнать, сможем ли мы подключиться к API Vertex Gemini. Он использует us-east5-aiplatform.googleapis.com , поэтому мы выполним dig по этому адресу, чтобы увидеть, как маршрутизируется трафик.
dig us-east5-aiplatform.googleapis.com
  1. Вы должны увидеть нечто похожее (адрес будет отличаться). Обратите внимание, что путь проходит через общедоступные IP-адреса, поскольку API является общедоступным API.
; <<>> DiG 9.16.48-Debian <<>> us-east5-aiplatform.googleapis.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9117
;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;us-east5-aiplatform.googleapis.com. IN A

;; ANSWER SECTION:
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.210.95
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.211.95
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.212.95
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.213.95
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.215.95
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.216.95
us-east5-aiplatform.googleapis.com. 300 IN A 108.177.12.95
us-east5-aiplatform.googleapis.com. 300 IN A 108.177.13.95
us-east5-aiplatform.googleapis.com. 300 IN A 74.125.26.95
  1. Теперь давайте использовать Python. Введите ipython , чтобы активировать интерфейс ipython .
ipython

4685b31f13df54e1.png

  1. Теперь скопируйте и вставьте следующее. При этом Клод спрашивает: « Где пройдут Олимпийские игры в 2024 году! ». ps Замените YOUR-Project-ID-Here на имя вашего идентификатора проекта.
from anthropic import AnthropicVertex

project_id = "YOUR-Project-ID-Here"
region = "us-east5"

client = AnthropicVertex(project_id=project_id, region=region)

message = client.messages.create(
   
model="claude-3-5-sonnet@20240620",
   
max_tokens=100,
   
messages=[
       
{
           
"role": "user",
           
"content": "Where is the olympics being held in 2024!",
       
}
   
],
)
print(message)
  1. Нажмите Enter, чтобы запустить и увидеть результат.
  2. Этот запрос обращался к Anthropic через общедоступный API Vertex.
  3. Закройте сеанс SSH , продолжим.

7. Задача 5. Создайте конечную точку PSC для googleapis

Чтобы обеспечить частное подключение к нашей конечной точке API Vertex, мы создадим конечную точку Private Service Connect для googleapis. Это позволит нам использовать частный IP-адрес, который мы назначаем для маршрутизации трафика на нужный нам GoogleAPI, в данном случае на Vertex Gemini.

  1. Откройте Cloud Shell, если он еще не открыт. Создайте IP-адрес для конечной точки PSC. В этом случае мы будем использовать 192.168.255.230 .
gcloud compute addresses create anthro-ip \
   
--global \
   
--purpose=PRIVATE_SERVICE_CONNECT \
   
--addresses=192.168.255.230 \
   
--network=$networkid
  1. Проверьте созданный IP-адрес
gcloud compute addresses list --filter="name=( 'anthro-ip' ...)"
  1. Затем создайте конечную точку PSC.
gcloud compute forwarding-rules create pscanthrovertex \
   
--global \
   
--network=$networkid \
   
--address=anthro-ip \
   
--target-google-apis-bundle=all-apis
  1. Это создаст конечную точку и запись в каталоге служб. Убедитесь, что конечная точка существует
gcloud compute forwarding-rules describe pscanthrovertex --global

8. Задача 6. Проверка подключения конечной точки через зону автоматического каталога служб.

Давайте подключимся к Gemini, используя частную конечную точку.

  1. Перейдите к экземпляру виртуальной машины anthro-vm1 . Выберите SSH и SSH в виртуальной машине.
  2. Получите root-доступ, набрав sudo -i
  3. Проверьте путь подключения к aiplatform-pscanthrovertex.p.googleapis.com с помощью команды dig . Вы должны увидеть IP-адрес конечной точки PSC.
dig aiplatform-pscanthrovertex.p.googleapis.com

9. Задача 7. Создайте вручную DNS-запись в googleapis (необязательно)

Вы можете создать запись DNS вручную, чтобы указать на конечную точку PSC, используя частный DNS. Это повлияет на все сети, которые вы ему назначите.

  1. Перейдите к Сетевым службам и выберите Cloud DNS.
  2. В зонах вы должны увидеть автоматически созданную зону для Private Service Connect для API Google с каталогом службы типа зоны. Это можно использовать для подключения к конечной точке PSC в формате ** SERVICE-ENDPOINT. p.googleapis.com Пример aiplatform-pscvertexgemini.p.googleapis.com
  3. В этом случае мы хотим вручную создать частную запись DNS. Перейдите в Cloud DNS и выберите «Создать зону».
  4. Настройте следующим образом

Конфигурация

Имя

Тип зоны

Частный

Название зоны

googleapis-частный

DNS-имя

googleapis.com

Добавить сети (выберите «Готово» при добавлении)

антропная сеть

Для завершения выберите

Создавать

  1. В области «Сведения о зоне» выберите «Добавить стандарт» , чтобы добавить запись A.

Конфигурация

Имя

Тип записи ресурса

А

IPv4-адрес (добавьте IP-адрес конечной точки)

192.168.255.230

Для завершения выберите

Создавать

  1. В области сведений о зоне выберите Добавить стандарт , чтобы добавить запись CNAME.

Конфигурация

Имя

DNS-имя

*

Тип ресурса записи

CNAME

Каноническое имя 1

googleapis.com

Для завершения выберите

Создавать

  1. Вы должны увидеть настройку с записью A и CNAME, как показано ниже. b7f122f0d1fd2850.png
  2. Далее проверяем связность с этими изменениями на anthro-vm.

10. Задача 8. Проверка подключения конечной точки через IP-адрес (необязательно)

Давайте подключимся к Gemini, используя частную конечную точку.

  1. Перейдите к экземпляру виртуальной машины anthro-vm . Выберите SSH и SSH в виртуальной машине.
  2. Получите root-доступ, набрав sudo -i
  3. Проверьте путь подключения к us-east5-aiplatform.googleapis.com с помощью команды ping . Это выполнит проверку IP-адреса в частном DNS, записи для googleapis. Этот IP-адрес является конечной точкой PSC, и ваши пинги будут безуспешными.
ping -c 2 us-east5-aiplatform.googleapis.com
  1. Проверьте путь подключения с помощью ping используя автоматически созданную запись DNS для API Google PSC с помощью aiplatform-pscanthrovertex.p.googleapis.com . Это указывает на IP-адрес конечной точки PSC, и ваши пинги будут безуспешными.
ping -c 2 aiplatform-pscanthrovertex.p.googleapis.com
  1. Проверьте путь подключения к us-east5-aiplatform.googleapis.com с помощью команды dig . Это должен быть IP-адрес конечной точки PSC.
dig us-east5-aiplatform.googleapis.com
  1. Вернитесь в консоль и откройте другой экземпляр VM Instance anthro-vm . Выберите SSH и SSH в виртуальной машине.
  2. Получите root-доступ, набрав sudo -i
  3. Запустите следующую команду, чтобы увидеть подключение в дампе TCP.
sudo tcpdump -i any port 53 -n or host us-east5-aiplatform.googleapis.com
  1. Теперь вернитесь к первому экземпляру SSH экземпляра виртуальной машины anthro-vm.
  2. Активируйте окружение, используя
cd py-gem-env
source env/bin/activate
  1. Теперь давайте протестируем Python. Введите ipython , чтобы активировать интерфейс ipython .
ipython
  1. Теперь скопируйте и вставьте следующее. Это спрашивает Клода: « Что такое роти? ». ps Замените YOUR-Project-ID-Here на имя вашего идентификатора проекта.
from anthropic import AnthropicVertex

project_id = "YOUR-Project-ID-Here"
region = "us-east5"

client = AnthropicVertex(project_id=project_id, region=region)

message = client.messages.create(
   
model="claude-3-5-sonnet@20240620",
   
max_tokens=100,
   
messages=[
       
{
           
"role": "user",
           
"content": "What is a roti?",
       
}
   
],
)
print(message)
  1. Нажмите Enter, чтобы запустить и увидеть результат.
  2. Вернитесь ко второму экземпляру экземпляра виртуальной машины anthro-vm. Вы должны увидеть результат TCPDUMP. Вы заметите, что IP-адрес виртуальной машины использует IP-адрес конечной точки PSC для подключения к us-east5-aiplatform.googleapis.com.

Закройте все сеансы SSH с экземпляром виртуальной машины anthro-vm

11. Поздравления

Поздравляем, вы успешно подключились к Anthropic на Vertex, используя как общедоступный адрес API, так и конфиденциально, используя конечную точку подключения частной службы для Googleapis. Эта функция может расширить возможности подключения частного API к вашей локальной или другой облачной среде, которая подключена через (Interconnect, Cross-Cloud Interconnect и VPC).

Очистить

gcloud compute instances delete anthro-vm --zone=us-east1-b --quiet

gcloud compute routers nats delete anthro-out-nat-gw --router=anthro-out-nat --region=us-east1 --quiet

gcloud compute routers delete anthro-out-nat --region=us-east1 --quiet

gcloud compute firewall-rules delete anthropic-net-allow-icmp anthropic-net-allow-ssh --quiet

gcloud compute forwarding-rules delete pscanthrovertex --global

gcloud dns record-sets delete googleapis.com. --zone googleapis-private --type A

gcloud dns record-sets delete *.googleapis.com --zone googleapis-private --type CNAME

gcloud dns managed-zones delete googleapis-private

gcloud compute addresses delete anthro-ip --global


gcloud compute networks subnets delete vm-subnet --region=us-east1 --quiet

gcloud compute networks delete anthropic-net --quiet

Вы можете узнать больше о сетях Vertex AI.

,
Доступ к Anthropic Claude на Vertex AI с помощью Python sdk через конечную точку Private Service Connect

О практической работе

subjectПоследнее обновление: сент. 6, 2024
account_circleАвторы: Ammett Williams & Sampath Kumar Maddula

1. Обзор

Доступ к Vertex AI API можно получить через Интернет , однако на вашем предприятии вы можете захотеть получить доступ к Vertex AI API в частном порядке, не выходя через Интернет. В ходе этой лабораторной работы вы сначала получите доступ к Anthropic Claude на Vertex через SDK Python, работающий на экземпляре виртуальной машины через общедоступный Интернет.

Затем вы создадите конечную точку Private Service Connect для Googleapis и измените поток трафика, чтобы использовать частную конечную точку для подключения к Vertex API.

В этой лабораторной работе вы создадите следующий узор.

Рисунок 1.

103967918b096e97.png

2. Цели

В ходе этой лабораторной работы вы научитесь выполнять следующую задачу:

  • Настройте экземпляр виртуальной машины для использования Python SDK
  • Подключитесь к чату Anthropic Claude с помощью скрипта Python
  • Настройте конечную точку PSC для подключения к Googleapis
  • Настройка записей DNS вручную
  • Проверьте путь подключения к Googleais

Установка лаборатории

Самостоятельная настройка среды

  1. Войдите в Google Cloud Console и создайте новый проект или повторно используйте существующий. Если у вас еще нет учетной записи Gmail или Google Workspace, вам необходимо ее создать .

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • Имя проекта — это отображаемое имя для участников этого проекта. Это строка символов, не используемая API Google. Вы всегда можете обновить его.
  • Идентификатор проекта уникален для всех проектов Google Cloud и является неизменяемым (невозможно изменить после его установки). Cloud Console автоматически генерирует уникальную строку; обычно тебя не волнует, что это такое. В большинстве лабораторий кода вам потребуется указать идентификатор проекта (обычно идентифицируемый как PROJECT_ID ). Если вам не нравится сгенерированный идентификатор, вы можете создать другой случайный идентификатор. Альтернативно, вы можете попробовать свой собственный и посмотреть, доступен ли он. Его нельзя изменить после этого шага и он сохраняется на протяжении всего проекта.
  • К вашему сведению, есть третье значение — номер проекта , которое используют некоторые API. Подробнее обо всех трех этих значениях читайте в документации .
  1. Затем вам необходимо включить выставление счетов в Cloud Console, чтобы использовать облачные ресурсы/API. Прохождение этой лаборатории кода не будет стоить много, если вообще что-то стоить. Чтобы отключить ресурсы и избежать выставления счетов за пределами этого руководства, вы можете удалить созданные вами ресурсы или удалить проект. Новые пользователи Google Cloud имеют право на участие в программе бесплатной пробной версии стоимостью 300 долларов США .

Запустить Cloud Shell

Хотя Google Cloud можно управлять удаленно с вашего ноутбука, в этой лаборатории вы будете использовать Google Cloud Shell , среду командной строки, работающую в облаке.

В Google Cloud Console щелкните значок Cloud Shell на верхней правой панели инструментов:

55efc1aaa7a4d3ad.png

Подготовка и подключение к среде займет всего несколько минут. Когда все будет готово, вы должны увидеть что-то вроде этого:

7ffe5cbb04455448.png

Эта виртуальная машина оснащена всеми необходимыми инструментами разработки. Он предлагает постоянный домашний каталог объемом 5 ГБ и работает в Google Cloud, что значительно повышает производительность сети и аутентификацию. Всю работу в этой лаборатории кода можно выполнять в браузере. Вам не нужно ничего устанавливать.

3. Задача 1. Среда настройки

Мы создадим собственный VPC с правилами брандмауэра. Если у вас уже есть VPC и проект, вы можете пропустить эту часть.

Откройте Cloud Shell, расположенный в верхней части консоли справа. И настройте следующим образом: 4261e776f64ea978.png

  1. Включите некоторые API, которые мы будем использовать в этой лабораторной работе.
gcloud services enable dns.googleapis.com
gcloud services enable aiplatform.googleapis.com
gcloud services enable servicedirectory.googleapis.com
  1. Установите несколько переменных. Эти переменные представляют собой идентификатор проекта и идентификатор сети пользовательского VPC (вы создадите VPC на шаге 4).
projectid=$(gcloud config get-value project)
networkid=anthropic-net 
echo $projectid
echo $networkid
clear
  1. Теперь создайте собственный VPC под названием anthropic-net.
gcloud compute networks create $networkid \
--project=$projectid \
--subnet-mode=custom \
--mtu=1460 \
--bgp-routing-mode=global
  1. Создайте подсеть vm1 в новом VPC.
gcloud compute networks subnets create vm-subnet \
--project=$projectid --range=10.0.88.0/24 \
--stack-type=IPV4_ONLY --network=$networkid \
--region=us-east1
  1. Добавьте правило межсетевого экрана ICMP в ваш VPC
gcloud compute firewall-rules create $networkid-allow-icmp --project=$projectid \
--network=$networkid \
--description="Allows ICMP connections from any source to any instance on the network." \
--direction=INGRESS \
--priority=65534 \
--source-ranges=0.0.0.0/0 \
--action=ALLOW \
--rules=icmp
  1. Добавьте правило брандмауэра SSH в ваш VPC
gcloud compute firewall-rules create $networkid-allow-ssh \
--project=$projectid \
--network=$networkid \
--description="Allows TCP connections from any source to any instance on the network using port 22." \
--direction=INGRESS --priority=65534 \
--source-ranges=0.0.0.0/0 --action=ALLOW \
--rules=tcp:22

4. Задача 2. Включить Anthropic в саду моделей Vertex

Нам нужно предоставить исходящий внешний доступ к Интернету, поэтому давайте создадим шлюз Cloud NAT и подключим его.

  1. Перейдите в Vertex AI и выберите Model Garden.
  2. Найдите Anthropic и выберите Claude 3.5 Sonnet.

4fd4338c598983d8.png

  1. Выберите «Включить» , вам потребуется ввести некоторую информацию. Заполните форму и выберите Далее
  2. На последней странице выберите «Согласен» , чтобы включить Claude 3.5 Sonnet. b3961312feb6c383.png

5. Задача 3. Создайте шлюз NAT и виртуальные машины.

Нам нужно предоставить исходящий внешний доступ к Интернету, поэтому давайте создадим шлюз Cloud NAT и подключим его.

В Cloud Shell используйте следующие команды

  1. Создайте облачный NAT.
gcloud compute routers create anthro-out-nat \
    --network $networkid \
    --region us-east1 
  1. Создайте шлюз Cloud NAT.
gcloud compute routers nats create anthro-out-nat-gw \
   
--router-region us-east1 \
   
--router anthro-out-nat \
   
--nat-all-subnet-ip-ranges \
   
--auto-allocate-nat-external-ips

Теперь давайте создадим одну виртуальную машину для доступа к Anthropic on Vertex AI через Python SDK.

Мы собираемся создать виртуальную машину для тестирования со следующими установленными пакетами.

  1. В том же сеансе облачной оболочки создайте anthro-vm, используя следующее.
gcloud compute instances create anthro-vm \
--project=$projectid \
--zone=us-east1-b \
--network-interface=stack-type=IPV4_ONLY,subnet=vm-subnet,no-address,network=$networkid \
--metadata startup-script="#! /bin/bash    
     
sudo apt-get update
     
sudo apt-get install python3 python3-dev python3-venv -y
     
sudo apt-get install tcpdump dnsutils -y
     
sudo -i
     
sudo mkdir -p ~/py-anthro-env
     
cd ~/py-anthro-env
     
python3 -m venv env
     
source env/bin/activate
     
pip install -U ipython google-cloud-aiplatform 'anthropic[vertex]'"

Вы должны увидеть виртуальную машину, созданную без общедоступных IP-адресов. Теперь давайте настроим виртуальную машину

6. Задача 4. Настроить ВМ и протестировать

  1. Перейдите к экземплярам виртуальных машин. Выберите виртуальную машину, начинающуюся с anthro-vm . Выберите SSH.
  2. Как только вы подключитесь к anthro-vm по SSH, включите root, набрав sudo -i
  3. Активируйте среду venv:
cd py-anthro-env
source env/bin/activate
  1. Теперь давайте аутентифицируем это, чтобы позже провести некоторое тестирование. Запустите следующую команду на виртуальной машине и нажмите y при появлении запроса.
gcloud auth application-default login
  1. Затем скопируйте URL-адрес, который начинается с https://, откройте новую вкладку в окне браузера лаборатории и вставьте URL-адрес. Примите подсказки.
  2. Когда вы увидите следующую копию выбора, вернитесь к сеансу vm anthro-vm и для ввода кода авторизации: вставьте скопированный код и нажмите Enter для аутентификации.

c29615cdf9324209.png

  1. Теперь давайте проведем быстрый тест, чтобы узнать, сможем ли мы подключиться к API Vertex Gemini. Он использует us-east5-aiplatform.googleapis.com , поэтому мы выполним dig по этому адресу, чтобы увидеть, как маршрутизируется трафик.
dig us-east5-aiplatform.googleapis.com
  1. Вы должны увидеть нечто похожее (адрес будет отличаться). Обратите внимание, что путь проходит через общедоступные IP-адреса, поскольку API является общедоступным API.
; <<>> DiG 9.16.48-Debian <<>> us-east5-aiplatform.googleapis.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9117
;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;us-east5-aiplatform.googleapis.com. IN A

;; ANSWER SECTION:
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.210.95
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.211.95
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.212.95
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.213.95
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.215.95
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.216.95
us-east5-aiplatform.googleapis.com. 300 IN A 108.177.12.95
us-east5-aiplatform.googleapis.com. 300 IN A 108.177.13.95
us-east5-aiplatform.googleapis.com. 300 IN A 74.125.26.95
  1. Теперь давайте использовать Python. Введите ipython , чтобы активировать интерфейс ipython .
ipython

4685b31f13df54e1.png

  1. Теперь скопируйте и вставьте следующее. При этом Клод спрашивает: « Где пройдут Олимпийские игры в 2024 году! ». ps Замените YOUR-Project-ID-Here на имя вашего идентификатора проекта.
from anthropic import AnthropicVertex

project_id = "YOUR-Project-ID-Here"
region = "us-east5"

client = AnthropicVertex(project_id=project_id, region=region)

message = client.messages.create(
   
model="claude-3-5-sonnet@20240620",
   
max_tokens=100,
   
messages=[
       
{
           
"role": "user",
           
"content": "Where is the olympics being held in 2024!",
       
}
   
],
)
print(message)
  1. Нажмите Enter, чтобы запустить и увидеть результат.
  2. Этот запрос обращался к Anthropic через общедоступный API Vertex.
  3. Закройте сеанс SSH , продолжим.

7. Задача 5. Создайте конечную точку PSC для googleapis

Чтобы обеспечить частное подключение к нашей конечной точке API Vertex, мы создадим конечную точку Private Service Connect для googleapis. Это позволит нам использовать частный IP-адрес, который мы назначаем для маршрутизации трафика на нужный нам GoogleAPI, в данном случае на Vertex Gemini.

  1. Откройте Cloud Shell, если он еще не открыт. Создайте IP-адрес для конечной точки PSC. В этом случае мы будем использовать 192.168.255.230 .
gcloud compute addresses create anthro-ip \
   
--global \
   
--purpose=PRIVATE_SERVICE_CONNECT \
   
--addresses=192.168.255.230 \
   
--network=$networkid
  1. Проверьте созданный IP-адрес
gcloud compute addresses list --filter="name=( 'anthro-ip' ...)"
  1. Затем создайте конечную точку PSC.
gcloud compute forwarding-rules create pscanthrovertex \
   
--global \
   
--network=$networkid \
   
--address=anthro-ip \
   
--target-google-apis-bundle=all-apis
  1. Это создаст конечную точку и запись в каталоге служб. Убедитесь, что конечная точка существует
gcloud compute forwarding-rules describe pscanthrovertex --global

8. Задача 6. Проверка подключения конечной точки через зону автоматического каталога служб.

Давайте подключимся к Gemini, используя частную конечную точку.

  1. Перейдите к экземпляру виртуальной машины anthro-vm1 . Выберите SSH и SSH в виртуальной машине.
  2. Получите root-доступ, набрав sudo -i
  3. Проверьте путь подключения к aiplatform-pscanthrovertex.p.googleapis.com с помощью команды dig . Вы должны увидеть IP-адрес конечной точки PSC.
dig aiplatform-pscanthrovertex.p.googleapis.com

9. Задача 7. Создайте вручную DNS-запись в googleapis (необязательно)

Вы можете создать запись DNS вручную, чтобы указать на конечную точку PSC, используя частный DNS. Это повлияет на все сети, которые вы ему назначите.

  1. Перейдите к Сетевым службам и выберите Cloud DNS.
  2. В зонах вы должны увидеть автоматически созданную зону для Private Service Connect для API Google с каталогом службы типа зоны. Это можно использовать для подключения к конечной точке PSC в формате ** SERVICE-ENDPOINT. p.googleapis.com Пример aiplatform-pscvertexgemini.p.googleapis.com
  3. В этом случае мы хотим вручную создать частную запись DNS. Перейдите в Cloud DNS и выберите «Создать зону».
  4. Настройте следующим образом

Конфигурация

Имя

Тип зоны

Частный

Название зоны

googleapis-частный

DNS-имя

googleapis.com

Добавить сети (выберите «Готово» при добавлении)

антропная сеть

Для завершения выберите

Создавать

  1. В области «Сведения о зоне» выберите «Добавить стандарт» , чтобы добавить запись A.

Конфигурация

Имя

Тип записи ресурса

А

IPv4-адрес (добавьте IP-адрес конечной точки)

192.168.255.230

Для завершения выберите

Создавать

  1. В области сведений о зоне выберите Добавить стандарт , чтобы добавить запись CNAME.

Конфигурация

Имя

DNS-имя

*

Тип ресурса записи

CNAME

Каноническое имя 1

googleapis.com

Для завершения выберите

Создавать

  1. Вы должны увидеть настройку с записью A и CNAME, как показано ниже. b7f122f0d1fd2850.png
  2. Далее проверяем связность с этими изменениями на anthro-vm.

10. Задача 8. Проверка подключения конечной точки через IP-адрес (необязательно)

Давайте подключимся к Gemini, используя частную конечную точку.

  1. Перейдите к экземпляру виртуальной машины anthro-vm . Выберите SSH и SSH в виртуальной машине.
  2. Получите root-доступ, набрав sudo -i
  3. Проверьте путь подключения к us-east5-aiplatform.googleapis.com с помощью команды ping . Это выполнит проверку IP-адреса в частном DNS, записи для googleapis. Этот IP-адрес является конечной точкой PSC, и ваши пинги будут безуспешными.
ping -c 2 us-east5-aiplatform.googleapis.com
  1. Проверьте путь подключения с помощью ping используя автоматически созданную запись DNS для API Google PSC с помощью aiplatform-pscanthrovertex.p.googleapis.com . Это указывает на IP-адрес конечной точки PSC, и ваши пинги будут безуспешными.
ping -c 2 aiplatform-pscanthrovertex.p.googleapis.com
  1. Проверьте путь подключения к us-east5-aiplatform.googleapis.com с помощью команды dig . Это должен быть IP-адрес конечной точки PSC.
dig us-east5-aiplatform.googleapis.com
  1. Вернитесь в консоль и откройте другой экземпляр VM Instance anthro-vm . Выберите SSH и SSH в виртуальной машине.
  2. Получите root-доступ, набрав sudo -i
  3. Запустите следующую команду, чтобы увидеть подключение в дампе TCP.
sudo tcpdump -i any port 53 -n or host us-east5-aiplatform.googleapis.com
  1. Теперь вернитесь к первому экземпляру SSH экземпляра виртуальной машины anthro-vm.
  2. Активируйте окружение, используя
cd py-gem-env
source env/bin/activate
  1. Теперь давайте протестируем Python. Введите ipython , чтобы активировать интерфейс ipython .
ipython
  1. Теперь скопируйте и вставьте следующее. Это спрашивает Клода: « Что такое роти? ». ps Замените YOUR-Project-ID-Here на имя вашего идентификатора проекта.
from anthropic import AnthropicVertex

project_id = "YOUR-Project-ID-Here"
region = "us-east5"

client = AnthropicVertex(project_id=project_id, region=region)

message = client.messages.create(
   
model="claude-3-5-sonnet@20240620",
   
max_tokens=100,
   
messages=[
       
{
           
"role": "user",
           
"content": "What is a roti?",
       
}
   
],
)
print(message)
  1. Нажмите Enter, чтобы запустить и увидеть результат.
  2. Вернитесь ко второму экземпляру экземпляра виртуальной машины anthro-vm. Вы должны увидеть результат TCPDUMP. Вы заметите, что IP-адрес виртуальной машины использует IP-адрес конечной точки PSC для подключения к us-east5-aiplatform.googleapis.com.

Закройте все сеансы SSH с экземпляром виртуальной машины anthro-vm

11. Поздравления

Поздравляем, вы успешно подключились к Anthropic на Vertex, используя как общедоступный адрес API, так и конфиденциально, используя конечную точку подключения частной службы для Googleapis. Эта функция может расширить возможности подключения частного API к вашей локальной или другой облачной среде, которая подключена через (Interconnect, Cross-Cloud Interconnect и VPC).

Очистить

gcloud compute instances delete anthro-vm --zone=us-east1-b --quiet

gcloud compute routers nats delete anthro-out-nat-gw --router=anthro-out-nat --region=us-east1 --quiet

gcloud compute routers delete anthro-out-nat --region=us-east1 --quiet

gcloud compute firewall-rules delete anthropic-net-allow-icmp anthropic-net-allow-ssh --quiet

gcloud compute forwarding-rules delete pscanthrovertex --global

gcloud dns record-sets delete googleapis.com. --zone googleapis-private --type A

gcloud dns record-sets delete *.googleapis.com --zone googleapis-private --type CNAME

gcloud dns managed-zones delete googleapis-private

gcloud compute addresses delete anthro-ip --global


gcloud compute networks subnets delete vm-subnet --region=us-east1 --quiet

gcloud compute networks delete anthropic-net --quiet

Вы можете узнать больше о сетях Vertex AI.

,
Доступ к Anthropic Claude на Vertex AI с помощью Python sdk через конечную точку Private Service Connect

О практической работе

subjectПоследнее обновление: сент. 6, 2024
account_circleАвторы: Ammett Williams & Sampath Kumar Maddula

1. Обзор

Доступ к Vertex AI API можно получить через Интернет , однако на вашем предприятии вы можете захотеть получить доступ к Vertex AI API в частном порядке, не выходя через Интернет. В ходе этой лабораторной работы вы сначала получите доступ к Anthropic Claude на Vertex через SDK Python, работающий на экземпляре виртуальной машины через общедоступный Интернет.

Затем вы создадите конечную точку Private Service Connect для Googleapis и измените поток трафика, чтобы использовать частную конечную точку для подключения к Vertex API.

В этой лабораторной работе вы создадите следующий узор.

Рисунок 1.

103967918b096e97.png

2. Цели

В ходе этой лабораторной работы вы научитесь выполнять следующую задачу:

  • Настройте экземпляр виртуальной машины для использования Python SDK
  • Подключитесь к чату Anthropic Claude с помощью скрипта Python
  • Настройте конечную точку PSC для подключения к Googleapis
  • Настройка записей DNS вручную
  • Проверьте путь подключения к Googleais

Установка лаборатории

Самостоятельная настройка среды

  1. Войдите в Google Cloud Console и создайте новый проект или повторно используйте существующий. Если у вас еще нет учетной записи Gmail или Google Workspace, вам необходимо ее создать .

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • Имя проекта — это отображаемое имя для участников этого проекта. Это строка символов, не используемая API Google. Вы всегда можете обновить его.
  • Идентификатор проекта уникален для всех проектов Google Cloud и является неизменяемым (невозможно изменить после его установки). Cloud Console автоматически генерирует уникальную строку; обычно тебя не волнует, что это такое. В большинстве лабораторий кода вам потребуется указать идентификатор проекта (обычно идентифицируемый как PROJECT_ID ). Если вам не нравится сгенерированный идентификатор, вы можете создать другой случайный идентификатор. Альтернативно, вы можете попробовать свой собственный и посмотреть, доступен ли он. Его нельзя изменить после этого шага и он сохраняется на протяжении всего проекта.
  • К вашему сведению, есть третье значение — номер проекта , которое используют некоторые API. Подробнее обо всех трех этих значениях читайте в документации .
  1. Затем вам необходимо включить выставление счетов в Cloud Console, чтобы использовать облачные ресурсы/API. Прохождение этой лаборатории кода не будет стоить много, если вообще что-то стоить. Чтобы отключить ресурсы и избежать выставления счетов за пределами этого руководства, вы можете удалить созданные вами ресурсы или удалить проект. Новые пользователи Google Cloud имеют право на участие в программе бесплатной пробной версии стоимостью 300 долларов США .

Запустить Cloud Shell

Хотя Google Cloud можно управлять удаленно с вашего ноутбука, в этой лаборатории вы будете использовать Google Cloud Shell , среду командной строки, работающую в облаке.

В Google Cloud Console щелкните значок Cloud Shell на верхней правой панели инструментов:

55efc1aaa7a4d3ad.png

Подготовка и подключение к среде займет всего несколько минут. Когда все будет готово, вы должны увидеть что-то вроде этого:

7ffe5cbb04455448.png

Эта виртуальная машина оснащена всеми необходимыми инструментами разработки. Он предлагает постоянный домашний каталог объемом 5 ГБ и работает в Google Cloud, что значительно повышает производительность сети и аутентификацию. Всю работу в этой лаборатории кода можно выполнять в браузере. Вам не нужно ничего устанавливать.

3. Задача 1. Среда настройки

Мы создадим собственный VPC с правилами брандмауэра. Если у вас уже есть VPC и проект, вы можете пропустить эту часть.

Откройте Cloud Shell, расположенный в верхней части консоли справа. И настройте следующим образом: 4261e776f64ea978.png

  1. Включите некоторые API, которые мы будем использовать в этой лабораторной работе.
gcloud services enable dns.googleapis.com
gcloud services enable aiplatform.googleapis.com
gcloud services enable servicedirectory.googleapis.com
  1. Установите несколько переменных. Эти переменные представляют собой идентификатор проекта и идентификатор сети пользовательского VPC (вы создадите VPC на шаге 4).
projectid=$(gcloud config get-value project)
networkid=anthropic-net 
echo $projectid
echo $networkid
clear
  1. Теперь создайте собственный VPC под названием anthropic-net.
gcloud compute networks create $networkid \
--project=$projectid \
--subnet-mode=custom \
--mtu=1460 \
--bgp-routing-mode=global
  1. Создайте подсеть vm1 в новом VPC.
gcloud compute networks subnets create vm-subnet \
--project=$projectid --range=10.0.88.0/24 \
--stack-type=IPV4_ONLY --network=$networkid \
--region=us-east1
  1. Добавьте правило межсетевого экрана ICMP в ваш VPC
gcloud compute firewall-rules create $networkid-allow-icmp --project=$projectid \
--network=$networkid \
--description="Allows ICMP connections from any source to any instance on the network." \
--direction=INGRESS \
--priority=65534 \
--source-ranges=0.0.0.0/0 \
--action=ALLOW \
--rules=icmp
  1. Добавьте правило брандмауэра SSH в ваш VPC
gcloud compute firewall-rules create $networkid-allow-ssh \
--project=$projectid \
--network=$networkid \
--description="Allows TCP connections from any source to any instance on the network using port 22." \
--direction=INGRESS --priority=65534 \
--source-ranges=0.0.0.0/0 --action=ALLOW \
--rules=tcp:22

4. Задача 2. Включить Anthropic в саду моделей Vertex

Нам нужно предоставить исходящий внешний доступ к Интернету, поэтому давайте создадим шлюз Cloud NAT и подключим его.

  1. Перейдите в Vertex AI и выберите Model Garden.
  2. Найдите Anthropic и выберите Claude 3.5 Sonnet.

4fd4338c598983d8.png

  1. Выберите «Включить» , вам потребуется ввести некоторую информацию. Заполните форму и выберите Далее
  2. На последней странице выберите «Согласен» , чтобы включить Claude 3.5 Sonnet. b3961312feb6c383.png

5. Задача 3. Создайте шлюз NAT и виртуальные машины.

Нам нужно предоставить исходящий внешний доступ к Интернету, поэтому давайте создадим шлюз Cloud NAT и подключим его.

В Cloud Shell используйте следующие команды

  1. Создайте облачный NAT.
gcloud compute routers create anthro-out-nat \
    --network $networkid \
    --region us-east1 
  1. Создайте шлюз Cloud NAT.
gcloud compute routers nats create anthro-out-nat-gw \
   
--router-region us-east1 \
   
--router anthro-out-nat \
   
--nat-all-subnet-ip-ranges \
   
--auto-allocate-nat-external-ips

Теперь давайте создадим одну виртуальную машину для доступа к Anthropic on Vertex AI через Python SDK.

Мы собираемся создать виртуальную машину для тестирования со следующими установленными пакетами.

  1. В том же сеансе облачной оболочки создайте anthro-vm, используя следующее.
gcloud compute instances create anthro-vm \
--project=$projectid \
--zone=us-east1-b \
--network-interface=stack-type=IPV4_ONLY,subnet=vm-subnet,no-address,network=$networkid \
--metadata startup-script="#! /bin/bash    
     
sudo apt-get update
     
sudo apt-get install python3 python3-dev python3-venv -y
     
sudo apt-get install tcpdump dnsutils -y
     
sudo -i
     
sudo mkdir -p ~/py-anthro-env
     
cd ~/py-anthro-env
     
python3 -m venv env
     
source env/bin/activate
     
pip install -U ipython google-cloud-aiplatform 'anthropic[vertex]'"

Вы должны увидеть виртуальную машину, созданную без общедоступных IP-адресов. Теперь давайте настроим виртуальную машину

6. Задача 4. Настроить ВМ и протестировать

  1. Перейдите к экземплярам виртуальных машин. Выберите виртуальную машину, начинающуюся с anthro-vm . Выберите SSH.
  2. Как только вы подключитесь к anthro-vm по SSH, включите root, набрав sudo -i
  3. Активируйте среду venv:
cd py-anthro-env
source env/bin/activate
  1. Теперь давайте аутентифицируем это, чтобы позже провести некоторое тестирование. Запустите следующую команду на виртуальной машине и нажмите y при появлении запроса.
gcloud auth application-default login
  1. Затем скопируйте URL-адрес, который начинается с https://, откройте новую вкладку в окне браузера лаборатории и вставьте URL-адрес. Примите подсказки.
  2. Когда вы увидите следующую копию выбора, вернитесь к сеансу vm anthro-vm и для ввода кода авторизации: вставьте скопированный код и нажмите Enter для аутентификации.

c29615cdf9324209.png

  1. Теперь давайте проведем быстрый тест, чтобы узнать, сможем ли мы подключиться к API Vertex Gemini. Он использует us-east5-aiplatform.googleapis.com , поэтому мы выполним dig по этому адресу, чтобы увидеть, как маршрутизируется трафик.
dig us-east5-aiplatform.googleapis.com
  1. Вы должны увидеть нечто похожее (адрес будет отличаться). Обратите внимание, что путь проходит через общедоступные IP-адреса, поскольку API является общедоступным API.
; <<>> DiG 9.16.48-Debian <<>> us-east5-aiplatform.googleapis.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9117
;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;us-east5-aiplatform.googleapis.com. IN A

;; ANSWER SECTION:
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.210.95
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.211.95
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.212.95
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.213.95
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.215.95
us-east5-aiplatform.googleapis.com. 300 IN A 173.194.216.95
us-east5-aiplatform.googleapis.com. 300 IN A 108.177.12.95
us-east5-aiplatform.googleapis.com. 300 IN A 108.177.13.95
us-east5-aiplatform.googleapis.com. 300 IN A 74.125.26.95
  1. Теперь давайте использовать Python. Введите ipython , чтобы активировать интерфейс ipython .
ipython

4685b31f13df54e1.png

  1. Теперь скопируйте и вставьте следующее. При этом Клод спрашивает: « Где пройдут Олимпийские игры в 2024 году! ». ps Замените YOUR-Project-ID-Here на имя вашего идентификатора проекта.
from anthropic import AnthropicVertex

project_id = "YOUR-Project-ID-Here"
region = "us-east5"

client = AnthropicVertex(project_id=project_id, region=region)

message = client.messages.create(
   
model="claude-3-5-sonnet@20240620",
   
max_tokens=100,
   
messages=[
       
{
           
"role": "user",
           
"content": "Where is the olympics being held in 2024!",
       
}
   
],
)
print(message)
  1. Нажмите Enter, чтобы запустить и увидеть результат.
  2. Этот запрос обращался к Anthropic через общедоступный API Vertex.
  3. Закройте сеанс SSH , продолжим.

7. Задача 5. Создайте конечную точку PSC для googleapis

Чтобы обеспечить частное подключение к нашей конечной точке API Vertex, мы создадим конечную точку Private Service Connect для googleapis. Это позволит нам использовать частный IP-адрес, который мы назначаем для маршрутизации трафика на нужный нам GoogleAPI, в данном случае на Vertex Gemini.

  1. Откройте Cloud Shell, если он еще не открыт. Создайте IP-адрес для конечной точки PSC. В этом случае мы будем использовать 192.168.255.230 .
gcloud compute addresses create anthro-ip \
   
--global \
   
--purpose=PRIVATE_SERVICE_CONNECT \
   
--addresses=192.168.255.230 \
   
--network=$networkid
  1. Проверьте созданный IP-адрес
gcloud compute addresses list --filter="name=( 'anthro-ip' ...)"
  1. Затем создайте конечную точку PSC.
gcloud compute forwarding-rules create pscanthrovertex \
   
--global \
   
--network=$networkid \
   
--address=anthro-ip \
   
--target-google-apis-bundle=all-apis
  1. Это создаст конечную точку и запись в каталоге служб. Убедитесь, что конечная точка существует
gcloud compute forwarding-rules describe pscanthrovertex --global

8. Задача 6. Проверка подключения конечной точки через зону автоматического каталога служб.

Давайте подключимся к Gemini, используя частную конечную точку.

  1. Перейдите к экземпляру виртуальной машины anthro-vm1 . Выберите SSH и SSH в виртуальной машине.
  2. Получите root-доступ, набрав sudo -i
  3. Проверьте путь подключения к aiplatform-pscanthrovertex.p.googleapis.com с помощью команды dig . Вы должны увидеть IP-адрес конечной точки PSC.
dig aiplatform-pscanthrovertex.p.googleapis.com

9. Задача 7. Создайте вручную DNS-запись в googleapis (необязательно)

Вы можете создать запись DNS вручную, чтобы указать на конечную точку PSC, используя частный DNS. Это повлияет на все сети, которые вы ему назначите.

  1. Перейдите к Сетевым службам и выберите Cloud DNS.
  2. В зонах вы должны увидеть автоматически созданную зону для Private Service Connect для API Google с каталогом службы типа зоны. Это можно использовать для подключения к конечной точке PSC в формате ** SERVICE-ENDPOINT. p.googleapis.com Пример aiplatform-pscvertexgemini.p.googleapis.com
  3. В этом случае мы хотим вручную создать частную запись DNS. Перейдите в Cloud DNS и выберите «Создать зону».
  4. Настройте следующим образом

Конфигурация

Имя

Тип зоны

Частный

Название зоны

googleapis-частный

DNS-имя

googleapis.com

Добавить сети (выберите «Готово» при добавлении)

антропная сеть

Для завершения выберите

Создавать

  1. В области «Сведения о зоне» выберите «Добавить стандарт» , чтобы добавить запись A.

Конфигурация

Имя

Тип записи ресурса

А

IPv4-адрес (добавьте IP-адрес конечной точки)

192.168.255.230

Для завершения выберите

Создавать

  1. В области сведений о зоне выберите Добавить стандарт , чтобы добавить запись CNAME.

Конфигурация

Имя

DNS-имя

*

Тип ресурса записи

CNAME

Каноническое имя 1

googleapis.com

Для завершения выберите

Создавать

  1. Вы должны увидеть настройку с записью A и CNAME, как показано ниже. b7f122f0d1fd2850.png
  2. Далее проверяем связность с этими изменениями на anthro-vm.

10. Задача 8. Проверка подключения конечной точки через IP-адрес (необязательно)

Давайте подключимся к Gemini, используя частную конечную точку.

  1. Перейдите к экземпляру виртуальной машины anthro-vm . Выберите SSH и SSH в виртуальной машине.
  2. Получите root-доступ, набрав sudo -i
  3. Проверьте путь подключения к us-east5-aiplatform.googleapis.com с помощью команды ping . Это выполнит проверку IP-адреса в частном DNS, записи для googleapis. Этот IP-адрес является конечной точкой PSC, и ваши пинги будут безуспешными.
ping -c 2 us-east5-aiplatform.googleapis.com
  1. Проверьте путь подключения с помощью ping используя автоматически созданную запись DNS для API Google PSC с помощью aiplatform-pscanthrovertex.p.googleapis.com . Это указывает на IP-адрес конечной точки PSC, и ваши пинги будут безуспешными.
ping -c 2 aiplatform-pscanthrovertex.p.googleapis.com
  1. Проверьте путь подключения к us-east5-aiplatform.googleapis.com с помощью команды dig . Это должен быть IP-адрес конечной точки PSC.
dig us-east5-aiplatform.googleapis.com
  1. Вернитесь в консоль и откройте другой экземпляр VM Instance anthro-vm . Выберите SSH и SSH в виртуальной машине.
  2. Получите root-доступ, набрав sudo -i
  3. Запустите следующую команду, чтобы увидеть подключение в дампе TCP.
sudo tcpdump -i any port 53 -n or host us-east5-aiplatform.googleapis.com
  1. Теперь вернитесь к первому экземпляру SSH экземпляра виртуальной машины anthro-vm.
  2. Активируйте окружение, используя
cd py-gem-env
source env/bin/activate
  1. Теперь давайте протестируем Python. Введите ipython , чтобы активировать интерфейс ipython .
ipython
  1. Теперь скопируйте и вставьте следующее. Это спрашивает Клода: « Что такое роти? ». ps Замените YOUR-Project-ID-Here на имя вашего идентификатора проекта.
from anthropic import AnthropicVertex

project_id = "YOUR-Project-ID-Here"
region = "us-east5"

client = AnthropicVertex(project_id=project_id, region=region)

message = client.messages.create(
   
model="claude-3-5-sonnet@20240620",
   
max_tokens=100,
   
messages=[
       
{
           
"role": "user",
           
"content": "What is a roti?",
       
}
   
],
)
print(message)
  1. Нажмите Enter, чтобы запустить и увидеть результат.
  2. Вернитесь ко второму экземпляру экземпляра виртуальной машины anthro-vm. Вы должны увидеть результат TCPDUMP. Вы заметите, что IP-адрес виртуальной машины использует IP-адрес конечной точки PSC для подключения к us-east5-aiplatform.googleapis.com.

Закройте все сеансы SSH с экземпляром виртуальной машины anthro-vm

11. Поздравления

Поздравляем, вы успешно подключились к Anthropic на Vertex, используя как общедоступный адрес API, так и конфиденциально, используя конечную точку подключения частной службы для Googleapis. Эта функция может расширить возможности подключения частного API к вашей локальной или другой облачной среде, которая подключена через (Interconnect, Cross-Cloud Interconnect и VPC).

Очистить

gcloud compute instances delete anthro-vm --zone=us-east1-b --quiet

gcloud compute routers nats delete anthro-out-nat-gw --router=anthro-out-nat --region=us-east1 --quiet

gcloud compute routers delete anthro-out-nat --region=us-east1 --quiet

gcloud compute firewall-rules delete anthropic-net-allow-icmp anthropic-net-allow-ssh --quiet

gcloud compute forwarding-rules delete pscanthrovertex --global

gcloud dns record-sets delete googleapis.com. --zone googleapis-private --type A

gcloud dns record-sets delete *.googleapis.com --zone googleapis-private --type CNAME

gcloud dns managed-zones delete googleapis-private

gcloud compute addresses delete anthro-ip --global


gcloud compute networks subnets delete vm-subnet --region=us-east1 --quiet

gcloud compute networks delete anthropic-net --quiet

Вы можете узнать больше о сетях Vertex AI.