@ai-sdk/voyage 1.0.3 → 2.0.0-canary.7
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 +64 -15
- package/dist/index.d.ts +8 -8
- package/dist/index.js +121 -115
- package/dist/index.js.map +1 -1
- package/package.json +9 -8
- 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/CHANGELOG.md
CHANGED
|
@@ -1,32 +1,81 @@
|
|
|
1
1
|
# @ai-sdk/voyage
|
|
2
2
|
|
|
3
|
-
## 1.0.
|
|
3
|
+
## 1.0.0-canary.7
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
- Updated dependencies [
|
|
8
|
-
- @ai-sdk/provider-utils@
|
|
7
|
+
- Updated dependencies [2427d88]
|
|
8
|
+
- @ai-sdk/provider-utils@5.0.0-canary.33
|
|
9
9
|
|
|
10
|
-
## 1.0.
|
|
10
|
+
## 1.0.0-canary.6
|
|
11
11
|
|
|
12
12
|
### Patch Changes
|
|
13
13
|
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
- @ai-sdk/provider
|
|
17
|
-
- @ai-sdk/provider@3.0.10
|
|
14
|
+
- Updated dependencies [5463d0d]
|
|
15
|
+
- @ai-sdk/provider-utils@5.0.0-canary.32
|
|
16
|
+
- @ai-sdk/provider@4.0.0-canary.16
|
|
18
17
|
|
|
19
|
-
## 1.0.
|
|
18
|
+
## 1.0.0-canary.5
|
|
20
19
|
|
|
21
20
|
### Patch Changes
|
|
22
21
|
|
|
23
|
-
-
|
|
24
|
-
- Updated dependencies [
|
|
25
|
-
- @ai-sdk/provider@
|
|
26
|
-
- @ai-sdk/provider
|
|
22
|
+
- 0c4c275: trigger initial canary release
|
|
23
|
+
- Updated dependencies [0c4c275]
|
|
24
|
+
- @ai-sdk/provider-utils@5.0.0-canary.31
|
|
25
|
+
- @ai-sdk/provider@4.0.0-canary.15
|
|
27
26
|
|
|
28
|
-
## 1.0.0
|
|
27
|
+
## 1.0.0-beta.4
|
|
29
28
|
|
|
30
29
|
### Major Changes
|
|
31
30
|
|
|
32
|
-
-
|
|
31
|
+
- 04e9009: chore: make provider implementations code patterns more consistent, including renaming certain exported symbols
|
|
32
|
+
|
|
33
|
+
For all externally exported symbols that were renamed, the old names continue to work via deprecated aliases.
|
|
34
|
+
|
|
35
|
+
### Patch Changes
|
|
36
|
+
|
|
37
|
+
- Updated dependencies [08d2129]
|
|
38
|
+
- @ai-sdk/provider-utils@5.0.0-beta.30
|
|
39
|
+
|
|
40
|
+
## 1.0.0-beta.3
|
|
41
|
+
|
|
42
|
+
### Patch Changes
|
|
43
|
+
|
|
44
|
+
- 258c093: chore: ensure consistent import handling and avoid import duplicates or cycles
|
|
45
|
+
- Updated dependencies [9bd6512]
|
|
46
|
+
- Updated dependencies [258c093]
|
|
47
|
+
- Updated dependencies [b6783da]
|
|
48
|
+
- @ai-sdk/provider-utils@5.0.0-beta.29
|
|
49
|
+
- @ai-sdk/provider@4.0.0-beta.14
|
|
50
|
+
|
|
51
|
+
## 1.0.0-beta.2
|
|
52
|
+
|
|
53
|
+
### Patch Changes
|
|
54
|
+
|
|
55
|
+
- 9f0e36c: trigger release for all packages after provenance setup
|
|
56
|
+
- Updated dependencies [9f0e36c]
|
|
57
|
+
- @ai-sdk/provider@4.0.0-beta.13
|
|
58
|
+
- @ai-sdk/provider-utils@5.0.0-beta.28
|
|
59
|
+
|
|
60
|
+
## 1.0.0-beta.1
|
|
61
|
+
|
|
62
|
+
### Patch Changes
|
|
63
|
+
|
|
64
|
+
- Updated dependencies [785fe16]
|
|
65
|
+
- Updated dependencies [67df0a0]
|
|
66
|
+
- Updated dependencies [befb78c]
|
|
67
|
+
- Updated dependencies [0458559]
|
|
68
|
+
- Updated dependencies [5852c0a]
|
|
69
|
+
- Updated dependencies [fc92055]
|
|
70
|
+
- @ai-sdk/provider-utils@5.0.0-beta.27
|
|
71
|
+
|
|
72
|
+
## 1.0.0-beta.0
|
|
73
|
+
|
|
74
|
+
### Major Changes
|
|
75
|
+
|
|
76
|
+
- 4963f11: add voyage ai provider with embedding and reranking support
|
|
77
|
+
|
|
78
|
+
### Patch Changes
|
|
79
|
+
|
|
80
|
+
- Updated dependencies [2e98477]
|
|
81
|
+
- @ai-sdk/provider-utils@5.0.0-beta.26
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ProviderV4, EmbeddingModelV4, RerankingModelV4 } from '@ai-sdk/provider';
|
|
2
2
|
import { FetchFunction } from '@ai-sdk/provider-utils';
|
|
3
3
|
import { z } from 'zod/v4';
|
|
4
4
|
|
|
@@ -26,13 +26,13 @@ type VoyageRerankingModelOptions = {
|
|
|
26
26
|
truncation?: boolean;
|
|
27
27
|
};
|
|
28
28
|
|
|
29
|
-
interface VoyageProvider extends
|
|
30
|
-
embedding(modelId: VoyageEmbeddingModelId):
|
|
31
|
-
embeddingModel(modelId: VoyageEmbeddingModelId):
|
|
32
|
-
textEmbedding(modelId: VoyageEmbeddingModelId):
|
|
33
|
-
textEmbeddingModel(modelId: VoyageEmbeddingModelId):
|
|
34
|
-
reranking(modelId: VoyageRerankingModelId):
|
|
35
|
-
rerankingModel(modelId: VoyageRerankingModelId):
|
|
29
|
+
interface VoyageProvider extends ProviderV4 {
|
|
30
|
+
embedding(modelId: VoyageEmbeddingModelId): EmbeddingModelV4;
|
|
31
|
+
embeddingModel(modelId: VoyageEmbeddingModelId): EmbeddingModelV4;
|
|
32
|
+
textEmbedding(modelId: VoyageEmbeddingModelId): EmbeddingModelV4;
|
|
33
|
+
textEmbeddingModel(modelId: VoyageEmbeddingModelId): EmbeddingModelV4;
|
|
34
|
+
reranking(modelId: VoyageRerankingModelId): RerankingModelV4;
|
|
35
|
+
rerankingModel(modelId: VoyageRerankingModelId): RerankingModelV4;
|
|
36
36
|
}
|
|
37
37
|
interface VoyageProviderSettings {
|
|
38
38
|
baseURL?: string;
|
package/dist/index.js
CHANGED
|
@@ -1,69 +1,66 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/index.ts
|
|
21
|
-
var index_exports = {};
|
|
22
|
-
__export(index_exports, {
|
|
23
|
-
VERSION: () => VERSION,
|
|
24
|
-
createVoyage: () => createVoyage,
|
|
25
|
-
voyage: () => voyage
|
|
26
|
-
});
|
|
27
|
-
module.exports = __toCommonJS(index_exports);
|
|
28
|
-
|
|
29
1
|
// src/voyage-provider.ts
|
|
30
|
-
|
|
31
|
-
|
|
2
|
+
import {
|
|
3
|
+
NoSuchModelError
|
|
4
|
+
} from "@ai-sdk/provider";
|
|
5
|
+
import {
|
|
6
|
+
loadApiKey,
|
|
7
|
+
withoutTrailingSlash,
|
|
8
|
+
withUserAgentSuffix
|
|
9
|
+
} from "@ai-sdk/provider-utils";
|
|
32
10
|
|
|
33
11
|
// src/voyage-embedding-model.ts
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
12
|
+
import {
|
|
13
|
+
TooManyEmbeddingValuesForCallError
|
|
14
|
+
} from "@ai-sdk/provider";
|
|
15
|
+
import {
|
|
16
|
+
combineHeaders,
|
|
17
|
+
createJsonResponseHandler,
|
|
18
|
+
parseProviderOptions,
|
|
19
|
+
postJsonToApi,
|
|
20
|
+
serializeModelOptions,
|
|
21
|
+
WORKFLOW_SERIALIZE,
|
|
22
|
+
WORKFLOW_DESERIALIZE
|
|
23
|
+
} from "@ai-sdk/provider-utils";
|
|
24
|
+
import { z as z3 } from "zod/v4";
|
|
37
25
|
|
|
38
|
-
// src/voyage-embedding-options.ts
|
|
39
|
-
|
|
40
|
-
var voyageEmbeddingModelOptions =
|
|
41
|
-
inputType:
|
|
42
|
-
truncation:
|
|
43
|
-
outputDimension:
|
|
44
|
-
outputDtype:
|
|
26
|
+
// src/voyage-embedding-model-options.ts
|
|
27
|
+
import { z } from "zod/v4";
|
|
28
|
+
var voyageEmbeddingModelOptions = z.object({
|
|
29
|
+
inputType: z.enum(["query", "document"]).nullable().optional(),
|
|
30
|
+
truncation: z.boolean().optional(),
|
|
31
|
+
outputDimension: z.number().optional(),
|
|
32
|
+
outputDtype: z.enum(["float", "int8", "uint8", "binary", "ubinary"]).optional()
|
|
45
33
|
});
|
|
46
34
|
|
|
47
35
|
// src/voyage-error.ts
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
var voyageErrorDataSchema =
|
|
51
|
-
detail:
|
|
36
|
+
import { createJsonErrorResponseHandler } from "@ai-sdk/provider-utils";
|
|
37
|
+
import { z as z2 } from "zod/v4";
|
|
38
|
+
var voyageErrorDataSchema = z2.object({
|
|
39
|
+
detail: z2.string()
|
|
52
40
|
});
|
|
53
|
-
var voyageFailedResponseHandler =
|
|
41
|
+
var voyageFailedResponseHandler = createJsonErrorResponseHandler({
|
|
54
42
|
errorSchema: voyageErrorDataSchema,
|
|
55
43
|
errorToMessage: (data) => data.detail
|
|
56
44
|
});
|
|
57
45
|
|
|
58
46
|
// src/voyage-embedding-model.ts
|
|
59
|
-
var VoyageEmbeddingModel = class {
|
|
47
|
+
var VoyageEmbeddingModel = class _VoyageEmbeddingModel {
|
|
60
48
|
constructor(modelId, config) {
|
|
61
|
-
this.specificationVersion = "
|
|
49
|
+
this.specificationVersion = "v4";
|
|
62
50
|
this.maxEmbeddingsPerCall = 128;
|
|
63
51
|
this.supportsParallelCalls = true;
|
|
64
52
|
this.modelId = modelId;
|
|
65
53
|
this.config = config;
|
|
66
54
|
}
|
|
55
|
+
static [WORKFLOW_SERIALIZE](model) {
|
|
56
|
+
return serializeModelOptions({
|
|
57
|
+
modelId: model.modelId,
|
|
58
|
+
config: model.config
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
static [WORKFLOW_DESERIALIZE](options) {
|
|
62
|
+
return new _VoyageEmbeddingModel(options.modelId, options.config);
|
|
63
|
+
}
|
|
67
64
|
get provider() {
|
|
68
65
|
return this.config.provider;
|
|
69
66
|
}
|
|
@@ -73,13 +70,14 @@ var VoyageEmbeddingModel = class {
|
|
|
73
70
|
abortSignal,
|
|
74
71
|
providerOptions
|
|
75
72
|
}) {
|
|
76
|
-
|
|
73
|
+
var _a, _b, _c, _d;
|
|
74
|
+
const embeddingOptions = await parseProviderOptions({
|
|
77
75
|
provider: "voyage",
|
|
78
76
|
providerOptions,
|
|
79
77
|
schema: voyageEmbeddingModelOptions
|
|
80
78
|
});
|
|
81
79
|
if (values.length > this.maxEmbeddingsPerCall) {
|
|
82
|
-
throw new
|
|
80
|
+
throw new TooManyEmbeddingValuesForCallError({
|
|
83
81
|
provider: this.provider,
|
|
84
82
|
modelId: this.modelId,
|
|
85
83
|
maxEmbeddingsPerCall: this.maxEmbeddingsPerCall,
|
|
@@ -90,19 +88,19 @@ var VoyageEmbeddingModel = class {
|
|
|
90
88
|
responseHeaders,
|
|
91
89
|
value: response,
|
|
92
90
|
rawValue
|
|
93
|
-
} = await
|
|
91
|
+
} = await postJsonToApi({
|
|
94
92
|
url: `${this.config.baseURL}/embeddings`,
|
|
95
|
-
headers: (
|
|
93
|
+
headers: combineHeaders((_b = (_a = this.config).headers) == null ? void 0 : _b.call(_a), headers),
|
|
96
94
|
body: {
|
|
97
|
-
model: this.modelId,
|
|
98
95
|
input: values,
|
|
96
|
+
model: this.modelId,
|
|
99
97
|
input_type: embeddingOptions == null ? void 0 : embeddingOptions.inputType,
|
|
100
98
|
truncation: embeddingOptions == null ? void 0 : embeddingOptions.truncation,
|
|
101
99
|
output_dimension: embeddingOptions == null ? void 0 : embeddingOptions.outputDimension,
|
|
102
100
|
output_dtype: embeddingOptions == null ? void 0 : embeddingOptions.outputDtype
|
|
103
101
|
},
|
|
104
102
|
failedResponseHandler: voyageFailedResponseHandler,
|
|
105
|
-
successfulResponseHandler:
|
|
103
|
+
successfulResponseHandler: createJsonResponseHandler(
|
|
106
104
|
voyageEmbeddingResponseSchema
|
|
107
105
|
),
|
|
108
106
|
abortSignal,
|
|
@@ -110,36 +108,47 @@ var VoyageEmbeddingModel = class {
|
|
|
110
108
|
});
|
|
111
109
|
return {
|
|
112
110
|
warnings: [],
|
|
113
|
-
embeddings: response.data.map((item) => item.embedding),
|
|
114
|
-
usage: { tokens: response.usage.total_tokens },
|
|
111
|
+
embeddings: response.data.sort((a, b) => a.index - b.index).map((item) => item.embedding),
|
|
112
|
+
usage: { tokens: (_d = (_c = response.usage) == null ? void 0 : _c.total_tokens) != null ? _d : 0 },
|
|
115
113
|
response: { headers: responseHeaders, body: rawValue }
|
|
116
114
|
};
|
|
117
115
|
}
|
|
118
116
|
};
|
|
119
|
-
var voyageEmbeddingResponseSchema =
|
|
120
|
-
data:
|
|
121
|
-
|
|
122
|
-
embedding:
|
|
123
|
-
index:
|
|
117
|
+
var voyageEmbeddingResponseSchema = z3.object({
|
|
118
|
+
data: z3.array(
|
|
119
|
+
z3.object({
|
|
120
|
+
embedding: z3.array(z3.number()),
|
|
121
|
+
index: z3.number()
|
|
124
122
|
})
|
|
125
123
|
),
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
124
|
+
model: z3.string(),
|
|
125
|
+
usage: z3.object({
|
|
126
|
+
total_tokens: z3.number()
|
|
127
|
+
}).nullish()
|
|
129
128
|
});
|
|
130
129
|
|
|
131
130
|
// src/reranking/voyage-reranking-model.ts
|
|
132
|
-
|
|
133
|
-
|
|
131
|
+
import {
|
|
132
|
+
combineHeaders as combineHeaders2,
|
|
133
|
+
createJsonResponseHandler as createJsonResponseHandler2,
|
|
134
|
+
lazySchema as lazySchema2,
|
|
135
|
+
parseProviderOptions as parseProviderOptions2,
|
|
136
|
+
postJsonToApi as postJsonToApi2,
|
|
137
|
+
zodSchema as zodSchema2
|
|
138
|
+
} from "@ai-sdk/provider-utils";
|
|
139
|
+
import { z as z5 } from "zod/v4";
|
|
134
140
|
|
|
135
|
-
// src/reranking/voyage-reranking-options.ts
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
141
|
+
// src/reranking/voyage-reranking-model-options.ts
|
|
142
|
+
import {
|
|
143
|
+
lazySchema,
|
|
144
|
+
zodSchema
|
|
145
|
+
} from "@ai-sdk/provider-utils";
|
|
146
|
+
import { z as z4 } from "zod/v4";
|
|
147
|
+
var voyageRerankingModelOptionsSchema = lazySchema(
|
|
148
|
+
() => zodSchema(
|
|
149
|
+
z4.object({
|
|
150
|
+
returnDocuments: z4.boolean().optional(),
|
|
151
|
+
truncation: z4.boolean().optional()
|
|
143
152
|
})
|
|
144
153
|
)
|
|
145
154
|
);
|
|
@@ -147,7 +156,7 @@ var voyageRerankingModelOptionsSchema = (0, import_provider_utils3.lazySchema)(
|
|
|
147
156
|
// src/reranking/voyage-reranking-model.ts
|
|
148
157
|
var VoyageRerankingModel = class {
|
|
149
158
|
constructor(modelId, config) {
|
|
150
|
-
this.specificationVersion = "
|
|
159
|
+
this.specificationVersion = "v4";
|
|
151
160
|
this.modelId = modelId;
|
|
152
161
|
this.config = config;
|
|
153
162
|
}
|
|
@@ -162,7 +171,7 @@ var VoyageRerankingModel = class {
|
|
|
162
171
|
abortSignal,
|
|
163
172
|
providerOptions
|
|
164
173
|
}) {
|
|
165
|
-
const rerankingOptions = await (
|
|
174
|
+
const rerankingOptions = await parseProviderOptions2({
|
|
166
175
|
provider: "voyage",
|
|
167
176
|
providerOptions,
|
|
168
177
|
schema: voyageRerankingModelOptionsSchema
|
|
@@ -175,23 +184,24 @@ var VoyageRerankingModel = class {
|
|
|
175
184
|
details: "Object documents are converted to strings."
|
|
176
185
|
});
|
|
177
186
|
}
|
|
187
|
+
const stringValues = documents.type === "text" ? documents.values : documents.values.map((value) => JSON.stringify(value));
|
|
178
188
|
const {
|
|
179
189
|
responseHeaders,
|
|
180
190
|
value: response,
|
|
181
191
|
rawValue
|
|
182
|
-
} = await (
|
|
192
|
+
} = await postJsonToApi2({
|
|
183
193
|
url: `${this.config.baseURL}/rerank`,
|
|
184
|
-
headers: (
|
|
194
|
+
headers: combineHeaders2(this.config.headers(), headers),
|
|
185
195
|
body: {
|
|
186
|
-
model: this.modelId,
|
|
187
196
|
query,
|
|
188
|
-
documents:
|
|
197
|
+
documents: stringValues,
|
|
198
|
+
model: this.modelId,
|
|
189
199
|
top_k: topN,
|
|
190
200
|
return_documents: rerankingOptions == null ? void 0 : rerankingOptions.returnDocuments,
|
|
191
201
|
truncation: rerankingOptions == null ? void 0 : rerankingOptions.truncation
|
|
192
202
|
},
|
|
193
203
|
failedResponseHandler: voyageFailedResponseHandler,
|
|
194
|
-
successfulResponseHandler: (
|
|
204
|
+
successfulResponseHandler: createJsonResponseHandler2(
|
|
195
205
|
voyageRerankingResponseSchema
|
|
196
206
|
),
|
|
197
207
|
abortSignal,
|
|
@@ -210,28 +220,29 @@ var VoyageRerankingModel = class {
|
|
|
210
220
|
};
|
|
211
221
|
}
|
|
212
222
|
};
|
|
213
|
-
var voyageRerankingResponseSchema =
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
223
|
+
var voyageRerankingResponseSchema = lazySchema2(
|
|
224
|
+
() => zodSchema2(
|
|
225
|
+
z5.object({
|
|
226
|
+
data: z5.array(
|
|
227
|
+
z5.object({
|
|
228
|
+
index: z5.number(),
|
|
229
|
+
relevance_score: z5.number()
|
|
230
|
+
})
|
|
231
|
+
)
|
|
218
232
|
})
|
|
219
|
-
)
|
|
220
|
-
|
|
221
|
-
total_tokens: import_v45.z.number()
|
|
222
|
-
})
|
|
223
|
-
});
|
|
233
|
+
)
|
|
234
|
+
);
|
|
224
235
|
|
|
225
236
|
// src/version.ts
|
|
226
|
-
var VERSION = true ? "
|
|
237
|
+
var VERSION = true ? "2.0.0-canary.7" : "0.0.0-test";
|
|
227
238
|
|
|
228
239
|
// src/voyage-provider.ts
|
|
229
240
|
function createVoyage(options = {}) {
|
|
230
241
|
var _a;
|
|
231
|
-
const baseURL = (_a =
|
|
232
|
-
const getHeaders = () =>
|
|
242
|
+
const baseURL = (_a = withoutTrailingSlash(options.baseURL)) != null ? _a : "https://api.voyageai.com/v1";
|
|
243
|
+
const getHeaders = () => withUserAgentSuffix(
|
|
233
244
|
{
|
|
234
|
-
Authorization: `Bearer ${
|
|
245
|
+
Authorization: `Bearer ${loadApiKey({
|
|
235
246
|
apiKey: options.apiKey,
|
|
236
247
|
environmentVariableName: "VOYAGE_API_KEY",
|
|
237
248
|
description: "Voyage"
|
|
@@ -252,32 +263,27 @@ function createVoyage(options = {}) {
|
|
|
252
263
|
headers: getHeaders,
|
|
253
264
|
fetch: options.fetch
|
|
254
265
|
});
|
|
255
|
-
const provider =
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
provider.reranking = createRerankingModel;
|
|
270
|
-
provider.rerankingModel = createRerankingModel;
|
|
271
|
-
provider.imageModel = (modelId) => {
|
|
272
|
-
throw new import_provider2.NoSuchModelError({ modelId, modelType: "imageModel" });
|
|
266
|
+
const provider = {
|
|
267
|
+
specificationVersion: "v4",
|
|
268
|
+
embedding: createEmbeddingModel,
|
|
269
|
+
embeddingModel: createEmbeddingModel,
|
|
270
|
+
textEmbedding: createEmbeddingModel,
|
|
271
|
+
textEmbeddingModel: createEmbeddingModel,
|
|
272
|
+
reranking: createRerankingModel,
|
|
273
|
+
rerankingModel: createRerankingModel,
|
|
274
|
+
languageModel: (modelId) => {
|
|
275
|
+
throw new NoSuchModelError({ modelId, modelType: "languageModel" });
|
|
276
|
+
},
|
|
277
|
+
imageModel: (modelId) => {
|
|
278
|
+
throw new NoSuchModelError({ modelId, modelType: "imageModel" });
|
|
279
|
+
}
|
|
273
280
|
};
|
|
274
281
|
return provider;
|
|
275
282
|
}
|
|
276
283
|
var voyage = createVoyage();
|
|
277
|
-
|
|
278
|
-
0 && (module.exports = {
|
|
284
|
+
export {
|
|
279
285
|
VERSION,
|
|
280
286
|
createVoyage,
|
|
281
287
|
voyage
|
|
282
|
-
}
|
|
288
|
+
};
|
|
283
289
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../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":["export { voyage, createVoyage } from './voyage-provider';\nexport type { VoyageProvider, VoyageProviderSettings } from './voyage-provider';\nexport type { VoyageEmbeddingModelOptions } from './voyage-embedding-options';\nexport type { VoyageRerankingModelOptions } from './reranking/voyage-reranking-options';\nexport { VERSION } from './version';\n","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":["import_provider","import_provider_utils","import_provider_utils","import_v4","import_v4","import_provider_utils","import_v4","import_provider_utils","import_v4"]}
|
|
1
|
+
{"version":3,"sources":["../src/voyage-provider.ts","../src/voyage-embedding-model.ts","../src/voyage-embedding-model-options.ts","../src/voyage-error.ts","../src/reranking/voyage-reranking-model.ts","../src/reranking/voyage-reranking-model-options.ts","../src/version.ts"],"sourcesContent":["import {\n NoSuchModelError,\n type EmbeddingModelV4,\n type RerankingModelV4,\n type ProviderV4,\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-model-options';\nimport type { VoyageRerankingModelId } from './reranking/voyage-reranking-model-options';\nimport { VoyageRerankingModel } from './reranking/voyage-reranking-model';\nimport { VERSION } from './version';\n\nexport interface VoyageProvider extends ProviderV4 {\n embedding(modelId: VoyageEmbeddingModelId): EmbeddingModelV4;\n embeddingModel(modelId: VoyageEmbeddingModelId): EmbeddingModelV4;\n textEmbedding(modelId: VoyageEmbeddingModelId): EmbeddingModelV4;\n textEmbeddingModel(modelId: VoyageEmbeddingModelId): EmbeddingModelV4;\n reranking(modelId: VoyageRerankingModelId): RerankingModelV4;\n rerankingModel(modelId: VoyageRerankingModelId): RerankingModelV4;\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: VoyageProvider = {\n specificationVersion: 'v4' as const,\n embedding: createEmbeddingModel,\n embeddingModel: createEmbeddingModel,\n textEmbedding: createEmbeddingModel,\n textEmbeddingModel: createEmbeddingModel,\n reranking: createRerankingModel,\n rerankingModel: createRerankingModel,\n\n languageModel: (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'languageModel' });\n },\n\n imageModel: (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'imageModel' });\n },\n };\n\n return provider;\n}\n\nexport const voyage = createVoyage();\n","import {\n TooManyEmbeddingValuesForCallError,\n type EmbeddingModelV4,\n} from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonResponseHandler,\n parseProviderOptions,\n postJsonToApi,\n serializeModelOptions,\n WORKFLOW_SERIALIZE,\n WORKFLOW_DESERIALIZE,\n type FetchFunction,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport {\n voyageEmbeddingModelOptions,\n type VoyageEmbeddingModelId,\n} from './voyage-embedding-model-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 EmbeddingModelV4 {\n readonly specificationVersion = 'v4';\n readonly modelId: VoyageEmbeddingModelId;\n\n readonly maxEmbeddingsPerCall = 128;\n readonly supportsParallelCalls = true;\n\n private readonly config: VoyageEmbeddingConfig;\n\n static [WORKFLOW_SERIALIZE](model: VoyageEmbeddingModel) {\n return serializeModelOptions({\n modelId: model.modelId,\n config: model.config,\n });\n }\n\n static [WORKFLOW_DESERIALIZE](options: {\n modelId: VoyageEmbeddingModelId;\n config: VoyageEmbeddingConfig;\n }) {\n return new VoyageEmbeddingModel(options.modelId, options.config);\n }\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<EmbeddingModelV4['doEmbed']>[0]): Promise<\n Awaited<ReturnType<EmbeddingModelV4['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 input: values,\n model: this.modelId,\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\n .sort((a, b) => a.index - b.index)\n .map(item => item.embedding),\n usage: { tokens: response.usage?.total_tokens ?? 0 },\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 model: z.string(),\n usage: z\n .object({\n total_tokens: z.number(),\n })\n .nullish(),\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 { RerankingModelV4, SharedV4Warning } from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonResponseHandler,\n lazySchema,\n parseProviderOptions,\n postJsonToApi,\n zodSchema,\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-model-options';\ntype VoyageRerankingConfig = {\n provider: string;\n baseURL: string;\n headers: () => Record<string, string | undefined>;\n fetch?: FetchFunction;\n};\n\nexport class VoyageRerankingModel implements RerankingModelV4 {\n readonly specificationVersion = 'v4';\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<RerankingModelV4['doRerank']>[0]): Promise<\n Awaited<ReturnType<RerankingModelV4['doRerank']>>\n > {\n const rerankingOptions = await parseProviderOptions({\n provider: 'voyage',\n providerOptions,\n schema: voyageRerankingModelOptionsSchema,\n });\n\n const warnings: SharedV4Warning[] = [];\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 stringValues =\n documents.type === 'text'\n ? documents.values\n : documents.values.map(value => JSON.stringify(value));\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 query,\n documents: stringValues,\n model: this.modelId,\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 = lazySchema(() =>\n zodSchema(\n z.object({\n data: z.array(\n z.object({\n index: z.number(),\n relevance_score: z.number(),\n }),\n ),\n }),\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","lazySchema","parseProviderOptions","postJsonToApi","zodSchema","z","z","parseProviderOptions","postJsonToApi","combineHeaders","createJsonResponseHandler","lazySchema","zodSchema","z"]}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-sdk/voyage",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-canary.7",
|
|
4
|
+
"type": "module",
|
|
4
5
|
"license": "Apache-2.0",
|
|
5
6
|
"sideEffects": false,
|
|
6
7
|
"main": "./dist/index.js",
|
|
7
|
-
"module": "./dist/index.mjs",
|
|
8
8
|
"types": "./dist/index.d.ts",
|
|
9
9
|
"files": [
|
|
10
10
|
"dist/**/*",
|
|
@@ -20,20 +20,20 @@
|
|
|
20
20
|
"./package.json": "./package.json",
|
|
21
21
|
".": {
|
|
22
22
|
"types": "./dist/index.d.ts",
|
|
23
|
-
"import": "./dist/index.
|
|
24
|
-
"
|
|
23
|
+
"import": "./dist/index.js",
|
|
24
|
+
"default": "./dist/index.js"
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@ai-sdk/provider": "
|
|
29
|
-
"@ai-sdk/provider-utils": "
|
|
28
|
+
"@ai-sdk/provider": "4.0.0-canary.16",
|
|
29
|
+
"@ai-sdk/provider-utils": "5.0.0-canary.33"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@types/node": "20.17.24",
|
|
33
33
|
"tsup": "^8",
|
|
34
34
|
"typescript": "5.8.3",
|
|
35
35
|
"zod": "3.25.76",
|
|
36
|
-
"@ai-sdk/test-server": "
|
|
36
|
+
"@ai-sdk/test-server": "2.0.0-canary.4",
|
|
37
37
|
"@vercel/ai-tsconfig": "0.0.0"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
@@ -43,7 +43,8 @@
|
|
|
43
43
|
"node": ">=18"
|
|
44
44
|
},
|
|
45
45
|
"publishConfig": {
|
|
46
|
-
"access": "public"
|
|
46
|
+
"access": "public",
|
|
47
|
+
"provenance": true
|
|
47
48
|
},
|
|
48
49
|
"homepage": "https://ai-sdk.dev/docs",
|
|
49
50
|
"repository": {
|
package/src/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { voyage, createVoyage } from './voyage-provider';
|
|
2
2
|
export type { VoyageProvider, VoyageProviderSettings } from './voyage-provider';
|
|
3
|
-
export type { VoyageEmbeddingModelOptions } from './voyage-embedding-options';
|
|
4
|
-
export type { VoyageRerankingModelOptions } from './reranking/voyage-reranking-options';
|
|
3
|
+
export type { VoyageEmbeddingModelOptions } from './voyage-embedding-model-options';
|
|
4
|
+
export type { VoyageRerankingModelOptions } from './reranking/voyage-reranking-model-options';
|
|
5
5
|
export { VERSION } from './version';
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { RerankingModelV4, SharedV4Warning } from '@ai-sdk/provider';
|
|
2
2
|
import {
|
|
3
3
|
combineHeaders,
|
|
4
4
|
createJsonResponseHandler,
|
|
5
|
+
lazySchema,
|
|
5
6
|
parseProviderOptions,
|
|
6
7
|
postJsonToApi,
|
|
8
|
+
zodSchema,
|
|
7
9
|
type FetchFunction,
|
|
8
10
|
} from '@ai-sdk/provider-utils';
|
|
9
11
|
import { z } from 'zod/v4';
|
|
@@ -11,8 +13,7 @@ import { voyageFailedResponseHandler } from '../voyage-error';
|
|
|
11
13
|
import {
|
|
12
14
|
voyageRerankingModelOptionsSchema,
|
|
13
15
|
type VoyageRerankingModelId,
|
|
14
|
-
} from './voyage-reranking-options';
|
|
15
|
-
|
|
16
|
+
} from './voyage-reranking-model-options';
|
|
16
17
|
type VoyageRerankingConfig = {
|
|
17
18
|
provider: string;
|
|
18
19
|
baseURL: string;
|
|
@@ -20,8 +21,8 @@ type VoyageRerankingConfig = {
|
|
|
20
21
|
fetch?: FetchFunction;
|
|
21
22
|
};
|
|
22
23
|
|
|
23
|
-
export class VoyageRerankingModel implements
|
|
24
|
-
readonly specificationVersion = '
|
|
24
|
+
export class VoyageRerankingModel implements RerankingModelV4 {
|
|
25
|
+
readonly specificationVersion = 'v4';
|
|
25
26
|
readonly modelId: VoyageRerankingModelId;
|
|
26
27
|
|
|
27
28
|
private readonly config: VoyageRerankingConfig;
|
|
@@ -42,8 +43,8 @@ export class VoyageRerankingModel implements RerankingModelV3 {
|
|
|
42
43
|
topN,
|
|
43
44
|
abortSignal,
|
|
44
45
|
providerOptions,
|
|
45
|
-
}: Parameters<
|
|
46
|
-
Awaited<ReturnType<
|
|
46
|
+
}: Parameters<RerankingModelV4['doRerank']>[0]): Promise<
|
|
47
|
+
Awaited<ReturnType<RerankingModelV4['doRerank']>>
|
|
47
48
|
> {
|
|
48
49
|
const rerankingOptions = await parseProviderOptions({
|
|
49
50
|
provider: 'voyage',
|
|
@@ -51,7 +52,7 @@ export class VoyageRerankingModel implements RerankingModelV3 {
|
|
|
51
52
|
schema: voyageRerankingModelOptionsSchema,
|
|
52
53
|
});
|
|
53
54
|
|
|
54
|
-
const warnings:
|
|
55
|
+
const warnings: SharedV4Warning[] = [];
|
|
55
56
|
|
|
56
57
|
if (documents.type === 'object') {
|
|
57
58
|
warnings.push({
|
|
@@ -61,6 +62,11 @@ export class VoyageRerankingModel implements RerankingModelV3 {
|
|
|
61
62
|
});
|
|
62
63
|
}
|
|
63
64
|
|
|
65
|
+
const stringValues =
|
|
66
|
+
documents.type === 'text'
|
|
67
|
+
? documents.values
|
|
68
|
+
: documents.values.map(value => JSON.stringify(value));
|
|
69
|
+
|
|
64
70
|
const {
|
|
65
71
|
responseHeaders,
|
|
66
72
|
value: response,
|
|
@@ -69,12 +75,9 @@ export class VoyageRerankingModel implements RerankingModelV3 {
|
|
|
69
75
|
url: `${this.config.baseURL}/rerank`,
|
|
70
76
|
headers: combineHeaders(this.config.headers(), headers),
|
|
71
77
|
body: {
|
|
72
|
-
model: this.modelId,
|
|
73
78
|
query,
|
|
74
|
-
documents:
|
|
75
|
-
|
|
76
|
-
? documents.values
|
|
77
|
-
: documents.values.map(value => JSON.stringify(value)),
|
|
79
|
+
documents: stringValues,
|
|
80
|
+
model: this.modelId,
|
|
78
81
|
top_k: topN,
|
|
79
82
|
return_documents: rerankingOptions?.returnDocuments,
|
|
80
83
|
truncation: rerankingOptions?.truncation,
|
|
@@ -101,14 +104,15 @@ export class VoyageRerankingModel implements RerankingModelV3 {
|
|
|
101
104
|
}
|
|
102
105
|
}
|
|
103
106
|
|
|
104
|
-
const voyageRerankingResponseSchema =
|
|
105
|
-
|
|
107
|
+
const voyageRerankingResponseSchema = lazySchema(() =>
|
|
108
|
+
zodSchema(
|
|
106
109
|
z.object({
|
|
107
|
-
|
|
108
|
-
|
|
110
|
+
data: z.array(
|
|
111
|
+
z.object({
|
|
112
|
+
index: z.number(),
|
|
113
|
+
relevance_score: z.number(),
|
|
114
|
+
}),
|
|
115
|
+
),
|
|
109
116
|
}),
|
|
110
117
|
),
|
|
111
|
-
|
|
112
|
-
total_tokens: z.number(),
|
|
113
|
-
}),
|
|
114
|
-
});
|
|
118
|
+
);
|
|
@@ -1,30 +1,33 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TooManyEmbeddingValuesForCallError,
|
|
3
|
-
type
|
|
3
|
+
type EmbeddingModelV4,
|
|
4
4
|
} from '@ai-sdk/provider';
|
|
5
5
|
import {
|
|
6
6
|
combineHeaders,
|
|
7
7
|
createJsonResponseHandler,
|
|
8
8
|
parseProviderOptions,
|
|
9
9
|
postJsonToApi,
|
|
10
|
+
serializeModelOptions,
|
|
11
|
+
WORKFLOW_SERIALIZE,
|
|
12
|
+
WORKFLOW_DESERIALIZE,
|
|
10
13
|
type FetchFunction,
|
|
11
14
|
} from '@ai-sdk/provider-utils';
|
|
12
15
|
import { z } from 'zod/v4';
|
|
13
16
|
import {
|
|
14
17
|
voyageEmbeddingModelOptions,
|
|
15
18
|
type VoyageEmbeddingModelId,
|
|
16
|
-
} from './voyage-embedding-options';
|
|
19
|
+
} from './voyage-embedding-model-options';
|
|
17
20
|
import { voyageFailedResponseHandler } from './voyage-error';
|
|
18
21
|
|
|
19
22
|
type VoyageEmbeddingConfig = {
|
|
20
23
|
provider: string;
|
|
21
24
|
baseURL: string;
|
|
22
|
-
headers
|
|
25
|
+
headers?: () => Record<string, string | undefined>;
|
|
23
26
|
fetch?: FetchFunction;
|
|
24
27
|
};
|
|
25
28
|
|
|
26
|
-
export class VoyageEmbeddingModel implements
|
|
27
|
-
readonly specificationVersion = '
|
|
29
|
+
export class VoyageEmbeddingModel implements EmbeddingModelV4 {
|
|
30
|
+
readonly specificationVersion = 'v4';
|
|
28
31
|
readonly modelId: VoyageEmbeddingModelId;
|
|
29
32
|
|
|
30
33
|
readonly maxEmbeddingsPerCall = 128;
|
|
@@ -32,6 +35,20 @@ export class VoyageEmbeddingModel implements EmbeddingModelV3 {
|
|
|
32
35
|
|
|
33
36
|
private readonly config: VoyageEmbeddingConfig;
|
|
34
37
|
|
|
38
|
+
static [WORKFLOW_SERIALIZE](model: VoyageEmbeddingModel) {
|
|
39
|
+
return serializeModelOptions({
|
|
40
|
+
modelId: model.modelId,
|
|
41
|
+
config: model.config,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
static [WORKFLOW_DESERIALIZE](options: {
|
|
46
|
+
modelId: VoyageEmbeddingModelId;
|
|
47
|
+
config: VoyageEmbeddingConfig;
|
|
48
|
+
}) {
|
|
49
|
+
return new VoyageEmbeddingModel(options.modelId, options.config);
|
|
50
|
+
}
|
|
51
|
+
|
|
35
52
|
constructor(modelId: VoyageEmbeddingModelId, config: VoyageEmbeddingConfig) {
|
|
36
53
|
this.modelId = modelId;
|
|
37
54
|
this.config = config;
|
|
@@ -46,8 +63,8 @@ export class VoyageEmbeddingModel implements EmbeddingModelV3 {
|
|
|
46
63
|
headers,
|
|
47
64
|
abortSignal,
|
|
48
65
|
providerOptions,
|
|
49
|
-
}: Parameters<
|
|
50
|
-
Awaited<ReturnType<
|
|
66
|
+
}: Parameters<EmbeddingModelV4['doEmbed']>[0]): Promise<
|
|
67
|
+
Awaited<ReturnType<EmbeddingModelV4['doEmbed']>>
|
|
51
68
|
> {
|
|
52
69
|
const embeddingOptions = await parseProviderOptions({
|
|
53
70
|
provider: 'voyage',
|
|
@@ -70,10 +87,10 @@ export class VoyageEmbeddingModel implements EmbeddingModelV3 {
|
|
|
70
87
|
rawValue,
|
|
71
88
|
} = await postJsonToApi({
|
|
72
89
|
url: `${this.config.baseURL}/embeddings`,
|
|
73
|
-
headers: combineHeaders(this.config.headers(), headers),
|
|
90
|
+
headers: combineHeaders(this.config.headers?.(), headers),
|
|
74
91
|
body: {
|
|
75
|
-
model: this.modelId,
|
|
76
92
|
input: values,
|
|
93
|
+
model: this.modelId,
|
|
77
94
|
input_type: embeddingOptions?.inputType,
|
|
78
95
|
truncation: embeddingOptions?.truncation,
|
|
79
96
|
output_dimension: embeddingOptions?.outputDimension,
|
|
@@ -89,8 +106,10 @@ export class VoyageEmbeddingModel implements EmbeddingModelV3 {
|
|
|
89
106
|
|
|
90
107
|
return {
|
|
91
108
|
warnings: [],
|
|
92
|
-
embeddings: response.data
|
|
93
|
-
|
|
109
|
+
embeddings: response.data
|
|
110
|
+
.sort((a, b) => a.index - b.index)
|
|
111
|
+
.map(item => item.embedding),
|
|
112
|
+
usage: { tokens: response.usage?.total_tokens ?? 0 },
|
|
94
113
|
response: { headers: responseHeaders, body: rawValue },
|
|
95
114
|
};
|
|
96
115
|
}
|
|
@@ -103,7 +122,10 @@ const voyageEmbeddingResponseSchema = z.object({
|
|
|
103
122
|
index: z.number(),
|
|
104
123
|
}),
|
|
105
124
|
),
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
125
|
+
model: z.string(),
|
|
126
|
+
usage: z
|
|
127
|
+
.object({
|
|
128
|
+
total_tokens: z.number(),
|
|
129
|
+
})
|
|
130
|
+
.nullish(),
|
|
109
131
|
});
|
package/src/voyage-provider.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
NoSuchModelError,
|
|
3
|
-
type
|
|
4
|
-
type
|
|
5
|
-
type
|
|
3
|
+
type EmbeddingModelV4,
|
|
4
|
+
type RerankingModelV4,
|
|
5
|
+
type ProviderV4,
|
|
6
6
|
} from '@ai-sdk/provider';
|
|
7
7
|
import {
|
|
8
8
|
loadApiKey,
|
|
@@ -11,23 +11,18 @@ import {
|
|
|
11
11
|
type FetchFunction,
|
|
12
12
|
} from '@ai-sdk/provider-utils';
|
|
13
13
|
import { VoyageEmbeddingModel } from './voyage-embedding-model';
|
|
14
|
-
import type { VoyageEmbeddingModelId } from './voyage-embedding-options';
|
|
14
|
+
import type { VoyageEmbeddingModelId } from './voyage-embedding-model-options';
|
|
15
|
+
import type { VoyageRerankingModelId } from './reranking/voyage-reranking-model-options';
|
|
15
16
|
import { VoyageRerankingModel } from './reranking/voyage-reranking-model';
|
|
16
|
-
import type { VoyageRerankingModelId } from './reranking/voyage-reranking-options';
|
|
17
17
|
import { VERSION } from './version';
|
|
18
18
|
|
|
19
|
-
export interface VoyageProvider extends
|
|
20
|
-
embedding(modelId: VoyageEmbeddingModelId):
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
textEmbeddingModel(modelId: VoyageEmbeddingModelId): EmbeddingModelV3;
|
|
27
|
-
|
|
28
|
-
reranking(modelId: VoyageRerankingModelId): RerankingModelV3;
|
|
29
|
-
|
|
30
|
-
rerankingModel(modelId: VoyageRerankingModelId): RerankingModelV3;
|
|
19
|
+
export interface VoyageProvider extends ProviderV4 {
|
|
20
|
+
embedding(modelId: VoyageEmbeddingModelId): EmbeddingModelV4;
|
|
21
|
+
embeddingModel(modelId: VoyageEmbeddingModelId): EmbeddingModelV4;
|
|
22
|
+
textEmbedding(modelId: VoyageEmbeddingModelId): EmbeddingModelV4;
|
|
23
|
+
textEmbeddingModel(modelId: VoyageEmbeddingModelId): EmbeddingModelV4;
|
|
24
|
+
reranking(modelId: VoyageRerankingModelId): RerankingModelV4;
|
|
25
|
+
rerankingModel(modelId: VoyageRerankingModelId): RerankingModelV4;
|
|
31
26
|
}
|
|
32
27
|
|
|
33
28
|
export interface VoyageProviderSettings {
|
|
@@ -72,31 +67,25 @@ export function createVoyage(
|
|
|
72
67
|
fetch: options.fetch,
|
|
73
68
|
});
|
|
74
69
|
|
|
75
|
-
const provider =
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
provider.textEmbeddingModel = createEmbeddingModel;
|
|
92
|
-
provider.reranking = createRerankingModel;
|
|
93
|
-
provider.rerankingModel = createRerankingModel;
|
|
94
|
-
|
|
95
|
-
provider.imageModel = (modelId: string) => {
|
|
96
|
-
throw new NoSuchModelError({ modelId, modelType: 'imageModel' });
|
|
70
|
+
const provider: VoyageProvider = {
|
|
71
|
+
specificationVersion: 'v4' as const,
|
|
72
|
+
embedding: createEmbeddingModel,
|
|
73
|
+
embeddingModel: createEmbeddingModel,
|
|
74
|
+
textEmbedding: createEmbeddingModel,
|
|
75
|
+
textEmbeddingModel: createEmbeddingModel,
|
|
76
|
+
reranking: createRerankingModel,
|
|
77
|
+
rerankingModel: createRerankingModel,
|
|
78
|
+
|
|
79
|
+
languageModel: (modelId: string) => {
|
|
80
|
+
throw new NoSuchModelError({ modelId, modelType: 'languageModel' });
|
|
81
|
+
},
|
|
82
|
+
|
|
83
|
+
imageModel: (modelId: string) => {
|
|
84
|
+
throw new NoSuchModelError({ modelId, modelType: 'imageModel' });
|
|
85
|
+
},
|
|
97
86
|
};
|
|
98
87
|
|
|
99
|
-
return provider
|
|
88
|
+
return provider;
|
|
100
89
|
}
|
|
101
90
|
|
|
102
91
|
export const voyage = createVoyage();
|
package/dist/index.d.mts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { ProviderV3, EmbeddingModelV3, RerankingModelV3 } from '@ai-sdk/provider';
|
|
2
|
-
import { FetchFunction } from '@ai-sdk/provider-utils';
|
|
3
|
-
import { z } from 'zod/v4';
|
|
4
|
-
|
|
5
|
-
type VoyageEmbeddingModelId = 'voyage-4-large' | 'voyage-4' | 'voyage-4-lite' | 'voyage-4-nano' | 'voyage-code-3.5' | 'voyage-code-3' | 'voyage-3-large' | 'voyage-3.5' | 'voyage-3.5-lite' | 'voyage-3' | 'voyage-3-lite' | 'voyage-finance-2' | 'voyage-law-2' | 'voyage-multilingual-2' | 'voyage-code-2' | 'voyage-2' | (string & {});
|
|
6
|
-
declare const voyageEmbeddingModelOptions: z.ZodObject<{
|
|
7
|
-
inputType: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
8
|
-
query: "query";
|
|
9
|
-
document: "document";
|
|
10
|
-
}>>>;
|
|
11
|
-
truncation: z.ZodOptional<z.ZodBoolean>;
|
|
12
|
-
outputDimension: z.ZodOptional<z.ZodNumber>;
|
|
13
|
-
outputDtype: z.ZodOptional<z.ZodEnum<{
|
|
14
|
-
float: "float";
|
|
15
|
-
int8: "int8";
|
|
16
|
-
uint8: "uint8";
|
|
17
|
-
binary: "binary";
|
|
18
|
-
ubinary: "ubinary";
|
|
19
|
-
}>>;
|
|
20
|
-
}, z.core.$strip>;
|
|
21
|
-
type VoyageEmbeddingModelOptions = z.infer<typeof voyageEmbeddingModelOptions>;
|
|
22
|
-
|
|
23
|
-
type VoyageRerankingModelId = 'rerank-2.5' | 'rerank-2.5-lite' | 'rerank-2' | 'rerank-2-lite' | 'rerank-1' | 'rerank-lite-1' | (string & {});
|
|
24
|
-
type VoyageRerankingModelOptions = {
|
|
25
|
-
returnDocuments?: boolean;
|
|
26
|
-
truncation?: boolean;
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
interface VoyageProvider extends ProviderV3 {
|
|
30
|
-
embedding(modelId: VoyageEmbeddingModelId): EmbeddingModelV3;
|
|
31
|
-
embeddingModel(modelId: VoyageEmbeddingModelId): EmbeddingModelV3;
|
|
32
|
-
textEmbedding(modelId: VoyageEmbeddingModelId): EmbeddingModelV3;
|
|
33
|
-
textEmbeddingModel(modelId: VoyageEmbeddingModelId): EmbeddingModelV3;
|
|
34
|
-
reranking(modelId: VoyageRerankingModelId): RerankingModelV3;
|
|
35
|
-
rerankingModel(modelId: VoyageRerankingModelId): RerankingModelV3;
|
|
36
|
-
}
|
|
37
|
-
interface VoyageProviderSettings {
|
|
38
|
-
baseURL?: string;
|
|
39
|
-
apiKey?: string;
|
|
40
|
-
headers?: Record<string, string>;
|
|
41
|
-
fetch?: FetchFunction;
|
|
42
|
-
}
|
|
43
|
-
declare function createVoyage(options?: VoyageProviderSettings): VoyageProvider;
|
|
44
|
-
declare const voyage: VoyageProvider;
|
|
45
|
-
|
|
46
|
-
declare const VERSION: string;
|
|
47
|
-
|
|
48
|
-
export { VERSION, type VoyageEmbeddingModelOptions, type VoyageProvider, type VoyageProviderSettings, type VoyageRerankingModelOptions, createVoyage, voyage };
|
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.3" : "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
|