Skip to content

Commit

Permalink
Added .displayName and .hint to embedding providers params in findEmb…
Browse files Browse the repository at this point in the history
…eddingProviders
  • Loading branch information
toptobes committed Jul 24, 2024
1 parent e66b51b commit 4cc45d9
Show file tree
Hide file tree
Showing 2 changed files with 79 additions and 14 deletions.
12 changes: 9 additions & 3 deletions etc/astra-db-ts.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -691,20 +691,20 @@ export interface EmbeddingProviderAuthInfo {
export interface EmbeddingProviderInfo {
displayName: string;
models: EmbeddingProviderModelInfo[];
parameters: EmbeddingProviderParameterInfo[];
parameters: EmbeddingProviderProviderParameterInfo[];
supportedAuthentication: Record<string, EmbeddingProviderAuthInfo>;
url: string;
}

// @public
export interface EmbeddingProviderModelInfo {
name: string;
parameters: EmbeddingProviderParameterInfo[];
parameters: EmbeddingProviderModelParameterInfo[];
vectorDimension: number | null;
}

// @public
export interface EmbeddingProviderParameterInfo {
export interface EmbeddingProviderModelParameterInfo {
defaultValue: string;
help: string;
name: string;
Expand All @@ -713,6 +713,12 @@ export interface EmbeddingProviderParameterInfo {
validation: Record<string, unknown>[];
}

// @public
export interface EmbeddingProviderProviderParameterInfo extends EmbeddingProviderModelParameterInfo {
displayName: string;
hint: string;
}

// @public
export interface EmbeddingProviderTokenInfo {
accepted: string;
Expand Down
81 changes: 70 additions & 11 deletions src/devops/types/db-admin/find-embedding-providers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ export interface EmbeddingProviderInfo {
* }
* ```
*/
parameters: EmbeddingProviderParameterInfo[],
parameters: EmbeddingProviderProviderParameterInfo[],
/**
* The specific models that the provider supports.
*
Expand Down Expand Up @@ -258,20 +258,21 @@ export interface EmbeddingProviderTokenInfo {
}

/**
* Info about any additional, arbitrary parameter the provider may take in. May or may not be required.
* Info about any additional, arbitrary parameter the model may take in. May or may not be required.
*
* Passed into the `parameters` block in {@link VectorizeServiceOptions} (except for `vectorDimension`).
* Passed into the `parameters` block in {@link VectorizeServiceOptions} (except for `vectorDimension`, which should be
* set in the upper-level `dimension: number` field).
*
* @example
* ```typescript
* // openai.parameters[1]
* {
*   name: 'projectId',
*   type: 'STRING',
*   required: false,
*   defaultValue: '',
*   validation: {},
*   help: 'Optional, OpenAI Project ID. If provided passed as `OpenAI-Project` header.',
*   name: 'vectorDimension',
*   type: 'number',
*   required: true,
*   defaultValue: '1536',
*   validation: { numericRange: [2, 1536] },
*   help: 'Vector dimension to use in the database and when calling OpenAI.',
* }
* ```
*
Expand All @@ -287,7 +288,7 @@ export interface EmbeddingProviderTokenInfo {
*
* @public
*/
export interface EmbeddingProviderParameterInfo {
export interface EmbeddingProviderModelParameterInfo {
/**
* The name of the parameter to be passed in.
*
Expand Down Expand Up @@ -359,6 +360,64 @@ export interface EmbeddingProviderParameterInfo {
help: string,
}

/**
* Info about any additional, arbitrary parameter the provider may take in. May or may not be required.
*
* Passed into the `parameters` block in {@link VectorizeServiceOptions} (except for `vectorDimension`, which should be
* set in the upper-level `dimension: number` field).
*
* @example
* ```typescript
* // openai.parameters[1]
* {
*   name: 'projectId',
*   type: 'STRING',
*   required: false,
*   defaultValue: '',
*   validation: {},
*   help: 'Optional, OpenAI Project ID. If provided passed as `OpenAI-Project` header.',
*   displayName: 'Organization ID',
*   hint: 'Add an (optional) organization ID',
* }
* ```
*
* @field name - The name of the parameter to be passed in.
* @field type - The datatype of the parameter.
* @field required - Whether the parameter is required to be passed in.
* @field defaultValue - The default value of the provider, or an empty string if there is none.
* @field validation - Validations that may be done on the inputted value.
* @field help - Any additional help text/information about the parameter.
* @field displayName - Display name for the parameter.
* @field hint - Hint for parameter usage.
*
* @see EmbeddingProviderInfo
* @see EmbeddingProviderModelInfo
*
* @public
*/
export interface EmbeddingProviderProviderParameterInfo extends EmbeddingProviderModelParameterInfo {
/**
* Display name for the parameter.
*
* @example
* ```typescript
* // openai.parameters[0].displayName
* 'Organization ID'
* ```
*/
displayName: string,
/**
* Hint for parameter usage.
*
* @example
* ```typescript
* // openai.parameters[0].hint
* 'Add an (optional) organization ID'
* ```
*/
hint: string,
}

/**
* The specific models that the provider supports.
*
Expand Down Expand Up @@ -433,5 +492,5 @@ export interface EmbeddingProviderModelInfo {
* }
* ```
*/
parameters: EmbeddingProviderParameterInfo[],
parameters: EmbeddingProviderModelParameterInfo[],
}

0 comments on commit 4cc45d9

Please sign in to comment.