Files
boc/academy-gemini-integration.md
T
Bernt aee0f09db8 landvex: Fixar och tester klara för alla komponenter
- Datafabrik: Dockerfile fix, agentorkestrering fungerar
- Vision: Identify-modell, FAISS, OCR alla testade
- API: Alla 7 integrationstester passerade
- Upplösare: Entitetsupplösning verifierad
2026-07-05 06:41:32 +00:00

4.2 KiB

quiXzoom Academy — Gemini Integration Guide

Hur du kopplar AAMOS Gemini till Academy för bildgenerering


🔍 Hitta din Gemini i AAMOS

Steg 1: Leta efter Gemini-tjänsten

# Sök efter Gemini-relaterade filer
find /opt/amos -type f \( -name "*.py" -o -name "*.yaml" -o -name "*.env" \) \
  -exec grep -l "gemini\|vertex.*ai\|generativelanguage" {} \; 2>/dev/null

# Kolla om det finns en körande tjänst
curl -s http://localhost:8080/health
curl -s http://localhost:5000/health
netstat -tlnp | grep -E "8080|5000|3000"

Steg 2: Hitta API-nyckeln

# Kolla miljövariabler
env | grep -i "gemini\|google\|vertex"

# Kolla i AAMOS-config
cat /opt/amos/.env 2>/dev/null | grep -i "gemini\|google"
cat /opt/amos/config.yaml 2>/dev/null | grep -i "gemini\|google"

# Kolla i Kubernetes secrets (om det körs i k8s)
kubectl get secrets -n aamos 2>/dev/null | grep -i gemini

🔧 Integration

Alternativ A: Direkt API-anrop (enklaste)

# academy_gemini_direct.py
import os
import requests
import json

GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")

def generate_academy_image(lesson_title: str, description: str) -> str:
    """
    Generera pedagogisk bild för Academy-lektion
    """
    url = f"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-exp-image-generation:generateContent?key={GEMINI_API_KEY}"
    
    payload = {
        "contents": [{
            "parts": [{
                "text": f"""Generera en pedagogisk illustration för en online-utbildning.
                
Titel: {lesson_title}
Beskrivning: {description}

Krav:
- Modern, ren stil
- Färger: blå (#0066FF), grön (#00C853), svart (#0A0A0A)
- Pedagogisk och lätt att förstå
- Ingen text i bilden
- Format: 16:9
"""
            }]
        }],
        "generationConfig": {
            "responseModalities": ["Text", "Image"]
        }
    }
    
    response = requests.post(url, json=payload)
    
    if response.status_code == 200:
        data = response.json()
        # Extrahera bild från response
        # Spara till fil
        return "image_url"
    else:
        raise Exception(f"Fel: {response.status_code} - {response.text}")

# Exempel
image = generate_academy_image(
    "Fotokvalitet — Ljus och exponering",
    "Visa skillnaden mellan underexponerad, korrekt exponerad och överexponerad bild"
)

Alternativ B: Via AAMOS Gemini-tjänst (om den finns)

# academy_gemini_aamos.py
import requests

AAMOS_GEMINI_URL = "http://localhost:8080/v1/generate"  # eller annan port

def generate_via_aamos(prompt: str) -> bytes:
    """
    Använd AAMOS interna Gemini-tjänst
    """
    response = requests.post(
        AAMOS_GEMINI_URL,
        json={
            "prompt": prompt,
            "model": "gemini-2.0-flash-exp-image-generation",
            "output_format": "png"
        }
    )
    
    return response.content

🚀 Automatisk bildgenerering

# Kör skriptet för att generera alla bilder
python academy-image-generator.py --generate

# Eller generera en specifik bild
python -c "
from academy_image_generator import generate_image
import os
os.environ['GEMINI_API_KEY'] = 'din-nyckel-här'
generate_image('m2l2', 'din-nyckel-här')
"

📁 Filstruktur

academy/
├── index.html              # Huvudsida
├── api.json                # API-specifikation
├── module1/
│   └── lesson1/
│       └── index.html      # Lektion med bilder
├── module2/
│   └── lesson1/
│       └── index.html      # Lektion med bilder
└── images/                 # Genererade bilder
    ├── m1l1-welcome.png
    ├── m2l1-ai-review.png
    ├── m2l2-lighting.png
    └── ...

🎯 Nästa steg

  1. Hitta din Gemini-nyckel i AAMOS
  2. Testa generering av en bild
  3. Ladda upp till S3
  4. Uppdatera lektionerna med bild-URLer
  5. Automatisera med GitHub Actions eller cron

📞 Support

Om du inte hittar Gemini i AAMOS:

  1. Kolla med Johan (CTO) om det finns en central AI-tjänst
  2. Eller skapa ett nytt Google Cloud-projekt för quiXzoom
  3. Aktivera Vertex AI API
  4. Skapa service account och ladda ner JSON-nyckel