Interfaz de línea de comandosCommand Line Interface

La interfaz de la línea de comandos de Knowledge Exploration Service (KES) proporciona la capacidad de compilar archivos de índice y de gramática a partir de datos estructurados e implementarlos como servicios web.The Knowledge Exploration Service (KES) command line interface provides the ability to build index and grammar files from structured data and deploy them as web services. Usa la sintaxis general: kes.exe <command> <required_args> [<optional_args>].It uses the general syntax: kes.exe <command> <required_args> [<optional_args>]. Puede ejecutar kes.exe sin argumentos para que se muestre una lista de comandos o kes.exe <command> para mostrar una lista de los argumentos disponibles para el comando especificado.You can run kes.exe without arguments to display a list of commands, or kes.exe <command> to display a list of arguments available for the specified command. A continuación se muestra una lista de los comandos disponibles:Below is a list of available commands:

  • build_indexbuild_index
  • build_grammarbuild_grammar
  • host_servicehost_service
  • deploy_servicedeploy_service
  • describe_indexdescribe_index
  • describe_grammardescribe_grammar

Comando build_indexbuild_index Command

El comando build_index compila un archivo de índice binario a partir de un archivo de definición de esquema y un archivo de datos de objetos que se tienen que indexar.The build_index command builds a binary index file from a schema definition file and a data file of objects to be indexed. El archivo de índice resultante se puede usar para evaluar expresiones de consulta estructuradas o para generar interpretaciones de consultas en lenguaje natural junto con un archivo de gramática compilado.The resulting index file can be used to evaluate structured query expressions, or to generate interpretations of natural language queries in conjunction with a compiled grammar file.

kes.exe build_index <schemaFile> <dataFile> <indexFile> [options]

ParámetroParameter DESCRIPCIÓNDescription
<schemaFile> Ruta de acceso de esquema de entradaInput schema path
<dataFile> Ruta de acceso de datos de entradaInput data path
<indexFile> Ruta de acceso de índice de salidaOutput index path
--description <description> Cadena de descripciónDescription string
--remote <vmSize> Tamaño de máquina virtual para compilación remotaSize of VM for remote build

Estos archivos se pueden especificar mediante rutas de acceso a archivos locales o rutas de dirección URL a blobs de Azure.These files may be specified by local file paths or URL paths to Azure blobs. El archivo de esquema describe la estructura de los objetos que se están indexando, así como las operaciones que se deben admitir (consulte Formato de esquema).The schema file describes the structure of the objects being indexed as well as the operations to be supported (see Schema Format). El archivo de datos enumera los objetos y valores de atributo que se deben indexar (consulte Formato de datos).The data file enumerates the objects and attribute values to be indexed (see Data Format). Si la compilación se realiza correctamente, el archivo de índice de salida contiene una representación comprimida de los datos de entrada que admiten las operaciones deseadas.When the build succeeds, the output index file contains a compressed representation of the input data that supports the desired operations.

Se puede especificar opcionalmente una cadena de descripción para identificar posteriormente un índice binario mediante el comando describe_index.A description string may be optionally specified to subsequently identify a binary index using the describe_index command.

De forma predeterminada, el índice se compila en la máquina local.By default, the index is built on the local machine. Fuera del entorno de Azure, las compilaciones locales se limitan a archivos de datos que contienen hasta 10 000 objetos.Outside of the Azure environment, local builds are limited to data files containing up to 10,000 objects. Si se especifica el identificador --remote, el índice se compilará en una máquina virtual de Azure creada temporalmente del tamaño especificado.When the --remote flag is specified, the index will be built on a temporarily created Azure VM of the specified size. Esto permite que se compilen eficazmente índices grandes mediante máquinas virtuales de Azure con más memoria.This allows large indices to be built efficiently using Azure VMs with more memory. Para evitar la paginación que ralentiza el proceso de compilación, se recomienda usar una máquina virtual con el triple de memoria RAM del que necesita el tamaño de archivo de datos de entrada.To avoid paging which slows down the build process, we recommend using a VM with 3 times the amount of RAM as the input data file size. Para obtener una lista de tamaños de máquina virtual disponibles, consulte Tamaños de máquinas virtuales.For a list of available VM sizes, see Sizes for virtual machines.

Sugerencia

Para compilaciones más rápidas, ordene previamente los objetos del archivo de datos por probabilidad decreciente.For faster builds, presort the objects in the data file by decreasing probability.

Comando build_grammarbuild_grammar Command

El comando build_grammar compila una gramática especificada en XML en un archivo de gramática binario.The build_grammar command compiles a grammar specified in XML to a binary grammar file. El archivo de gramática resultante se puede utilizar junto con un archivo de índice para generar interpretaciones de consultas en lenguaje natural.The resulting grammar file can be used in conjunction with an index file to generate interpretations of natural language queries.

kes.exe build_grammar <xmlFile> <grammarFile>

ParámetroParameter DESCRIPCIÓNDescription
<xmlFile> Ruta de acceso de especificación de gramática XML de entradaInput XML grammar specification path
<grammarFile> Ruta de acceso de gramática compilada de salidaOutput compiled grammar path

Estos archivos se pueden especificar mediante rutas de acceso a archivos locales o rutas de dirección URL a blobs de Azure.These files may be specified by local file paths or URL paths to Azure blobs. La especificación de gramática describe el conjunto de expresiones en lenguaje natural ponderadas y sus interpretaciones semánticas (consulte Formato de gramática).The grammar specification describes the set of weighted natural language expressions and their semantic interpretations (see Grammar Format). Cuando la compilación se realiza correctamente, el archivo de gramática de salida contiene una representación binaria de la especificación de gramática que permite una rápida descodificación.When the build succeeds, the output grammar file contains a binary representation of the grammar specification to enable fast decoding.

Comando host_servicehost_service Command

El comando host_service hospeda una instancia del servicio Knowledge Exploration Service en la máquina local.The host_service command hosts an instance of the KES service on the local machine.

kes.exe host_service <grammarFile> <indexFile> [options]

ParámetroParameter DESCRIPCIÓNDescription
<grammarFile> Ruta de acceso de gramática binaria de entradaInput binary grammar path
<indexFile> Ruta de acceso de índice binario de entradaInput binary index path
--port <port> Número de puerto local.Local port number. Valor predeterminado: 8000Default: 8000

Estos archivos se pueden especificar mediante rutas de acceso a archivos locales o rutas de dirección URL a blobs de Azure.These files may be specified by local file paths or URL paths to Azure blobs. Un servicio web se hospedará en http://localhost:&lt ;port> /.A web service will be hosted at http://localhost:<port>/. Consulte API web para obtener una lista de las operaciones admitidas.See Web APIs for a list of supported operations.

Fuera del entorno de Azure, los servicios que se hospedan localmente se limitan a archivos de índice de hasta 1 MB de tamaño, 10 solicitudes por segundo y 1000 llamadas en total.Outside of the Azure environment, locally hosted services are limited to index files up to 1 MB in size, 10 requests per second, and 1000 total calls. Para superar estas limitaciones, ejecute host_service dentro de una máquina virtual de Azure o realice la implementación en un servicio en la nube de Azure mediante deploy_service.To overcome these limitations, run host_service inside an Azure VM, or deploy to an Azure cloud service using deploy_service.

Comando deploy_servicedeploy_service Command

El comando deploy_service implementa una instancia del servicio Knowledge Exploration Service en un servicio en la nube de Azure.The deploy_service command deploys an instance of the KES service to an Azure cloud service.

kes.exe deploy_service <grammarFile> <indexFile> <serviceName> <vmSize>[options]

ParámetroParameter DESCRIPCIÓNDescription
<grammarFile> Ruta de acceso de gramática binaria de entradaInput binary grammar path
<indexFile> Ruta de acceso de índice binario de entradaInput binary index path
<serviceName> Nombre del servicio en la nube de destinoName of target cloud service
<vmSize> Tamaño de la máquina virtual del servicio en la nubeSize of cloud service VM
--slot <slot> Ranura de servicio en la nube: "almacenamiento provisional" (valor predeterminado), "producción"Cloud service slot: "staging" (default), "production"

Estos archivos se pueden especificar mediante rutas de acceso a archivos locales o rutas de dirección URL a blobs de Azure.These files may be specified by local file paths or URL paths to Azure blobs. El nombre de servicio especifica un servicio en la nube de Azure configurado previamente (consulte Creación e implementación de un servicio en la nube).Service name specifies a preconfigured Azure cloud service (see How to Create and Deploy a Cloud Service). El comando implementará automáticamente el servicio Knowledge Exploration Service en el servicio en la nube de Azure especificado, mediante máquinas virtuales del tamaño especificado.The command will automatically deploy the KES service to the specified Azure cloud service, using VMs of the specified size. Para evitar la paginación que reduce significativamente el rendimiento, se recomienda usar una máquina virtual con 1 GB más de RAM que el tamaño del archivo de índice de entrada.To avoid paging which significantly decreases performance, we recommend using a VM with 1 GB more RAM than the input index file size. Para obtener una lista de los tamaños de máquina virtual disponibles, consulte Tamaños de Cloud Services.For a list of available VM sizes, see Sizes for Cloud Services.

De forma predeterminada, el servicio se implementa en el entorno de ensayo y se puede sobrescribir opcionalmente mediante el parámetro --slot.By default, the service is deployed to the staging environment, optionally overridden via the --slot parameter. Consulte API web para obtener una lista de las operaciones admitidas.See Web APIs for a list of supported operations.

Comando describe_indexdescribe_index command

El comando describe_index genera información sobre un archivo de índice, incluyendo el esquema y la descripción.The describe_index command outputs information about an index file, including the schema and description.

kes.exe describe_index <indexFile>

ParámetroParameter DESCRIPCIÓNDescription
<indexFile> Ruta de acceso de índice de entradaInput index path

Este archivo se puede especificar mediante una ruta de acceso a un archivo local o una ruta de acceso de dirección URL a un blob de Azure.This file may be specified by a local file path or a URL path to an Azure blob. La cadena de descripción de salida se puede especificar mediante el parámetro --description del comando build_index.The output description string can be specified using the --description parameter of the build_index command.

Comando describe_grammardescribe_grammar command

El comando describe_grammar genera la especificación de gramática original utilizada para compilar la gramática binaria.The describe_grammar command outputs the original grammar specification used to build the binary grammar.

kes.exe describe_grammar <grammarFile>

ParámetroParameter DESCRIPCIÓNDescription
<grammarFile> Ruta de acceso de gramática de entradaInput grammar path

Este archivo se puede especificar mediante una ruta de acceso a un archivo local o una ruta de acceso de dirección URL a un blob de Azure.This file may be specified by a local file path or a URL path to an Azure blob.