0 / 0
Zurück zur englischen Version der Dokumentation
Neueinstufung von Dokumentenpassagen mit Hilfe der API
Letzte Aktualisierung: 28. Nov. 2024
Neueinstufung von Dokumentenpassagen mit Hilfe der API

Verwenden Sie das Reranker-Modell und die Text-Reranker-API, die auf watsonx.ai zur Verfügung stehen, um eine Reihe von Passagen von der höchsten bis zur geringsten Wahrscheinlichkeit für die Beantwortung einer bestimmten Anfrage zu bewerten.

API-Referenz

Einzelheiten finden Sie in der API-Referenzdokumentation.

Um eine Liste der verfügbaren Reranker-Modelle zu erhalten, können Sie die Methode List the available foundation models in der watsonx.ai as a service API verwenden. Geben Sie den Parameter ' filters=function_rerank an, um nur die verfügbaren Rerankermodelle zurückzugeben.

Beispiel:

curl -X GET \
  'https://{region}.ml.cloud.ibm.com/ml/v1/foundation_model_specs?version=2024-10-18&filters=function_rerank'
Hinweis: Viele der Einbettungsmodelle geben auch an, dass sie die Rerank-Funktion unterstützen. Die Einbettungsmodelle unterstützen jedoch das semantische Reranking, das eine weniger genaue Rangordnungsmethode darstellt. Wenn die Einbettungsmodelle Passagen neu einordnen, stützen sie sich dabei auf Ähnlichkeitswerte, die aus den Werten der Einbettungsvektoren abgeleitet werden. Cross-Encoder-Modelle sind beim Reranking effektiver, weil sie jede Passage explizit mit der Abfrage vergleichen und für jedes Pairing Ranking-Scores erzeugen.

Beispiel

Der Code im Beispiel verwendet das " ms-marco-minilm-l-12-v2 -Modell, um die folgenden Textpassagen so zu ordnen, dass die Passage mit den Informationen, die die Anfrage am ehesten beantworten, zuerst aufgeführt wird.

Frage

Was ist ein agentengesteuerter KI-Workflow?

Passagen

Die Eingabepassagen sind Definitionen aus dem watsonx.ai:

  • Punkt 0. Ein foundation model ist ein groß angelegtes generatives KI-Modell, das an eine breite Palette von nachgelagerten Aufgaben angepasst werden kann.

  • Punkt 1. Generative KI ist eine Klasse von KI-Algorithmen, die verschiedene Arten von Inhalten erzeugen können, darunter Text, Quellcode, Bilder, Audio und synthetische Daten.

  • Punkt 2. Agentische KI ist ein generativer KI-Fluss, der eine Aufforderung in mehrere Aufgaben zerlegen, Aufgaben an geeignete KI-Agenten vergeben und eine Antwort ohne menschliches Eingreifen synthetisieren kann.

  • Punkt 3. KI-Ethik ist ein multidisziplinäres Gebiet, das sich mit der Frage befasst, wie die positiven Auswirkungen der KI optimiert und gleichzeitig Risiken und negative Folgen verringert werden können. Beispiele für Fragen der KI-Ethik sind Datenverantwortung und Datenschutz, Fairness, Erklärbarkeit, Robustheit, Transparenz, ökologische Nachhaltigkeit, Einbeziehung, moralisches Handeln, Werteanpassung, Verantwortlichkeit, Vertrauen und Technologiemissbrauch.

  • Punkt 4. KI-Governance ist der Akt der Steuerung einer Organisation durch ihre Unternehmensanweisungen, Mitarbeiter, Prozesse und Systeme, um den gesamten KI-Lebenszyklus zu lenken, zu bewerten, zu überwachen und Korrekturmaßnahmen zu ergreifen, um sicherzustellen, dass das KI-System so funktioniert, wie es die Organisation beabsichtigt, wie es ihre Stakeholder erwarten und wie es die einschlägigen Vorschriften vorschreiben.

Beispiel einer REST-Anfrage

In diesem Beispiel werden nur 5 Passagen zur Bewertung vorgelegt. Sie können bis zu 1.000 Eingänge angeben. Je mehr Passagen Sie jedoch angeben, desto länger dauert der Reranking-Prozess, da ein Cross-Encoder-Modell jede Passage zusammen mit der Abfrage nacheinander verarbeitet.

Jede Eingabe, die Sie übermitteln, muss die vom Reranker-Modell festgelegte Höchstgrenze für Eingabe-Token einhalten.

Für den Fall, dass eine Passage mehr Token enthält, als das Modell zulässt, wird in diesem Beispiel der Parameter " truncate_input_tokens angegeben, um eine Kürzung der Zeile zu erzwingen. Andernfalls könnte die Anfrage fehlschlagen.

Der Parameter " inputs für die Rückgabeoptionen ist in diesem Beispiel enthalten, damit der Text der ursprünglichen Passage in der Antwort enthalten ist, was es einfacher macht zu verstehen, wie die ursprünglichen Passagen neu eingestuft werden. In einem echten Arbeitsablauf müssen Sie den Parameter " inputs möglicherweise nicht einbeziehen.

Sie geben das Rerankermodell an, das Sie als ' model_id ' in der Payload für die Text-Rerankermethode verwenden möchten.

Im folgenden Beispiel ersetzen Sie{url}variable with the right value for your instance, such asus-south.ml.cloud.ibm.com. Fügen Sie Ihr eigenes Inhaber-Token und Ihre Projekt-ID hinzu.

curl -X POST \
  'https://{url}/ml/v1/text/rerank?version=2024-10-17' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer eyJraWQiOi...' \
  --data '{
      "inputs": [
        {
          "text": "A foundation model is a large-scale generative AI model that can be adapted to a wide range of downstream tasks."
        },
        {
          "text": "Generative AI is a class of AI algorithms that can produce various types of content including text, source code, imagery, audio, and synthetic data."
        },
        {
          "text": "Agentic AI is a generative AI flow that can decompose a prompt into multiple tasks, assign tasks to appropriate gen AI agents, and synthesize an answer without human intervention."
        },
        {
          "text": "AI ethics is a multidisciplinary field that studies how to optimize AI'\''s beneficial impact while reducing risks and adverse outcomes. Examples of AI ethics issues are data responsibility and privacy, fairness, explainability, robustness, transparency, environmental sustainability, inclusion, moral agency, value alignment, accountability, trust, and technology misuse."
        },
        {
          "text": "AI governance is an organization'\''s act of governing, through its corporate instructions, staff, processes and systems to direct, evaluate, monitor, and take corrective action throughout the AI lifecycle, to provide assurance that the AI system is operating as the organization intends, as its stakeholders expect, and as required by relevant regulation."
        }
      ],
      "query": "What is an agent-driven AI workflow?",
      "parameters":{
        "truncate_input_tokens": 512,
        "return_options":{
          "inputs":true
        }
      },
      "model_id": "cross-encoder/ms-marco-minilm-l-12-v2",
      "project_id": "51f3a990-4372-4ac3-9ddb-ed99d9b50840"
    }'

Wenn Sie nur die am höchsten eingestuften Passagen zurückgeben möchten, können Sie den Parameter ' top_n angeben. Das folgende Beispiel zeigt, wie Sie angeben, dass das Modell nur eine Passage zurückgeben soll, und zwar die Passage, die am meisten mit der Abfrage zu tun hat:

"parameters":{
    "truncate_input_tokens": 512,
    "return_options":{
      "inputs":true,
      "top_n": 1
    }
}

Beispiel einer REST-Antwort

Die folgende Antwort wird für die Beispielanfrage zurückgegeben. Ein paar Dinge sind zu beachten:

  • Die Passagen werden neu sortiert, so dass die Passagen mit den höchsten Punktzahlen zuerst angezeigt werden.

    Das Modell setzt die Definition für Agenten-KI an die Spitze der Liste, weil sie am engsten mit der Frage nach agentengesteuerten Arbeitsabläufen verbunden ist.

  • Die Indexwerte, die von 0-4 reichen, stellen die ursprünglichen Positionen der Passagen im Array " inputs dar, das in der Anfrage übermittelt wurde.

    Die Passage über die agenturische KI war zum Beispiel die dritte Passage in der Liste und hat daher den Indexwert " 2.

  • Das Feld " input_token_count zeigt die Gesamtzahl der Token an, die von der Anfrage verarbeitet wurden.

    Weitere Informationen darüber, wie Token gezählt werden, finden Sie unter Abrechnungsinformationen.

{
  "model_id": "cross-encoder/ms-marco-minilm-l-12-v2",
  "created_at": "2024-10-17T14:01:47.322Z",
  "results": [
    {
      "index": 2,
      "score": 5.063366413116455,
      "input": {
        "text": "Agentic AI is a generative AI flow that can decompose a prompt into multiple tasks, assign tasks to appropriate gen AI agents, and synthesize an answer without human intervention."
      }
    },
    {
      "index": 4,
      "score": -0.992393970489502,
      "input": {
        "text": "AI governance is an organization's act of governing, through its corporate instructions, staff, processes and systems to direct, evaluate, monitor, and take corrective action throughout the AI lifecycle, to provide assurance that the AI system is operating as the organization intends, as its stakeholders expect, and as required by relevant regulation."
      }
    },
    {
      "index": 1,
      "score": -3.5372314453125,
      "input": {
        "text": "Generative AI is a class of AI algorithms that can produce various types of content including text, source code, imagery, audio, and synthetic data."
      }
    },
    {
      "index": 0,
      "score": -4.646212100982666,
      "input": {
        "text": "A foundation model is a large-scale generative AI model that can be adapted to a wide range of downstream tasks."
      }
    },
    {
      "index": 3,
      "score": -4.926990032196045,
      "input": {
        "text": "AI ethics is a multidisciplinary field that studies how to optimize AI's beneficial impact while reducing risks and adverse outcomes. Examples of AI ethics issues are data responsibility and privacy, fairness, explainability, robustness, transparency, environmental sustainability, inclusion, moral agency, value alignment, accountability, trust, and technology misuse."
      }
    }
  ],
  "input_token_count": 292,
  "system": {
    "warnings": [
      {
        "message": "This model is a Non-IBM Product governed by a third-party license that may impose use restrictions and other obligations. By using this model you agree to its terms as identified in the following URL.",
        "id": "disclaimer_warning",
        "more_info": "https://dataplatform.cloud.ibm.com/docs/content/wsj/analyze-data/fm-models.html?context=wx"
      }
    ]
  }
}

Wenn Sie " "top_n": 1 in das Parameter-Objekt aufnehmen, wie im vorherigen Beispiel gezeigt, sieht die Antwort wie folgt aus:

{
  "model_id": "cross-encoder/ms-marco-minilm-l-12-v2",
  "created_at": "2024-10-17T20:18:50.867Z",
  "results": [
    {
      "index": 2,
      "score": 5.063366413116455,
      "input": {
        "text": "Agentic AI is a generative AI flow that can decompose a prompt into multiple tasks, assign tasks to appropriate gen AI agents, and synthesize an answer without human intervention."
      }
    }
  ],
  "input_token_count": 292,
  "system": {
    "warnings": [
      {
        "message": "This model is a Non-IBM Product governed by a third-party license that may impose use restrictions and other obligations. By using this model you agree to its terms as identified in the following URL.",
        "id": "disclaimer_warning",
        "more_info": "https://dataplatform.cloud.ibm.com/docs/content/wsj/analyze-data/fm-models.html?context=wx"
      }
    ]
  }
}

Abrechnungsinformationen

Die Abrechnung erfolgt auf der Grundlage der Anzahl der Token, die von dem von Ihnen verwendeten Rerankermodell verarbeitet werden. Die Anzahl der pro Wort verwendeten Token variiert je nach Modell.

Denken Sie daran, dass ein Cross-Encoder-Modell die Abfrage und jede Eingabepassage zusammen verarbeitet, um eine Bewertung für jede Eingabe zu erzeugen. Um die Token zu summieren, müssen Sie daher eine Formel wie diese verwenden:

(Token in der Abfrage x Anzahl der Eingaben) + (Summe der Token in allen Eingaben x Anzahl der Abfragen)

Hinweis:

Die API lässt nur eine Abfrage zu. Daher ist " Number of queries immer gleich 1.

Zusätzlich zu dem eingereichten Text werden die folgenden Markierungen vom Modell verwendet. Jeder Marker zählt als ein Token:

  • CLS: Bedeutet eine Klassifizierung und wird am Anfang einer Sequenz, die dem Modell übergeben wird, hinzugefügt, um den Beginn der Sequenz zu identifizieren.
  • SEP: Bedeutet ein Trennzeichen und wird verwendet, um das Ende einer Sequenz und den Beginn der nächsten zu kennzeichnen.

Jede Eingabe enthält eine ' CLS -Markierung, die den Beginn der Abfrage- und Eingabesequenz kennzeichnet, und zwei ' SEP -Trennzeichen. Addieren Sie daher (3 x Anzahl der Eingänge) zu der zuvor ermittelten Summe, um die Gesamtsumme zu erhalten.

Weitere Informationen

Übergeordnetes Thema: Kodierung generativer KI-Lösungen

Generative KI-Suche und -Antwort
Diese Antworten werden von einem großen Sprachmodell in watsonx.ai basierend auf dem Inhalt der Produktdokumentation generiert. Weitere Informationen