Compartir a través de


Consultar documentos ingeridos mediante la API de inferencia

Importante

Esta es una característica en versión preliminar. Esta información se relaciona con una función preliminar que puede modificarse sustancialmente antes de su lanzamiento. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.

Para consultar el corpus después de configurar e ingerir los documentos, proporcione los siguientes detalles:

Autenticación

Debe agregar un encabezado de autorización a su solicitud. Además, necesitas obtener un token para tu aplicación. Vea el siguiente ejemplo para saber cómo generar un token en la muestra. 

{'Content-Type': 'application/json', 'Authorization': 'Bearer {token}'}

Preguntar a la API de nivel superior

Vaya al grupo de recursos implementado y busque api_management_name.

https://{api_management_name}.azure-api.net/inference/v1/Ask

Campos de solicitud

La solicitud contiene los siguientes campos de nivel superior:

Nombre del campo Tipo Requerido Descripción/Ejemplo
consulta cadena Ejemplo: ¿Cuándo publicará Campbell Soup sus resultados?  
 
filter cadena No Una página web para aprender sobre el filtrado de búsqueda de inteligencia artificial Azure. https://learn.microsoft.com/azure/search/search-filters  
 
Mensaje del sistema cadena No Su mensaje del sistema. Nota: Este mensaje del sistema reemplaza nuestro mensaje del sistema estándar y podría afectar el rendimiento. No recomendamos su uso.  
 

Campos respuesta

Nombre del campo Tipo Descripción
mensaje cadena El resultado de la consulta
CitasResultado Objeto CitationsResult Una cita dentro del mensaje que apunta a una cita específica de un archivo asociado con Asistente o el mensaje.  

Objeto CitationsResult

Nombre del campo Tipo Descripción
Citas Diccionario. Clave: cadena, valor: objeto de cita La clave representa el documento, por ejemplo, doc1.  
intención Matriz de cadenas Intenciones reconocidas.   

Objeto de cita

Nombre del campo Tipo Descripción
contenido Lista de fragmentos El contenido del fragmento devuelto
título cadena El título del documento
Dirección URL Cadena La URL del documento
Nombre del archivo Cadena El nombre del archivo
Número de página Int El número de página del fragmento
Identificación del fragmento Cadena El identificador del fragmento

Posibles filtros

Nombre del campo Tipo Comentarios
Ruta de archivo Cadena filepath eq 'morningstar ford report.pdf'  
Número de página Int32   
contiene_imagen booleano   
título Cadena   
Metadatos del documento/autor Cadena   
documento_metadatos/resumen Cadena   
metadatos_del_documento/palabras_clave Cadena   
metadatos_del_documento/fecha_de_creación Desplazamiento de fecha y hora Utilice este campo para filtrar por determinados criterios, por ejemplo, los últimos tres meses: document_metadata/creation_date ge 2023-12-19T00:00:00Z
metadatos_del_documento/título Cadena   
metadatos_del_documento/metadatos_adicionales/trimestre_financiero Cadena   
metadatos_del_documento/metadatos_adicionales/año_financiero Cadena   
metadatos_del_documento/metadatos_adicionales/organizacion Cadena   

Probar la API

Puede probar la API de inferencia utilizando el servicio de administración de API Azure en el portal Azure. Debe utilizar la API punto de conexión en su código para consultar los datos. Los siguientes pasos explican todo el proceso de prueba de la API:

Nota

La URL de API Management Gateway está disponible en la página Descripción general de API Management.

  1. En el portal Azure, vaya a su grupo de recursos y Seleccionar al recurso Administración de API .

Captura de pantalla de la página que muestra los detalles del grupo de recursos

  1. En el recurso Administración de API, vaya a APIs > APIs > Inferencia > v1. Debería ver la API ASK de análisis de documentos financieros.

Captura de pantalla de la pantalla de administración de API

  1. Seleccionar Prueba > Publicar PREGUNTA.

Captura de pantalla de la pantalla de administración de API con el método POST resaltado

  1. Solicita un token de acceso para el registro de la aplicación que creaste.

    a. Utilice la CLI Azure e inicie sesión en el inquilino que incluye la implementación, como un usuario con permisos para llamar a la API.

    Ejecute el siguiente comando: az account get-access-token --resource <app-reg cli id>

    Aquí, app-reg cli-id significa el ID de la aplicación (cliente).

    Debería recibir un respuesta similar al siguiente comando:

    { 
     "accessToken": "<JWT-Token>" 
     "expiresOn": "2024-11-11 16:13:11.000000", 
     "expires_on": 1731334391, 
     "subscription": "<subscription_id>", 
     "tenant": "<tenant_id>" 
     "tokenType": "Bearer" 
    }
    

    b. Para acceder a la API, incluya el token JWT en la solicitud. Copie el token JWT del comando respuesta y agréguelo como encabezado de autorización en la solicitud. az El valor del encabezado debe ser Bearer <JWT-Token>. Cambie el query valor a Hi y Seleccionar Enviar.

    Captura de pantalla de la pantalla de administración de API con cuerpo de la solicitud resaltado

    Debería recibir un respuesta similar al siguiente mensaje HTTP:

    Captura de pantalla del HTTP respuesta a la solicitud enviada

    c. Para probar la API, cambie el valor a una cadena de texto que podría generar un respuesta según el contenido de los documentos ingeridos y Seleccionar query Enviar .

  2. Pruebe el proceso de realizar la llamada API directamente desde su código. El siguiente código Python fragmento de código muestra cómo puedes usar la API en tu código.

from azure.identity import DefaultAzureCredential 
import requests 
# Get Credentials 
credentials = DefaultAzureCredential() 
# Get the access token 
access_token = credentials.get_token("<App Registration Scope>",tenant_id="<your tenant id>") 
# Define the URL, headers, and payload 
url = "https://<api managment url>/inference/v1/Ask" 
headers = { 
    "Content-Type": "application/json", 
    "Authorization": f"Bearer {access_token.token}" 
} 
payload = { 
    "query": "<your query>" 
} 
# Execute the POST request 
response = requests.post(url, headers=headers, json=payload) 
# Print the response 
print(response.status_code) 
print(response.json())