Comparación de versiones de API
Para la mayoría de los métodos de API, los parámetros de solicitud y los cuerpos de respuesta difieren entre v1 y v2. Conozca los métodos v2 equivalentes o alternativos que puede utilizar para realizar acciones soportadas por la API v1.
La información de comparación presupone que está utilizando la versión más reciente de la API v1 (versión 2019-04-30) y la compara con la versión más reciente de la API v2 (versión 2020-08-30).
Entornos
No existe ningún concepto de entorno de ** en v2. Los detalles de despliegue, como el tamaño y la capacidad de índice, se gestionan en función del tipo de plan de servicio. En v2, las colecciones se organizan en proyectos. Puede crear distintos tipos de proyectos para aplicar valores de configuración predeterminados a las colecciones que añada a los proyectos.
No hay métodos equivalentes en v2 para los métodos de entorno v1. Sin embargo, la tabla siguiente muestra métodos v2 que sirven funciones similares a los métodos v1 correspondientes. Los parámetros soportados y los cuerpos de respuesta que se devuelven para cada método también difieren.
| Acción | API v1 | API v2 relacionada |
|---|---|---|
| Crear un entorno | POST /v1/environments |
POST /v2/projects |
| Listar entornos | GET /v1/environments |
GET /v2/projects |
| Obtener información de entorno | GET /v1/environments/{environment_id} |
GET /v2/projects/{project_id} |
| Actualizar un entorno | PUT /v1/environments/{environment_id} |
POST /v2/projects/{project_id}v2 utiliza POST en lugar de PUT. |
| Suprimir un entorno | DELETE /v1/environment/{environment_id} |
DELETE /v2/projects/{project_id} |
| Listar campos entre colecciones | GET /v1/environments/{environment_id}/fields |
GET /v2/projects/{project_id}/fields |
Configuraciones
La API v2 no tiene un punto final dedicado a las configuraciones. En su lugar, los valores de configuración para proyectos, colecciones y consultas se especifican directamente en la API para esos objetos. No todos los parámetros de configuración que están disponibles en v1 están disponibles o son aplicables en v2.
En la API de configuración dev1, el objeto JSON que se utiliza para especificar un objeto de configuración contiene varios parámetros que están disponibles en formatos diferentes de otros puntos finales v2 o no están disponibles en v2. En la tabla siguiente se describe cómo encontrar parámetros relacionados en v2.
No puede personalizar la conversión de documentos durante el proceso de ingestión en v2 como puede hacerlo en v1.
| Parámetro de configuración v1 | API de v2 |
|---|---|
"conversions.html": { ... } |
No disponible |
"conversions.image_text_recognition": { ... } |
No disponible desde la API. Sin embargo, puede habilitar el reconocimiento óptico de caracteres (OCR) para una colección de la interfaz de usuario del producto para extraer texto de imágenes. La OCR también tiene otros beneficios. Por ejemplo, si una página de un documento no se puede procesar, OCR convierte la página en una imagen y la explora para asegurarse de que el documento se ha cargado correctamente. |
"conversions.json_normalizations": { ... } |
Se ha movido a la API de recopilaciones. |
"conversions.pdf": { ... } |
No disponible. Si ha utilizado parámetros especiales para extraer texto de imágenes en PDF, habilite el reconocimiento óptico de caracteres (OCR) desde la interfaz de usuario del producto para la colección que contiene los PDF. |
"conversions.segment": { ... } |
No disponible mediante programación. Puede dividir un documento en cada aparición de un campo generado por SDU como, por ejemplo, subtitle desde la interfaz de usuario del producto.El objeto segment_metadata con información de parent_id, id y total_segments no está disponible en v2. Puede utilizar el campo metadata.parent_document_id para buscar el padre común para muchos segmentos de documento. |
"conversions.word": { ... } |
No disponible |
"enrichments": { ... } |
/v2/projects/{project_id}/enrichments, /v2/projects/{project_id}/collections/{collection_id}Utilice la API de enriquecimientos para explorar los enriquecimientos existentes. Utilice la API de colecciones para ver y cambiar los enriquecimientos que están habilitados en un campo de una colección. Algunos enriquecimientos se aplican al servicio de forma predeterminada en función del tipo de proyecto que cree. Para obtener más detalles, consulte Valores predeterminados del proyecto. La versión del enriquecimiento Entidades que está disponible en v2 no incluye el campo disambiguation, que en v1 contiene la información de desambiguación para la entidad e incluye la información de subtipo de entidad.Los enriquecimientos siguientes no están disponibles en v2: -Categorías -Conceptos -Emoción -Relaciones -Roles semánticos -Sentimiento de entidades -Sentimiento de palabras clave |
"normalizations": [ ... ] |
Se ha movido a la API de recopilaciones. |
"source": { ... } |
No disponible. Configure conexiones con orígenes de datos externos a través de la interfaz de usuario. Para obtener más información, consulte Creación de colecciones. |
Colecciones
| Acción | API v1 | API de v2 |
|---|---|---|
| Crear una colección | POST /v1/environments/{environment_id}/collections |
POST /v2/projects/{project_id}/collectionsLos parámetros y respuestas soportados difieren entre las dos versiones. Consulte las notas de la colección. |
| Listar colecciones | GET /v1/environments/{environment_id}/collections |
GET /v2/projects/{project_id}/collectionsEn v2, sólo se devuelven en la lista el ID de colección y el nombre de cada colección. Debe utilizar el método Obtener colección para devolver más detalles sobre cada colección. |
| Obtener detalles de colección | GET /v1/environments/{environment_id}/collections/{collection_id} |
GET /v2/projects/{project_id}/collections/{collection_id}Consulte las notas de la colección. |
| Actualizar una colección | PUT /v1/environments/{environment_id}/collections/{collection_id} |
POST /v2/projects/{project_id}/collections/{collection_id} |
| Suprimir una colección | DELETE /v1/environments/{environment_id}/collections/{collection_id} |
DELETE /v2/projects/{project_id}/collections/{collection_id}En v2, el campo status no se devuelve en la respuesta. |
| Listar campos de colección | GET /v1/environments/{environment_id}/collections/{collection_id}/fields v1 lista los campos por colección. |
GET /v2/projects/{project_id}/fields v2 lista campos por proyecto en su lugar. Puede pasar un único ID de colección con el parámetro collection_ids para obtener campos de
una única colección. |
Notas de la API de colecciones
La tabla siguiente muestra las diferencias importantes entre las API de recopilación v1 y v2.
| Método | Notas |
|---|---|
| Crear una colección | La respuesta v2 no incluye los campos status y configuration_id. Puede obtener información de estado para un documento específico utilizando el método Obtener detalles de documento.Los objetos disk_usage, training_status y crawl_status no están presentes en el cuerpo de respuesta en v2. El objeto document_counts no está presente en el cuerpo de respuesta en
v2 actualmente. El estado de entrenamiento se devuelve en la respuesta del método Obtener proyecto. La otra información no está disponible en v2. En
v2, puede definir los enriquecimientos que se aplicarán a los documentos de la colección especificando un objeto enrichments opcional. |
| Obtener detalles de colección | La respuesta v2 no incluye los campos status y configuration_id. Puede obtener información de estado para un documento específico utilizando el método Obtener detalles de documento.Los objetos document_counts, disk_usage, training_status y crawl_status no están presentes en el cuerpo de respuesta en v2. El estado de entrenamiento se devuelve en la respuesta
del método Obtener proyecto. La otra información no está disponible en v2. Por ejemplo, no puede obtener el recuento de documentos para una colección y no puede obtener el estado de rastreo para una colección que se conecta
a un origen de datos externo en v2. En v2, puede obtener información sobre los enriquecimientos que se aplican a la colección. |
| Actualizar una colección | v2 utiliza POST en lugar de PUT. En v2, puede actualizar los enriquecimientos que se aplican a los documentos de la colección especificando un objeto enrichments opcional.La respuesta v2 no incluye los campos status y configuration_id. |
Modificaciones de consulta
El método que estaba disponible en v1 para configurar la tokenización mediante programación no está soportado en la API v2.
| API v1 | API de v2 |
|---|---|
| API de diccionario de señalización | No disponible. |
| API v1 de expansiones | Expansión v2 API |
| API de palabras vacías v1 | API v2 de palabras vacías |
Documentos
| Acción | API v1 | API de v2 |
|---|---|---|
| Listar documentos | No disponible en la API v1 | GET /v2/projects/{project_id}/collections/{collection_id}/documents |
| Crear un documento | POST /v1/environments/{environment_id}/collections/{collection_id}/documents |
POST /v2/projects/{project_id}/collections/{collection_id}/documentsA diferencia de v1, la respuesta v2 no incluye un objeto de avisos. Sin embargo, puede obtener información de avisos utilizando el método Obtener detalles de documento en v2. |
| Actualizar un documento | POST /v1/environments/{environment_id}/collections /{collection_id}/documents/{document_id} |
POST /v2/projects/{project_id}/collections/{collection_id}/documents/{document_id}Al actualizar un documento que se ha dividido, se sobrescriben todos los segmentos de documento. |
| Obtener detalles de documento | GET /v1/environments/{environment_id}/collections /{collection_id}/documents/{document_id} |
GET /v2/projects/{project_id}/collections/{collection_id}/documents/{document_id} En v2, no hay ningún objeto statusDescription. v2 tiene un objeto children con información sobre los avisos asociados con los documentos hijo que se generan durante la ingestión. |
| Supresión de un documento | DELETE /v1/environments/{environment_id}/collections /{collection_id}/documents/{document_id} |
DELETE /v2/projects/{project_id}/collections/{collection_id}/documents/{document_id}Los segmentos de un documento cargado no se pueden suprimir individualmente. Suprimir todos los segmentos con una solicitud DELETE que incluya el parent_document_id de un resultado de segmento. |
v2 introduce una cabecera personalizada denominada X-Watson-Discovery-Force que no está disponible en v1. Debe incluir la cabecera cuando realice una operación en datos que se comparten entre muchas colecciones para indicar que
desea realizar la operación en cada colección. Si no incluye la cabecera, se devuelve un error 403.
Los campos de los archivos JSON que se añaden a una colección se convierten de forma diferente durante la ingestión entre v1 y v2. Para obtener más información sobre cómo se almacenan los archivos JSON en el índice v2, consulte Archivos JSON.
Consultas
Algunas configuraciones de resultados de consulta se aplican al servicio de forma predeterminada en función del tipo de proyecto que cree. Para obtener más detalles, consulte Valores predeterminados del proyecto.
Notas de consulta
-
Las consultas v2 devuelven resultados de todas las colecciones del proyecto. Para restringir la consulta para que utilice sólo determinadas colecciones dentro del proyecto, utilice el parámetro de consulta
collection_ids. No puede consultar varias colecciones que se han añadido a distintos proyectos con una solicitud de consulta v2. -
Los resultados v2 incluyen un campo
confidence, pero no un camposcore.La puntuación de confianza ha sustituido la información de puntuación en v1, pero la puntuación se ha retenido para la compatibilidad con versiones anteriores. En v2, sólo se devuelve el campo de confianza.
-
Utilice llamadas POST (en lugar de llamadas GET) para enviar consultas con v2.
-
Las consultas v1 aceptan muchos parámetros. La tabla Comparación de parámetros de consulta correlaciona los parámetros v1 con los parámetros v2.
Comparación de parámetros de consulta Parámetro v1 Parámetro v2 Notas N/D collection_ids Utilice este parámetro en v2 para especificar los ID de colección. filtro filtro Mismo lenguaje de expresión. consulta consulta Mismo lenguaje de expresión. natural_language_query natural_language_query No hay notas. passages passages El formato de pasaje ha cambiado y se ha mejorado en v2. El parámetro passages:trueha cambiado apassages.enable:true. Además de las opcionescount,charactersyfields, puede especificarper_document, que clasifica los documentos por calidad de documento y, a continuación, devuelve los pasajes con la clasificación más alta por documento. También puede especificarfind_answerspara devolver un objeto de respuesta por pasaje, que contiene una respuesta sucinta a la consulta.agregación agregación Mismo lenguaje de expresión. recuento recuento No hay notas. offset offset No hay notas. return return No hay notas. sort sort No hay notas. highlight highlight Si passages.enabledypassages.per_documentsontrue, se devuelven pasajes para cada documento en lugar de resaltados.sugerencias de ortografía sugerencias de ortografía No hay notas. deduplicate N/D No se admite en v2. similar similar El formato ha cambiado en v2. El parámetro similar:trueha cambiado asimilar.enable:true. Los parámetrosdocument_idsyfieldshan cambiado de series a matrices de series. El parámetrodocument_idsahora es necesario sienabledes true.bias N/D No se admite en v2.
Datos de entrenamiento
Puede utilizar la API de datos de entrenamiento v1 para trabajar con dos objetos relacionados:
- consultas entrenadas
- ejemplos que se utilizan para entrenar las consultas
Estos dos objetos tienen puntos finales de API separados en v1. En v2, los ejemplos que se utilizan para entrenar cada consulta se proporcionan junto con la consulta y sólo se utiliza un punto final para trabajar con los datos de entrenamiento.
Por ejemplo, para añadir una consulta entrenada y sus documentos de ejemplo de entrenamiento en v2, utilice la solicitud POST /v2/projects/{project_id}/training_data/queries y pase la consulta y todos los ejemplos en la carga útil
de una llamada. De forma similar, si desea actualizar un ejemplo en el conjunto de entrenamiento en v2, debe pasar la consulta y el ejemplo modificado (junto con todos los demás ejemplos) al punto final de actualización v2. En v1, para actualizar
la información de ejemplo, utilice el punto final de ejemplo de actualización para modificar sólo un ejemplo.
Otra diferencia importante entre v1 y v2 es que en v1, el modelo entrenado se asocia a una colección determinada. En v2, el modelo entrenado está asociado a un proyecto. Puede utilizar los datos de varias recopilaciones dentro de un proyecto
para entrenar un modelo de relevancia. Al crear o actualizar ejemplos de entrenamiento en v2, la API requiere collection_id para la colección donde se almacena el documento.
Datos de usuario
La API de datos de usuario es la misma en v2 y v1.
| Acción | API v1 | API de v2 |
|---|---|---|
| Suprimir | DELETE /v1/user_data |
DELETE /v2/user_dataSimilar a v1. Utilice customer_id para suprimir los datos asociados con ese ID de cliente. |
Eventos y comentarios
La API de sucesos y comentarios de v1 (/v1/events) no está disponible en v2.
Credenciales
La API de credenciales de v1 (/v1/environments/{environment_id}/credentials) no está disponible en v2. La función está disponible desde la interfaz de usuario del producto v2.
Códigos de estado
Para casi cada método de API, los códigos de estado que se devuelven para las solicitudes v2 son diferentes de los códigos de estado que se devuelven para las solicitudes v1.