sambanova
Version:
The official TypeScript library for the Samba Nova API
157 lines • 4.68 kB
text/typescript
import { APIResource } from "../core/resource.mjs";
import { APIPromise } from "../core/api-promise.mjs";
import { RequestOptions } from "../internal/request-options.mjs";
export declare class Embeddings extends APIResource {
/**
* Create embeddings
*
* @example
* ```ts
* const embeddingsResponse = await client.embeddings.create({
* input: [
* 'text to embed number 1',
* 'text to embed number 2',
* ],
* model: 'E5-Mistral-7B-Instruct',
* });
* ```
*/
create(body: EmbeddingCreateParams, options?: RequestOptions): APIPromise<EmbeddingsResponse>;
}
/**
* Embeddings response returned by the model
*/
export interface EmbeddingsResponse {
/**
* The list of embeddings generated by the model.
*/
data: Array<EmbeddingsResponse.Data>;
/**
* The name of the model used to generate the embedding.
*/
model: string;
/**
* The object type, which is always "list".
*/
object: 'list';
/**
* Usage metrics for the completion, embeddings,transcription or translation
* request
*/
usage: EmbeddingsResponse.Usage | null;
}
export declare namespace EmbeddingsResponse {
/**
* Represents an embedding vector returned by embeddings endpoint.
*/
interface Data {
/**
* List of floats containing the embedding vector.
*/
embedding: Array<number> | null;
/**
* The index of the embedding in the list of embeddings.
*/
index: number;
/**
* Object type, always embedding.
*/
object: 'embedding';
}
/**
* Usage metrics for the completion, embeddings,transcription or translation
* request
*/
interface Usage {
/**
* acceptance rate
*/
acceptance_rate?: number;
/**
* number of tokens generated in completion
*/
completion_tokens?: number;
/**
* completion tokens per second after first token generation
*/
completion_tokens_after_first_per_sec?: number;
/**
* completion tokens per second after first token generation first ten
*/
completion_tokens_after_first_per_sec_first_ten?: number;
/**
* completion tokens per second after first token generation
*/
completion_tokens_after_first_per_sec_graph?: number;
/**
* completion tokens per second
*/
completion_tokens_per_sec?: number;
/**
* The Unix timestamp (in seconds) of when the generation finished.
*/
end_time?: number;
/**
* whether or not is last response, always true for non streaming response
*/
is_last_response?: true;
/**
* number of tokens used in the prompt sent
*/
prompt_tokens?: number;
/**
* Extra tokens details
*/
prompt_tokens_details?: Usage.PromptTokensDetails;
/**
* The Unix timestamp (in seconds) of when the generation started.
*/
start_time?: number;
/**
* also TTF, time (in seconds) taken to generate the first token
*/
time_to_first_token?: number;
/**
* total time (in seconds) taken to generate the full generation
*/
total_latency?: number;
/**
* prompt tokens + completion tokens
*/
total_tokens?: number;
/**
* tokens per second including prompt and completion
*/
total_tokens_per_sec?: number;
[]: unknown;
}
namespace Usage {
/**
* Extra tokens details
*/
interface PromptTokensDetails {
/**
* amount of cached tokens
*/
cached_tokens?: number;
[]: unknown;
}
}
}
export interface EmbeddingCreateParams {
/**
* Input text to embed. to embed multiple inputs in a single request, pass an array
* of strings. The input must not exceed the max input tokens for the model
*/
input: string | Array<string>;
/**
* The model ID to use See available
* [models](https://docs.sambanova.ai/cloud/docs/get-started/supported-models)
*/
model: (string & {}) | 'E5-Mistral-7B-Instruct';
[]: unknown;
}
export declare namespace Embeddings {
export { type EmbeddingsResponse as EmbeddingsResponse, type EmbeddingCreateParams as EmbeddingCreateParams, };
}
//# sourceMappingURL=embeddings.d.mts.map