Protocol Buffer Definitions
Vectara implements a gRPC API to all its core services. You can download the proto files directly below.
Protobuf | Description |
---|---|
services.proto | Defines the core services within the platform. |
serving.proto | Message definitions for running queries. |
custom_dim.proto | Message definitions for custom dimensions. |
indexing.proto | Message definitions for indexing content. |
admin.proto | Message definitions for performing administrative tasks. |
status.proto | Status return codes. |
common.proto | Common message definitions. |
Auxiliary Protocol Buffers
The gRPC services also use Google's
annotations.proto
and http.proto.
The curl commands below will download these files into the ext
subdirectory.
You can then reference them in the protoc
path using -I ext
.
proto $ ls
admin.proto common.proto indexing.proto services.proto serving.proto status.proto
proto $ mkdir ext
proto $ curl -s -o ext/google/api/annotations.proto --create-dirs \
https://raw.githubusercontent.com/googleapis/googleapis/master/google/api/annotations.proto
proto $ curl -s -o ext/google/api/http.proto --create-dirs \
https://raw.githubusercontent.com/googleapis/googleapis/master/google/api/http.proto
Example Protocol Buffers
The Quickstart Examples GitHub repository has examples of connecting via gRPC in a variety of languages.
Generating Strongly Typed Clients
One of the advantages of using gRPC is that there is some tooling for generating strongly-typed clients/bindings in many programming languages. These work by converting the protobuf definitions to code.
The most up-to-date documentation on how to do this is in the "quick start" sections of https://grpc.io/docs/languages/ following the "Generate gRPC code" section in the language of your choosing.