0 / 0
Volver a la versión inglesa de la documentación
Inclusiones
Última actualización: 11 dic 2024
Inclusiones

Utilice modelos de incrustación para crear incrustaciones de texto que capturen el significado de una oración o un pasaje. Puede utilizar estos modelos con clasificadores como máquinas de vectores de soporte. La incorporación de modelos también puede ayudarle con tareas de generación de recuperación aumentada.

El siguiente diagrama ilustra el patrón de generación de recuperación aumentada con soporte de incorporación.

Diagrama que muestra cómo agregar resultados de búsqueda derivados de un almacén de vectores a la entrada para una generación de recuperación aumentada

El patrón de generación de recuperación aumentada con soporte de incorporación implica los siguientes pasos:

  1. Convierta su contenido en incrustaciones de texto y guárdelos en un almacén de datos vectoriales.
  2. Utilice el mismo modelo de incrustación para convertir la entrada del usuario en incrustaciones de texto.
  3. Ejecute una búsqueda semántica o de similitud en su base de conocimientos para encontrar contenido relacionado con la pregunta de un usuario.
  4. Introduzca los resultados de búsqueda más relevantes en su mensaje como contexto y agregue una instrucción, como "Responda la siguiente pregunta utilizando solo información de los siguientes pasajes".
  5. Enviar el texto de consulta combinado (instrucción + resultados de búsqueda + pregunta) al modelo de base.
  6. El modelo básico utiliza la información contextual de la pregunta para generar una respuesta objetiva.

Para obtener más información, consulte:

USAR incrustaciones

Las incrustaciones de USE son envoltorios Google Incorporaciones de Universal Sentence Encoder que están disponibles en TFHub. Estas inclusiones se utilizan en el algoritmo SVM de clasificación de documentos. Para consultar la lista de incrustaciones de USE preformadas y las lenguas que admiten, véase " Incluidas las incrustaciones de USE preentrenadas

Cuando utilice las inclusiones de USE, tenga en cuenta lo siguiente:

  • Seleccione embedding_use_en_stock si la tarea implica texto en inglés.

  • Elija una de las inclusiones de USE multilingües si la tarea incluye texto en un idioma que no sea inglés, o si desea entrenar modelos multilingües.

  • Las inclusiones de USE exhiben diferentes compensaciones entre la calidad del modelo entrenado y el rendimiento en el tiempo de inferencia, como se describe a continuación. Pruebe diferentes inclusiones para decidir el equilibrio entre la calidad del resultado y el rendimiento de la inferencia que es apropiado para su caso de uso.

    • embedding_use_multi_small tiene una calidad razonable, pero es rápido en el tiempo de inferencia
    • embedding_use_en_stock es una versión en inglés de embedding_embedding_use_multi_small, por lo que es más pequeña y muestra un rendimiento de inferencia superior
    • embedding_use_multi_large se basa en la arquitectura de Transformadorr y, por lo tanto, proporciona una mayor calidad de resultado, con un rendimiento inferior en el tiempo de inferencia

Ejemplo de código

import watson_nlp

syntax_model = watson_nlp.load("syntax_izumo_en_stock")
embeddings_model = watson_nlp.load("embedding_use_en_stock")

text = "python"
syntax_doc = syntax_model.run(text)
embedding = embeddings_model.run(syntax_doc)
print(embedding)

Salida del código de muestra :

{
  "data": {
    "data": [
      -0.01909315399825573,
      -0.009827353060245514,
...
      0.008978910744190216,
      -0.0702751949429512
    ],
    "rows": 1,
    "cols": 512,
    "dtype": "float32"
  },
  "offsets": null,
  "producer_id": null
}

Incluidas las incrustaciones USE preentrenadas

La tabla siguiente lista los bloques entrenados previamente para las inclusiones de USE que están disponibles y los idiomas a los que se da soporte. Para obtener una lista de los códigos de idioma y el idioma correspondiente, consulte Códigos de idioma.

Lista de incorporaciones USE previamente entrenadas con sus idiomas admitidos
Nombre de bloque Nombre de modelo Idiomas soportados
use embedding_use_en_stock Sólo en inglés
use embedding_use_multi_small ar, delaware, el, en, es, fr, it, ja, ko, nótese bien, nl, pl, pt, ru, th, tr, zh_tw, zh
use embedding_use_multi_large ar, delaware, el, en, es, fr, it, ja, ko, nótese bien, nl, pl, pt, ru, th, tr, zh_tw, zh

GloVe incrustaciones

GloVe El clasificador CNN utiliza incrustaciones.

Nombre del bloque :embedding_glove__stock

Idiomas soportados : ar, de, en, es, fr, it, ja, ko, nl, pt, zh-cn

Ejemplo de código

import watson_nlp

syntax_model = watson_nlp.load("syntax_izumo_en_stock")
embeddings_model = watson_nlp.load("embedding_glove_en_stock")

text = "python"
syntax_doc = syntax_model.run(text)
embedding = embeddings_model.run(syntax_doc)
print(embedding)

Salida del código de muestra :

{
  "data": {
    "data": [
      -0.01909315399825573,
      -0.009827353060245514,
...
      0.008978910744190216,
      -0.0702751949429512
    ],
    "rows": 1,
    "cols": 512,
    "dtype": "float32"
  },
  "offsets": null,
  "producer_id": null
}

Incrustaciones de transformadores

Nombres de bloque

  • embedding_transformer_en_slate.125m
  • embedding_transformer_en_slate.30m

Idiomas soportados

Sólo en inglés

Ejemplo de código

import watson_nlp

# embeddings_model = watson_nlp.load("embedding_transformer_en_slate.125m")
embeddings_model = watson_nlp.load("embedding_transformer_en_slate.30m")
text = "python"

embedding = embeddings_model.run(text)
print(embedding)

Salida del código de muestra

{
  "data": {
    "data": [
      -0.055536773055791855,
      0.008286023512482643,
      ...
      -0.3202415108680725,
      5.000295277568512e-05
    ],
    "rows": 1,
    "cols": 384,
    "dtype": "float32"
  },
  "offsets": null,
  "producer_id": {
    "name": "Transformer Embeddings",
    "version": "0.0.1"
  }
}

Tema principal: Watson Catálogo de tareas de procesamiento del lenguaje natural

Búsqueda y respuesta de IA generativa
Estas respuestas las genera un modelo de lenguaje grande en watsonx.ai que se basa en el contenido de la documentación del producto. Más información