- Akamai Cloud-Konto und API‑Token
- OpenAI-API‑Schlüssel
- Lokale Terraform-Installation
- Lokale kubectl-Installation
- Lokale s3cmd-Installation
- Zugriff auf GitHub-Repository
- SSH‑Schlüsselpaar für den Bereitstellungsschlüssel
Bevor Sie beginnen
Beschaffen bzw. installieren Sie die nötigen Anmeldedaten und Befehlszeilentools, um die Infrastruktur bereitzustellen, Dokumente hochzuladen und die Anwendung bereitzustellen.
Entwicklung eines RAG‑Chatbots in vier Phasen
Stellen Sie die Infrastruktur bereit, laden Sie die Knowledge Base hoch, stellen Sie die Anwendung bereit und validieren Sie den fertigen Chatbot.
Klonen Sie das Projekt:
git clone https://github.com/akamai-developers/rag-langgraph-k8s-quickstart.git
cd rag-langgraph-k8s-quickstart
Kopieren Sie die Terraform-Beispieldatei und konfigurieren Sie sie mit Ihrem Akamai Cloud-API‑Token und den bevorzugten Ressourceneinstellungen:
cp terraform/terraform.tfvars.example terraform/terraform.tfvars
Stellen Sie das LKE‑Cluster, zwei PostgreSQL-Datenbanken und den Object-Storage-Bucket bereit:
cd terraform
terraform init
terraform plan
terraform apply
Sorgen Sie für sichere Terraform-Ausgaben – sie enthalten vertrauliche Verbindungsdetails.
Laden Sie die Terraform-Ausgaben in Umgebungsvariablen:
export S3_BUCKET=$(terraform output -raw S3_BUCKET_NAME)
export S3_ENDPOINT=$(terraform output -raw S3_ENDPOINT)
export S3_ACCESS_KEY=$(terraform output -raw S3_ACCESS_KEY)
export S3_SECRET_KEY=$(terraform output -raw S3_SECRET_KEY)
Laden Sie die enthaltenen Airline-Richtliniendokumente hoch:
s3cmd sync ../documents/ s3://${S3_BUCKET}/ \
--host=${S3_ENDPOINT} \
--host-bucket=${S3_ENDPOINT} \
--access_key=${S3_ACCESS_KEY} \
--secret_key=${S3_SECRET_KEY}
Sie können die Beispielrichtlinien durch Ihre eigenen PDF-, HTML- oder Textdokumente ersetzen.
Legen Sie die generierte kubeconfig fest:
export KUBECONFIG=./kubeconfig.yaml
Rufen Sie die anfänglichen App Platform-Anmeldedaten aus dem keycloak-Namespace ab und melden Sie sich an.
In App Platform:
- Installieren Sie die Harbor-Containerregistrierung.
- Generieren Sie einen GitHub-Bereitstellungsschlüssel.
- Fügen Sie den öffentlichen Schlüssel zum Repository hinzu.
- Speichern Sie den privaten Schlüssel als Sealed Secret.
- Verbinden Sie das Code-Repository.
- Erstellen Sie das Anwendungsimage.
- Erstellen Sie Sealed Secrets für OpenAI, PostgreSQL, Object Storage und den Admin-API‑Schlüssel.
- Fügen Sie Netzwerkrichtlinien für beide PostgreSQL-Datenbanken hinzu.
- Erstellen Sie die Workload über charts/workflow.example.yaml.
- Erstellen Sie einen öffentlichen Service für die Anwendung.
Verwenden Sie keine festcodierten Anmeldedaten in der Repository- oder Workload-Konfiguration.
Überprüfen Sie, ob die Anwendung ausgeführt wird:
curl http://<Ihr Service-Endpoint>/api/health
Initialisieren Sie die Datenbanken:
curl -X POST \
--header "x-api-key: <your-admin-api-key>" \
http://<Ihr Service-Endpoint>/api/admin/initialize_databases
Indizieren Sie die Richtliniendokumente:
curl -X POST \
--header "x-api-key: <your-admin-api-key>" \
http://<Ihr Service-Endpoint>/api/admin/index_documents
Verwenden Sie die zurückgegebene Job‑ID, um den Fortschritt zu überprüfen:
curl -X GET \
--header "x-api-key: <your-admin-api-key>" \
http://<Ihr Service-Endpoint>/api/admin/index_documents/<job-id>
Wenn die Indizierung abgeschlossen ist, öffnen Sie den Service-Endpoint und stellen Sie eine Frage zu den hochgeladenen Richtlinien.
Häufig gestellte Fragen (FAQ)
Häufig gestellte Fragen (FAQ)
Die Anwendung kann PDF-, HTML- und Textdateien verarbeiten, die in Object Storage gespeichert sind.
Eine speichert Vektoreinbettungen für semantische Abrufe. Die zweite speichert den Unterhaltungsverlauf und den LangGraph-Status.
Nein. Das aktuelle Projekt verwendet OpenAI‑APIs für Einbettungen und Chatabschluss. Sie können es später so anpassen, dass es ein Open‑Source-Modell auf GPU‑gestützten LKE‑Knoten ausführt.
Ja. Ersetzen Sie die Beispiel-Airline-Richtlinien im Verzeichnis documents durch Ihre eigenen unterstützten Dateien, bevor Sie sie hochladen.
Das Projekt verwendet Sealed Secrets für OpenAI-, Datenbank-, Object Storage-, Bereitstellungsschlüssel- und Admin-Anmeldedaten.
Der Indizierungsendpoint gibt eine Job‑ID zurück. Verwenden Sie den Status-Endpoint, um den Job zu überwachen, bevor Sie den Chatbot testen.
Nein. Akamai Cloud-Credits gelten für berechtigte Akamai Cloud-Infrastruktur. Die OpenAI‑API-Nutzung wird separat abgerechnet.