Skip to main content

Module provider

Module provider 

Source
Expand description

Talking to a model provider in the Anthropic Messages shape.

This module depends on nothing else in the crate: it will move into a crate shared with qcode, so it speaks in its own terms (a key, an endpoint, the pieces of a streamed reply) and leaves what a conversation means to the application.

Two rules run through it. The key lives apart: it is read from the person’s key file into a Key, which cannot be printed, and it only ever travels in a header, so no address, error or log can carry it. No test reaches a real provider: tests talk to a server of their own on the loopback, and live tries are separate and ignored unless asked for.

Structs§

Endpoint
A provider speaking the Anthropic Messages shape.
Key
A provider’s key.
Reply
A whole reply.

Enums§

Delta
Something that arrived while a reply streams in.
KeyError
Why a key file gave no key. It names the file and never its contents.
ProviderError
Why a request to a provider failed.
Stop
Why the model stopped.

Constants§

UNPARSED
The field a call’s input is kept under when it is not a JSON object.