@ai-sdk/voyage 1.0.6 → 2.0.0-beta.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +181 -25
- package/dist/index.d.ts +8 -8
- package/dist/index.js +121 -115
- package/dist/index.js.map +1 -1
- package/package.json +12 -11
- package/src/index.ts +2 -2
- package/src/reranking/voyage-reranking-model.ts +25 -21
- package/src/voyage-embedding-model.ts +36 -14
- package/src/voyage-provider.ts +29 -40
- package/dist/index.d.mts +0 -48
- package/dist/index.mjs +0 -275
- package/dist/index.mjs.map +0 -1
- /package/src/reranking/{voyage-reranking-options.ts → voyage-reranking-model-options.ts} +0 -0
- /package/src/{voyage-embedding-options.ts → voyage-embedding-model-options.ts} +0 -0
package/dist/index.mjs
DELETED
|
@@ -1,275 +0,0 @@
|
|
|
1
|
-
// src/voyage-provider.ts
|
|
2
|
-
import {
|
|
3
|
-
NoSuchModelError
|
|
4
|
-
} from "@ai-sdk/provider";
|
|
5
|
-
import {
|
|
6
|
-
loadApiKey,
|
|
7
|
-
withoutTrailingSlash,
|
|
8
|
-
withUserAgentSuffix
|
|
9
|
-
} from "@ai-sdk/provider-utils";
|
|
10
|
-
|
|
11
|
-
// src/voyage-embedding-model.ts
|
|
12
|
-
import {
|
|
13
|
-
TooManyEmbeddingValuesForCallError
|
|
14
|
-
} from "@ai-sdk/provider";
|
|
15
|
-
import {
|
|
16
|
-
combineHeaders,
|
|
17
|
-
createJsonResponseHandler,
|
|
18
|
-
parseProviderOptions,
|
|
19
|
-
postJsonToApi
|
|
20
|
-
} from "@ai-sdk/provider-utils";
|
|
21
|
-
import { z as z3 } from "zod/v4";
|
|
22
|
-
|
|
23
|
-
// src/voyage-embedding-options.ts
|
|
24
|
-
import { z } from "zod/v4";
|
|
25
|
-
var voyageEmbeddingModelOptions = z.object({
|
|
26
|
-
inputType: z.enum(["query", "document"]).nullable().optional(),
|
|
27
|
-
truncation: z.boolean().optional(),
|
|
28
|
-
outputDimension: z.number().optional(),
|
|
29
|
-
outputDtype: z.enum(["float", "int8", "uint8", "binary", "ubinary"]).optional()
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
// src/voyage-error.ts
|
|
33
|
-
import { createJsonErrorResponseHandler } from "@ai-sdk/provider-utils";
|
|
34
|
-
import { z as z2 } from "zod/v4";
|
|
35
|
-
var voyageErrorDataSchema = z2.object({
|
|
36
|
-
detail: z2.string()
|
|
37
|
-
});
|
|
38
|
-
var voyageFailedResponseHandler = createJsonErrorResponseHandler({
|
|
39
|
-
errorSchema: voyageErrorDataSchema,
|
|
40
|
-
errorToMessage: (data) => data.detail
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
// src/voyage-embedding-model.ts
|
|
44
|
-
var VoyageEmbeddingModel = class {
|
|
45
|
-
constructor(modelId, config) {
|
|
46
|
-
this.specificationVersion = "v3";
|
|
47
|
-
this.maxEmbeddingsPerCall = 128;
|
|
48
|
-
this.supportsParallelCalls = true;
|
|
49
|
-
this.modelId = modelId;
|
|
50
|
-
this.config = config;
|
|
51
|
-
}
|
|
52
|
-
get provider() {
|
|
53
|
-
return this.config.provider;
|
|
54
|
-
}
|
|
55
|
-
async doEmbed({
|
|
56
|
-
values,
|
|
57
|
-
headers,
|
|
58
|
-
abortSignal,
|
|
59
|
-
providerOptions
|
|
60
|
-
}) {
|
|
61
|
-
const embeddingOptions = await parseProviderOptions({
|
|
62
|
-
provider: "voyage",
|
|
63
|
-
providerOptions,
|
|
64
|
-
schema: voyageEmbeddingModelOptions
|
|
65
|
-
});
|
|
66
|
-
if (values.length > this.maxEmbeddingsPerCall) {
|
|
67
|
-
throw new TooManyEmbeddingValuesForCallError({
|
|
68
|
-
provider: this.provider,
|
|
69
|
-
modelId: this.modelId,
|
|
70
|
-
maxEmbeddingsPerCall: this.maxEmbeddingsPerCall,
|
|
71
|
-
values
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
const {
|
|
75
|
-
responseHeaders,
|
|
76
|
-
value: response,
|
|
77
|
-
rawValue
|
|
78
|
-
} = await postJsonToApi({
|
|
79
|
-
url: `${this.config.baseURL}/embeddings`,
|
|
80
|
-
headers: combineHeaders(this.config.headers(), headers),
|
|
81
|
-
body: {
|
|
82
|
-
model: this.modelId,
|
|
83
|
-
input: values,
|
|
84
|
-
input_type: embeddingOptions == null ? void 0 : embeddingOptions.inputType,
|
|
85
|
-
truncation: embeddingOptions == null ? void 0 : embeddingOptions.truncation,
|
|
86
|
-
output_dimension: embeddingOptions == null ? void 0 : embeddingOptions.outputDimension,
|
|
87
|
-
output_dtype: embeddingOptions == null ? void 0 : embeddingOptions.outputDtype
|
|
88
|
-
},
|
|
89
|
-
failedResponseHandler: voyageFailedResponseHandler,
|
|
90
|
-
successfulResponseHandler: createJsonResponseHandler(
|
|
91
|
-
voyageEmbeddingResponseSchema
|
|
92
|
-
),
|
|
93
|
-
abortSignal,
|
|
94
|
-
fetch: this.config.fetch
|
|
95
|
-
});
|
|
96
|
-
return {
|
|
97
|
-
warnings: [],
|
|
98
|
-
embeddings: response.data.map((item) => item.embedding),
|
|
99
|
-
usage: { tokens: response.usage.total_tokens },
|
|
100
|
-
response: { headers: responseHeaders, body: rawValue }
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
var voyageEmbeddingResponseSchema = z3.object({
|
|
105
|
-
data: z3.array(
|
|
106
|
-
z3.object({
|
|
107
|
-
embedding: z3.array(z3.number()),
|
|
108
|
-
index: z3.number()
|
|
109
|
-
})
|
|
110
|
-
),
|
|
111
|
-
usage: z3.object({
|
|
112
|
-
total_tokens: z3.number()
|
|
113
|
-
})
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
// src/reranking/voyage-reranking-model.ts
|
|
117
|
-
import {
|
|
118
|
-
combineHeaders as combineHeaders2,
|
|
119
|
-
createJsonResponseHandler as createJsonResponseHandler2,
|
|
120
|
-
parseProviderOptions as parseProviderOptions2,
|
|
121
|
-
postJsonToApi as postJsonToApi2
|
|
122
|
-
} from "@ai-sdk/provider-utils";
|
|
123
|
-
import { z as z5 } from "zod/v4";
|
|
124
|
-
|
|
125
|
-
// src/reranking/voyage-reranking-options.ts
|
|
126
|
-
import {
|
|
127
|
-
lazySchema,
|
|
128
|
-
zodSchema
|
|
129
|
-
} from "@ai-sdk/provider-utils";
|
|
130
|
-
import { z as z4 } from "zod/v4";
|
|
131
|
-
var voyageRerankingModelOptionsSchema = lazySchema(
|
|
132
|
-
() => zodSchema(
|
|
133
|
-
z4.object({
|
|
134
|
-
returnDocuments: z4.boolean().optional(),
|
|
135
|
-
truncation: z4.boolean().optional()
|
|
136
|
-
})
|
|
137
|
-
)
|
|
138
|
-
);
|
|
139
|
-
|
|
140
|
-
// src/reranking/voyage-reranking-model.ts
|
|
141
|
-
var VoyageRerankingModel = class {
|
|
142
|
-
constructor(modelId, config) {
|
|
143
|
-
this.specificationVersion = "v3";
|
|
144
|
-
this.modelId = modelId;
|
|
145
|
-
this.config = config;
|
|
146
|
-
}
|
|
147
|
-
get provider() {
|
|
148
|
-
return this.config.provider;
|
|
149
|
-
}
|
|
150
|
-
async doRerank({
|
|
151
|
-
documents,
|
|
152
|
-
headers,
|
|
153
|
-
query,
|
|
154
|
-
topN,
|
|
155
|
-
abortSignal,
|
|
156
|
-
providerOptions
|
|
157
|
-
}) {
|
|
158
|
-
const rerankingOptions = await parseProviderOptions2({
|
|
159
|
-
provider: "voyage",
|
|
160
|
-
providerOptions,
|
|
161
|
-
schema: voyageRerankingModelOptionsSchema
|
|
162
|
-
});
|
|
163
|
-
const warnings = [];
|
|
164
|
-
if (documents.type === "object") {
|
|
165
|
-
warnings.push({
|
|
166
|
-
type: "compatibility",
|
|
167
|
-
feature: "object documents",
|
|
168
|
-
details: "Object documents are converted to strings."
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
const {
|
|
172
|
-
responseHeaders,
|
|
173
|
-
value: response,
|
|
174
|
-
rawValue
|
|
175
|
-
} = await postJsonToApi2({
|
|
176
|
-
url: `${this.config.baseURL}/rerank`,
|
|
177
|
-
headers: combineHeaders2(this.config.headers(), headers),
|
|
178
|
-
body: {
|
|
179
|
-
model: this.modelId,
|
|
180
|
-
query,
|
|
181
|
-
documents: documents.type === "text" ? documents.values : documents.values.map((value) => JSON.stringify(value)),
|
|
182
|
-
top_k: topN,
|
|
183
|
-
return_documents: rerankingOptions == null ? void 0 : rerankingOptions.returnDocuments,
|
|
184
|
-
truncation: rerankingOptions == null ? void 0 : rerankingOptions.truncation
|
|
185
|
-
},
|
|
186
|
-
failedResponseHandler: voyageFailedResponseHandler,
|
|
187
|
-
successfulResponseHandler: createJsonResponseHandler2(
|
|
188
|
-
voyageRerankingResponseSchema
|
|
189
|
-
),
|
|
190
|
-
abortSignal,
|
|
191
|
-
fetch: this.config.fetch
|
|
192
|
-
});
|
|
193
|
-
return {
|
|
194
|
-
ranking: response.data.map((result) => ({
|
|
195
|
-
index: result.index,
|
|
196
|
-
relevanceScore: result.relevance_score
|
|
197
|
-
})),
|
|
198
|
-
warnings,
|
|
199
|
-
response: {
|
|
200
|
-
headers: responseHeaders,
|
|
201
|
-
body: rawValue
|
|
202
|
-
}
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
};
|
|
206
|
-
var voyageRerankingResponseSchema = z5.object({
|
|
207
|
-
data: z5.array(
|
|
208
|
-
z5.object({
|
|
209
|
-
index: z5.number(),
|
|
210
|
-
relevance_score: z5.number()
|
|
211
|
-
})
|
|
212
|
-
),
|
|
213
|
-
usage: z5.object({
|
|
214
|
-
total_tokens: z5.number()
|
|
215
|
-
})
|
|
216
|
-
});
|
|
217
|
-
|
|
218
|
-
// src/version.ts
|
|
219
|
-
var VERSION = true ? "1.0.6" : "0.0.0-test";
|
|
220
|
-
|
|
221
|
-
// src/voyage-provider.ts
|
|
222
|
-
function createVoyage(options = {}) {
|
|
223
|
-
var _a;
|
|
224
|
-
const baseURL = (_a = withoutTrailingSlash(options.baseURL)) != null ? _a : "https://api.voyageai.com/v1";
|
|
225
|
-
const getHeaders = () => withUserAgentSuffix(
|
|
226
|
-
{
|
|
227
|
-
Authorization: `Bearer ${loadApiKey({
|
|
228
|
-
apiKey: options.apiKey,
|
|
229
|
-
environmentVariableName: "VOYAGE_API_KEY",
|
|
230
|
-
description: "Voyage"
|
|
231
|
-
})}`,
|
|
232
|
-
...options.headers
|
|
233
|
-
},
|
|
234
|
-
`ai-sdk/voyage/${VERSION}`
|
|
235
|
-
);
|
|
236
|
-
const createEmbeddingModel = (modelId) => new VoyageEmbeddingModel(modelId, {
|
|
237
|
-
provider: "voyage.embedding",
|
|
238
|
-
baseURL,
|
|
239
|
-
headers: getHeaders,
|
|
240
|
-
fetch: options.fetch
|
|
241
|
-
});
|
|
242
|
-
const createRerankingModel = (modelId) => new VoyageRerankingModel(modelId, {
|
|
243
|
-
provider: "voyage.reranking",
|
|
244
|
-
baseURL,
|
|
245
|
-
headers: getHeaders,
|
|
246
|
-
fetch: options.fetch
|
|
247
|
-
});
|
|
248
|
-
const provider = function() {
|
|
249
|
-
throw new NoSuchModelError({
|
|
250
|
-
modelId: "",
|
|
251
|
-
modelType: "languageModel"
|
|
252
|
-
});
|
|
253
|
-
};
|
|
254
|
-
provider.specificationVersion = "v3";
|
|
255
|
-
provider.languageModel = (modelId) => {
|
|
256
|
-
throw new NoSuchModelError({ modelId, modelType: "languageModel" });
|
|
257
|
-
};
|
|
258
|
-
provider.embedding = createEmbeddingModel;
|
|
259
|
-
provider.embeddingModel = createEmbeddingModel;
|
|
260
|
-
provider.textEmbedding = createEmbeddingModel;
|
|
261
|
-
provider.textEmbeddingModel = createEmbeddingModel;
|
|
262
|
-
provider.reranking = createRerankingModel;
|
|
263
|
-
provider.rerankingModel = createRerankingModel;
|
|
264
|
-
provider.imageModel = (modelId) => {
|
|
265
|
-
throw new NoSuchModelError({ modelId, modelType: "imageModel" });
|
|
266
|
-
};
|
|
267
|
-
return provider;
|
|
268
|
-
}
|
|
269
|
-
var voyage = createVoyage();
|
|
270
|
-
export {
|
|
271
|
-
VERSION,
|
|
272
|
-
createVoyage,
|
|
273
|
-
voyage
|
|
274
|
-
};
|
|
275
|
-
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/voyage-provider.ts","../src/voyage-embedding-model.ts","../src/voyage-embedding-options.ts","../src/voyage-error.ts","../src/reranking/voyage-reranking-model.ts","../src/reranking/voyage-reranking-options.ts","../src/version.ts"],"sourcesContent":["import {\n NoSuchModelError,\n type EmbeddingModelV3,\n type RerankingModelV3,\n type ProviderV3,\n} from '@ai-sdk/provider';\nimport {\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix,\n type FetchFunction,\n} from '@ai-sdk/provider-utils';\nimport { VoyageEmbeddingModel } from './voyage-embedding-model';\nimport type { VoyageEmbeddingModelId } from './voyage-embedding-options';\nimport { VoyageRerankingModel } from './reranking/voyage-reranking-model';\nimport type { VoyageRerankingModelId } from './reranking/voyage-reranking-options';\nimport { VERSION } from './version';\n\nexport interface VoyageProvider extends ProviderV3 {\n embedding(modelId: VoyageEmbeddingModelId): EmbeddingModelV3;\n\n embeddingModel(modelId: VoyageEmbeddingModelId): EmbeddingModelV3;\n\n textEmbedding(modelId: VoyageEmbeddingModelId): EmbeddingModelV3;\n\n textEmbeddingModel(modelId: VoyageEmbeddingModelId): EmbeddingModelV3;\n\n reranking(modelId: VoyageRerankingModelId): RerankingModelV3;\n\n rerankingModel(modelId: VoyageRerankingModelId): RerankingModelV3;\n}\n\nexport interface VoyageProviderSettings {\n baseURL?: string;\n apiKey?: string;\n headers?: Record<string, string>;\n fetch?: FetchFunction;\n}\n\nexport function createVoyage(\n options: VoyageProviderSettings = {},\n): VoyageProvider {\n const baseURL =\n withoutTrailingSlash(options.baseURL) ?? 'https://api.voyageai.com/v1';\n\n const getHeaders = () =>\n withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'VOYAGE_API_KEY',\n description: 'Voyage',\n })}`,\n ...options.headers,\n },\n `ai-sdk/voyage/${VERSION}`,\n );\n\n const createEmbeddingModel = (modelId: VoyageEmbeddingModelId) =>\n new VoyageEmbeddingModel(modelId, {\n provider: 'voyage.embedding',\n baseURL,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createRerankingModel = (modelId: VoyageRerankingModelId) =>\n new VoyageRerankingModel(modelId, {\n provider: 'voyage.reranking',\n baseURL,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const provider = function () {\n throw new NoSuchModelError({\n modelId: '',\n modelType: 'languageModel',\n });\n };\n\n provider.specificationVersion = 'v3' as const;\n\n provider.languageModel = (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'languageModel' });\n };\n\n provider.embedding = createEmbeddingModel;\n provider.embeddingModel = createEmbeddingModel;\n provider.textEmbedding = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.reranking = createRerankingModel;\n provider.rerankingModel = createRerankingModel;\n\n provider.imageModel = (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'imageModel' });\n };\n\n return provider as VoyageProvider;\n}\n\nexport const voyage = createVoyage();\n","import {\n TooManyEmbeddingValuesForCallError,\n type EmbeddingModelV3,\n} from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonResponseHandler,\n parseProviderOptions,\n postJsonToApi,\n type FetchFunction,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport {\n voyageEmbeddingModelOptions,\n type VoyageEmbeddingModelId,\n} from './voyage-embedding-options';\nimport { voyageFailedResponseHandler } from './voyage-error';\n\ntype VoyageEmbeddingConfig = {\n provider: string;\n baseURL: string;\n headers: () => Record<string, string | undefined>;\n fetch?: FetchFunction;\n};\n\nexport class VoyageEmbeddingModel implements EmbeddingModelV3 {\n readonly specificationVersion = 'v3';\n readonly modelId: VoyageEmbeddingModelId;\n\n readonly maxEmbeddingsPerCall = 128;\n readonly supportsParallelCalls = true;\n\n private readonly config: VoyageEmbeddingConfig;\n\n constructor(modelId: VoyageEmbeddingModelId, config: VoyageEmbeddingConfig) {\n this.modelId = modelId;\n this.config = config;\n }\n\n get provider(): string {\n return this.config.provider;\n }\n\n async doEmbed({\n values,\n headers,\n abortSignal,\n providerOptions,\n }: Parameters<EmbeddingModelV3['doEmbed']>[0]): Promise<\n Awaited<ReturnType<EmbeddingModelV3['doEmbed']>>\n > {\n const embeddingOptions = await parseProviderOptions({\n provider: 'voyage',\n providerOptions,\n schema: voyageEmbeddingModelOptions,\n });\n\n if (values.length > this.maxEmbeddingsPerCall) {\n throw new TooManyEmbeddingValuesForCallError({\n provider: this.provider,\n modelId: this.modelId,\n maxEmbeddingsPerCall: this.maxEmbeddingsPerCall,\n values,\n });\n }\n\n const {\n responseHeaders,\n value: response,\n rawValue,\n } = await postJsonToApi({\n url: `${this.config.baseURL}/embeddings`,\n headers: combineHeaders(this.config.headers(), headers),\n body: {\n model: this.modelId,\n input: values,\n input_type: embeddingOptions?.inputType,\n truncation: embeddingOptions?.truncation,\n output_dimension: embeddingOptions?.outputDimension,\n output_dtype: embeddingOptions?.outputDtype,\n },\n failedResponseHandler: voyageFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n voyageEmbeddingResponseSchema,\n ),\n abortSignal,\n fetch: this.config.fetch,\n });\n\n return {\n warnings: [],\n embeddings: response.data.map(item => item.embedding),\n usage: { tokens: response.usage.total_tokens },\n response: { headers: responseHeaders, body: rawValue },\n };\n }\n}\n\nconst voyageEmbeddingResponseSchema = z.object({\n data: z.array(\n z.object({\n embedding: z.array(z.number()),\n index: z.number(),\n }),\n ),\n usage: z.object({\n total_tokens: z.number(),\n }),\n});\n","import { z } from 'zod/v4';\n\nexport type VoyageEmbeddingModelId =\n | 'voyage-4-large'\n | 'voyage-4'\n | 'voyage-4-lite'\n | 'voyage-4-nano'\n | 'voyage-code-3.5'\n | 'voyage-code-3'\n | 'voyage-3-large'\n | 'voyage-3.5'\n | 'voyage-3.5-lite'\n | 'voyage-3'\n | 'voyage-3-lite'\n | 'voyage-finance-2'\n | 'voyage-law-2'\n | 'voyage-multilingual-2'\n | 'voyage-code-2'\n | 'voyage-2'\n | (string & {});\n\nexport const voyageEmbeddingModelOptions = z.object({\n inputType: z.enum(['query', 'document']).nullable().optional(),\n truncation: z.boolean().optional(),\n outputDimension: z.number().optional(),\n outputDtype: z\n .enum(['float', 'int8', 'uint8', 'binary', 'ubinary'])\n .optional(),\n});\n\nexport type VoyageEmbeddingModelOptions = z.infer<\n typeof voyageEmbeddingModelOptions\n>;\n","import { createJsonErrorResponseHandler } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\nconst voyageErrorDataSchema = z.object({\n detail: z.string(),\n});\n\nexport type VoyageErrorData = z.infer<typeof voyageErrorDataSchema>;\n\nexport const voyageFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: voyageErrorDataSchema,\n errorToMessage: data => data.detail,\n});\n","import type { RerankingModelV3, SharedV3Warning } from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonResponseHandler,\n parseProviderOptions,\n postJsonToApi,\n type FetchFunction,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport { voyageFailedResponseHandler } from '../voyage-error';\nimport {\n voyageRerankingModelOptionsSchema,\n type VoyageRerankingModelId,\n} from './voyage-reranking-options';\n\ntype VoyageRerankingConfig = {\n provider: string;\n baseURL: string;\n headers: () => Record<string, string | undefined>;\n fetch?: FetchFunction;\n};\n\nexport class VoyageRerankingModel implements RerankingModelV3 {\n readonly specificationVersion = 'v3';\n readonly modelId: VoyageRerankingModelId;\n\n private readonly config: VoyageRerankingConfig;\n\n constructor(modelId: VoyageRerankingModelId, config: VoyageRerankingConfig) {\n this.modelId = modelId;\n this.config = config;\n }\n\n get provider(): string {\n return this.config.provider;\n }\n\n async doRerank({\n documents,\n headers,\n query,\n topN,\n abortSignal,\n providerOptions,\n }: Parameters<RerankingModelV3['doRerank']>[0]): Promise<\n Awaited<ReturnType<RerankingModelV3['doRerank']>>\n > {\n const rerankingOptions = await parseProviderOptions({\n provider: 'voyage',\n providerOptions,\n schema: voyageRerankingModelOptionsSchema,\n });\n\n const warnings: SharedV3Warning[] = [];\n\n if (documents.type === 'object') {\n warnings.push({\n type: 'compatibility',\n feature: 'object documents',\n details: 'Object documents are converted to strings.',\n });\n }\n\n const {\n responseHeaders,\n value: response,\n rawValue,\n } = await postJsonToApi({\n url: `${this.config.baseURL}/rerank`,\n headers: combineHeaders(this.config.headers(), headers),\n body: {\n model: this.modelId,\n query,\n documents:\n documents.type === 'text'\n ? documents.values\n : documents.values.map(value => JSON.stringify(value)),\n top_k: topN,\n return_documents: rerankingOptions?.returnDocuments,\n truncation: rerankingOptions?.truncation,\n },\n failedResponseHandler: voyageFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n voyageRerankingResponseSchema,\n ),\n abortSignal,\n fetch: this.config.fetch,\n });\n\n return {\n ranking: response.data.map(result => ({\n index: result.index,\n relevanceScore: result.relevance_score,\n })),\n warnings,\n response: {\n headers: responseHeaders,\n body: rawValue,\n },\n };\n }\n}\n\nconst voyageRerankingResponseSchema = z.object({\n data: z.array(\n z.object({\n index: z.number(),\n relevance_score: z.number(),\n }),\n ),\n usage: z.object({\n total_tokens: z.number(),\n }),\n});\n","import {\n lazySchema,\n zodSchema,\n type FlexibleSchema,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\nexport type VoyageRerankingModelId =\n | 'rerank-2.5'\n | 'rerank-2.5-lite'\n | 'rerank-2'\n | 'rerank-2-lite'\n | 'rerank-1'\n | 'rerank-lite-1'\n | (string & {});\n\nexport type VoyageRerankingModelOptions = {\n returnDocuments?: boolean;\n truncation?: boolean;\n};\n\nexport const voyageRerankingModelOptionsSchema: FlexibleSchema<VoyageRerankingModelOptions> =\n lazySchema(() =>\n zodSchema(\n z.object({\n returnDocuments: z.boolean().optional(),\n truncation: z.boolean().optional(),\n }),\n ),\n );\n","declare const __PACKAGE_VERSION__: string | undefined;\nexport const VERSION: string =\n typeof __PACKAGE_VERSION__ !== 'undefined'\n ? __PACKAGE_VERSION__\n : '0.0.0-test';\n"],"mappings":"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","names":["z","z","z","combineHeaders","createJsonResponseHandler","parseProviderOptions","postJsonToApi","z","z","parseProviderOptions","postJsonToApi","combineHeaders","createJsonResponseHandler","z"]}
|
|
File without changes
|
|
File without changes
|