/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** * The input text or array of texts to generate embeddings for. Can be a single string or an array of strings. Note: batch size and input length limits vary by model. See GET /embeddings/models for model-specific limits. */ export type Input = string | Array; /** * The format to return the embeddings in. Can be either 'float' (array of numbers) or 'base64' (base64-encoded binary). */ export const EncodingFormat = { Float: "float", Base64: "base64", } as const; /** * The format to return the embeddings in. Can be either 'float' (array of numbers) or 'base64' (base64-encoded binary). */ export type EncodingFormat = ClosedEnum; /** * Request parameters for creating embeddings. Generates vector representations of the input text(s). */ export type EmbeddingsRequest = { /** * The input text or array of texts to generate embeddings for. Can be a single string or an array of strings. Note: batch size and input length limits vary by model. See GET /embeddings/models for model-specific limits. */ input: string | Array; /** * ID of the model to use for generating embeddings. Use provider:model format. See GET /embeddings/models for available models and their limits. */ model: string; /** * The number of dimensions the resulting output embeddings should have. Only supported in certain models. */ dimensions?: number | undefined; /** * The format to return the embeddings in. Can be either 'float' (array of numbers) or 'base64' (base64-encoded binary). */ encodingFormat?: EncodingFormat | undefined; /** * A unique identifier representing your end-user. */ user?: string | undefined; }; /** @internal */ export const Input$inboundSchema: z.ZodType = z .union([z.string(), z.array(z.string())]); /** @internal */ export type Input$Outbound = string | Array; /** @internal */ export const Input$outboundSchema: z.ZodType< Input$Outbound, z.ZodTypeDef, Input > = z.union([z.string(), z.array(z.string())]); export function inputToJSON(input: Input): string { return JSON.stringify(Input$outboundSchema.parse(input)); } export function inputFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Input$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Input' from JSON`, ); } /** @internal */ export const EncodingFormat$inboundSchema: z.ZodNativeEnum< typeof EncodingFormat > = z.nativeEnum(EncodingFormat); /** @internal */ export const EncodingFormat$outboundSchema: z.ZodNativeEnum< typeof EncodingFormat > = EncodingFormat$inboundSchema; /** @internal */ export const EmbeddingsRequest$inboundSchema: z.ZodType< EmbeddingsRequest, z.ZodTypeDef, unknown > = z.object({ input: z.union([z.string(), z.array(z.string())]), model: z.string(), dimensions: z.number().int().optional(), encoding_format: EncodingFormat$inboundSchema.default("float"), user: z.string().optional(), }).transform((v) => { return remap$(v, { "encoding_format": "encodingFormat", }); }); /** @internal */ export type EmbeddingsRequest$Outbound = { input: string | Array; model: string; dimensions?: number | undefined; encoding_format: string; user?: string | undefined; }; /** @internal */ export const EmbeddingsRequest$outboundSchema: z.ZodType< EmbeddingsRequest$Outbound, z.ZodTypeDef, EmbeddingsRequest > = z.object({ input: z.union([z.string(), z.array(z.string())]), model: z.string(), dimensions: z.number().int().optional(), encodingFormat: EncodingFormat$outboundSchema.default("float"), user: z.string().optional(), }).transform((v) => { return remap$(v, { encodingFormat: "encoding_format", }); }); export function embeddingsRequestToJSON( embeddingsRequest: EmbeddingsRequest, ): string { return JSON.stringify( EmbeddingsRequest$outboundSchema.parse(embeddingsRequest), ); } export function embeddingsRequestFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => EmbeddingsRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmbeddingsRequest' from JSON`, ); }