BefehlszeilenschnittstelleCommand Line Interface

Über die KES-Befehlszeilenschnittstelle (Knowledge Exploration Service) können Index- und Grammatikdateien aus strukturierten Daten erstellt und dann als Webdienste bereitgestellt werden.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. Die allgemeine Syntax sieht wie folgt aus: kes.exe <command> <required_args> [<optional_args>].It uses the general syntax: kes.exe <command> <required_args> [<optional_args>]. Sie können kes.exe ohne Argumente ausführen, um eine Liste von Befehlen anzuzeigen, oder kes.exe <command>, um eine Liste von Argumenten anzuzeigen, die für den angegebenen Befehl verfügbar sind.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. Im Folgenden finden Sie eine Liste der verfügbaren Befehle: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

build_index-Befehlbuild_index Command

Der Befehl build_index erstellt eine Binärindexdatei aus einer Schemadefinitionsdatei und einer Datendatei von zu indizierenden Objekten.The build_index command builds a binary index file from a schema definition file and a data file of objects to be indexed. Mit der resultierenden Indexdatei können strukturierte Abfrageausdrücke ausgewertet oder Interpretationen von Abfragen in natürlicher Sprache in Verbindung mit einer kompilierten Grammatikdatei generiert werden.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]

ParameterParameter BESCHREIBUNGDescription
<schemaFile> EingabeschemapfadInput schema path
<dataFile> EingabedatenpfadInput data path
<indexFile> AusgabeindexpfadOutput index path
--description <description> BeschreibungszeichenfolgeDescription string
--remote <vmSize> VM-Größe für das RemotebuildSize of VM for remote build

Diese Dateien können durch lokale Datei- oder URL-Pfade zu Azure-Blobs angegeben werden.These files may be specified by local file paths or URL paths to Azure blobs. Die Schemadatei beschreibt die Struktur der Objekte, die indiziert werden, sowie die zu unterstützenden Vorgänge werden (siehe Schemaformat).The schema file describes the structure of the objects being indexed as well as the operations to be supported (see Schema Format). Die Datendatei listet die Objekte und Attributwerte auf, die zu indizieren sind (siehe Datenformat).The data file enumerates the objects and attribute values to be indexed (see Data Format). Wenn der Build erfolgreich ausgeführt wird, enthält die Ausgabeindexdatei eine komprimierte Darstellung der Eingabedaten, die die gewünschten Vorgänge unterstützen.When the build succeeds, the output index file contains a compressed representation of the input data that supports the desired operations.

Mithilfe des Befehls describe_index kann eine Beschreibungszeichenfolge optional angegeben werden, um anschließend einen Binärindex zu identifizieren.A description string may be optionally specified to subsequently identify a binary index using the describe_index command.

Standardmäßig wird der Index auf dem lokalen Computer erstellt.By default, the index is built on the local machine. Außerhalb der Azure-Umgebung sind lokale Builds auf Datendateien mit bis zu 10.000 Objekten beschränkt.Outside of the Azure environment, local builds are limited to data files containing up to 10,000 objects. Wenn das --remote-Flag angegeben ist, wird der Index auf einer temporär erstellten Azure-VM mit der angegebenen Größe erstellt.When the --remote flag is specified, the index will be built on a temporarily created Azure VM of the specified size. Dadurch können mit Azure-VMs mit mehr Arbeitsspeicher effizient große Indizes erstellt werden.This allows large indices to be built efficiently using Azure VMs with more memory. Um eine Auslagerung zu vermeiden, die den Buildprozess verlangsamt, wird empfohlen, eine VM mit einem 3-fach größeren RAM als der Eingabedatendatei zu verwenden.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. Eine Liste der verfügbaren VM-Größen finden Sie unter Größen für virtuelle Computer.For a list of available VM sizes, see Sizes for virtual machines.

Tipp

Um Builds zu beschleunigen, sortieren Sie die Objekte in der Datendatei nach sinkender Wahrscheinlichkeit vor.For faster builds, presort the objects in the data file by decreasing probability.

build_grammar-Befehlbuild_grammar Command

Der build_grammar-Befehl kompiliert eine im XML-Format angegebene Grammatik für eine binäre Grammatikdatei.The build_grammar command compiles a grammar specified in XML to a binary grammar file. Die resultierende Grammatikdatei kann in Verbindung mit eine Indexdatei verwendet werden, um Interpretationen von Abfragen in natürlicher Sprache zu generieren.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>

ParameterParameter BESCHREIBUNGDescription
<xmlFile> Eingabepfad der XML-GrammatikspezifikationInput XML grammar specification path
<grammarFile> Ausgabepfad der kompilierten GrammatikOutput compiled grammar path

Diese Dateien können durch lokale Datei- oder URL-Pfade zu Azure-Blobs angegeben werden.These files may be specified by local file paths or URL paths to Azure blobs. Die Grammatikspezifikation beschreibt die Gruppe von gewichteten Ausdrücken in natürlicher Sprache und ihre semantischen Interpretationen (siehe Grammatikformat).The grammar specification describes the set of weighted natural language expressions and their semantic interpretations (see Grammar Format). Wenn der Build erfolgreich ausgeführt wird, enthält die Ausgabegrammatikdatei eine binäre Darstellung der Grammatikspezifikation, um eine schnelle Decodierung zu ermöglichen.When the build succeeds, the output grammar file contains a binary representation of the grammar specification to enable fast decoding.

host_service-Befehlhost_service Command

Der Befehl host_service hostet eine Instanz des KES-Dienstes auf dem lokalen Computer.The host_service command hosts an instance of the KES service on the local machine.

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

ParameterParameter BESCHREIBUNGDescription
<grammarFile> Eingabepfad der BinärgrammatikInput binary grammar path
<indexFile> Eingabepfad des BinärindexInput binary index path
--port <port> Lokale Portnummer.Local port number. Standardwert: 8.000Default: 8000

Diese Dateien können durch lokale Datei- oder URL-Pfade zu Azure-Blobs angegeben werden.These files may be specified by local file paths or URL paths to Azure blobs. Ein Webdienst wird unter http://localhost:&lt ;port> / gehostet.A web service will be hosted at http://localhost:<port>/. Eine Liste der unterstützten Vorgänge finden Sie unter Web-APIs.See Web APIs for a list of supported operations.

Außerhalb der Azure-Umgebung sind lokal gehostete Dienste auf Indexdateien mit einer Größe von bis zu 1 MB, 10 Anforderungen pro Sekunde und insgesamt 1000 Aufrufe beschränkt.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. Um diese Einschränkungen zu umgehen, führen Sie host_service auf einer Azure-VM aus, oder stellen Sie sie mit deploy_service für einen Azure-Clouddienst bereit.To overcome these limitations, run host_service inside an Azure VM, or deploy to an Azure cloud service using deploy_service.

deploy_service-Befehldeploy_service Command

Der Befehl deploy_service stellt eine Instanz des KES-Diensts für einen Azure-Clouddienst bereit.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]

ParameterParameter BESCHREIBUNGDescription
<grammarFile> Eingabepfad der BinärgrammatikInput binary grammar path
<indexFile> Eingabepfad des BinärindexInput binary index path
<serviceName> Name des ZielclouddienstsName of target cloud service
<vmSize> Größe der VM für ClouddiensteSize of cloud service VM
--slot <slot> Clouddienstslot: „staging“ (Standard), „production“Cloud service slot: "staging" (default), "production"

Diese Dateien können durch lokale Datei- oder URL-Pfade zu Azure-Blobs angegeben werden.These files may be specified by local file paths or URL paths to Azure blobs. Dienstnamen geben einen vorkonfigurierten Azure-Clouddienst an (siehe Erstellen und Bereitstellen eines Clouddiensts).Service name specifies a preconfigured Azure cloud service (see How to Create and Deploy a Cloud Service). Der Befehl stellt automatisch den KES-Dienst über VMs mit der angegebenen Größe für den angegebenen Azure-Clouddienst bereit.The command will automatically deploy the KES service to the specified Azure cloud service, using VMs of the specified size. Um eine Auslagerung zu vermeiden, die die Leistung erheblich beeinträchtigt, wird empfohlen, eine VM mit einen um 1 GB größeren Arbeitsspeicher als der Eingabeindexdatei zu verwenden.To avoid paging which significantly decreases performance, we recommend using a VM with 1 GB more RAM than the input index file size. Eine Liste der verfügbaren VM-Größen finden Sie unter Größen für Clouddienste.For a list of available VM sizes, see Sizes for Cloud Services.

Standardmäßig wird der Dienst für die Stagingumgebung bereitgestellt und optional mit dem --slot-Parameter überschrieben.By default, the service is deployed to the staging environment, optionally overridden via the --slot parameter. Eine Liste der unterstützten Vorgänge finden Sie unter Web-APIs.See Web APIs for a list of supported operations.

describe_index-Befehldescribe_index command

Der Befehl describe_index gibt Informationen über eine Indexdatei aus, wie etwa Schema und Beschreibung.The describe_index command outputs information about an index file, including the schema and description.

kes.exe describe_index <indexFile>

ParameterParameter BESCHREIBUNGDescription
<indexFile> EingabeindexpfadInput index path

Diese Datei kann durch einen lokalen oder URL-Pfad zu einem Azure-Blob angegeben werden.This file may be specified by a local file path or a URL path to an Azure blob. Die Ausgabebeschreibungszeichenfolge kann mithilfe des --description-Parameters des build_index-Befehls angegeben werden.The output description string can be specified using the --description parameter of the build_index command.

describe_grammar-Befehldescribe_grammar command

Der describe_grammar-Befehl gibt die ursprüngliche Grammatikspezifikation aus, die zum Erstellen der Binärgrammatik verwendet wird.The describe_grammar command outputs the original grammar specification used to build the binary grammar.

kes.exe describe_grammar <grammarFile>

ParameterParameter BESCHREIBUNGDescription
<grammarFile> EingabegrammatikpfadInput grammar path

Diese Datei kann durch einen lokalen oder URL-Pfad zu einem Azure-Blob angegeben werden.This file may be specified by a local file path or a URL path to an Azure blob.