Bereitstellung planen

Mit Oracle Cloud Infrastructure Generative AI-Agents können Sie ein intelligentes Suchsystem erstellen, das kontextrelevante Antworten liefert, indem Sie die Wissensdatenbank Ihres Unternehmens durchsuchen.

In diesem Abschnitt werden die folgenden Implementierungen beschrieben:

  • Bringen Sie Ihre Unternehmensdaten in eine serviceverwaltete Wissensdatenbank, in der die generativen KI-Agents aufgenommen werden können.
  • Indexieren Sie Ihre Daten in einer vom Kunden verwalteten Wissensdatenbank.
  • Erstellen und implementieren Sie Code für die Datenaufnahme und generieren Sie Vektoreinbettungen.

Generative KI-Agents mit serviceverwalteter Knowledge Base

Das folgende Deployment verwendet OCI Generative AI-Agents, um ein intelligentes Suchsystem zu erstellen, das eine serviceverwaltete Wissensdatenbank und Oracle Cloud Infrastructure Object Storage verwendet.

Dieses Deployment lädt TXT- und PDF-Dateien in den Oracle Cloud Infrastructure Object Storage-Bucket hoch, in dem generative KI-Agents die Daten automatisch aufnehmen, um Vektoren zu erstellen, die in einem integrierten Vektorspeicher gespeichert sind.

Die Vorteile dieser Bereitstellung sind, dass sie für Kunden geeignet ist, die eine verwaltete Lösung für unstrukturierte Daten benötigen, eine schnelle und einfache Datenaufnahme bieten und minimale Codierungs- und Wartungsanforderungen haben. Das serviceverwaltete Einbettungsmodell von Cohere erlaubt jedoch nur bis zu 1000 Text- und PDF-Dateien pro Wissensdatenbank.



genai-knowledge-base-oracle.zip

Verwenden Sie die folgenden allgemeinen Schritte, um dieses Deployment zu erstellen:

  1. Stellen Sie einen Objektspeicher-Bucket bereit, und laden Sie Dateien in den Bucket hoch.

    Unterstützte Dateitypen sind PDF und TXT, und jede Datei darf nicht größer als 100 MB sein. PDF-Dateien können Bilder, Diagramme und Referenztabellen enthalten, aber jedes dieser Objekte darf 8 MB nicht überschreiten. OCI Object Storage unterstützt den Batchupload von Dateien mit der Konsole, der Rest-API oder dem Software Development Kit (SDK).

  2. Erstellen Sie eine Wissensdatenbank und einen Aufnahmejob.

    Erstellen Sie eine Wissensdatenbank in OCI Generative AI-Agents, und geben Sie den Objektspeicher-Bucket an, den Sie als Datenquelle bereitgestellt haben. Wählen Sie die Option Aufnahmejob automatisch starten aus, damit der OCI Generative AI-Agents-Service mit dem vom Service verwalteten Einbettungsmodell einen Vektorindex generiert.

  3. Erstellen Sie den Agent und den Endpunkt.

    Erstellen Sie einen Agent in OCI Generative AI-Agents, und verbinden Sie ihn mit der Wissensdatenbank, die im vorherigen Schritt bereitgestellt wurde. Erstellen Sie einen Endpunkt für den Agent, der später zum Starten eines Chats mit dem Agent verwendet wird. Der Endpunkt wird verwendet, um die Kommunikation und den Datenaustausch zwischen einem Agent und externen Systemen zu ermöglichen. Der Endpunkt ist ein erforderlicher Eingabeparameter, wenn Sie die Chatfunktionalität mit AI-Agents mit der API oder dem SDK aktivieren möchten.

  4. Erstellen Sie optional eine Frontend-Integration.

    Der OCI Generative AI-Agents-Service bietet eine Chatbenutzeroberfläche, über die Benutzer Fragen zu den Daten stellen können, auf die der Agent Zugriff hat. Sie können den Agent mit der Rest-API oder dem SDK des Service in Ihre Anwendung integrieren und dann die Chatbot-Schnittstelle anpassen. Oracle bietet Low-Code-Tools für die Anwendungsentwicklung ohne Code wie Oracle APEX Application Development und Oracle Digital Assistant.

Generative KI-Agents mit OCI OpenSearch

Das folgende Deployment verwendet die Oracle Cloud Infrastructure-Suche mit OpenSearch-Daten als vom Kunden verwaltete Wissensdatenbank für die Verwendung von generativen KI-Agents.

Die Oracle Cloud Infrastructure-Suche mit OpenSearch ist ein verwalteter Service, der Daten in großen Datenspeichern suchen und analysieren kann. In diesem Deployment ist OpenSearch die Vektordatenbank, mit der Unternehmensdokumente gespeichert, Indizes erstellt und Daten mithilfe einer hybriden Suche gesucht und abgerufen werden. Die Suchergebnisse werden dann mit einem verwalteten Reranking-Modell von OCI Generative AI-Agents eingestuft und dann an das Cohere Large Language Model (LLM) gesendet, um eine kontextbezogene Antwort zu generieren.

Die Vorteile dieses Deployments bestehen darin, dass es eine breitere Palette von Dateitypen wie JSON, XML und Blogs unterstützt, mit einer Vielzahl von Open-Source-Einbettungsmodellen kompatibel ist und die automatische Abschneidung für spezifischere Suchergebnisse verwenden kann. Für dieses Deployment müssen Sie die Datenaufnahme- und Indexierungs-Pipelines erstellen und verwalten. Außerdem müssen Dateien in weniger als 512 Token aufgeteilt und in OpenSearch aufgenommen und indexiert werden.



genai-opensearch-oracle.zip

Verwenden Sie die folgenden allgemeinen Schritte, um dieses Deployment zu erstellen:

  1. Stellen Sie den Oracle Cloud Infrastructure-Suchstack bereit, und nehmen Sie Daten auf.

    Stellen Sie virtuelle Cloud-Netzwerke (VCN), ein Oracle Cloud Infrastructure-Suchcluster und eine VM-Instanz bereit.

    Im Abschnitt "Weitere Informationen durchsuchen" finden Sie einen Link zu einem Tutorial, das zeigt, wie Sie den Stack erstellen.

  2. Erstellen Sie ein OCI Vault-Secret.

    Bei OCI Generative AI-Agents müssen Sie ein Secret erstellen, damit die Oracle Cloud Infrastructure-Suche Benutzernamen und Kennwörter in OCI Vault speichern kann.

  3. Konfigurieren Sie die Wissensdatenbank und den Agent der OCI Generative AI-Agents.

    Erstellen Sie eine Wissensdatenbank, indem Sie das Oracle Cloud Infrastructure-Suchcluster als Datenquelle auswählen und angeben, welche Indizes verwendet werden sollen. Erstellen Sie mit dieser Wissensdatenbank einen OCI Generative AI-RAG-Agent.

OCI Generative AI-Agents mit Oracle Database 23ai

Dieses Deployment verwendet Oracle Autonomous Database 23ai mit Vector Search, um sowohl strukturierte als auch unstrukturierte Daten zu verwalten.

Wenn Benutzer Unternehmensdaten abfragen, führt die KI-Vektorsuche Ähnlichkeitssuchen aus, um die relevantesten Fakten zu finden, die an OCI Generative AI-Agents übergeben werden sollen. Diese Agents führen dann Reranking-Modelle aus und verwenden das Cohere Large Language Model (LLM), um kontextbezogene Antworten zu generieren.

Die Vorteile dieser Bereitstellung sind, dass sie sowohl strukturierte als auch unstrukturierte Daten unterstützt, einschließlich Mediendaten, Images und Videos, und dass sie mit Einbettungsmodellen von Drittanbietern kompatibel ist, um gezielte Suchergebnisse bereitzustellen. Für dieses Deployment müssen Sie Code für die Datenaufnahme erstellen und bereitstellen, Vektoreinbettungen generieren und Vektorindizes erstellen.



genai-vector-search-oracle.zip

Verwenden Sie die folgenden allgemeinen Schritte, um dieses Deployment zu erstellen:

  1. Oracle Database 23ai-Instanz erstellen:
    1. Klicken Sie im Navigationsmenü der OCI-Servicekonsole auf Oracle Database, und wählen Sie Autonomous Data Warehouse aus.
    2. Klicken Sie auf Autonome Datenbank erstellen.
    3. Benennen Sie die Datenbank, und wählen Sie 23ai als Datenbankversion aus. Geben Sie andere Parameter an, oder übernehmen Sie die Standardwerte, und klicken Sie auf Autonomous Database erstellen.
  2. Erstellen Sie einen Vault zum Speichern von Datenbankzugangsdaten, und erstellen Sie dann einen Schlüssel:
    1. Klicken Sie im Navigationsmenü der OCI-Servicekonsole auf Identität und Sicherheit, und wählen Sie Vault aus.
    2. Klicken Sie auf Vault erstellen.
    3. Benennen Sie den Vault. Geben Sie andere Parameter an, oder übernehmen Sie die Standardwerte, und klicken Sie auf Vault erstellen.
    4. Klicken Sie im neu erstellten Vault auf Schlüssel erstellen.
    5. Benennen Sie den Schlüssel. Geben Sie andere Parameter an, oder übernehmen Sie die Standardwerte, und klicken Sie auf Schlüssel erstellen.
  3. Datenbank-Tools-Verbindung erstellen:
    1. Klicken Sie im Navigationsmenü der OCI-Servicekonsole auf Entwicklerservices, und wählen Sie Verbindungen aus.
    2. Klicken Sie auf Verbindung erstellen.
    3. Benennen Sie die Verbindung, wählen Sie Oracle Autonomous Database als Datenbank-Cloud-Service aus, wählen Sie das Compartment aus, und geben Sie einen Benutzernamen an. Geben Sie andere Parameter an, oder übernehmen Sie die Standardwerte, und klicken Sie auf Kennwort-Secret erstellen.
    4. Benennen Sie das Kennwort-Secret, wählen Sie das Compartment, das Vault Compartment und das Verschlüsselungsschlüssel-Compartment aus, und geben Sie ein Kennwort an. Klicken Sie auf Create.
    5. Wählen Sie SSO-Wallet als Wallet-Format aus, klicken Sie auf Wallet-Inhalts-Secret erstellen, benennen Sie das Wallet-Inhalts-Secret, wählen Sie die Vault- und Verschlüsselungsschlüssel-Compartments aus, und stellen Sie sicher, dass Regionales Wallet aus Autonomous Database abrufen ausgewählt ist. Klicken Sie auf Erstellen.
    6. Klicken Sie im Fenster "Verbindung erstellen" auf Erstellen. Die neu erstellte Verbindung wird auf der Detailseite unter der Registerkarte "Verbindung" für die zugehörige Datenbank aufgeführt.
  4. Vektoren mit Einbettungsmodellen mit PL/SQL erstellen:
    1. Richten Sie Zugangsdaten ein, um Zugriff auf OCI-Ressourcen zu ermöglichen, wie den OCI Gen AI-Service und Zugangsdaten für DBMS_CLOUD. Sie benötigen OCI eine Konfigurationsdatei mit privater und öffentlicher api_keys, einem Fingerprint, einem Benutzer, einem Mandanten und einer Compartment-OCID.
      begin
        DBMS_CLOUD.CREATE_CREDENTIAL (
          credential_name => '<credential_name>',
          user_ocid       => '<user_ocid>',
          tenancy_ocid    => '<tenancy_ocid>',
          private_key     => '<private_key>',
          fingerprint     => '<fingerprint>'
        );
      end;
      /
    2. Verwenden Sie die integrierte Datenbankfunktionalität mit 23ai gespeicherten PDF-Dateien, um Dateien zu chunkieren und die Textextraktion durchzuführen.
      CREATE TABLE ai_extracted_data AS
      SELECT
        j.chunk_id,
        j.chunk_offset,
        j.chunk_length,
        j.chunk_data
      FROM
        -- divide a blob into chunks (utl_to_chunks):
        (select * from dbms_vector_chain.utl_to_chunks(
                  dbms_vector_chain.utl_to_text(
                      to_blob(
                          DBMS_CLOUD.GET_OBJECT('OCI_CRED_BUCKET', '<path-to-object-pdf>')
                      )
                  ), json('{"max":"75", "normalize":"all", "overlap":"15"}')
              )),
        JSON_TABLE(column_value, '$'
          COLUMNS (
            chunk_id NUMBER PATH '$.chunk_id',
            chunk_offset NUMBER PATH '$.chunk_offset',
            chunk_length NUMBER PATH '$.chunk_length',
            chunk_data CLOB PATH '$.chunk_data'
          )
        ) j;
    3. Erstellen Sie Vektoreinbettungen mit einer Vielzahl von Einbettungsoptionen, wie dem Modell cohere.embed-multilingual-v3.0 über OCI Generative AI.
      create table ai_extracted_data_vector as (
          select chunk_id as docid, to_char(chunk_data) as body, dbms_vector.utl_to_embedding(
                  chunk_data,
                  json('{
                      "provider": "OCIGenAI",
                      "credential_name": "<credential_name>",
                      "url": "https://example.com/<path>",
                      "model": "cohere.embed-multilingual-v3.0"
                  }')
              ) as text_vec
          from ai_extracted_data
          where chuck_id <= 400
      );
      
    4. Erstellen Sie eine Funktion, um die Vektortabellen abzufragen und die AI-Suchvorgänge zur Laufzeit auszuführen.
      create or replace FUNCTION retrieval_func_ai (
          p_query IN VARCHAR2,
          top_k IN NUMBER
      ) RETURN SYS_REFCURSOR IS
          v_results SYS_REFCURSOR;
          query_vec VECTOR;
      BEGIN
          query_vec := dbms_vector.utl_to_embedding(
              p_query,
              json('{
                  "provider": "OCIGenAI",
                  "credential_name": "<credential_name>",
                  "url": "https://example.com/<path>",
                  "model": "cohere.embed-multilingual-v3.0"
              }')
          );
       
          OPEN v_results FOR
              SELECT DOCID, BODY, VECTOR_DISTANCE(text_vec, query_vec) as SCORE
              FROM ai_extracted_data_vector
              ORDER BY SCORE
              FETCH FIRST top_k ROWS ONLY;
       
          RETURN v_results;
      END;
  5. Erstellen Sie die Knowledge-Base mit Oracle Database 23ai:
    1. Klicken Sie im Navigationsmenü der OCI-Servicekonsole auf Analysen und KI, und wählen Sie Generative KI-Agents aus.
    2. Klicken Sie auf Knowledge Bases und dann auf Knowledge Base erstellen.
    3. Benennen Sie die Wissensdatenbank, wählen Sie Oracle AI Vector Search als Datenspeichertyp aus, und geben Sie die Verbindungs- und Suchfunktion des Datenbanktools an. Klicken Sie dann auf Knowledge Base erstellen.
  6. Erstellen Sie mit der Oracle Database 23 AI Knowledge Base einen generativen KI-Agent:
    1. Klicken Sie im Navigationsmenü der OCI-Servicekonsole auf Analysen und KI, und wählen Sie Agents aus.
    2. Klicken Sie auf Agent erstellen.
    3. Benennen Sie den Agent, wählen Sie die erstellte Wissensdatenbank aus, und klicken Sie auf Agent erstellen.

    Nachdem der Agent erstellt wurde, sollten Sie sehen, dass der Agent aktiv und bereit zum Chatten ist.