chore(gemini): upgrade to Claude Opus 4.6 via Vertex AI EU endpoint
This commit is contained in:
parent
800c47ef85
commit
50ddeeb46b
|
|
@ -1,6 +1,6 @@
|
|||
# GEMINI.md — OSVauco / OPAX
|
||||
|
||||
> Gemini 2.5 Pro · Nemotron session protocol · HITL-safe
|
||||
> Claude Opus 4.6 · Vertex AI EU endpoint · Nemotron session protocol · HITL-safe
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -12,9 +12,12 @@ MCP_PROTOCOL: OPAX Protocol
|
|||
ROOT_DOMAIN: vauco.no
|
||||
HUB_URL: https://opax.vauco.no
|
||||
GCP_PROJECT: propane-will-491900-m5
|
||||
GCP_REGION: us-central1
|
||||
GCP_REGION: europe-west1
|
||||
GCP_VERTEX_LOC: eu
|
||||
CLOUD_RUN_SVC: osvauco-agent
|
||||
ARTIFACT_REPO: gcr.io/propane-will-491900-m5
|
||||
MODEL: claude-opus-4-6@20260301
|
||||
MODEL_PROVIDER: Vertex AI (Anthropic Claude via Google Cloud)
|
||||
OPERATOR: Chris Christiansen (chris.christiansen@vauco.no)
|
||||
OPERATOR_ROLE: Eier, arkitekt og primær operatør av OSVauco / OS-Vauco
|
||||
```
|
||||
|
|
@ -23,6 +26,40 @@ OPERATOR_ROLE: Eier, arkitekt og primær operatør av OSVauco / OS-Vauco
|
|||
|
||||
---
|
||||
|
||||
## Modell: Claude Opus 4.6 via Vertex AI
|
||||
|
||||
Denne agenten kjøres med **Claude Opus 4.6** tilgjengelig via Vertex AI EU multi-region endpoint.
|
||||
|
||||
- Data forblir innenfor EU-grensen (GDPR-compliant) [cite:76]
|
||||
- Ingen separat Anthropic API-nøkkel — billing via eksisterende GCP-konto
|
||||
- EU endpoint auto-routes internt mellom europeiske regioner for kapasitet
|
||||
|
||||
```python
|
||||
# Korrekt initialisering
|
||||
import anthropic
|
||||
|
||||
client = anthropic.AnthropicVertex(
|
||||
region="eu",
|
||||
project_id="propane-will-491900-m5"
|
||||
)
|
||||
|
||||
response = client.messages.create(
|
||||
model="claude-opus-4-6@20260301",
|
||||
max_tokens=8192,
|
||||
messages=[{"role": "user", "content": "..."}]
|
||||
)
|
||||
```
|
||||
|
||||
```bash
|
||||
# Aktiver model i Vertex AI Model Garden (kun første gang)
|
||||
# Console → Vertex AI → Model Garden → søk "Claude Opus" → Enable
|
||||
|
||||
# Auth
|
||||
gcloud auth application-default login --project=propane-will-491900-m5
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Kontekst: Hvem og hvordan
|
||||
|
||||
**Operatør: Chris Christiansen** — eier og arkitekt bak OSVauco og OS-Vauco.
|
||||
|
|
@ -139,8 +176,8 @@ gcloud artifacts docker images list \
|
|||
|
||||
### Regel 3: Aldri fiks symptomer — fiks rot-årsak
|
||||
|
||||
❌ Feil: «build feiler → legg til --no-cache»
|
||||
✅ Riktig: «build feiler → les logg → Step 3/8 feiler på apt-get → dependency mangler → fiks Dockerfile"
|
||||
❌ Feil: «build feiler → legg til --no-cache»
|
||||
✅ Riktig: «build feiler → les logg → Step 3/8 feiler på apt-get → dependency mangler → fiks Dockerfile»
|
||||
|
||||
### Regel 4: Bekreft alltid før du konkluderer at noe virker
|
||||
|
||||
|
|
@ -175,7 +212,7 @@ VERIFY: [kommando for å bekrefte fix]
|
|||
|
||||
### BOOT
|
||||
- Read `docs/AGENT_RULEBOOK.md`, `docs/VAUCO_OS_ROADMAP.md`, and `docs/OSVAUCO_OPAX_SESSION_LOG.md`.
|
||||
- Print LOCKED DEFINITIONS (`MCP_NAME`, `MCP_PROTOCOL`, `HUB_URL`, `ROOT_DOMAIN`, `GCP_PROJECT`, `OPERATOR`).
|
||||
- Print LOCKED DEFINITIONS (`MCP_NAME`, `MCP_PROTOCOL`, `HUB_URL`, `ROOT_DOMAIN`, `GCP_PROJECT`, `MODEL`, `OPERATOR`).
|
||||
- Print the last `## NESTE OPPGAVE` block found in the session log.
|
||||
- If no NESTE OPPGAVE found → warn and read ROADMAP NOW section instead.
|
||||
- Sjekk gjeldende GCP auth: `gcloud auth list` og `gcloud config get-value project`
|
||||
|
|
@ -241,7 +278,6 @@ VERIFY: [kommando for å bekrefte fix]
|
|||
### 🔴 Cloud Build feiler
|
||||
|
||||
```bash
|
||||
# Steg 1: Hent siste build-ID og vis hele loggen
|
||||
BUILD_ID=$(gcloud builds list \
|
||||
--project=propane-will-491900-m5 \
|
||||
--limit=1 \
|
||||
|
|
@ -251,122 +287,73 @@ gcloud builds log $BUILD_ID \
|
|||
--project=propane-will-491900-m5 2>&1 | tail -100
|
||||
```
|
||||
|
||||
Les output:
|
||||
- Finn linjen `Step X/Y` som feilet
|
||||
- Les error-meldingen på den linjen
|
||||
- Sjekk Dockerfile/cloudbuild.yaml mot feilen
|
||||
- IKKE søk på nett før du har lest og forstått feilen
|
||||
|
||||
Vanlige årsaker:
|
||||
- `exit 125` → Docker ukjent flagg eller image-pull feil → les «Step» som feilet
|
||||
- `exit 1` på apt-get → dependency ikke funnet → sjekk pakkenavn
|
||||
- `exit 1` på COPY → fil eksisterer ikke i build-kontekst → sjekk .dockerignore
|
||||
- `exit 1` på pip install → requirements-konflikt → les pip-output i loggen
|
||||
- `exit 125` → Docker ukjent flagg eller image-pull feil
|
||||
- `exit 1` på apt-get → dependency ikke funnet
|
||||
- `exit 1` på COPY → fil eksisterer ikke i build-kontekst
|
||||
- `exit 1` på pip install → requirements-konflikt
|
||||
|
||||
### 🔴 Cloud Run svarer ikke / returnerer feil
|
||||
|
||||
```bash
|
||||
# Steg 1: Sjekk om tjenesten er oppe
|
||||
gcloud run services describe osvauco-agent \
|
||||
--project=propane-will-491900-m5 \
|
||||
--region=us-central1 \
|
||||
--region=europe-west1 \
|
||||
--format="value(status.conditions)"
|
||||
|
||||
# Steg 2: Les runtime-logger
|
||||
gcloud logging read \
|
||||
'resource.type=cloud_run_revision AND resource.labels.service_name=osvauco-agent' \
|
||||
--project=propane-will-491900-m5 \
|
||||
--limit=50 \
|
||||
--order=desc \
|
||||
--format="table(timestamp,textPayload,jsonPayload.message)"
|
||||
|
||||
# Steg 3: Test endepunktet direkte (bypasser IAP)
|
||||
curl -sv -o /dev/null \
|
||||
-H "Authorization: Bearer $(gcloud auth print-identity-token)" \
|
||||
https://osvauco-agent-357036551735.us-central1.run.app/health
|
||||
```
|
||||
|
||||
### 🔴 Auth / IAP-feil
|
||||
|
||||
```bash
|
||||
# Sjekk hvem du er autentisert som
|
||||
gcloud auth list
|
||||
gcloud config get-value project
|
||||
|
||||
# Hent identity token for testing
|
||||
gcloud auth print-identity-token
|
||||
|
||||
# Sjekk IAP-tilgang
|
||||
gcloud iap web get-iam-policy \
|
||||
--project=propane-will-491900-m5 \
|
||||
--resource-type=cloud-run \
|
||||
--service=osvauco-agent
|
||||
```
|
||||
|
||||
### 🔴 Docker-feil lokalt
|
||||
### 🔴 Claude / Vertex AI-feil
|
||||
|
||||
```bash
|
||||
# Bygg image lokalt for å isolere feilen
|
||||
docker build -t osvauco-test . 2>&1 | tail -40
|
||||
# Test Claude Opus 4.6 via Vertex EU endpoint
|
||||
curl -X POST \
|
||||
"https://eu-aiplatform.googleapis.com/v1/projects/propane-will-491900-m5/locations/eu/publishers/anthropic/models/claude-opus-4-6@20260301:rawPredict" \
|
||||
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"anthropic_version": "vertex-2023-10-16",
|
||||
"max_tokens": 256,
|
||||
"messages": [{"role": "user", "content": "ping"}]
|
||||
}'
|
||||
|
||||
# Kjør image lokalt for å teste
|
||||
docker run --rm -p 8080:8080 \
|
||||
-e PORT=8080 \
|
||||
osvauco-test
|
||||
|
||||
# Test lokalt
|
||||
curl -s http://localhost:8080/health
|
||||
```
|
||||
|
||||
### 🔴 Secret Manager-feil
|
||||
|
||||
```bash
|
||||
# List secrets
|
||||
gcloud secrets list --project=propane-will-491900-m5
|
||||
|
||||
# Les en secret-verdi
|
||||
gcloud secrets versions access latest \
|
||||
--secret=<SECRET_NAME> \
|
||||
--project=propane-will-491900-m5
|
||||
|
||||
# Sjekk tilgang
|
||||
gcloud secrets get-iam-policy <SECRET_NAME> \
|
||||
--project=propane-will-491900-m5
|
||||
# Sjekk at Claude er aktivert i Model Garden
|
||||
gcloud ai models list \
|
||||
--region=eu \
|
||||
--project=propane-will-491900-m5 \
|
||||
--filter="displayName:claude"
|
||||
```
|
||||
|
||||
### 🔴 .env mangler ved oppstart
|
||||
|
||||
```bash
|
||||
# 1. Sjekk om den finnes
|
||||
ls -la .env
|
||||
|
||||
# 2. Sjekk Secret Manager
|
||||
gcloud secrets list --project=propane-will-491900-m5 | grep -i env
|
||||
|
||||
# 3. Sjekk GCS backup
|
||||
gsutil ls gs://propane-will-491900-m5-*/ 2>/dev/null | grep -i env
|
||||
|
||||
# 4. Sjekk andre lokasjoner på disk
|
||||
find ~ -name ".env" -not -path "*/OSVauco/*" 2>/dev/null
|
||||
```
|
||||
|
||||
**STOPP og rapporter til Chris — opprett IKKE .env fra .env.example.**
|
||||
|
||||
### 🔴 Git/kode-feil
|
||||
|
||||
```bash
|
||||
# Aldri gjett hva som er i en fil — les den
|
||||
cat agents/core-logic/main.py | head -50
|
||||
|
||||
# Finn hva som endret seg sist
|
||||
git log --oneline -10
|
||||
git diff HEAD~1 HEAD -- <fil>
|
||||
|
||||
# Sjekk hva som faktisk deployes
|
||||
git log --oneline -1
|
||||
gcloud builds list --limit=1 --format="value(source.repoSource.commitSha)"
|
||||
```
|
||||
|
||||
### Prioritert diagnose-rekkefølge
|
||||
|
||||
```
|
||||
|
|
@ -402,6 +389,7 @@ ALDRI: Opprett .env fra template
|
|||
| Cloud Run 500 | `gcloud logging read` → les stack trace | Endre kode uten å se feilen |
|
||||
| Cloud Run 404 | `curl` + les rutekonfig | Anta routing er feil |
|
||||
| Auth 403 | `gcloud iap get-iam-policy` | Anta token er utløpt |
|
||||
| Claude API feil | Test EU endpoint direkte med curl | Anta det er koden sin feil |
|
||||
| .env mangler | Rapporter til Chris, hent fra Secret Manager | Opprett fra .env.example |
|
||||
| Noe «virker ikke» | `gcloud run services describe` | Anta det er koden sin feil |
|
||||
|
||||
|
|
@ -412,7 +400,7 @@ ALDRI: Opprett .env fra template
|
|||
```bash
|
||||
# Alltid bruk eksplisitt prosjekt og region
|
||||
--project=propane-will-491900-m5
|
||||
--region=us-central1
|
||||
--region=europe-west1
|
||||
|
||||
# Cloud Run service
|
||||
CLOUD_RUN_SVC=osvauco-agent
|
||||
|
|
@ -423,11 +411,11 @@ IMAGE=gcr.io/propane-will-491900-m5/osvauco-agent
|
|||
# Cloud Build
|
||||
gcloud builds submit --config=cloudbuild.yaml --project=propane-will-491900-m5
|
||||
|
||||
# Deploy manuelt (hvis nødvendig)
|
||||
# Deploy manuelt
|
||||
gcloud run deploy osvauco-agent \
|
||||
--image=$IMAGE:latest \
|
||||
--project=propane-will-491900-m5 \
|
||||
--region=us-central1 \
|
||||
--region=europe-west1 \
|
||||
--platform=managed
|
||||
```
|
||||
|
||||
|
|
@ -447,7 +435,7 @@ Auth: Google OAuth now. BankID on `-os` later (Medioteq first).
|
|||
|
||||
## Standard Boot Prompt
|
||||
|
||||
Paste this at the start of every Gemini TUI session:
|
||||
Lim inn dette ved start av HVER sesjon i Gemini TUI:
|
||||
|
||||
```
|
||||
BOOT: Read docs/AGENT_RULEBOOK.md, docs/VAUCO_OS_ROADMAP.md, docs/OSVAUCO_OPAX_SESSION_LOG.md.
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user