Die folgende bereitstellbare Architektur automatisiert die Bereitstellung eines Beispiel-Gen-AI-Patterns in IBM Cloud, einschließlich der gesamten zugrunde liegenden IBM Cloud- und WatsonX-Infrastruktur. Diese Architektur implementiert die Best Practices für die Watsonx-Gen-AI-Pattern-Bereitstellung in IBM Cloud, wie in der Referenzarchitektur beschrieben.
Diese einsetzbare Architektur bietet eine umfassende Grundlage für Vertrauen, Beobachtbarkeit, Sicherheit und Einhaltung gesetzlicher Vorschriften. Die Architektur konfiguriert ein IBM Cloud-Konto so, dass es den Compliance-Einstellungen entspricht. Darüber hinaus werden Schlüsselverwaltungs- und Geheimnisverwaltungsdienste sowie die Infrastruktur bereitgestellt, um Pipelines für kontinuierliche Integration (CI), kontinuierliche Bereitstellung (CD) und kontinuierliche Compliance (CC) für die sichere Verwaltung des Anwendungslebenszyklus zu unterstützen. Außerdem werden die WatsonX-Services-Suite und IBM Cloud Elasticsearch bereitgestellt, um ein RAG-Muster zu ermöglichen. Diese Pipelines erleichtern die Bereitstellung der Anwendung, prüfen auf Schwachstellen und Überprüfbarkeit und tragen dazu bei, eine sichere und vertrauenswürdige Bereitstellung generativer KI-Anwendungen in IBM Cloud sicherzustellen.
Für diese bereitstellbare Architektur stehen zwei Varianten zur Verfügung:
Grundvariante:
Standardvariante:
Diese bereitstellbare Architektur soll eine vollständig automatisierte Bereitstellung einer abrufbaren Augmented-Generation-Anwendung durch IBM Cloud Projects demonstrieren. Es bietet eine flexible und anpassbare Grundlage für Ihre eigenen Watsonx-Anwendungen in der IBM Cloud. Diese Architektur stellt standardmäßig die folgende Beispielanwendung bereit.
Durch die Verwendung dieser Architektur können Sie Ihre Bereitstellung beschleunigen und sie an Ihre Geschäftsanforderungen und Unternehmensziele anpassen.
Diese Architektur kann Ihnen dabei helfen, die folgenden Ziele zu erreichen:
Stellen Sie vor der Bereitstellung der bereitstellbaren Architektur sicher, dass Sie die folgenden Aktionen ausführen:
Wichtig
Sie müssen einen API-Schlüssel verwenden, der einem Benutzer zugeordnet ist. Sie können keine Dienst-ID-Schlüssel oder vertrauenswürdigen Profile verwenden.
Kopieren Sie den Wert des API-Schlüssels. Sie benötigen es in den folgenden Schritten.
In Test- oder Evaluierungsumgebungen können Sie die Administratorrolle für die folgenden Dienste zuweisen
User API key creator
zu, da diese für eine erfolgreiche OpenShift-Clusterbereitstellung obligatorisch ist.Um den Zugriff für eine Produktionsumgebung stärker einzuschränken, sehen Sie sich die Mindestberechtigungsstufe auf der Registerkarte „Berechtigung“ dieser bereitstellbaren Architektur an.
gpg --gen-key
ohne Passphrase ausführen (falls dieser nicht abgelaufen ist, können Sie einen zuvor generierten Schlüssel verwenden).gpg --export-secret-key <email address> | base64
ausführen gpg --export-secret-key <email address> | base64
. Weitere Informationen zum Speichern des Schlüssels finden Sie unter Generieren eines GPG-Schlüssels.Fügen Sie einen Namen und eine Beschreibung hinzu.
Wählen Sie eine Region und eine Ressourcengruppe für das Projekt aus. Zu Auswertungszwecken können Sie beispielsweise die Region auswählen, die Ihnen am nächsten liegt, und die Standardressourcengruppe.
Weitere Informationen zu den Unternehmenskontostrukturen finden Sie im Whitepaper zum Zentraladministrationskonto.
Geben Sie einen Konfigurationsnamen ein. Zum Beispiel „RAG“, „dev“ oder „prod“. Der Name kann Ihnen später bei der Zuordnung zu Ihrem Bereitstellungsziel helfen.
Sie können nun Ihre Konfiguration erstellen, indem Sie Variablen festlegen.
Wählen Sie im Bereich „Sicherheit“ die Authentifizierungsmethode aus, die Sie zum Bereitstellen Ihrer Architektur verwenden möchten.
Fügen Sie den API-Schlüssel aus den Voraussetzungen unter Bevor Sie beginnen hinzu.
Wählen Sie auf der Registerkarte Sicherheit > Authentifizierung im Abschnitt Konfigurieren den API-Schlüssel aus.
Geben Sie Werte für erforderliche Felder auf der Registerkarte „Erforderlich“ ein.
Überprüfen Sie die Werte für optionale Felder auf der Registerkarte „Optional“ :
signing_key
aus den Voraussetzungen unter Bevor Sie beginnen an.Klicken Sie auf Speichern . Nachdem die Eingabewerte validiert wurden, ändert sich die Schaltfläche zu „Stack-Konfigurationen anzeigen“ .
Sie können eine gestapelte, bereitstellbare Architektur auf zwei Arten über die IBM Cloud-Konsole bereitstellen:
Durch die Verwendung der automatischen Bereitstellung : Die Bereitstellungsmethode kann für Demonstrations- und Nichtproduktionsumgebungen nützlich sein. Bei der automatischen Bereitstellung werden alle Stack-Mitgliedskonfigurationen validiert und anschließend genehmigt und bereitgestellt.
Sie können die Einstellung für die automatische Bereitstellung für Ihr Projekt überprüfen, indem Sie auf Verwalten > Einstellungen klicken. Durch Aktivieren der automatischen Bereitstellung aktivieren Sie die Einstellung für alle Konfigurationen im Projekt.
Einzeln durch Bereitstellung jeder Mitgliedskonfiguration. Die manuelle Methode eignet sich für Projekte, die Produktionsumgebungen enthalten. Sie können die Änderungen in jeder Mitgliedskonfiguration überprüfen, bevor die Automatisierung ausgeführt wird.
Tipp
Nachdem Sie die Konfiguration genehmigt haben, erhalten Sie möglicherweise die Fehlermeldung „Ihre Konfiguration konnte nicht validiert werden“. Um das Problem zu beheben, aktualisieren Sie Ihren Browser.
Möglicherweise werden in Ihrer Projektkonfiguration in der Spalte „Beachtung erforderlich “ Benachrichtigungen „Neue Version verfügbar“ angezeigt. Sie können diese Meldungen ignorieren, da sie Sie nicht daran hindern, den Stack bereitzustellen.
Klicken Sie auf das Symbol „Optionen“ neben „Stack-Konfigurationen anzeigen“ und dann auf „Validieren“ .
Wenn die Einstellung „Automatische Bereitstellung“ in Ihrem Projekt deaktiviert ist, werden nur bereite Mitgliedskonfigurationen validiert.
Klicken Sie in Ihrem Projekt auf die Registerkarte Konfigurationen .
Wenn die erste Mitgliedskonfiguration des Stacks ( Account Infrastructure Base
) nicht als Bereit zur Validierung markiert ist, aktualisieren Sie die Seite in Ihrem Browser.
Klicken Sie in der Zeile Account Infrastructure Base
auf „Im Entwurfsstatus validieren “.
Genehmigen Sie die Konfiguration und klicken Sie auf „Bereitstellen“, nachdem die Validierung erfolgreich abgeschlossen wurde.
Nachdem Sie die anfängliche Mitgliedskonfiguration bereitgestellt haben, können Sie gleichzeitig die verbleibende Mitgliedskonfiguration validieren und bereitstellen. Wiederholen Sie diese Bereitstellungsschritte für jede Mitgliedskonfiguration in der Architektur.
Die bereitstellbare Architektur „Retrieval Augmented Generation Pattern“ ist jetzt im Zielkonto bereitgestellt.
Nachdem die Architektur bereitgestellt wurde, wird die Beispielanwendung im neu bereitgestellten DevOps-Dienst gestartet.
Führen Sie die folgenden Schritte aus, um die Erstellung und Bereitstellung der Anwendung zu überwachen:
resource_group_name
der bereitstellbaren Architektur.Workload - Sample RAG App Configuration
.Outputs
wird die URL zur bereitgestellten Anwendung unter der Ausgabe sample_app_public_url
aufgeführt. Um die Kosten zu minimieren, stellt die Automatisierung einen Testpreisplan von Secrets Manager bereit. Sie können nur eine Testinstanz von Secrets Manager erstellen. Sie können eine Standardplaninstanz von Secrets Manager über die optionalen Einstellungen des Stacks bereitstellen.
Um das Problem zu beheben, löschen Sie die Testinstanz. Löschen Sie nach dem Löschen auch den Dienst aus dem Wiederherstellungsstatus.
Wenn Sie in IBM Cloud eine Ressource löschen, verschwindet sie nicht sofort. Stattdessen geht es in einen Wiederherstellungszustand über, in dem es für kurze Zeit (normalerweise 7 Tage) verbleibt, bevor es endgültig gelöscht wird. Während des Wiederherstellungsstatus können Sie die Ressource bei Bedarf wiederherstellen.
Führen Sie die folgenden IBM Cloud-CLI-Befehle aus, um den Service aus dem Wiederherstellungsstatus zu löschen.
Der erste Befehl listet alle Ressourcen im Wiederherstellungsstatus auf.
# List all the resources in reclamation state with its reclamation ID
ibmcloud resource reclamations
Suchen Sie die Wiederherstellungs-ID des Secrets Manager-Dienstes. Verwenden Sie diese ID im folgenden Befehl.
ibmcloud resource reclamation-delete < reclamation-id >
Dieses spezielle Problem kann auftreten, wenn Ihre ALM-/Toolchain-Bereitstellung mehr als 14 Tage alt ist und die Anwendungskonfigurations-DA deployiert/neu bereitgestellt wurde. Dies liegt daran, dass der Continuous Delivery-Dienst zum Erstellen und Löschen von Pipeline-Eigenschaften erforderlich ist und die Bereitstellung erfolgt, wenn der CD-Dienst möglicherweise nicht vorhanden ist. Wir arbeiten an einer langfristigen Lösung für diesen Fehler, aber in der Zwischenzeit kann er gemildert werden, indem sichergestellt wird, dass in der Ressourcengruppe, in der Toolchains erstellt werden sollen, ein CD-Dienst vorhanden ist.
Das Problem tritt in der bereitstellbaren Architektur Workload - Sample RAG App Configuration
sowohl in der Code Engine- als auch in der OCP-Variante auf. Der Fehler enthält normalerweise diese Meldung:
"errors": [
{
"code": 403,
"message": "Continuous Delivery service required"
}
]
Mit dieser Architektur sind viele Anpassungen möglich. Dies sind einige gängige Optionen.
Jede Mitgliedskonfiguration umfasst eine große Anzahl von Eingabeparametern. Sie können die Konfiguration bearbeiten, um die Standardwerte zu ändern.
Durch Bearbeiten der Mitgliederkonfiguration können Sie beispielsweise Folgendes erreichen:
Um die Mitgliedskonfiguration zu bearbeiten, wählen Sie Bearbeiten aus dem Optionssymbol in der Mitgliedskonfigurationszeile.
Sie können eine Mitgliedskonfiguration aus dem Stapel entfernen, von der andere Konfigurationen nicht abhängen.
Sie können die folgenden Konfigurationen in dieser Architektur entfernen:
Um eine Mitgliedskonfiguration zu entfernen, wählen Sie „Vom Stapel entfernen“ aus dem Optionssymbol in der Mitgliedskonfigurationszeile aus.
Sie können Eingabe- und Ausgabevariablen auf Stack-Ebene hinzufügen oder entfernen, indem Sie die folgenden Schritte ausführen:
Sie können Observability-Ressourcen wie Activity Tracker-Routen und -Ziele sowie Cloud Monitoring-Instanzen selektiv bereitstellen, indem Sie die folgenden Schritte ausführen:
cloud_logs_provision
): Legen Sie dies fest, um eine IBM Cloud Logs-Instanz bereitzustellen oder die Bereitstellung zu überspringen.cloud_monitoring_provision
): Legen Sie dies fest, um eine IBM Cloud Monitoring-Instanz bereitzustellen oder die Bereitstellung zu überspringen.enable_at_event_routing_to_cos_bucket
): Legen Sie dies fest, um die Ereignisweiterleitung vom Activity Tracker zum Object Storage-Bucket zu aktivieren oder zu deaktivieren.enable_at_event_routing_to_cloud_logs
): Legen Sie dies fest, um die Ereignisweiterleitung vom Activity Tracker zu Cloud Logs zu aktivieren oder zu deaktivieren.Nachdem Sie Ihre bereitstellbare Architektur in Projekten geändert haben, können Sie sie über einen privaten IBM Cloud-Katalog mit anderen teilen. Um Ihre bereitstellbare Architektur freizugeben, befolgen Sie die Schritte unter Freigeben Ihrer bereitstellbaren Architektur für Ihr Unternehmen.
Sie können den Code dieser Beispielautomatisierung als Leitfaden verwenden, um die Beispiel-App an Ihre Anforderungen anzupassen. Der Code ist unter https://github.com/terraform-ibm-modules/terraform-ibm-rag-sample-da verfügbar.
Um Ihre eigene App zu verwenden, entfernen Sie die Mitgliedskonfiguration Workload - Sample RAG App Configuration
aus dem Stapel. Diese Mitgliedskonfiguration ist spezifisch für die Standardbeispiel-App.
Bereinigen Sie die Konfiguration
Dieser Schritt ist optional, wenn Sie planen, alle Watson-Ressourcen zu zerstören. Die von der Anwendung erstellten Artefakte werden im Rahmen der Aufhebung der Bereitstellung der Watson-Ressourcen gelöscht.
Befolgen Sie die in der Datei „cleanup.md“ beschriebenen Schritte, um die Konfiguration für die Beispiel-App zu entfernen.
Löschen Sie von der CI-Toolchain erstellte Ressourcen
Die folgenden Ressourcen, die von der Toolchain erstellt werden, werden im Rahmen der Aufhebung der Bereitstellung des Stacks in Project nicht zerstört.
Löschen Sie das Projekt.
Um die Bereitstellung der von der bereitstellbaren Architektur erstellten Infrastruktur aufzuheben, befolgen Sie die Schritte unter „Löschen eines Projekts“ in den IBM Cloud-Dokumenten.