@ai-sdk/togetherai 2.0.0-beta.37 → 2.0.0-beta.38
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 +23 -0
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# @ai-sdk/togetherai
|
|
2
2
|
|
|
3
|
+
## 2.0.0-beta.38
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 8d9e8ad: chore(provider): remove generics from EmbeddingModelV3
|
|
8
|
+
|
|
9
|
+
Before
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
model.textEmbeddingModel('my-model-id');
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
After
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
model.embeddingModel('my-model-id');
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
- Updated dependencies [8d9e8ad]
|
|
22
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.37
|
|
23
|
+
- @ai-sdk/provider@3.0.0-beta.19
|
|
24
|
+
- @ai-sdk/provider-utils@4.0.0-beta.36
|
|
25
|
+
|
|
3
26
|
## 2.0.0-beta.37
|
|
4
27
|
|
|
5
28
|
### Patch Changes
|
package/dist/index.d.mts
CHANGED
|
@@ -60,7 +60,7 @@ interface TogetherAIProvider extends ProviderV3 {
|
|
|
60
60
|
/**
|
|
61
61
|
Creates a text embedding model for text generation.
|
|
62
62
|
*/
|
|
63
|
-
|
|
63
|
+
embeddingModel(modelId: TogetherAIEmbeddingModelId): EmbeddingModelV3;
|
|
64
64
|
/**
|
|
65
65
|
Creates a model for image generation.
|
|
66
66
|
*/
|
package/dist/index.d.ts
CHANGED
|
@@ -60,7 +60,7 @@ interface TogetherAIProvider extends ProviderV3 {
|
|
|
60
60
|
/**
|
|
61
61
|
Creates a text embedding model for text generation.
|
|
62
62
|
*/
|
|
63
|
-
|
|
63
|
+
embeddingModel(modelId: TogetherAIEmbeddingModelId): EmbeddingModelV3;
|
|
64
64
|
/**
|
|
65
65
|
Creates a model for image generation.
|
|
66
66
|
*/
|
package/dist/index.js
CHANGED
|
@@ -225,7 +225,7 @@ var togetheraiErrorSchema2 = import_v43.z.object({
|
|
|
225
225
|
});
|
|
226
226
|
|
|
227
227
|
// src/version.ts
|
|
228
|
-
var VERSION = true ? "2.0.0-beta.
|
|
228
|
+
var VERSION = true ? "2.0.0-beta.38" : "0.0.0-test";
|
|
229
229
|
|
|
230
230
|
// src/togetherai-provider.ts
|
|
231
231
|
function createTogetherAI(options = {}) {
|
|
@@ -260,7 +260,7 @@ function createTogetherAI(options = {}) {
|
|
|
260
260
|
modelId,
|
|
261
261
|
getCommonModelConfig("completion")
|
|
262
262
|
);
|
|
263
|
-
const
|
|
263
|
+
const createEmbeddingModel = (modelId) => new import_openai_compatible.OpenAICompatibleEmbeddingModel(
|
|
264
264
|
modelId,
|
|
265
265
|
getCommonModelConfig("embedding")
|
|
266
266
|
);
|
|
@@ -277,7 +277,7 @@ function createTogetherAI(options = {}) {
|
|
|
277
277
|
provider.completionModel = createCompletionModel;
|
|
278
278
|
provider.languageModel = createChatModel;
|
|
279
279
|
provider.chatModel = createChatModel;
|
|
280
|
-
provider.
|
|
280
|
+
provider.embeddingModel = createEmbeddingModel;
|
|
281
281
|
provider.image = createImageModel;
|
|
282
282
|
provider.imageModel = createImageModel;
|
|
283
283
|
provider.reranking = createRerankingModel;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/togetherai-provider.ts","../src/reranking/togetherai-reranking-model.ts","../src/reranking/togetherai-reranking-api.ts","../src/reranking/togetherai-reranking-options.ts","../src/togetherai-image-model.ts","../src/version.ts"],"sourcesContent":["export type { OpenAICompatibleErrorData as TogetherAIErrorData } from '@ai-sdk/openai-compatible';\nexport type { TogetherAIRerankingOptions } from './reranking/togetherai-reranking-options';\nexport { createTogetherAI, togetherai } from './togetherai-provider';\nexport type {\n TogetherAIProvider,\n TogetherAIProviderSettings,\n} from './togetherai-provider';\nexport { VERSION } from './version';\n","import {\n OpenAICompatibleChatLanguageModel,\n OpenAICompatibleCompletionLanguageModel,\n OpenAICompatibleEmbeddingModel,\n} from '@ai-sdk/openai-compatible';\nimport {\n EmbeddingModelV3,\n ImageModelV3,\n LanguageModelV3,\n ProviderV3,\n RerankingModelV3,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix,\n} from '@ai-sdk/provider-utils';\nimport { TogetherAIRerankingModel } from './reranking/togetherai-reranking-model';\nimport { TogetherAIRerankingModelId } from './reranking/togetherai-reranking-options';\nimport { TogetherAIChatModelId } from './togetherai-chat-options';\nimport { TogetherAICompletionModelId } from './togetherai-completion-options';\nimport { TogetherAIEmbeddingModelId } from './togetherai-embedding-options';\nimport { TogetherAIImageModel } from './togetherai-image-model';\nimport { TogetherAIImageModelId } from './togetherai-image-settings';\nimport { VERSION } from './version';\n\nexport interface TogetherAIProviderSettings {\n /**\nTogetherAI API key.\n*/\n apiKey?: string;\n /**\nBase URL for the API calls.\n*/\n baseURL?: string;\n /**\nCustom headers to include in the requests.\n*/\n headers?: Record<string, string>;\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n*/\n fetch?: FetchFunction;\n}\n\nexport interface TogetherAIProvider extends ProviderV3 {\n /**\nCreates a model for text generation.\n*/\n (modelId: TogetherAIChatModelId): LanguageModelV3;\n\n /**\nCreates a chat model for text generation.\n*/\n chatModel(modelId: TogetherAIChatModelId): LanguageModelV3;\n\n /**\nCreates a chat model for text generation.\n*/\n languageModel(modelId: TogetherAIChatModelId): LanguageModelV3;\n\n /**\nCreates a completion model for text generation.\n*/\n completionModel(modelId: TogetherAICompletionModelId): LanguageModelV3;\n\n /**\nCreates a text embedding model for text generation.\n*/\n textEmbeddingModel(\n modelId: TogetherAIEmbeddingModelId,\n ): EmbeddingModelV3<string>;\n\n /**\nCreates a model for image generation.\n*/\n image(modelId: TogetherAIImageModelId): ImageModelV3;\n\n /**\nCreates a model for image generation.\n*/\n imageModel(modelId: TogetherAIImageModelId): ImageModelV3;\n\n /**\n * Creates a model for reranking.\n */\n reranking(modelId: TogetherAIRerankingModelId): RerankingModelV3;\n\n /**\n * Creates a model for reranking.\n */\n rerankingModel(modelId: TogetherAIRerankingModelId): RerankingModelV3;\n}\n\nexport function createTogetherAI(\n options: TogetherAIProviderSettings = {},\n): TogetherAIProvider {\n const baseURL = withoutTrailingSlash(\n options.baseURL ?? 'https://api.together.xyz/v1/',\n );\n const getHeaders = () =>\n withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'TOGETHER_AI_API_KEY',\n description: 'TogetherAI',\n })}`,\n ...options.headers,\n },\n `ai-sdk/togetherai/${VERSION}`,\n );\n\n interface CommonModelConfig {\n provider: string;\n url: ({ path }: { path: string }) => string;\n headers: () => Record<string, string>;\n fetch?: FetchFunction;\n }\n\n const getCommonModelConfig = (modelType: string): CommonModelConfig => ({\n provider: `togetherai.${modelType}`,\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createChatModel = (modelId: TogetherAIChatModelId) => {\n return new OpenAICompatibleChatLanguageModel(\n modelId,\n getCommonModelConfig('chat'),\n );\n };\n\n const createCompletionModel = (modelId: TogetherAICompletionModelId) =>\n new OpenAICompatibleCompletionLanguageModel(\n modelId,\n getCommonModelConfig('completion'),\n );\n\n const createTextEmbeddingModel = (modelId: TogetherAIEmbeddingModelId) =>\n new OpenAICompatibleEmbeddingModel(\n modelId,\n getCommonModelConfig('embedding'),\n );\n\n const createImageModel = (modelId: TogetherAIImageModelId) =>\n new TogetherAIImageModel(modelId, {\n ...getCommonModelConfig('image'),\n baseURL: baseURL ?? 'https://api.together.xyz/v1/',\n });\n\n const createRerankingModel = (modelId: TogetherAIRerankingModelId) =>\n new TogetherAIRerankingModel(modelId, {\n ...getCommonModelConfig('reranking'),\n baseURL: baseURL ?? 'https://api.together.xyz/v1/',\n });\n\n const provider = (modelId: TogetherAIChatModelId) => createChatModel(modelId);\n\n provider.specificationVersion = 'v3' as const;\n provider.completionModel = createCompletionModel;\n provider.languageModel = createChatModel;\n provider.chatModel = createChatModel;\n provider.textEmbeddingModel = createTextEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n provider.reranking = createRerankingModel;\n provider.rerankingModel = createRerankingModel;\n\n return provider;\n}\n\nexport const togetherai = createTogetherAI();\n","import { RerankingModelV3 } from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonErrorResponseHandler,\n createJsonResponseHandler,\n FetchFunction,\n parseProviderOptions,\n postJsonToApi,\n} from '@ai-sdk/provider-utils';\nimport {\n togetheraiErrorSchema,\n TogetherAIRerankingInput,\n togetheraiRerankingResponseSchema,\n} from './togetherai-reranking-api';\nimport {\n TogetherAIRerankingModelId,\n togetheraiRerankingOptionsSchema,\n} from './togetherai-reranking-options';\n\ntype TogetherAIRerankingConfig = {\n provider: string;\n baseURL: string;\n headers: () => Record<string, string | undefined>;\n fetch?: FetchFunction;\n};\n\nexport class TogetherAIRerankingModel implements RerankingModelV3 {\n readonly specificationVersion = 'v3';\n readonly modelId: TogetherAIRerankingModelId;\n\n private readonly config: TogetherAIRerankingConfig;\n\n constructor(\n modelId: TogetherAIRerankingModelId,\n config: TogetherAIRerankingConfig,\n ) {\n this.modelId = modelId;\n this.config = config;\n }\n\n get provider(): string {\n return this.config.provider;\n }\n\n // see https://docs.together.ai/reference/rerank-1\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: 'togetherai',\n providerOptions,\n schema: togetheraiRerankingOptionsSchema,\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 documents: documents.values,\n query,\n top_n: topN,\n rank_fields: rerankingOptions?.rankFields,\n return_documents: false, // reduce response size\n } satisfies TogetherAIRerankingInput,\n failedResponseHandler: createJsonErrorResponseHandler({\n errorSchema: togetheraiErrorSchema,\n errorToMessage: data => data.error.message,\n }),\n successfulResponseHandler: createJsonResponseHandler(\n togetheraiRerankingResponseSchema,\n ),\n abortSignal,\n fetch: this.config.fetch,\n });\n\n return {\n ranking: response.results.map(result => ({\n index: result.index,\n relevanceScore: result.relevance_score,\n })),\n response: {\n id: response.id ?? undefined,\n modelId: response.model ?? undefined,\n headers: responseHeaders,\n body: rawValue,\n },\n };\n }\n}\n","import { JSONObject } from '@ai-sdk/provider';\nimport { lazySchema, zodSchema } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\n// https://docs.together.ai/reference/rerank-1\nexport type TogetherAIRerankingInput = {\n model: string;\n query: string;\n documents: JSONObject[] | string[];\n top_n: number | undefined;\n return_documents: boolean | undefined;\n rank_fields: string[] | undefined;\n};\n\nexport const togetheraiErrorSchema = lazySchema(() =>\n zodSchema(\n z.object({\n error: z.object({\n message: z.string(),\n }),\n }),\n ),\n);\n\nexport const togetheraiRerankingResponseSchema = lazySchema(() =>\n zodSchema(\n z.object({\n id: z.string().nullish(),\n model: z.string().nullish(),\n results: z.array(\n z.object({\n index: z.number(),\n relevance_score: z.number(),\n }),\n ),\n usage: z.object({\n prompt_tokens: z.number(),\n completion_tokens: z.number(),\n total_tokens: z.number(),\n }),\n }),\n ),\n);\n","import { FlexibleSchema, lazySchema, zodSchema } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\n// see https://docs.together.ai/docs/serverless-models#rerank-models\nexport type TogetherAIRerankingModelId =\n | 'Salesforce/Llama-Rank-v1'\n | 'mixedbread-ai/Mxbai-Rerank-Large-V2'\n | (string & {});\n\nexport type TogetherAIRerankingOptions = {\n /**\n * List of keys in the JSON Object document to rank by.\n * Defaults to use all supplied keys for ranking.\n *\n * @example [\"title\", \"text\"]\n */\n rankFields?: string[];\n};\n\nexport const togetheraiRerankingOptionsSchema: FlexibleSchema<TogetherAIRerankingOptions> =\n lazySchema(() =>\n zodSchema(\n z.object({\n rankFields: z.array(z.string()).optional(),\n }),\n ),\n );\n","import { ImageModelV3, ImageModelV3CallWarning } from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonResponseHandler,\n createJsonErrorResponseHandler,\n FetchFunction,\n postJsonToApi,\n} from '@ai-sdk/provider-utils';\nimport { TogetherAIImageModelId } from './togetherai-image-settings';\nimport { z } from 'zod/v4';\n\ninterface TogetherAIImageModelConfig {\n provider: string;\n baseURL: string;\n headers: () => Record<string, string>;\n fetch?: FetchFunction;\n _internal?: {\n currentDate?: () => Date;\n };\n}\n\nexport class TogetherAIImageModel implements ImageModelV3 {\n readonly specificationVersion = 'v3';\n readonly maxImagesPerCall = 1;\n\n get provider(): string {\n return this.config.provider;\n }\n\n constructor(\n readonly modelId: TogetherAIImageModelId,\n private config: TogetherAIImageModelConfig,\n ) {}\n\n async doGenerate({\n prompt,\n n,\n size,\n seed,\n providerOptions,\n headers,\n abortSignal,\n }: Parameters<ImageModelV3['doGenerate']>[0]): Promise<\n Awaited<ReturnType<ImageModelV3['doGenerate']>>\n > {\n const warnings: Array<ImageModelV3CallWarning> = [];\n\n if (size != null) {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'aspectRatio',\n details:\n 'This model does not support the `aspectRatio` option. Use `size` instead.',\n });\n }\n\n const currentDate = this.config._internal?.currentDate?.() ?? new Date();\n const splitSize = size?.split('x');\n // https://docs.together.ai/reference/post_images-generations\n const { value: response, responseHeaders } = await postJsonToApi({\n url: `${this.config.baseURL}/images/generations`,\n headers: combineHeaders(this.config.headers(), headers),\n body: {\n model: this.modelId,\n prompt,\n seed,\n n,\n ...(splitSize && {\n width: parseInt(splitSize[0]),\n height: parseInt(splitSize[1]),\n }),\n response_format: 'base64',\n ...(providerOptions.togetherai ?? {}),\n },\n failedResponseHandler: createJsonErrorResponseHandler({\n errorSchema: togetheraiErrorSchema,\n errorToMessage: data => data.error.message,\n }),\n successfulResponseHandler: createJsonResponseHandler(\n togetheraiImageResponseSchema,\n ),\n abortSignal,\n fetch: this.config.fetch,\n });\n\n return {\n images: response.data.map(item => item.b64_json),\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders,\n },\n };\n }\n}\n\n// limited version of the schema, focussed on what is needed for the implementation\n// this approach limits breakages when the API changes and increases efficiency\nconst togetheraiImageResponseSchema = z.object({\n data: z.array(\n z.object({\n b64_json: z.string(),\n }),\n ),\n});\n\n// limited version of the schema, focussed on what is needed for the implementation\n// this approach limits breakages when the API changes and increases efficiency\nconst togetheraiErrorSchema = z.object({\n error: z.object({\n message: z.string(),\n }),\n});\n","// Version string of this package injected at build time.\ndeclare 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_utils","import_provider_utils","import_provider_utils","import_v4","import_provider_utils","import_v4","togetheraiErrorSchema"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/togetherai-provider.ts","../src/reranking/togetherai-reranking-model.ts","../src/reranking/togetherai-reranking-api.ts","../src/reranking/togetherai-reranking-options.ts","../src/togetherai-image-model.ts","../src/version.ts"],"sourcesContent":["export type { OpenAICompatibleErrorData as TogetherAIErrorData } from '@ai-sdk/openai-compatible';\nexport type { TogetherAIRerankingOptions } from './reranking/togetherai-reranking-options';\nexport { createTogetherAI, togetherai } from './togetherai-provider';\nexport type {\n TogetherAIProvider,\n TogetherAIProviderSettings,\n} from './togetherai-provider';\nexport { VERSION } from './version';\n","import {\n OpenAICompatibleChatLanguageModel,\n OpenAICompatibleCompletionLanguageModel,\n OpenAICompatibleEmbeddingModel,\n} from '@ai-sdk/openai-compatible';\nimport {\n EmbeddingModelV3,\n ImageModelV3,\n LanguageModelV3,\n ProviderV3,\n RerankingModelV3,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix,\n} from '@ai-sdk/provider-utils';\nimport { TogetherAIRerankingModel } from './reranking/togetherai-reranking-model';\nimport { TogetherAIRerankingModelId } from './reranking/togetherai-reranking-options';\nimport { TogetherAIChatModelId } from './togetherai-chat-options';\nimport { TogetherAICompletionModelId } from './togetherai-completion-options';\nimport { TogetherAIEmbeddingModelId } from './togetherai-embedding-options';\nimport { TogetherAIImageModel } from './togetherai-image-model';\nimport { TogetherAIImageModelId } from './togetherai-image-settings';\nimport { VERSION } from './version';\n\nexport interface TogetherAIProviderSettings {\n /**\nTogetherAI API key.\n*/\n apiKey?: string;\n /**\nBase URL for the API calls.\n*/\n baseURL?: string;\n /**\nCustom headers to include in the requests.\n*/\n headers?: Record<string, string>;\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n*/\n fetch?: FetchFunction;\n}\n\nexport interface TogetherAIProvider extends ProviderV3 {\n /**\nCreates a model for text generation.\n*/\n (modelId: TogetherAIChatModelId): LanguageModelV3;\n\n /**\nCreates a chat model for text generation.\n*/\n chatModel(modelId: TogetherAIChatModelId): LanguageModelV3;\n\n /**\nCreates a chat model for text generation.\n*/\n languageModel(modelId: TogetherAIChatModelId): LanguageModelV3;\n\n /**\nCreates a completion model for text generation.\n*/\n completionModel(modelId: TogetherAICompletionModelId): LanguageModelV3;\n\n /**\nCreates a text embedding model for text generation.\n*/\n embeddingModel(modelId: TogetherAIEmbeddingModelId): EmbeddingModelV3;\n\n /**\nCreates a model for image generation.\n*/\n image(modelId: TogetherAIImageModelId): ImageModelV3;\n\n /**\nCreates a model for image generation.\n*/\n imageModel(modelId: TogetherAIImageModelId): ImageModelV3;\n\n /**\n * Creates a model for reranking.\n */\n reranking(modelId: TogetherAIRerankingModelId): RerankingModelV3;\n\n /**\n * Creates a model for reranking.\n */\n rerankingModel(modelId: TogetherAIRerankingModelId): RerankingModelV3;\n}\n\nexport function createTogetherAI(\n options: TogetherAIProviderSettings = {},\n): TogetherAIProvider {\n const baseURL = withoutTrailingSlash(\n options.baseURL ?? 'https://api.together.xyz/v1/',\n );\n const getHeaders = () =>\n withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'TOGETHER_AI_API_KEY',\n description: 'TogetherAI',\n })}`,\n ...options.headers,\n },\n `ai-sdk/togetherai/${VERSION}`,\n );\n\n interface CommonModelConfig {\n provider: string;\n url: ({ path }: { path: string }) => string;\n headers: () => Record<string, string>;\n fetch?: FetchFunction;\n }\n\n const getCommonModelConfig = (modelType: string): CommonModelConfig => ({\n provider: `togetherai.${modelType}`,\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createChatModel = (modelId: TogetherAIChatModelId) => {\n return new OpenAICompatibleChatLanguageModel(\n modelId,\n getCommonModelConfig('chat'),\n );\n };\n\n const createCompletionModel = (modelId: TogetherAICompletionModelId) =>\n new OpenAICompatibleCompletionLanguageModel(\n modelId,\n getCommonModelConfig('completion'),\n );\n\n const createEmbeddingModel = (modelId: TogetherAIEmbeddingModelId) =>\n new OpenAICompatibleEmbeddingModel(\n modelId,\n getCommonModelConfig('embedding'),\n );\n\n const createImageModel = (modelId: TogetherAIImageModelId) =>\n new TogetherAIImageModel(modelId, {\n ...getCommonModelConfig('image'),\n baseURL: baseURL ?? 'https://api.together.xyz/v1/',\n });\n\n const createRerankingModel = (modelId: TogetherAIRerankingModelId) =>\n new TogetherAIRerankingModel(modelId, {\n ...getCommonModelConfig('reranking'),\n baseURL: baseURL ?? 'https://api.together.xyz/v1/',\n });\n\n const provider = (modelId: TogetherAIChatModelId) => createChatModel(modelId);\n\n provider.specificationVersion = 'v3' as const;\n provider.completionModel = createCompletionModel;\n provider.languageModel = createChatModel;\n provider.chatModel = createChatModel;\n provider.embeddingModel = createEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n provider.reranking = createRerankingModel;\n provider.rerankingModel = createRerankingModel;\n\n return provider;\n}\n\nexport const togetherai = createTogetherAI();\n","import { RerankingModelV3 } from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonErrorResponseHandler,\n createJsonResponseHandler,\n FetchFunction,\n parseProviderOptions,\n postJsonToApi,\n} from '@ai-sdk/provider-utils';\nimport {\n togetheraiErrorSchema,\n TogetherAIRerankingInput,\n togetheraiRerankingResponseSchema,\n} from './togetherai-reranking-api';\nimport {\n TogetherAIRerankingModelId,\n togetheraiRerankingOptionsSchema,\n} from './togetherai-reranking-options';\n\ntype TogetherAIRerankingConfig = {\n provider: string;\n baseURL: string;\n headers: () => Record<string, string | undefined>;\n fetch?: FetchFunction;\n};\n\nexport class TogetherAIRerankingModel implements RerankingModelV3 {\n readonly specificationVersion = 'v3';\n readonly modelId: TogetherAIRerankingModelId;\n\n private readonly config: TogetherAIRerankingConfig;\n\n constructor(\n modelId: TogetherAIRerankingModelId,\n config: TogetherAIRerankingConfig,\n ) {\n this.modelId = modelId;\n this.config = config;\n }\n\n get provider(): string {\n return this.config.provider;\n }\n\n // see https://docs.together.ai/reference/rerank-1\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: 'togetherai',\n providerOptions,\n schema: togetheraiRerankingOptionsSchema,\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 documents: documents.values,\n query,\n top_n: topN,\n rank_fields: rerankingOptions?.rankFields,\n return_documents: false, // reduce response size\n } satisfies TogetherAIRerankingInput,\n failedResponseHandler: createJsonErrorResponseHandler({\n errorSchema: togetheraiErrorSchema,\n errorToMessage: data => data.error.message,\n }),\n successfulResponseHandler: createJsonResponseHandler(\n togetheraiRerankingResponseSchema,\n ),\n abortSignal,\n fetch: this.config.fetch,\n });\n\n return {\n ranking: response.results.map(result => ({\n index: result.index,\n relevanceScore: result.relevance_score,\n })),\n response: {\n id: response.id ?? undefined,\n modelId: response.model ?? undefined,\n headers: responseHeaders,\n body: rawValue,\n },\n };\n }\n}\n","import { JSONObject } from '@ai-sdk/provider';\nimport { lazySchema, zodSchema } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\n// https://docs.together.ai/reference/rerank-1\nexport type TogetherAIRerankingInput = {\n model: string;\n query: string;\n documents: JSONObject[] | string[];\n top_n: number | undefined;\n return_documents: boolean | undefined;\n rank_fields: string[] | undefined;\n};\n\nexport const togetheraiErrorSchema = lazySchema(() =>\n zodSchema(\n z.object({\n error: z.object({\n message: z.string(),\n }),\n }),\n ),\n);\n\nexport const togetheraiRerankingResponseSchema = lazySchema(() =>\n zodSchema(\n z.object({\n id: z.string().nullish(),\n model: z.string().nullish(),\n results: z.array(\n z.object({\n index: z.number(),\n relevance_score: z.number(),\n }),\n ),\n usage: z.object({\n prompt_tokens: z.number(),\n completion_tokens: z.number(),\n total_tokens: z.number(),\n }),\n }),\n ),\n);\n","import { FlexibleSchema, lazySchema, zodSchema } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\n// see https://docs.together.ai/docs/serverless-models#rerank-models\nexport type TogetherAIRerankingModelId =\n | 'Salesforce/Llama-Rank-v1'\n | 'mixedbread-ai/Mxbai-Rerank-Large-V2'\n | (string & {});\n\nexport type TogetherAIRerankingOptions = {\n /**\n * List of keys in the JSON Object document to rank by.\n * Defaults to use all supplied keys for ranking.\n *\n * @example [\"title\", \"text\"]\n */\n rankFields?: string[];\n};\n\nexport const togetheraiRerankingOptionsSchema: FlexibleSchema<TogetherAIRerankingOptions> =\n lazySchema(() =>\n zodSchema(\n z.object({\n rankFields: z.array(z.string()).optional(),\n }),\n ),\n );\n","import { ImageModelV3, ImageModelV3CallWarning } from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonResponseHandler,\n createJsonErrorResponseHandler,\n FetchFunction,\n postJsonToApi,\n} from '@ai-sdk/provider-utils';\nimport { TogetherAIImageModelId } from './togetherai-image-settings';\nimport { z } from 'zod/v4';\n\ninterface TogetherAIImageModelConfig {\n provider: string;\n baseURL: string;\n headers: () => Record<string, string>;\n fetch?: FetchFunction;\n _internal?: {\n currentDate?: () => Date;\n };\n}\n\nexport class TogetherAIImageModel implements ImageModelV3 {\n readonly specificationVersion = 'v3';\n readonly maxImagesPerCall = 1;\n\n get provider(): string {\n return this.config.provider;\n }\n\n constructor(\n readonly modelId: TogetherAIImageModelId,\n private config: TogetherAIImageModelConfig,\n ) {}\n\n async doGenerate({\n prompt,\n n,\n size,\n seed,\n providerOptions,\n headers,\n abortSignal,\n }: Parameters<ImageModelV3['doGenerate']>[0]): Promise<\n Awaited<ReturnType<ImageModelV3['doGenerate']>>\n > {\n const warnings: Array<ImageModelV3CallWarning> = [];\n\n if (size != null) {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'aspectRatio',\n details:\n 'This model does not support the `aspectRatio` option. Use `size` instead.',\n });\n }\n\n const currentDate = this.config._internal?.currentDate?.() ?? new Date();\n const splitSize = size?.split('x');\n // https://docs.together.ai/reference/post_images-generations\n const { value: response, responseHeaders } = await postJsonToApi({\n url: `${this.config.baseURL}/images/generations`,\n headers: combineHeaders(this.config.headers(), headers),\n body: {\n model: this.modelId,\n prompt,\n seed,\n n,\n ...(splitSize && {\n width: parseInt(splitSize[0]),\n height: parseInt(splitSize[1]),\n }),\n response_format: 'base64',\n ...(providerOptions.togetherai ?? {}),\n },\n failedResponseHandler: createJsonErrorResponseHandler({\n errorSchema: togetheraiErrorSchema,\n errorToMessage: data => data.error.message,\n }),\n successfulResponseHandler: createJsonResponseHandler(\n togetheraiImageResponseSchema,\n ),\n abortSignal,\n fetch: this.config.fetch,\n });\n\n return {\n images: response.data.map(item => item.b64_json),\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders,\n },\n };\n }\n}\n\n// limited version of the schema, focussed on what is needed for the implementation\n// this approach limits breakages when the API changes and increases efficiency\nconst togetheraiImageResponseSchema = z.object({\n data: z.array(\n z.object({\n b64_json: z.string(),\n }),\n ),\n});\n\n// limited version of the schema, focussed on what is needed for the implementation\n// this approach limits breakages when the API changes and increases efficiency\nconst togetheraiErrorSchema = z.object({\n error: z.object({\n message: z.string(),\n }),\n});\n","// Version string of this package injected at build time.\ndeclare 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_utils","import_provider_utils","import_provider_utils","import_v4","import_provider_utils","import_v4","togetheraiErrorSchema"]}
|
package/dist/index.mjs
CHANGED
|
@@ -216,7 +216,7 @@ var togetheraiErrorSchema2 = z3.object({
|
|
|
216
216
|
});
|
|
217
217
|
|
|
218
218
|
// src/version.ts
|
|
219
|
-
var VERSION = true ? "2.0.0-beta.
|
|
219
|
+
var VERSION = true ? "2.0.0-beta.38" : "0.0.0-test";
|
|
220
220
|
|
|
221
221
|
// src/togetherai-provider.ts
|
|
222
222
|
function createTogetherAI(options = {}) {
|
|
@@ -251,7 +251,7 @@ function createTogetherAI(options = {}) {
|
|
|
251
251
|
modelId,
|
|
252
252
|
getCommonModelConfig("completion")
|
|
253
253
|
);
|
|
254
|
-
const
|
|
254
|
+
const createEmbeddingModel = (modelId) => new OpenAICompatibleEmbeddingModel(
|
|
255
255
|
modelId,
|
|
256
256
|
getCommonModelConfig("embedding")
|
|
257
257
|
);
|
|
@@ -268,7 +268,7 @@ function createTogetherAI(options = {}) {
|
|
|
268
268
|
provider.completionModel = createCompletionModel;
|
|
269
269
|
provider.languageModel = createChatModel;
|
|
270
270
|
provider.chatModel = createChatModel;
|
|
271
|
-
provider.
|
|
271
|
+
provider.embeddingModel = createEmbeddingModel;
|
|
272
272
|
provider.image = createImageModel;
|
|
273
273
|
provider.imageModel = createImageModel;
|
|
274
274
|
provider.reranking = createRerankingModel;
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/togetherai-provider.ts","../src/reranking/togetherai-reranking-model.ts","../src/reranking/togetherai-reranking-api.ts","../src/reranking/togetherai-reranking-options.ts","../src/togetherai-image-model.ts","../src/version.ts"],"sourcesContent":["import {\n OpenAICompatibleChatLanguageModel,\n OpenAICompatibleCompletionLanguageModel,\n OpenAICompatibleEmbeddingModel,\n} from '@ai-sdk/openai-compatible';\nimport {\n EmbeddingModelV3,\n ImageModelV3,\n LanguageModelV3,\n ProviderV3,\n RerankingModelV3,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix,\n} from '@ai-sdk/provider-utils';\nimport { TogetherAIRerankingModel } from './reranking/togetherai-reranking-model';\nimport { TogetherAIRerankingModelId } from './reranking/togetherai-reranking-options';\nimport { TogetherAIChatModelId } from './togetherai-chat-options';\nimport { TogetherAICompletionModelId } from './togetherai-completion-options';\nimport { TogetherAIEmbeddingModelId } from './togetherai-embedding-options';\nimport { TogetherAIImageModel } from './togetherai-image-model';\nimport { TogetherAIImageModelId } from './togetherai-image-settings';\nimport { VERSION } from './version';\n\nexport interface TogetherAIProviderSettings {\n /**\nTogetherAI API key.\n*/\n apiKey?: string;\n /**\nBase URL for the API calls.\n*/\n baseURL?: string;\n /**\nCustom headers to include in the requests.\n*/\n headers?: Record<string, string>;\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n*/\n fetch?: FetchFunction;\n}\n\nexport interface TogetherAIProvider extends ProviderV3 {\n /**\nCreates a model for text generation.\n*/\n (modelId: TogetherAIChatModelId): LanguageModelV3;\n\n /**\nCreates a chat model for text generation.\n*/\n chatModel(modelId: TogetherAIChatModelId): LanguageModelV3;\n\n /**\nCreates a chat model for text generation.\n*/\n languageModel(modelId: TogetherAIChatModelId): LanguageModelV3;\n\n /**\nCreates a completion model for text generation.\n*/\n completionModel(modelId: TogetherAICompletionModelId): LanguageModelV3;\n\n /**\nCreates a text embedding model for text generation.\n*/\n textEmbeddingModel(\n modelId: TogetherAIEmbeddingModelId,\n ): EmbeddingModelV3<string>;\n\n /**\nCreates a model for image generation.\n*/\n image(modelId: TogetherAIImageModelId): ImageModelV3;\n\n /**\nCreates a model for image generation.\n*/\n imageModel(modelId: TogetherAIImageModelId): ImageModelV3;\n\n /**\n * Creates a model for reranking.\n */\n reranking(modelId: TogetherAIRerankingModelId): RerankingModelV3;\n\n /**\n * Creates a model for reranking.\n */\n rerankingModel(modelId: TogetherAIRerankingModelId): RerankingModelV3;\n}\n\nexport function createTogetherAI(\n options: TogetherAIProviderSettings = {},\n): TogetherAIProvider {\n const baseURL = withoutTrailingSlash(\n options.baseURL ?? 'https://api.together.xyz/v1/',\n );\n const getHeaders = () =>\n withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'TOGETHER_AI_API_KEY',\n description: 'TogetherAI',\n })}`,\n ...options.headers,\n },\n `ai-sdk/togetherai/${VERSION}`,\n );\n\n interface CommonModelConfig {\n provider: string;\n url: ({ path }: { path: string }) => string;\n headers: () => Record<string, string>;\n fetch?: FetchFunction;\n }\n\n const getCommonModelConfig = (modelType: string): CommonModelConfig => ({\n provider: `togetherai.${modelType}`,\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createChatModel = (modelId: TogetherAIChatModelId) => {\n return new OpenAICompatibleChatLanguageModel(\n modelId,\n getCommonModelConfig('chat'),\n );\n };\n\n const createCompletionModel = (modelId: TogetherAICompletionModelId) =>\n new OpenAICompatibleCompletionLanguageModel(\n modelId,\n getCommonModelConfig('completion'),\n );\n\n const createTextEmbeddingModel = (modelId: TogetherAIEmbeddingModelId) =>\n new OpenAICompatibleEmbeddingModel(\n modelId,\n getCommonModelConfig('embedding'),\n );\n\n const createImageModel = (modelId: TogetherAIImageModelId) =>\n new TogetherAIImageModel(modelId, {\n ...getCommonModelConfig('image'),\n baseURL: baseURL ?? 'https://api.together.xyz/v1/',\n });\n\n const createRerankingModel = (modelId: TogetherAIRerankingModelId) =>\n new TogetherAIRerankingModel(modelId, {\n ...getCommonModelConfig('reranking'),\n baseURL: baseURL ?? 'https://api.together.xyz/v1/',\n });\n\n const provider = (modelId: TogetherAIChatModelId) => createChatModel(modelId);\n\n provider.specificationVersion = 'v3' as const;\n provider.completionModel = createCompletionModel;\n provider.languageModel = createChatModel;\n provider.chatModel = createChatModel;\n provider.textEmbeddingModel = createTextEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n provider.reranking = createRerankingModel;\n provider.rerankingModel = createRerankingModel;\n\n return provider;\n}\n\nexport const togetherai = createTogetherAI();\n","import { RerankingModelV3 } from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonErrorResponseHandler,\n createJsonResponseHandler,\n FetchFunction,\n parseProviderOptions,\n postJsonToApi,\n} from '@ai-sdk/provider-utils';\nimport {\n togetheraiErrorSchema,\n TogetherAIRerankingInput,\n togetheraiRerankingResponseSchema,\n} from './togetherai-reranking-api';\nimport {\n TogetherAIRerankingModelId,\n togetheraiRerankingOptionsSchema,\n} from './togetherai-reranking-options';\n\ntype TogetherAIRerankingConfig = {\n provider: string;\n baseURL: string;\n headers: () => Record<string, string | undefined>;\n fetch?: FetchFunction;\n};\n\nexport class TogetherAIRerankingModel implements RerankingModelV3 {\n readonly specificationVersion = 'v3';\n readonly modelId: TogetherAIRerankingModelId;\n\n private readonly config: TogetherAIRerankingConfig;\n\n constructor(\n modelId: TogetherAIRerankingModelId,\n config: TogetherAIRerankingConfig,\n ) {\n this.modelId = modelId;\n this.config = config;\n }\n\n get provider(): string {\n return this.config.provider;\n }\n\n // see https://docs.together.ai/reference/rerank-1\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: 'togetherai',\n providerOptions,\n schema: togetheraiRerankingOptionsSchema,\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 documents: documents.values,\n query,\n top_n: topN,\n rank_fields: rerankingOptions?.rankFields,\n return_documents: false, // reduce response size\n } satisfies TogetherAIRerankingInput,\n failedResponseHandler: createJsonErrorResponseHandler({\n errorSchema: togetheraiErrorSchema,\n errorToMessage: data => data.error.message,\n }),\n successfulResponseHandler: createJsonResponseHandler(\n togetheraiRerankingResponseSchema,\n ),\n abortSignal,\n fetch: this.config.fetch,\n });\n\n return {\n ranking: response.results.map(result => ({\n index: result.index,\n relevanceScore: result.relevance_score,\n })),\n response: {\n id: response.id ?? undefined,\n modelId: response.model ?? undefined,\n headers: responseHeaders,\n body: rawValue,\n },\n };\n }\n}\n","import { JSONObject } from '@ai-sdk/provider';\nimport { lazySchema, zodSchema } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\n// https://docs.together.ai/reference/rerank-1\nexport type TogetherAIRerankingInput = {\n model: string;\n query: string;\n documents: JSONObject[] | string[];\n top_n: number | undefined;\n return_documents: boolean | undefined;\n rank_fields: string[] | undefined;\n};\n\nexport const togetheraiErrorSchema = lazySchema(() =>\n zodSchema(\n z.object({\n error: z.object({\n message: z.string(),\n }),\n }),\n ),\n);\n\nexport const togetheraiRerankingResponseSchema = lazySchema(() =>\n zodSchema(\n z.object({\n id: z.string().nullish(),\n model: z.string().nullish(),\n results: z.array(\n z.object({\n index: z.number(),\n relevance_score: z.number(),\n }),\n ),\n usage: z.object({\n prompt_tokens: z.number(),\n completion_tokens: z.number(),\n total_tokens: z.number(),\n }),\n }),\n ),\n);\n","import { FlexibleSchema, lazySchema, zodSchema } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\n// see https://docs.together.ai/docs/serverless-models#rerank-models\nexport type TogetherAIRerankingModelId =\n | 'Salesforce/Llama-Rank-v1'\n | 'mixedbread-ai/Mxbai-Rerank-Large-V2'\n | (string & {});\n\nexport type TogetherAIRerankingOptions = {\n /**\n * List of keys in the JSON Object document to rank by.\n * Defaults to use all supplied keys for ranking.\n *\n * @example [\"title\", \"text\"]\n */\n rankFields?: string[];\n};\n\nexport const togetheraiRerankingOptionsSchema: FlexibleSchema<TogetherAIRerankingOptions> =\n lazySchema(() =>\n zodSchema(\n z.object({\n rankFields: z.array(z.string()).optional(),\n }),\n ),\n );\n","import { ImageModelV3, ImageModelV3CallWarning } from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonResponseHandler,\n createJsonErrorResponseHandler,\n FetchFunction,\n postJsonToApi,\n} from '@ai-sdk/provider-utils';\nimport { TogetherAIImageModelId } from './togetherai-image-settings';\nimport { z } from 'zod/v4';\n\ninterface TogetherAIImageModelConfig {\n provider: string;\n baseURL: string;\n headers: () => Record<string, string>;\n fetch?: FetchFunction;\n _internal?: {\n currentDate?: () => Date;\n };\n}\n\nexport class TogetherAIImageModel implements ImageModelV3 {\n readonly specificationVersion = 'v3';\n readonly maxImagesPerCall = 1;\n\n get provider(): string {\n return this.config.provider;\n }\n\n constructor(\n readonly modelId: TogetherAIImageModelId,\n private config: TogetherAIImageModelConfig,\n ) {}\n\n async doGenerate({\n prompt,\n n,\n size,\n seed,\n providerOptions,\n headers,\n abortSignal,\n }: Parameters<ImageModelV3['doGenerate']>[0]): Promise<\n Awaited<ReturnType<ImageModelV3['doGenerate']>>\n > {\n const warnings: Array<ImageModelV3CallWarning> = [];\n\n if (size != null) {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'aspectRatio',\n details:\n 'This model does not support the `aspectRatio` option. Use `size` instead.',\n });\n }\n\n const currentDate = this.config._internal?.currentDate?.() ?? new Date();\n const splitSize = size?.split('x');\n // https://docs.together.ai/reference/post_images-generations\n const { value: response, responseHeaders } = await postJsonToApi({\n url: `${this.config.baseURL}/images/generations`,\n headers: combineHeaders(this.config.headers(), headers),\n body: {\n model: this.modelId,\n prompt,\n seed,\n n,\n ...(splitSize && {\n width: parseInt(splitSize[0]),\n height: parseInt(splitSize[1]),\n }),\n response_format: 'base64',\n ...(providerOptions.togetherai ?? {}),\n },\n failedResponseHandler: createJsonErrorResponseHandler({\n errorSchema: togetheraiErrorSchema,\n errorToMessage: data => data.error.message,\n }),\n successfulResponseHandler: createJsonResponseHandler(\n togetheraiImageResponseSchema,\n ),\n abortSignal,\n fetch: this.config.fetch,\n });\n\n return {\n images: response.data.map(item => item.b64_json),\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders,\n },\n };\n }\n}\n\n// limited version of the schema, focussed on what is needed for the implementation\n// this approach limits breakages when the API changes and increases efficiency\nconst togetheraiImageResponseSchema = z.object({\n data: z.array(\n z.object({\n b64_json: z.string(),\n }),\n ),\n});\n\n// limited version of the schema, focussed on what is needed for the implementation\n// this approach limits breakages when the API changes and increases efficiency\nconst togetheraiErrorSchema = z.object({\n error: z.object({\n message: z.string(),\n }),\n});\n","// Version string of this package injected at build time.\ndeclare 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":["lazySchema","zodSchema","z","combineHeaders","createJsonResponseHandler","createJsonErrorResponseHandler","postJsonToApi","z","togetheraiErrorSchema"]}
|
|
1
|
+
{"version":3,"sources":["../src/togetherai-provider.ts","../src/reranking/togetherai-reranking-model.ts","../src/reranking/togetherai-reranking-api.ts","../src/reranking/togetherai-reranking-options.ts","../src/togetherai-image-model.ts","../src/version.ts"],"sourcesContent":["import {\n OpenAICompatibleChatLanguageModel,\n OpenAICompatibleCompletionLanguageModel,\n OpenAICompatibleEmbeddingModel,\n} from '@ai-sdk/openai-compatible';\nimport {\n EmbeddingModelV3,\n ImageModelV3,\n LanguageModelV3,\n ProviderV3,\n RerankingModelV3,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix,\n} from '@ai-sdk/provider-utils';\nimport { TogetherAIRerankingModel } from './reranking/togetherai-reranking-model';\nimport { TogetherAIRerankingModelId } from './reranking/togetherai-reranking-options';\nimport { TogetherAIChatModelId } from './togetherai-chat-options';\nimport { TogetherAICompletionModelId } from './togetherai-completion-options';\nimport { TogetherAIEmbeddingModelId } from './togetherai-embedding-options';\nimport { TogetherAIImageModel } from './togetherai-image-model';\nimport { TogetherAIImageModelId } from './togetherai-image-settings';\nimport { VERSION } from './version';\n\nexport interface TogetherAIProviderSettings {\n /**\nTogetherAI API key.\n*/\n apiKey?: string;\n /**\nBase URL for the API calls.\n*/\n baseURL?: string;\n /**\nCustom headers to include in the requests.\n*/\n headers?: Record<string, string>;\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n*/\n fetch?: FetchFunction;\n}\n\nexport interface TogetherAIProvider extends ProviderV3 {\n /**\nCreates a model for text generation.\n*/\n (modelId: TogetherAIChatModelId): LanguageModelV3;\n\n /**\nCreates a chat model for text generation.\n*/\n chatModel(modelId: TogetherAIChatModelId): LanguageModelV3;\n\n /**\nCreates a chat model for text generation.\n*/\n languageModel(modelId: TogetherAIChatModelId): LanguageModelV3;\n\n /**\nCreates a completion model for text generation.\n*/\n completionModel(modelId: TogetherAICompletionModelId): LanguageModelV3;\n\n /**\nCreates a text embedding model for text generation.\n*/\n embeddingModel(modelId: TogetherAIEmbeddingModelId): EmbeddingModelV3;\n\n /**\nCreates a model for image generation.\n*/\n image(modelId: TogetherAIImageModelId): ImageModelV3;\n\n /**\nCreates a model for image generation.\n*/\n imageModel(modelId: TogetherAIImageModelId): ImageModelV3;\n\n /**\n * Creates a model for reranking.\n */\n reranking(modelId: TogetherAIRerankingModelId): RerankingModelV3;\n\n /**\n * Creates a model for reranking.\n */\n rerankingModel(modelId: TogetherAIRerankingModelId): RerankingModelV3;\n}\n\nexport function createTogetherAI(\n options: TogetherAIProviderSettings = {},\n): TogetherAIProvider {\n const baseURL = withoutTrailingSlash(\n options.baseURL ?? 'https://api.together.xyz/v1/',\n );\n const getHeaders = () =>\n withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'TOGETHER_AI_API_KEY',\n description: 'TogetherAI',\n })}`,\n ...options.headers,\n },\n `ai-sdk/togetherai/${VERSION}`,\n );\n\n interface CommonModelConfig {\n provider: string;\n url: ({ path }: { path: string }) => string;\n headers: () => Record<string, string>;\n fetch?: FetchFunction;\n }\n\n const getCommonModelConfig = (modelType: string): CommonModelConfig => ({\n provider: `togetherai.${modelType}`,\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createChatModel = (modelId: TogetherAIChatModelId) => {\n return new OpenAICompatibleChatLanguageModel(\n modelId,\n getCommonModelConfig('chat'),\n );\n };\n\n const createCompletionModel = (modelId: TogetherAICompletionModelId) =>\n new OpenAICompatibleCompletionLanguageModel(\n modelId,\n getCommonModelConfig('completion'),\n );\n\n const createEmbeddingModel = (modelId: TogetherAIEmbeddingModelId) =>\n new OpenAICompatibleEmbeddingModel(\n modelId,\n getCommonModelConfig('embedding'),\n );\n\n const createImageModel = (modelId: TogetherAIImageModelId) =>\n new TogetherAIImageModel(modelId, {\n ...getCommonModelConfig('image'),\n baseURL: baseURL ?? 'https://api.together.xyz/v1/',\n });\n\n const createRerankingModel = (modelId: TogetherAIRerankingModelId) =>\n new TogetherAIRerankingModel(modelId, {\n ...getCommonModelConfig('reranking'),\n baseURL: baseURL ?? 'https://api.together.xyz/v1/',\n });\n\n const provider = (modelId: TogetherAIChatModelId) => createChatModel(modelId);\n\n provider.specificationVersion = 'v3' as const;\n provider.completionModel = createCompletionModel;\n provider.languageModel = createChatModel;\n provider.chatModel = createChatModel;\n provider.embeddingModel = createEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n provider.reranking = createRerankingModel;\n provider.rerankingModel = createRerankingModel;\n\n return provider;\n}\n\nexport const togetherai = createTogetherAI();\n","import { RerankingModelV3 } from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonErrorResponseHandler,\n createJsonResponseHandler,\n FetchFunction,\n parseProviderOptions,\n postJsonToApi,\n} from '@ai-sdk/provider-utils';\nimport {\n togetheraiErrorSchema,\n TogetherAIRerankingInput,\n togetheraiRerankingResponseSchema,\n} from './togetherai-reranking-api';\nimport {\n TogetherAIRerankingModelId,\n togetheraiRerankingOptionsSchema,\n} from './togetherai-reranking-options';\n\ntype TogetherAIRerankingConfig = {\n provider: string;\n baseURL: string;\n headers: () => Record<string, string | undefined>;\n fetch?: FetchFunction;\n};\n\nexport class TogetherAIRerankingModel implements RerankingModelV3 {\n readonly specificationVersion = 'v3';\n readonly modelId: TogetherAIRerankingModelId;\n\n private readonly config: TogetherAIRerankingConfig;\n\n constructor(\n modelId: TogetherAIRerankingModelId,\n config: TogetherAIRerankingConfig,\n ) {\n this.modelId = modelId;\n this.config = config;\n }\n\n get provider(): string {\n return this.config.provider;\n }\n\n // see https://docs.together.ai/reference/rerank-1\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: 'togetherai',\n providerOptions,\n schema: togetheraiRerankingOptionsSchema,\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 documents: documents.values,\n query,\n top_n: topN,\n rank_fields: rerankingOptions?.rankFields,\n return_documents: false, // reduce response size\n } satisfies TogetherAIRerankingInput,\n failedResponseHandler: createJsonErrorResponseHandler({\n errorSchema: togetheraiErrorSchema,\n errorToMessage: data => data.error.message,\n }),\n successfulResponseHandler: createJsonResponseHandler(\n togetheraiRerankingResponseSchema,\n ),\n abortSignal,\n fetch: this.config.fetch,\n });\n\n return {\n ranking: response.results.map(result => ({\n index: result.index,\n relevanceScore: result.relevance_score,\n })),\n response: {\n id: response.id ?? undefined,\n modelId: response.model ?? undefined,\n headers: responseHeaders,\n body: rawValue,\n },\n };\n }\n}\n","import { JSONObject } from '@ai-sdk/provider';\nimport { lazySchema, zodSchema } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\n// https://docs.together.ai/reference/rerank-1\nexport type TogetherAIRerankingInput = {\n model: string;\n query: string;\n documents: JSONObject[] | string[];\n top_n: number | undefined;\n return_documents: boolean | undefined;\n rank_fields: string[] | undefined;\n};\n\nexport const togetheraiErrorSchema = lazySchema(() =>\n zodSchema(\n z.object({\n error: z.object({\n message: z.string(),\n }),\n }),\n ),\n);\n\nexport const togetheraiRerankingResponseSchema = lazySchema(() =>\n zodSchema(\n z.object({\n id: z.string().nullish(),\n model: z.string().nullish(),\n results: z.array(\n z.object({\n index: z.number(),\n relevance_score: z.number(),\n }),\n ),\n usage: z.object({\n prompt_tokens: z.number(),\n completion_tokens: z.number(),\n total_tokens: z.number(),\n }),\n }),\n ),\n);\n","import { FlexibleSchema, lazySchema, zodSchema } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\n// see https://docs.together.ai/docs/serverless-models#rerank-models\nexport type TogetherAIRerankingModelId =\n | 'Salesforce/Llama-Rank-v1'\n | 'mixedbread-ai/Mxbai-Rerank-Large-V2'\n | (string & {});\n\nexport type TogetherAIRerankingOptions = {\n /**\n * List of keys in the JSON Object document to rank by.\n * Defaults to use all supplied keys for ranking.\n *\n * @example [\"title\", \"text\"]\n */\n rankFields?: string[];\n};\n\nexport const togetheraiRerankingOptionsSchema: FlexibleSchema<TogetherAIRerankingOptions> =\n lazySchema(() =>\n zodSchema(\n z.object({\n rankFields: z.array(z.string()).optional(),\n }),\n ),\n );\n","import { ImageModelV3, ImageModelV3CallWarning } from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonResponseHandler,\n createJsonErrorResponseHandler,\n FetchFunction,\n postJsonToApi,\n} from '@ai-sdk/provider-utils';\nimport { TogetherAIImageModelId } from './togetherai-image-settings';\nimport { z } from 'zod/v4';\n\ninterface TogetherAIImageModelConfig {\n provider: string;\n baseURL: string;\n headers: () => Record<string, string>;\n fetch?: FetchFunction;\n _internal?: {\n currentDate?: () => Date;\n };\n}\n\nexport class TogetherAIImageModel implements ImageModelV3 {\n readonly specificationVersion = 'v3';\n readonly maxImagesPerCall = 1;\n\n get provider(): string {\n return this.config.provider;\n }\n\n constructor(\n readonly modelId: TogetherAIImageModelId,\n private config: TogetherAIImageModelConfig,\n ) {}\n\n async doGenerate({\n prompt,\n n,\n size,\n seed,\n providerOptions,\n headers,\n abortSignal,\n }: Parameters<ImageModelV3['doGenerate']>[0]): Promise<\n Awaited<ReturnType<ImageModelV3['doGenerate']>>\n > {\n const warnings: Array<ImageModelV3CallWarning> = [];\n\n if (size != null) {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'aspectRatio',\n details:\n 'This model does not support the `aspectRatio` option. Use `size` instead.',\n });\n }\n\n const currentDate = this.config._internal?.currentDate?.() ?? new Date();\n const splitSize = size?.split('x');\n // https://docs.together.ai/reference/post_images-generations\n const { value: response, responseHeaders } = await postJsonToApi({\n url: `${this.config.baseURL}/images/generations`,\n headers: combineHeaders(this.config.headers(), headers),\n body: {\n model: this.modelId,\n prompt,\n seed,\n n,\n ...(splitSize && {\n width: parseInt(splitSize[0]),\n height: parseInt(splitSize[1]),\n }),\n response_format: 'base64',\n ...(providerOptions.togetherai ?? {}),\n },\n failedResponseHandler: createJsonErrorResponseHandler({\n errorSchema: togetheraiErrorSchema,\n errorToMessage: data => data.error.message,\n }),\n successfulResponseHandler: createJsonResponseHandler(\n togetheraiImageResponseSchema,\n ),\n abortSignal,\n fetch: this.config.fetch,\n });\n\n return {\n images: response.data.map(item => item.b64_json),\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders,\n },\n };\n }\n}\n\n// limited version of the schema, focussed on what is needed for the implementation\n// this approach limits breakages when the API changes and increases efficiency\nconst togetheraiImageResponseSchema = z.object({\n data: z.array(\n z.object({\n b64_json: z.string(),\n }),\n ),\n});\n\n// limited version of the schema, focussed on what is needed for the implementation\n// this approach limits breakages when the API changes and increases efficiency\nconst togetheraiErrorSchema = z.object({\n error: z.object({\n message: z.string(),\n }),\n});\n","// Version string of this package injected at build time.\ndeclare 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":["lazySchema","zodSchema","z","combineHeaders","createJsonResponseHandler","createJsonErrorResponseHandler","postJsonToApi","z","togetheraiErrorSchema"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-sdk/togetherai",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.38",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -20,17 +20,17 @@
|
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@ai-sdk/
|
|
24
|
-
"@ai-sdk/provider": "
|
|
25
|
-
"@ai-sdk/
|
|
23
|
+
"@ai-sdk/provider": "3.0.0-beta.19",
|
|
24
|
+
"@ai-sdk/provider-utils": "4.0.0-beta.36",
|
|
25
|
+
"@ai-sdk/openai-compatible": "2.0.0-beta.37"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "20.17.24",
|
|
29
29
|
"tsup": "^8",
|
|
30
30
|
"typescript": "5.8.3",
|
|
31
31
|
"zod": "3.25.76",
|
|
32
|
-
"@ai-
|
|
33
|
-
"@
|
|
32
|
+
"@vercel/ai-tsconfig": "0.0.0",
|
|
33
|
+
"@ai-sdk/test-server": "1.0.0-beta.1"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
36
|
"zod": "^3.25.76 || ^4.1.8"
|