Compartir vía


Usar Knowledge Assistant para crear un bot de chat de alta calidad basado en sus documentos

En esta página se describe cómo usar Knowledge Assistant para crear un bot de chat de preguntas y respuestas sobre sus documentos y mejorar su calidad en función de los comentarios de lenguaje natural de los expertos en la materia.

¿Qué es Knowledge Assistant?

Use Knowledge Assistant para crear un bot de chat que pueda responder a preguntas sobre sus documentos y proporcionar respuestas de alta calidad con citas. Knowledge Assistant usa inteligencia artificial avanzada y sigue un enfoque de Recuperador Instruido para abordar las limitaciones del enfoque tradicional de recuperación aumentada por generación (RAG) y ofrecer las respuestas de la más alta calidad en función de la documentación que proporcione.

Knowledge Assistant es ideal para respaldar los siguientes casos de uso:

  • Responda a las preguntas del usuario en función de la documentación del producto.
  • Responda a las preguntas de los empleados relacionadas con las directivas de RR. HH.
  • Responda a las consultas de los clientes en función de las bases de conocimiento de soporte técnico.

Knowledge Assistant le permite mejorar la calidad del agente de chat y ajustar su comportamiento en función de los comentarios del lenguaje natural de sus expertos en la materia. Proporcione preguntas e instrucciones directamente en la experiencia y comparta el agente para permitir que otros usuarios colaboren y mejoren el rendimiento del agente.

Knowledge Assistant crea un punto de conexión de agente que puede usar posteriormente en sus aplicaciones. Por ejemplo, la imagen siguiente muestra cómo puede interactuar con el endpoint a través de chatear con él en AI Playground. Haga preguntas al agente relacionadas con sus documentos y el agente responderá con citas.

Punto de conexión de Knowledge Assistant en Playground (sitio de prueba).

Knowledge Assistant usa el almacenamiento predeterminado para almacenar transformaciones de datos temporales, puntos de control de modelo y metadatos internos que potencian a cada agente. En la eliminación del agente, todos los datos asociados al agente se quitan del almacenamiento predeterminado.

Requirements

Creación de un agente de Knowledge Assistant

Vaya al icono Agentes.Agentes en el panel de navegación izquierdo del área de trabajo. En el icono de Knowledge Assistant , haga clic en Compilar.

Paso 1: Configurar el agente

En la pestaña Compilar , configure el agente y proporcione orígenes de conocimiento para que se usen para responder a preguntas.

  1. En el campo Nombre , escriba un nombre para el agente.

  2. En el campo Descripción , describa lo que puede hacer el agente.

  3. En el panel Origen de conocimiento, agregue el origen de conocimiento. Puede elegir proporcionar archivos de catálogo de Unity o un índice de búsqueda vectorial.

    Archivos UC

    Para los archivos UC, se admiten los siguientes tipos de archivo: txt, pdf, md, ppt/pptx y doc/docx. Los archivos de más de 50 MB se omiten automáticamente durante la ingesta y no se incluirán en la base de conocimiento.

    1. En Tipo, seleccione Archivos UC.
    2. En el campo Origen , seleccione el volumen del catálogo de Unity o el directorio de volúmenes que contiene los archivos.
    3. En el campo Nombre , escriba un nombre para el origen de conocimiento.
    4. En Describir el contenido, describa qué contenido contiene el origen de conocimiento para ayudar al agente a comprender cuándo usar este origen de datos.

    Índice de búsqueda vectorial

    Note

    Los índices de búsqueda vectorial solo se admiten si el índice usa databricks-gte-large-en como modelo de inserción. Al crear el índice de búsqueda vectorial, asegúrese de seleccionar este modelo de inserción. Para obtener más información, consulte Creación de un índice de búsqueda vectorial.

    1. En Tipo, seleccione Índice de búsqueda vectorial.
    2. En el campo Origen , seleccione el índice de búsqueda vectorial que desea proporcionar al agente.
    3. En el campo Nombre , escriba un nombre para el origen de conocimiento.
    4. En la columna URI de documento, seleccione la columna con un vínculo o una referencia a la ubicación de la información procedente. El agente lo usará en sus citas.
    5. En el campo Columna de texto, especifique la columna que contiene el texto sin formato que desea que recupere el agente.
    6. En Describir el contenido, describa qué contenido contiene el origen de conocimiento para ayudar al agente a comprender cuándo usar este origen de datos.
  4. (Opcional) Si desea agregar más orígenes de conocimiento, haga clic en Agregar origen de conocimiento. Puede proporcionar hasta 10 orígenes de conocimiento.

  5. (Opcional) En el campo Instrucciones , especifique las directrices para cómo debe responder el agente.

  6. Haga clic en Crear agente.

Puede tardar hasta unas horas en crear el agente y sincronizar los orígenes de conocimiento proporcionados. Cuando el agente esté listo, el panel lateral derecho muestra los orígenes de conocimiento sincronizados.

Important

Si actualiza o agrega archivos a los orígenes de conocimiento, debe hacer clic en el icono Sincronizar. Sincronice para que el agente recoja los cambios. La sincronización se realiza de forma incremental. Por ejemplo, si agrega un nuevo archivo a un volumen de catálogo de Unity sincronizado previamente, la sincronización solo procesará el archivo recién agregado.

Solo el creador del asistente de conocimiento puede sincronizar orígenes de conocimiento.

Paso 2: Probar el agente

Una vez que el agente haya terminado de construirse, pruébelo chateando. El agente debe responder con citas para preguntas relacionadas con sus orígenes de conocimiento.

  1. Comience a chatear con el agente directamente en la pestaña Compilar .
  2. (Opcional) También puede hacer clic en Abrir en el área de juegos para chatear con él en AI Playground.
  3. Escriba una pregunta para el agente.
  4. Evalúe su respuesta:
    1. Haga clic en Ver pensamientos para ver cómo su agente ha abordado responder a la pregunta.
    2. Haga clic en Ver seguimiento para ver el seguimiento completo. Puede agregar etiquetas a trazas en la interfaz de usuario para monitorizar las evaluaciones de calidad durante el proceso de desarrollo.
    3. Haga clic en Ver orígenes para ver los archivos que el agente cita como referencias. Se abre un panel lateral con una lista de orígenes para que los revises.

Si está satisfecho con el rendimiento del agente, siga usando el agente tal cual.

Paso 3: Mejorar la calidad

Knowledge Assistant puede ajustar el comportamiento del agente en función de los comentarios del lenguaje natural. Recopile comentarios de expertos a través de la página de configuración para mejorar la calidad del agente. La recopilación de datos etiquetados para el agente puede mejorar su calidad y comportamiento.

En la pestaña Ejemplos, agregue preguntas que los usuarios harán o preguntas que el agente ha respondido incorrectamente previamente. Como alternativa, también puede importar datos etiquetados directamente desde una tabla de catálogo de Unity.

  1. Añadir preguntas a la etiqueta:

    1. Haga clic en + Agregar para agregar una pregunta.
    2. En el modal Agregar una pregunta , escriba su pregunta.
    3. Haga clic en Agregar. La pregunta debe aparecer en la interfaz de usuario.
    4. Repita hasta que haya agregado todas las preguntas que desea evaluar.
    5. Para eliminar una pregunta, haga clic en el menú kebab y, a continuación, en Eliminar.
  2. Una vez que haya terminado de agregar sus preguntas, puede compartir el agente con otros usuarios para revisar para ayudarle a crear un conjunto de datos etiquetado de alta calidad. En la esquina superior derecha, haga clic en el icono de menú Kebab. para administrar permisos.

    Para que los expertos accedan y proporcionen comentarios, debe concederles los permisos siguientes:

    • CAN_MANAGE Permiso de la página de configuración del agente
  3. Comparta un vínculo a la página de configuración de Knowledge Assistant para recopilar comentarios de expertos.

  4. Para etiquetar los datos, haga clic en una pregunta y agregue Directrices en el panel que aparece. Las directrices se aplican justo después de guardarlas.

  5. Vuelva a probar el agente en la página de configuración o ai Playground para ver su rendimiento mejorado. Si es necesario, agregue más preguntas e instrucciones para seguir mejorando el comportamiento.

(Opcional) Importación y exportación de datos etiquetados

Para importar nuevas preguntas y comentarios directamente desde una tabla de catálogo de Unity:

  1. Haga clic en Importar.

  2. En el campo Origen , seleccione la tabla catálogo de Unity que contiene los datos etiquetados.

    La tabla debe tener el esquema siguiente:

    • eval_id: string
    • request: string
    • guidelines: array
      • items: string
    • metadata: string
    • tags: string
  3. Haga clic en Importar.

Las nuevas preguntas y directrices se combinan en la tabla de datos etiquetada a la derecha.

Para exportar datos etiquetados como una tabla de catálogo de Unity:

  1. Haga clic en Exportar.
  2. En el campo Esquema , seleccione la ubicación del esquema del catálogo de Unity en la que guardar los datos.
  3. En el campo Nombre de tabla, escriba un nombre para la tabla.
  4. Haga clic en Exportar.

Se crea una nueva tabla con los datos etiquetados.

Administración de orígenes de conocimiento

Después de crear un asistente de conocimiento, puede agregar, quitar y actualizar orígenes de conocimiento sin volver a crear el agente. Solo el creador del asistente de conocimiento puede administrar orígenes de conocimiento.

Puede redactar varios cambios a la vez (por ejemplo, agregar un nuevo origen, quitar uno existente y actualizar la descripción de otro) y, a continuación, aplicar todos los cambios simultáneamente al hacer clic en Guardar y actualizar.

Adición de un origen de conocimiento

  1. En la página de configuración del agente, vaya a la pestaña Orígenes .
  2. Haga clic en + Agregar debajo de las tarjetas de origen de conocimiento existentes.
  3. Seleccione el tipo de origen de conocimiento que desea agregar (archivos de catálogo de Unity o índice de búsqueda vectorial) y configúrelo como se describe en Paso 1: Configurar el agente.
  4. Haga clic en Guardar y actualizar.

El agente comienza a sincronizar el nuevo origen de conocimiento. Los orígenes de conocimiento existentes y sus datos no se ven afectados.

Note

Puede proporcionar hasta 10 fuentes de conocimiento por asistente de conocimiento. Agregar un origen de archivo inicia un trabajo de ingesta que puede tardar tiempo en función del volumen de datos.

Eliminación de un origen de conocimiento

  1. En la página de configuración del agente, vaya a la pestaña Orígenes .
  2. Mantenga el puntero sobre la tarjeta de origen de conocimiento que desea quitar y haga clic en el icono de papelera Icono de papelera. en la esquina superior derecha.
  3. En el cuadro de diálogo de confirmación, haga clic en Confirmar para quitar el origen.
  4. Haga clic en Guardar y actualizar.

El origen de conocimiento y sus datos asociados se eliminan del agente. Esta acción no es fácilmente reversible porque volver a agregar el origen requiere volver a ingerir los datos.

Important

No se puede quitar el último origen de conocimiento restante. Un asistente de conocimiento siempre debe tener al menos un origen de conocimiento.

Actualización de los detalles del origen de conocimiento

Puede actualizar el nombre y la descripción de un origen de conocimiento existente. Estos detalles ayudan al agente a comprender cuándo usar cada origen.

  1. En la página de configuración del agente, vaya a la pestaña Orígenes .
  2. Mantenga el puntero sobre la tarjeta de origen de conocimiento que desea editar y haga clic en el icono de lápiz.
  3. Actualice los campos Nombre o Descripción .
  4. Haga clic en Guardar y actualizar.

Administración de permisos

De forma predeterminada, solo los autores del agente y los administradores del área de trabajo tienen permisos para el agente. Para permitir que otros usuarios editen o consulten el agente, debe concederles explícitamente permiso.

Para administrar permisos de tu agente:

  1. Abre tu agente en la página Agentes.
  2. En la parte superior, haga clic en el icono de menú Kebab. Menú kebab.
  3. Haga clic en Administrar permisos.
  4. En la ventana Configuración de permisos , seleccione el usuario, el grupo o la entidad de servicio.
  5. Seleccione el permiso para conceder:
    • Puede administrar: permite administrar el agente, incluidos los permisos de configuración, la edición de la configuración del agente y la mejora de su calidad.
    • Puede consultar: permite consultar el punto de conexión del agente en AI Playground y a través de la API. Los usuarios con solo este permiso no pueden ver ni editar el agente en la página Agentes.
  6. Haga clic en Agregar.
  7. Haz clic en Guardar.

Important

Solo el creador del asistente de conocimiento puede sincronizar y administrar orígenes de conocimiento, como agregar, quitar y actualizar orígenes.

Consulta el punto de conexión del agente

En la página del agente, haga clic en el icono Modelo de servicio. Consulte Estado del agente en la esquina superior derecha para obtener el punto de conexión del agente implementado y ver los detalles del punto de conexión.

Hay varias maneras de consultar el punto de conexión de Knowledge Assistant creado. Use los ejemplos de código proporcionados en AI Playground como punto de partida:

  1. En la pestaña Compilar, haga clic en Abrir en el entorno de prueba.
  2. En Parque infantil, haga clic en Obtener código.
  3. Elija cómo desea usar el punto de conexión:
    • Seleccione Curl API para ver un ejemplo de código para consultar el punto de conexión mediante curl.
    • Seleccione API de Python para ver un ejemplo de código para interactuar con el punto de conexión mediante Python.

Administración de asistentes de conocimiento mediante el SDK de Databricks

Puede usar el SDK de Databricks para Python para crear y administrar mediante programación asistentes de conocimiento y sus orígenes de conocimiento. Para obtener la lista completa de las operaciones de API disponibles, consulte la referencia de la API de Knowledge Assistants.

Creación de un asistente de conocimiento

En el ejemplo siguiente se crea un asistente de conocimiento con un nombre para mostrar, una descripción e instrucciones.

from databricks.sdk import WorkspaceClient
from databricks.sdk.service.knowledgeassistants import KnowledgeAssistant

w = WorkspaceClient()

knowledge_assistant = KnowledgeAssistant(
    display_name="<display-name>",
    description="<description>",
    instructions="<instructions>",
)
created = w.knowledge_assistants.create_knowledge_assistant(knowledge_assistant=knowledge_assistant)
print(created)

Reemplaza <display-name>, <description>, y <instructions> por los valores del asistente de conocimiento.

Administración de orígenes de conocimiento

Puede agregar, quitar y actualizar orígenes de conocimiento en un asistente de conocimiento existente mediante el SDK.

Adición de un origen de conocimiento

En el siguiente ejemplo se agrega una fuente de conocimiento de archivos del catálogo de Unity a un asistente de conocimiento existente.

from databricks.sdk import WorkspaceClient
from databricks.sdk.service.knowledgeassistants import KnowledgeSource, FilesSpec

w = WorkspaceClient()

files_source = KnowledgeSource(
    display_name="<knowledge-source-name>",
    description="<knowledge-source-description>",
    source_type="files",
    files=FilesSpec(
        path="<volume-path>",
    ),
)

created_source = w.knowledge_assistants.create_knowledge_source(
    parent="knowledge-assistants/<knowledge-assistant-id>",
    knowledge_source=files_source,
)
print(created_source)

Para agregar un origen de índice de búsqueda vectorial en su lugar, use IndexSpec:

from databricks.sdk.service.knowledgeassistants import KnowledgeSource, IndexSpec

index_source = KnowledgeSource(
    display_name="<knowledge-source-name>",
    description="<knowledge-source-description>",
    source_type="index",
    index=IndexSpec(
        index_name="<catalog.schema.index-name>",
        text_col="<text-column>",
        doc_uri_col="<doc-uri-column>",
    ),
)

created_source = w.knowledge_assistants.create_knowledge_source(
    parent="knowledge-assistants/<knowledge-assistant-id>",
    knowledge_source=index_source,
)
print(created_source)

Eliminación de un origen de conocimiento

En el ejemplo siguiente se elimina un origen de conocimiento de un asistente de conocimiento.

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

w.knowledge_assistants.delete_knowledge_source(
    name="knowledge-assistants/<knowledge-assistant-id>/knowledge-sources/<knowledge-source-id>",
)

Actualización de un origen de conocimiento

En el ejemplo siguiente se actualiza el nombre visible y la descripción de un origen de conocimiento existente.

from databricks.sdk import WorkspaceClient
from databricks.sdk.service.knowledgeassistants import KnowledgeSource

w = WorkspaceClient()

updated_source = w.knowledge_assistants.update_knowledge_source(
    name="knowledge-assistants/<knowledge-assistant-id>/knowledge-sources/<knowledge-source-id>",
    knowledge_source=KnowledgeSource(
        display_name="<new-name>",
        description="<new-description>",
    ),
    update_mask="display_name,description",
)
print(updated_source)

Campos permitidos en update_mask: display_name, description.

Migración de un asistente de conocimiento entre áreas de trabajo

Puede usar el SDK para replicar un asistente de conocimiento de un área de trabajo a otra. En el ejemplo siguiente se recupera un asistente de conocimiento del área de trabajo de origen y se vuelve a crear, junto con sus fuentes de conocimiento, en el área de trabajo de destino.

Note

Los orígenes de conocimiento a los que se hace referencia en el área de trabajo de destino (como los índices de búsqueda vectorial o los volúmenes del catálogo de Unity) ya deben existir en el área de trabajo de destino antes de crear los orígenes de conocimiento.

from databricks.sdk import WorkspaceClient
from databricks.sdk.service.knowledgeassistants import (
    KnowledgeAssistant,
    KnowledgeSource,
    IndexSpec,
    FilesSpec,
)

# Retrieve the knowledge assistant from the source workspace
source_client = WorkspaceClient()
ka = source_client.knowledge_assistants.get_knowledge_assistant(name="<source-knowledge-assistant-name>")
print(ka.display_name, ka.description, ka.instructions)

# Set up the client for the target workspace
target_client = WorkspaceClient(
    host="<target-workspace-url>",
    token="<target-workspace-token>",
)

# Create the knowledge assistant in the target workspace
knowledge_assistant = KnowledgeAssistant(
    display_name=ka.display_name,
    description=ka.description,
    instructions=ka.instructions,
)
created = target_client.knowledge_assistants.create_knowledge_assistant(knowledge_assistant=knowledge_assistant)
print(created)

# Re-create knowledge sources in the target workspace
index_source = KnowledgeSource(
    display_name="<knowledge-source-name>",
    description="<knowledge-source-description>",
    source_type="index",
    index=IndexSpec(
        index_name="<catalog.schema.index-name>",
        text_col="<text-column>",
        doc_uri_col="<doc-uri-column>",
    ),
)

files_source = KnowledgeSource(
    display_name="<knowledge-source-name>",
    description="<knowledge-source-description>",
    source_type="files",
    files=FilesSpec(
        path="<volume-path>",
    ),
)

created_index_source = target_client.knowledge_assistants.create_knowledge_source(
    parent=created.name,
    knowledge_source=index_source,
)
print(created_index_source)

created_files_source = target_client.knowledge_assistants.create_knowledge_source(
    parent=created.name,
    knowledge_source=files_source,
)
print(created_files_source)

Reemplace los valores de marcador de posición por los valores adecuados para las áreas de trabajo de origen y de destino. <source-knowledge-assistant-name> sigue el formato knowledge-assistants/<knowledge-assistant-id>.

Evalúa tu asistente de conocimiento

En este cuaderno se muestra cómo evaluar un Asistente de Conocimiento de Databricks mediante conjuntos de datos de evaluación curados y evaluadores personalizados.

Obtener el cuaderno

Limitations

  • Solo se admite inglés.
  • Los archivos de más de 50 MB se omiten automáticamente durante la ingesta y no se incluyen en la base de conocimiento.
  • Los archivos con nombres que comienzan con un carácter de subrayado (_) o un punto (.) se omiten automáticamente durante la ingesta y no se incluyen en la base de conocimiento.
  • No se admiten tablas de Catálogo de Unity.
  • Solo se admiten los índices de búsqueda vectorial que utilizan databricks-gte-large-en como modelo de incrustación.
  • Los Guardrails de IA y los límites de tasa deben deshabilitarse en el endpoint del modelo databricks-gte-large-en. Consulte Configuración de AI Gateway en puntos de conexión de modelo de servicio.
  • Para que el seguimiento funcione, debe habilitar la supervisión de producción para MLflow (Beta). Si no necesita realizar el seguimiento, no es necesario habilitar esta versión preliminar. Consulte Administración de versiones preliminares de Azure Databricks.