0 / 0
Torna alla versione inglese della documentazione
Riclassificazione dei passaggi dei documenti tramite l'API
Ultimo aggiornamento: 28 nov 2024
Riclassificazione dei passaggi dei documenti tramite l'API

Utilizzare il modello di reranker e l'API di reranker del testo disponibili su watsonx.ai per classificare un insieme di passaggi dalla più alla meno probabile risposta a una determinata domanda.

Riferimento API

Per i dettagli, consultare la documentazione di riferimento dell'API.

Per ottenere un elenco dei modelli di reranker disponibili per l'uso, è possibile utilizzare il metodo List the available foundation models nell'API watsonx.ai as a service. Specificare il parametro 'filters=function_rerank per restituire solo i modelli di reranker disponibili.

Ad esempio:

curl -X GET \
  'https://{region}.ml.cloud.ibm.com/ml/v1/foundation_model_specs?version=2024-10-18&filters=function_rerank'
Nota: molti dei modelli di incorporazione indicano anche che supportano la funzione rerank. Tuttavia, i modelli di embedding supportano il reranking semantico, che è un metodo di classificazione meno accurato. Quando i modelli di incorporamento classificano i passaggi, si basano sui punteggi di somiglianza derivati dai valori dei vettori di incorporamento. I modelli cross-encoder sono più efficaci nella riclassificazione perché confrontano esplicitamente ogni brano con la query e generano punteggi di classificazione per ogni accoppiamento.

Esempio

Il codice dell'esempio utilizza il modello " ms-marco-minilm-l-12-v2 per classificare i passaggi di testo seguenti in modo che il passaggio che contiene le informazioni più probabili per rispondere alla domanda sia elencato per primo.

Interroga

Che cos'è un flusso di lavoro AI guidato da agenti?

Passages

I passaggi in ingresso sono definizioni tratte dal glossario di watsonx.ai

  • Voce 0. Un foundation model è un modello di intelligenza artificiale generativa su larga scala che può essere adattato a un'ampia gamma di compiti a valle.

  • Punto 1. L'IA generativa è una classe di algoritmi di IA in grado di produrre vari tipi di contenuti, tra cui testo, codice sorgente, immagini, audio e dati sintetici.

  • Punto 2. L'IA agenziale è un flusso di IA generativa in grado di scomporre una richiesta in più compiti, assegnare i compiti ad agenti di IA geneticamente appropriati e sintetizzare una risposta senza l'intervento umano.

  • Punto 3. L'etica dell'IA è un campo multidisciplinare che studia come ottimizzare l'impatto benefico dell'IA riducendo al contempo i rischi e gli esiti negativi. Esempi di questioni di etica dell'IA sono la responsabilità e la privacy dei dati, l'equità, la spiegabilità, la solidità, la trasparenza, la sostenibilità ambientale, l'inclusione, l'agenzia morale, l'allineamento dei valori, la responsabilità, la fiducia e l'uso improprio della tecnologia.

  • Punto 4. La governance dell'IA è l'atto di un'organizzazione di governare, attraverso le sue istruzioni aziendali, il personale, i processi e i sistemi per dirigere, valutare, monitorare e intraprendere azioni correttive durante l'intero ciclo di vita dell'IA, per garantire che il sistema di IA funzioni come l'organizzazione intende, come i suoi stakeholder si aspettano e come richiesto dalla normativa pertinente.

Esempio di richiesta REST

In questo esempio, solo 5 passaggi sono stati sottoposti a reranking. È possibile specificare fino a 1.000 ingressi. Tuttavia, più passaggi si specificano, più lungo è il processo di reranking, perché un modello cross-encoder elabora ogni passaggio insieme alla query, uno dopo l'altro.

Ogni input inviato deve essere conforme al limite massimo di token di input definito dal modello di reranker.

Per risolvere i casi in cui un passaggio può avere un numero di token superiore a quello consentito dal modello, in questo esempio viene specificato il parametro " truncate_input_tokens per forzare il troncamento della riga. In caso contrario, la richiesta potrebbe fallire.

Il parametro delle opzioni di ritorno 'inputs è incluso in questo esempio in modo che il testo del passaggio originale sia incluso nella risposta, rendendo più facile capire come i passaggi originali siano stati riclassificati. In un flusso di lavoro reale, potrebbe non essere necessario includere il parametro 'inputs.

Si specifica il modello di reranker che si vuole usare come 'model_id nel payload del metodo di reranker del testo.

Nell'esempio seguente, sostituire{url}variable with the right value for your instance, such asus-south.ml.cloud.ibm.com. Aggiungere il proprio token portatore e l'ID del progetto.

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"
    }'

Se si desidera restituire solo i passaggi di rango più elevato, è possibile specificare il parametro " top_n. L'esempio seguente mostra come indicare che si desidera che il modello restituisca solo un passaggio, quello più correlato alla query:

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

Esempio di risposta REST

Per la richiesta di esempio viene restituita la seguente risposta. Alcune cose da notare:

  • I brani sono riordinati in modo da mostrare prima quelli con i punteggi più alti.

    Il modello riporta accuratamente la definizione di IA agenziale in cima alla lista, perché è la più vicina alla domanda sui flussi di lavoro guidati dagli agenti.

  • I valori dell'indice, che vanno da 0 a 4, rappresentano le posizioni originali dei passaggi nell'array 'inputs inviato nella richiesta.

    Ad esempio, il brano sull'IA agenziale era il terzo brano dell'elenco e quindi ha il valore dell'indice " 2.

  • Il campo " input_token_count mostra il numero totale di token elaborati dalla richiesta.

    Per ulteriori informazioni sul conteggio dei token, vedere Informazioni sulla fatturazione.

{
  "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"
      }
    ]
  }
}

Se si include '"top_n": 1 nell'oggetto parameters, come mostrato nell'esempio precedente, la risposta appare come segue:

{
  "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"
      }
    ]
  }
}

Informazioni di fatturazione

La fatturazione si basa sul numero di token elaborati dal modello di reranker utilizzato. Il numero di token utilizzati per ogni parola varia a seconda del modello.

Ricordiamo che un modello cross-encoder elabora la query e ogni passaggio in ingresso insieme per generare un punteggio per ogni ingresso. Pertanto, per sommare i gettoni, è necessario utilizzare una formula come questa:

(Token nella query x Numero di input) + (Somma dei token in tutti gli input x Numero di query)

Nota:

L'API accetta solo una query. Pertanto, " Number of queries è sempre uguale a 1.

Oltre al testo inviato, il modello utilizza i seguenti marcatori. Ogni segnalino conta come un gettone:

  • CLS: significa classificazione e viene aggiunto all'inizio di una sequenza che viene sottoposta al modello per identificare l'inizio della sequenza.
  • SEP: significa separatore e viene utilizzato per identificare la fine di una sequenza e l'inizio della successiva.

Ogni input contiene un marcatore 'CLS che identifica l'inizio della sequenza query + input e due marcatori separatori 'SEP. Pertanto, aggiungere (3 x Numero di ingressi) alla somma ricavata in precedenza per ottenere il totale.

Ulteriori informazioni

Argomento principale: Codificare soluzioni di IA generativa

Ricerca e risposta AI generativa
Queste risposte sono generate da un modello di lingua di grandi dimensioni in watsonx.ai basato sul contenuto della documentazione del prodotto. Ulteriori informazioni