Przejdź do głównej zawartości
Wersja: 2026 R1

Google Vertex AI

Google Vertex AI zapewnia dostęp do rodziny modeli Gemini - zaawansowanych modeli multimodalnych obsługujących tekst, obrazy, dźwięk i wideo. Modele Gemini wyróżniają się dużym oknem kontekstu (do 2M tokenów w niektórych wersjach), szybkością działania i konkurencyjnymi cenami.

Kiedy wybrać Google Vertex AI

Duże dokumenty i długi kontekst:

  • Analiza dokumentów wielostronicowych
  • Przetwarzanie długich konwersacji i historii
  • Kontekst obejmujący całe bazy wiedzy

Przetwarzanie multimedialne:

  • Analiza obrazów i wykrywanie obiektów
  • Transkrypcja i analiza dźwięku
  • Przetwarzanie wideo

Optymalizacja kosztów:

  • Modele Gemini Flash oferują najlepszy stosunek ceny do wydajności
  • Niższe koszty dla dużych wolumenów zapytań

Integracja z GCP:

  • Już korzystasz z Google Cloud Platform
  • Potrzebujesz funkcji RAG z Vertex AI Search

Wymagania

  • Konto Google Cloud Platform (GCP)
  • Projekt w GCP z włączonym Vertex AI API
  • Service Account Key (plik JSON)
  • Google Cloud Storage Bucket (dla przetwarzania plików)

Krok 1: Przygotowanie w Google Cloud

1. Utwórz Service Account

  1. Przejdź do Google Cloud Console
  2. Wybierz projekt lub utwórz nowy
  3. Przejdź do IAM & Admin > Service Accounts
  4. Kliknij Create Service Account
  5. Nadaj nazwę (np. aiproxy-vertex)
  6. Przypisz role:
    • Vertex AI User
    • Storage Object Admin (dla bucket)
  7. Kliknij Create key > JSON i pobierz plik

2. Włącz API

  1. Przejdź do APIs & Services > Library
  2. Włącz następujące API:
    • Vertex AI API
    • Cloud Storage API

3. Utwórz Storage Bucket

  1. Przejdź do Cloud Storage > Buckets
  2. Kliknij Create bucket
  3. Nadaj nazwę (np. aiproxy-files)
  4. Wybierz region (np. us-central1)
  5. Kliknij Create
Bucket jest wymagany

Storage Bucket jest potrzebny do przetwarzania plików (obrazy, audio, dokumenty) przez modele Gemini.

Krok 2: Konfiguracja AI Proxy

Przykład aiconfiguration.json

{
"ProviderConnections": {
"GoogleVertex": {
"Description": "Google Vertex AI Connection",
"Type": "Gemini",
"ProviderConfiguration": {
"ApiKey": "your-google-api-key-if-available",
"ServiceAccount": "{\"type\":\"service_account\",\"project_id\":\"your-project\",\"private_key_id\":\"...\",\"private_key\":\"-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----\\n\",\"client_email\":\"aiproxy-vertex@your-project.iam.gserviceaccount.com\",\"client_id\":\"...\",\"auth_uri\":\"https://accounts.google.com/o/oauth2/auth\",\"token_uri\":\"https://oauth2.googleapis.com/token\"}",
"ProjectId": "your-gcp-project-id",
"Region": "us-central1",
"BucketName": "aiproxy-files"
}
}
},
"ProviderModels": [
{
"ConnectionName": "GoogleVertex",
"Priority": 100,
"Name": "Gemini Flash",
"Description": "",
"TextModel": {
"ModelName": "gemini-2.0-flash-exp"
},
"ImageModel": {
"ModelName": "imagen-3.0-fast-generate-001"
},
"AudioModel": {
"ModelName": "gemini-2.0-flash-exp"
},
"EmbeddingModel": {
"ModelName": "text-embedding-004"
}
}
],
"MethodTypesConfiguration": {
"ConciergePrompt": [ "Gemini Flash" ],
"ConciergeExecuteTool": [ "Gemini Flash" ]
}
}
Ważne
  • ServiceAccount - wklej całą zawartość pobranego pliku JSON jako string (z escaped cudzysłowami)
  • ProjectId - ID projektu z Google Cloud
  • Region - region gdzie masz włączony Vertex AI (np. us-central1, europe-west1)
  • BucketName - nazwa utworzonego Storage Bucket
Modele Gemini

Zalecane modele to gemini-flash lub gemini-flash-lite - są multimodal (obsługują tekst, obrazy, audio) i wystarczająco wydajne dla większości zastosowań.

Przykład docker-compose.yml

name: aiproxy_containers
services:
ai-proxy:
image: webconbps/aiproxy:1.0.0.235
container_name: ai-proxy
restart: unless-stopped
ports:
- "5298:8080"
- "7033:8081"
environment:
- ASPNETCORE_ENVIRONMENT=Production
- AppConfiguration__SelfHosted__Certificate__Path=/app/https/certificate.pem
- Logging__LogLevel__Default=Information
- Logging__LogLevel__Microsoft=Warning
volumes:
- ./certificates/certificate.pem:/app/https/certificate.pem:ro
- ./aiconfiguration.json:/app/aiconfiguration.json:ro

Krok 3: Uruchomienie

# Upewnij się że masz przygotowane pliki:
# - ./certificates/certificate.pem
# - ./aiconfiguration.json (z całą zawartością Service Account JSON)

# Uruchom kontener
docker-compose up -d

# Sprawdź logi
docker-compose logs -f ai-proxy

Rozwiązywanie problemów

Błąd: Permission denied / 403 Forbidden

Przyczyny:

  • Service Account nie ma wymaganych uprawnień
  • API nie są włączone w projekcie

Rozwiązanie:

# Sprawdź czy Service Account ma role:
# - Vertex AI User
# - Storage Object Admin

# Sprawdź czy API są włączone:
# - Vertex AI API
# - Cloud Storage API

# Zrestartuj kontener
docker-compose restart ai-proxy

Błąd: Invalid Service Account JSON

Przyczyny:

  • Nieprawidłowy format JSON w ServiceAccount
  • Cudzysłowy nie są escaped

Rozwiązanie:

# ServiceAccount musi być stringiem JSON z escaped cudzysłowami
# Przykład poprawnego formatu:
# "ServiceAccount": "{\"type\":\"service_account\",\"project_id\":\"my-project\"...}"

# Możesz użyć narzędzi online do escape JSON string

Błąd: Bucket not found

Przyczyny:

  • Bucket o podanej nazwie nie istnieje
  • Service Account nie ma dostępu do bucket

Rozwiązanie:

# Sprawdź czy bucket istnieje w Cloud Storage
# Upewnij się że Service Account ma rolę Storage Object Admin
# Sprawdź czy BucketName w konfiguracji jest poprawny

Popularne modele Gemini

Zalecane modele do użycia z AI Proxy:

Modele tekstowe/multimodal:

  • gemini-2.0-flash-exp - najnowszy, szybki, multimodal (tekst, obrazy, audio)
  • gemini-2.0-flash-lite - lżejsza wersja, nadal multimodal
  • gemini-1.5-flash - sprawdzona wersja, multimodal
  • gemini-1.5-pro - większy model, więcej możliwości

Modele embeddings:

  • text-embedding-004 - najnowszy model do embeddingów
  • text-multilingual-embedding-002 - wsparcie dla wielu języków

Modele obrazów:

  • imagen-3.0-fast-generate-001 - szybkie generowanie obrazów
  • imagen-3.0-generate-001 - wyższa jakość
Modele multimodal

Modele z rodziny gemini-flash są multimodal - obsługują teksty, obrazy i audio w jednym modelu, co upraszcza konfigurację.