Overview
The CONFSEC JavaScript/TypeScript SDK provides developers with a convenient way to make secure and anonymous AI inference requests via CONFSEC. It can function as a drop-in replacement for existing OpenAI clients, or as an HTTP client for lower-level access to the CONFSEC API. Using the SDK, programs can make requests without the need to deploy and manage the CONFSEC proxy.Installation
Quickstart
Use our OpenAI wrapper as a drop-in replacement for existing OpenAI clients:fetch implementation directly:
Configuration
We aim to make the SDK as config-free as possible. However, there are some parameters you can optionally configure to control how the client interacts with the CONFSEC backend:concurrentRequestsTarget (number): Allows the client to specify the desired request parallelism. This primarily impacts the number of credits that the client will maintain cached and available to use immediately. Higher values for this parameter will increase the maximum request throughput that the client can achieve, but also increases the amount of credits that may be lost permanently if the client process terminates without properly closing the client.defaultNodeTags (string[]): Allows the client to specify default filters for CONFSEC compute nodes that will be applied to all requests. Users should not need to configure this in most cases, especially when using the OpenAI wrapper, since themodelfield of any request will be automatically mapped to the appropriate CONFSEC node tags.
Usage
OpenAI Wrapper
TheOpenAI class can be initialized explicitly with an API key, by passing the
apiKey parameter to the constructor. Otherwise, it will attempt to load the
API key from the CONFSEC_API_KEY environment variable.
It is very important to call client.close() when you are done with the client
to ensure that all resources are properly released. This can be done explicitly,
or by using the client in a try/finally block. Failure to do so may result
in credits being lost.
Currently, the following subset of APIs are supported:
- Completions
- Chat
fetch Implementation
The ConfsecClient class can also be initialized explicitly for lower-level
access to the CONFSEC API. It’s recommended to get a fetch function using the
getConfsecFetch method of the ConfsecClient class which will use the client
as the transport, instead of calling ConfsecClient’s methods directly. This
function returns a function which can be used as a drop-in replacement for the
global fetch function.
As with the OpenAI class, it is very important to call client.close() when
you are done with the client to ensure that all resources are properly released.
This should be done explicitly in a try/finally block. Failure to do so may
result in credits being lost.