@fairyhunter13/ai-sdk 6.0.116-fork.1
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 +7582 -0
- package/README.md +238 -0
- package/dist/index.d.mts +6751 -0
- package/dist/index.d.ts +6751 -0
- package/dist/index.js +14155 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +14127 -0
- package/dist/index.mjs.map +1 -0
- package/dist/internal/index.d.mts +324 -0
- package/dist/internal/index.d.ts +324 -0
- package/dist/internal/index.js +1352 -0
- package/dist/internal/index.js.map +1 -0
- package/dist/internal/index.mjs +1336 -0
- package/dist/internal/index.mjs.map +1 -0
- package/dist/test/index.d.mts +265 -0
- package/dist/test/index.d.ts +265 -0
- package/dist/test/index.js +509 -0
- package/dist/test/index.js.map +1 -0
- package/dist/test/index.mjs +472 -0
- package/dist/test/index.mjs.map +1 -0
- package/docs/00-introduction/index.mdx +76 -0
- package/docs/02-foundations/01-overview.mdx +43 -0
- package/docs/02-foundations/02-providers-and-models.mdx +158 -0
- package/docs/02-foundations/03-prompts.mdx +616 -0
- package/docs/02-foundations/04-tools.mdx +251 -0
- package/docs/02-foundations/05-streaming.mdx +62 -0
- package/docs/02-foundations/06-provider-options.mdx +345 -0
- package/docs/02-foundations/index.mdx +49 -0
- package/docs/02-getting-started/00-choosing-a-provider.mdx +110 -0
- package/docs/02-getting-started/01-navigating-the-library.mdx +85 -0
- package/docs/02-getting-started/02-nextjs-app-router.mdx +559 -0
- package/docs/02-getting-started/03-nextjs-pages-router.mdx +542 -0
- package/docs/02-getting-started/04-svelte.mdx +627 -0
- package/docs/02-getting-started/05-nuxt.mdx +566 -0
- package/docs/02-getting-started/06-nodejs.mdx +512 -0
- package/docs/02-getting-started/07-expo.mdx +766 -0
- package/docs/02-getting-started/08-tanstack-start.mdx +583 -0
- package/docs/02-getting-started/09-coding-agents.mdx +179 -0
- package/docs/02-getting-started/index.mdx +44 -0
- package/docs/03-agents/01-overview.mdx +96 -0
- package/docs/03-agents/02-building-agents.mdx +449 -0
- package/docs/03-agents/03-workflows.mdx +386 -0
- package/docs/03-agents/04-loop-control.mdx +394 -0
- package/docs/03-agents/05-configuring-call-options.mdx +286 -0
- package/docs/03-agents/06-memory.mdx +222 -0
- package/docs/03-agents/06-subagents.mdx +362 -0
- package/docs/03-agents/index.mdx +46 -0
- package/docs/03-ai-sdk-core/01-overview.mdx +31 -0
- package/docs/03-ai-sdk-core/05-generating-text.mdx +707 -0
- package/docs/03-ai-sdk-core/10-generating-structured-data.mdx +498 -0
- package/docs/03-ai-sdk-core/15-tools-and-tool-calling.mdx +1144 -0
- package/docs/03-ai-sdk-core/16-mcp-tools.mdx +383 -0
- package/docs/03-ai-sdk-core/20-prompt-engineering.mdx +146 -0
- package/docs/03-ai-sdk-core/25-settings.mdx +216 -0
- package/docs/03-ai-sdk-core/26-reasoning.mdx +190 -0
- package/docs/03-ai-sdk-core/30-embeddings.mdx +246 -0
- package/docs/03-ai-sdk-core/31-reranking.mdx +218 -0
- package/docs/03-ai-sdk-core/35-image-generation.mdx +341 -0
- package/docs/03-ai-sdk-core/36-transcription.mdx +227 -0
- package/docs/03-ai-sdk-core/37-speech.mdx +169 -0
- package/docs/03-ai-sdk-core/38-video-generation.mdx +366 -0
- package/docs/03-ai-sdk-core/40-middleware.mdx +485 -0
- package/docs/03-ai-sdk-core/45-provider-management.mdx +349 -0
- package/docs/03-ai-sdk-core/50-error-handling.mdx +149 -0
- package/docs/03-ai-sdk-core/55-testing.mdx +219 -0
- package/docs/03-ai-sdk-core/60-telemetry.mdx +391 -0
- package/docs/03-ai-sdk-core/65-devtools.mdx +107 -0
- package/docs/03-ai-sdk-core/65-event-listeners.mdx +1118 -0
- package/docs/03-ai-sdk-core/index.mdx +99 -0
- package/docs/04-ai-sdk-ui/01-overview.mdx +44 -0
- package/docs/04-ai-sdk-ui/02-chatbot.mdx +1320 -0
- package/docs/04-ai-sdk-ui/03-chatbot-message-persistence.mdx +535 -0
- package/docs/04-ai-sdk-ui/03-chatbot-resume-streams.mdx +263 -0
- package/docs/04-ai-sdk-ui/03-chatbot-tool-usage.mdx +682 -0
- package/docs/04-ai-sdk-ui/04-generative-user-interfaces.mdx +389 -0
- package/docs/04-ai-sdk-ui/05-completion.mdx +181 -0
- package/docs/04-ai-sdk-ui/08-object-generation.mdx +344 -0
- package/docs/04-ai-sdk-ui/20-streaming-data.mdx +397 -0
- package/docs/04-ai-sdk-ui/21-error-handling.mdx +190 -0
- package/docs/04-ai-sdk-ui/21-transport.mdx +174 -0
- package/docs/04-ai-sdk-ui/24-reading-ui-message-streams.mdx +104 -0
- package/docs/04-ai-sdk-ui/25-message-metadata.mdx +152 -0
- package/docs/04-ai-sdk-ui/50-stream-protocol.mdx +503 -0
- package/docs/04-ai-sdk-ui/index.mdx +64 -0
- package/docs/05-ai-sdk-rsc/01-overview.mdx +45 -0
- package/docs/05-ai-sdk-rsc/02-streaming-react-components.mdx +209 -0
- package/docs/05-ai-sdk-rsc/03-generative-ui-state.mdx +279 -0
- package/docs/05-ai-sdk-rsc/03-saving-and-restoring-states.mdx +105 -0
- package/docs/05-ai-sdk-rsc/04-multistep-interfaces.mdx +282 -0
- package/docs/05-ai-sdk-rsc/05-streaming-values.mdx +157 -0
- package/docs/05-ai-sdk-rsc/06-loading-state.mdx +273 -0
- package/docs/05-ai-sdk-rsc/08-error-handling.mdx +94 -0
- package/docs/05-ai-sdk-rsc/09-authentication.mdx +42 -0
- package/docs/05-ai-sdk-rsc/10-migrating-to-ui.mdx +722 -0
- package/docs/05-ai-sdk-rsc/index.mdx +63 -0
- package/docs/06-advanced/01-prompt-engineering.mdx +96 -0
- package/docs/06-advanced/02-stopping-streams.mdx +184 -0
- package/docs/06-advanced/03-backpressure.mdx +173 -0
- package/docs/06-advanced/04-caching.mdx +169 -0
- package/docs/06-advanced/05-multiple-streamables.mdx +68 -0
- package/docs/06-advanced/06-rate-limiting.mdx +60 -0
- package/docs/06-advanced/07-rendering-ui-with-language-models.mdx +225 -0
- package/docs/06-advanced/08-model-as-router.mdx +120 -0
- package/docs/06-advanced/09-multistep-interfaces.mdx +115 -0
- package/docs/06-advanced/09-sequential-generations.mdx +55 -0
- package/docs/06-advanced/10-vercel-deployment-guide.mdx +117 -0
- package/docs/06-advanced/index.mdx +11 -0
- package/docs/07-reference/01-ai-sdk-core/01-generate-text.mdx +2785 -0
- package/docs/07-reference/01-ai-sdk-core/02-stream-text.mdx +3752 -0
- package/docs/07-reference/01-ai-sdk-core/05-embed.mdx +332 -0
- package/docs/07-reference/01-ai-sdk-core/06-embed-many.mdx +330 -0
- package/docs/07-reference/01-ai-sdk-core/06-rerank.mdx +309 -0
- package/docs/07-reference/01-ai-sdk-core/10-generate-image.mdx +251 -0
- package/docs/07-reference/01-ai-sdk-core/11-transcribe.mdx +152 -0
- package/docs/07-reference/01-ai-sdk-core/12-generate-speech.mdx +221 -0
- package/docs/07-reference/01-ai-sdk-core/13-generate-video.mdx +264 -0
- package/docs/07-reference/01-ai-sdk-core/15-agent.mdx +235 -0
- package/docs/07-reference/01-ai-sdk-core/16-tool-loop-agent.mdx +973 -0
- package/docs/07-reference/01-ai-sdk-core/17-create-agent-ui-stream.mdx +154 -0
- package/docs/07-reference/01-ai-sdk-core/18-create-agent-ui-stream-response.mdx +173 -0
- package/docs/07-reference/01-ai-sdk-core/18-pipe-agent-ui-stream-to-response.mdx +150 -0
- package/docs/07-reference/01-ai-sdk-core/20-tool.mdx +209 -0
- package/docs/07-reference/01-ai-sdk-core/22-dynamic-tool.mdx +223 -0
- package/docs/07-reference/01-ai-sdk-core/23-create-mcp-client.mdx +423 -0
- package/docs/07-reference/01-ai-sdk-core/24-mcp-stdio-transport.mdx +68 -0
- package/docs/07-reference/01-ai-sdk-core/25-json-schema.mdx +94 -0
- package/docs/07-reference/01-ai-sdk-core/26-zod-schema.mdx +109 -0
- package/docs/07-reference/01-ai-sdk-core/27-valibot-schema.mdx +58 -0
- package/docs/07-reference/01-ai-sdk-core/28-output.mdx +342 -0
- package/docs/07-reference/01-ai-sdk-core/30-model-message.mdx +435 -0
- package/docs/07-reference/01-ai-sdk-core/31-ui-message.mdx +264 -0
- package/docs/07-reference/01-ai-sdk-core/32-validate-ui-messages.mdx +101 -0
- package/docs/07-reference/01-ai-sdk-core/33-safe-validate-ui-messages.mdx +113 -0
- package/docs/07-reference/01-ai-sdk-core/40-provider-registry.mdx +198 -0
- package/docs/07-reference/01-ai-sdk-core/42-custom-provider.mdx +157 -0
- package/docs/07-reference/01-ai-sdk-core/50-cosine-similarity.mdx +52 -0
- package/docs/07-reference/01-ai-sdk-core/60-wrap-language-model.mdx +59 -0
- package/docs/07-reference/01-ai-sdk-core/61-wrap-image-model.mdx +64 -0
- package/docs/07-reference/01-ai-sdk-core/65-language-model-v2-middleware.mdx +74 -0
- package/docs/07-reference/01-ai-sdk-core/66-extract-reasoning-middleware.mdx +68 -0
- package/docs/07-reference/01-ai-sdk-core/67-simulate-streaming-middleware.mdx +71 -0
- package/docs/07-reference/01-ai-sdk-core/68-default-settings-middleware.mdx +80 -0
- package/docs/07-reference/01-ai-sdk-core/69-add-tool-input-examples-middleware.mdx +155 -0
- package/docs/07-reference/01-ai-sdk-core/70-extract-json-middleware.mdx +147 -0
- package/docs/07-reference/01-ai-sdk-core/70-step-count-is.mdx +84 -0
- package/docs/07-reference/01-ai-sdk-core/71-has-tool-call.mdx +120 -0
- package/docs/07-reference/01-ai-sdk-core/75-simulate-readable-stream.mdx +94 -0
- package/docs/07-reference/01-ai-sdk-core/80-smooth-stream.mdx +145 -0
- package/docs/07-reference/01-ai-sdk-core/90-generate-id.mdx +30 -0
- package/docs/07-reference/01-ai-sdk-core/91-create-id-generator.mdx +89 -0
- package/docs/07-reference/01-ai-sdk-core/92-default-generated-file.mdx +68 -0
- package/docs/07-reference/01-ai-sdk-core/index.mdx +160 -0
- package/docs/07-reference/02-ai-sdk-ui/01-use-chat.mdx +493 -0
- package/docs/07-reference/02-ai-sdk-ui/02-use-completion.mdx +185 -0
- package/docs/07-reference/02-ai-sdk-ui/03-use-object.mdx +196 -0
- package/docs/07-reference/02-ai-sdk-ui/31-convert-to-model-messages.mdx +231 -0
- package/docs/07-reference/02-ai-sdk-ui/32-prune-messages.mdx +108 -0
- package/docs/07-reference/02-ai-sdk-ui/40-create-ui-message-stream.mdx +162 -0
- package/docs/07-reference/02-ai-sdk-ui/41-create-ui-message-stream-response.mdx +119 -0
- package/docs/07-reference/02-ai-sdk-ui/42-pipe-ui-message-stream-to-response.mdx +77 -0
- package/docs/07-reference/02-ai-sdk-ui/43-read-ui-message-stream.mdx +57 -0
- package/docs/07-reference/02-ai-sdk-ui/46-infer-ui-tools.mdx +99 -0
- package/docs/07-reference/02-ai-sdk-ui/47-infer-ui-tool.mdx +75 -0
- package/docs/07-reference/02-ai-sdk-ui/50-direct-chat-transport.mdx +333 -0
- package/docs/07-reference/02-ai-sdk-ui/index.mdx +89 -0
- package/docs/07-reference/03-ai-sdk-rsc/01-stream-ui.mdx +767 -0
- package/docs/07-reference/03-ai-sdk-rsc/02-create-ai.mdx +90 -0
- package/docs/07-reference/03-ai-sdk-rsc/03-create-streamable-ui.mdx +91 -0
- package/docs/07-reference/03-ai-sdk-rsc/04-create-streamable-value.mdx +78 -0
- package/docs/07-reference/03-ai-sdk-rsc/05-read-streamable-value.mdx +79 -0
- package/docs/07-reference/03-ai-sdk-rsc/06-get-ai-state.mdx +50 -0
- package/docs/07-reference/03-ai-sdk-rsc/07-get-mutable-ai-state.mdx +70 -0
- package/docs/07-reference/03-ai-sdk-rsc/08-use-ai-state.mdx +26 -0
- package/docs/07-reference/03-ai-sdk-rsc/09-use-actions.mdx +42 -0
- package/docs/07-reference/03-ai-sdk-rsc/10-use-ui-state.mdx +35 -0
- package/docs/07-reference/03-ai-sdk-rsc/11-use-streamable-value.mdx +46 -0
- package/docs/07-reference/03-ai-sdk-rsc/20-render.mdx +266 -0
- package/docs/07-reference/03-ai-sdk-rsc/index.mdx +67 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-api-call-error.mdx +31 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-download-error.mdx +28 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-empty-response-body-error.mdx +24 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-invalid-argument-error.mdx +26 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-invalid-data-content-error.mdx +26 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-invalid-message-role-error.mdx +25 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-invalid-prompt-error.mdx +47 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-invalid-response-data-error.mdx +25 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-invalid-tool-approval-error.mdx +24 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-invalid-tool-input-error.mdx +27 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-json-parse-error.mdx +25 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-load-api-key-error.mdx +24 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-load-setting-error.mdx +24 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-message-conversion-error.mdx +25 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-no-content-generated-error.mdx +24 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-no-image-generated-error.mdx +36 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-no-object-generated-error.mdx +43 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-no-output-generated-error.mdx +25 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-no-speech-generated-error.mdx +24 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-no-such-model-error.mdx +26 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-no-such-provider-error.mdx +28 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-no-such-tool-error.mdx +26 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-no-transcript-generated-error.mdx +24 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-no-video-generated-error.mdx +39 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-retry-error.mdx +27 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-too-many-embedding-values-for-call-error.mdx +27 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-tool-call-not-found-for-approval-error.mdx +25 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-tool-call-repair-error.mdx +28 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-type-validation-error.mdx +25 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-ui-message-stream-error.mdx +67 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-unsupported-functionality-error.mdx +25 -0
- package/docs/07-reference/05-ai-sdk-errors/index.mdx +39 -0
- package/docs/07-reference/index.mdx +28 -0
- package/docs/08-migration-guides/00-versioning.mdx +46 -0
- package/docs/08-migration-guides/23-migration-guide-7-0.mdx +95 -0
- package/docs/08-migration-guides/24-migration-guide-6-0.mdx +823 -0
- package/docs/08-migration-guides/25-migration-guide-5-0-data.mdx +882 -0
- package/docs/08-migration-guides/26-migration-guide-5-0.mdx +3427 -0
- package/docs/08-migration-guides/27-migration-guide-4-2.mdx +99 -0
- package/docs/08-migration-guides/28-migration-guide-4-1.mdx +14 -0
- package/docs/08-migration-guides/29-migration-guide-4-0.mdx +1157 -0
- package/docs/08-migration-guides/36-migration-guide-3-4.mdx +14 -0
- package/docs/08-migration-guides/37-migration-guide-3-3.mdx +64 -0
- package/docs/08-migration-guides/38-migration-guide-3-2.mdx +46 -0
- package/docs/08-migration-guides/39-migration-guide-3-1.mdx +168 -0
- package/docs/08-migration-guides/index.mdx +22 -0
- package/docs/09-troubleshooting/01-azure-stream-slow.mdx +33 -0
- package/docs/09-troubleshooting/03-server-actions-in-client-components.mdx +40 -0
- package/docs/09-troubleshooting/04-strange-stream-output.mdx +36 -0
- package/docs/09-troubleshooting/05-streamable-ui-errors.mdx +16 -0
- package/docs/09-troubleshooting/05-tool-invocation-missing-result.mdx +106 -0
- package/docs/09-troubleshooting/06-streaming-not-working-when-deployed.mdx +31 -0
- package/docs/09-troubleshooting/06-streaming-not-working-when-proxied.mdx +31 -0
- package/docs/09-troubleshooting/06-timeout-on-vercel.mdx +60 -0
- package/docs/09-troubleshooting/07-unclosed-streams.mdx +34 -0
- package/docs/09-troubleshooting/08-use-chat-failed-to-parse-stream.mdx +26 -0
- package/docs/09-troubleshooting/09-client-stream-error.mdx +25 -0
- package/docs/09-troubleshooting/10-use-chat-tools-no-response.mdx +32 -0
- package/docs/09-troubleshooting/11-use-chat-custom-request-options.mdx +149 -0
- package/docs/09-troubleshooting/12-typescript-performance-zod.mdx +46 -0
- package/docs/09-troubleshooting/12-use-chat-an-error-occurred.mdx +59 -0
- package/docs/09-troubleshooting/13-repeated-assistant-messages.mdx +73 -0
- package/docs/09-troubleshooting/14-stream-abort-handling.mdx +73 -0
- package/docs/09-troubleshooting/14-tool-calling-with-structured-outputs.mdx +48 -0
- package/docs/09-troubleshooting/15-abort-breaks-resumable-streams.mdx +55 -0
- package/docs/09-troubleshooting/15-stream-text-not-working.mdx +33 -0
- package/docs/09-troubleshooting/16-streaming-status-delay.mdx +63 -0
- package/docs/09-troubleshooting/17-use-chat-stale-body-data.mdx +141 -0
- package/docs/09-troubleshooting/18-ontoolcall-type-narrowing.mdx +66 -0
- package/docs/09-troubleshooting/19-unsupported-model-version.mdx +50 -0
- package/docs/09-troubleshooting/20-no-object-generated-content-filter.mdx +76 -0
- package/docs/09-troubleshooting/21-missing-tool-results-error.mdx +82 -0
- package/docs/09-troubleshooting/30-model-is-not-assignable-to-type.mdx +21 -0
- package/docs/09-troubleshooting/40-typescript-cannot-find-namespace-jsx.mdx +24 -0
- package/docs/09-troubleshooting/50-react-maximum-update-depth-exceeded.mdx +39 -0
- package/docs/09-troubleshooting/60-jest-cannot-find-module-ai-rsc.mdx +22 -0
- package/docs/09-troubleshooting/70-high-memory-usage-with-images.mdx +108 -0
- package/docs/09-troubleshooting/index.mdx +11 -0
- package/internal.d.ts +1 -0
- package/package.json +120 -0
- package/src/agent/agent.ts +156 -0
- package/src/agent/create-agent-ui-stream-response.ts +61 -0
- package/src/agent/create-agent-ui-stream.ts +84 -0
- package/src/agent/index.ts +37 -0
- package/src/agent/infer-agent-tools.ts +7 -0
- package/src/agent/infer-agent-ui-message.ts +11 -0
- package/src/agent/pipe-agent-ui-stream-to-response.ts +64 -0
- package/src/agent/tool-loop-agent-settings.ts +244 -0
- package/src/agent/tool-loop-agent.ts +205 -0
- package/src/embed/embed-events.ts +109 -0
- package/src/embed/embed-many-result.ts +53 -0
- package/src/embed/embed-many.ts +484 -0
- package/src/embed/embed-result.ts +50 -0
- package/src/embed/embed.ts +294 -0
- package/src/embed/index.ts +5 -0
- package/src/error/index.ts +37 -0
- package/src/error/invalid-argument-error.ts +34 -0
- package/src/error/invalid-stream-part-error.ts +28 -0
- package/src/error/invalid-tool-approval-error.ts +26 -0
- package/src/error/invalid-tool-input-error.ts +33 -0
- package/src/error/missing-tool-result-error.ts +28 -0
- package/src/error/no-image-generated-error.ts +39 -0
- package/src/error/no-object-generated-error.ts +70 -0
- package/src/error/no-output-generated-error.ts +26 -0
- package/src/error/no-speech-generated-error.ts +28 -0
- package/src/error/no-such-tool-error.ts +35 -0
- package/src/error/no-transcript-generated-error.ts +30 -0
- package/src/error/no-video-generated-error.ts +57 -0
- package/src/error/tool-call-not-found-for-approval-error.ts +32 -0
- package/src/error/tool-call-repair-error.ts +30 -0
- package/src/error/ui-message-stream-error.ts +48 -0
- package/src/error/unsupported-model-version-error.ts +23 -0
- package/src/error/verify-no-object-generated-error.ts +27 -0
- package/src/generate-image/generate-image-result.ts +42 -0
- package/src/generate-image/generate-image.ts +361 -0
- package/src/generate-image/index.ts +18 -0
- package/src/generate-object/generate-object-result.ts +67 -0
- package/src/generate-object/generate-object.ts +514 -0
- package/src/generate-object/index.ts +9 -0
- package/src/generate-object/inject-json-instruction.ts +30 -0
- package/src/generate-object/output-strategy.ts +415 -0
- package/src/generate-object/parse-and-validate-object-result.ts +111 -0
- package/src/generate-object/repair-text.ts +12 -0
- package/src/generate-object/stream-object-result.ts +120 -0
- package/src/generate-object/stream-object.ts +984 -0
- package/src/generate-object/validate-object-generation-input.ts +144 -0
- package/src/generate-speech/generate-speech-result.ts +30 -0
- package/src/generate-speech/generate-speech.ts +191 -0
- package/src/generate-speech/generated-audio-file.ts +65 -0
- package/src/generate-speech/index.ts +3 -0
- package/src/generate-text/collect-tool-approvals.ts +116 -0
- package/src/generate-text/content-part.ts +31 -0
- package/src/generate-text/core-events.ts +390 -0
- package/src/generate-text/create-execute-tools-transformation.ts +168 -0
- package/src/generate-text/create-stream-text-part-transform.ts +229 -0
- package/src/generate-text/execute-tool-call.ts +190 -0
- package/src/generate-text/extract-reasoning-content.ts +17 -0
- package/src/generate-text/extract-text-content.ts +15 -0
- package/src/generate-text/generate-text-result.ts +168 -0
- package/src/generate-text/generate-text.ts +1411 -0
- package/src/generate-text/generated-file.ts +70 -0
- package/src/generate-text/index.ts +74 -0
- package/src/generate-text/is-approval-needed.ts +29 -0
- package/src/generate-text/output-utils.ts +23 -0
- package/src/generate-text/output.ts +590 -0
- package/src/generate-text/parse-tool-call.ts +188 -0
- package/src/generate-text/prepare-step.ts +103 -0
- package/src/generate-text/prune-messages.ts +167 -0
- package/src/generate-text/reasoning-output.ts +99 -0
- package/src/generate-text/reasoning.ts +10 -0
- package/src/generate-text/response-message.ts +10 -0
- package/src/generate-text/smooth-stream.ts +162 -0
- package/src/generate-text/step-result.ts +310 -0
- package/src/generate-text/stop-condition.ts +29 -0
- package/src/generate-text/stream-text-result.ts +536 -0
- package/src/generate-text/stream-text.ts +2693 -0
- package/src/generate-text/to-response-messages.ts +178 -0
- package/src/generate-text/tool-approval-request-output.ts +21 -0
- package/src/generate-text/tool-call-repair-function.ts +27 -0
- package/src/generate-text/tool-call.ts +47 -0
- package/src/generate-text/tool-error.ts +34 -0
- package/src/generate-text/tool-output-denied.ts +21 -0
- package/src/generate-text/tool-output.ts +7 -0
- package/src/generate-text/tool-result.ts +36 -0
- package/src/generate-text/tool-set.ts +14 -0
- package/src/generate-video/generate-video-result.ts +36 -0
- package/src/generate-video/generate-video.ts +402 -0
- package/src/generate-video/index.ts +3 -0
- package/src/global.ts +36 -0
- package/src/index.ts +49 -0
- package/src/logger/index.ts +6 -0
- package/src/logger/log-warnings.ts +140 -0
- package/src/middleware/add-tool-input-examples-middleware.ts +90 -0
- package/src/middleware/default-embedding-settings-middleware.ts +22 -0
- package/src/middleware/default-settings-middleware.ts +33 -0
- package/src/middleware/extract-json-middleware.ts +197 -0
- package/src/middleware/extract-reasoning-middleware.ts +249 -0
- package/src/middleware/index.ts +10 -0
- package/src/middleware/simulate-streaming-middleware.ts +79 -0
- package/src/middleware/wrap-embedding-model.ts +89 -0
- package/src/middleware/wrap-image-model.ts +92 -0
- package/src/middleware/wrap-language-model.ts +108 -0
- package/src/middleware/wrap-provider.ts +51 -0
- package/src/model/as-embedding-model-v3.ts +24 -0
- package/src/model/as-embedding-model-v4.ts +25 -0
- package/src/model/as-image-model-v3.ts +24 -0
- package/src/model/as-image-model-v4.ts +21 -0
- package/src/model/as-language-model-v3.ts +103 -0
- package/src/model/as-language-model-v4.ts +25 -0
- package/src/model/as-provider-v3.ts +36 -0
- package/src/model/as-provider-v4.ts +47 -0
- package/src/model/as-reranking-model-v4.ts +16 -0
- package/src/model/as-speech-model-v3.ts +24 -0
- package/src/model/as-speech-model-v4.ts +21 -0
- package/src/model/as-transcription-model-v3.ts +24 -0
- package/src/model/as-transcription-model-v4.ts +25 -0
- package/src/model/as-video-model-v4.ts +19 -0
- package/src/model/resolve-model.ts +172 -0
- package/src/prompt/call-settings.ts +177 -0
- package/src/prompt/content-part.ts +236 -0
- package/src/prompt/convert-to-language-model-prompt.ts +548 -0
- package/src/prompt/create-tool-model-output.ts +34 -0
- package/src/prompt/data-content.ts +134 -0
- package/src/prompt/index.ts +27 -0
- package/src/prompt/invalid-data-content-error.ts +29 -0
- package/src/prompt/invalid-message-role-error.ts +27 -0
- package/src/prompt/message-conversion-error.ts +28 -0
- package/src/prompt/message.ts +72 -0
- package/src/prompt/prepare-call-settings.ts +110 -0
- package/src/prompt/prepare-tools-and-tool-choice.ts +86 -0
- package/src/prompt/prompt.ts +43 -0
- package/src/prompt/split-data-url.ts +17 -0
- package/src/prompt/standardize-prompt.ts +99 -0
- package/src/prompt/wrap-gateway-error.ts +29 -0
- package/src/registry/custom-provider.ts +210 -0
- package/src/registry/index.ts +7 -0
- package/src/registry/no-such-provider-error.ts +41 -0
- package/src/registry/provider-registry.ts +331 -0
- package/src/rerank/index.ts +2 -0
- package/src/rerank/rerank-result.ts +70 -0
- package/src/rerank/rerank.ts +239 -0
- package/src/telemetry/assemble-operation-name.ts +21 -0
- package/src/telemetry/get-base-telemetry-attributes.ts +55 -0
- package/src/telemetry/get-global-telemetry-integration.ts +110 -0
- package/src/telemetry/get-tracer.ts +20 -0
- package/src/telemetry/index.ts +4 -0
- package/src/telemetry/noop-tracer.ts +69 -0
- package/src/telemetry/open-telemetry-integration.ts +537 -0
- package/src/telemetry/record-span.ts +75 -0
- package/src/telemetry/select-telemetry-attributes.ts +78 -0
- package/src/telemetry/stringify-for-telemetry.ts +33 -0
- package/src/telemetry/telemetry-integration-registry.ts +22 -0
- package/src/telemetry/telemetry-integration.ts +100 -0
- package/src/telemetry/telemetry-settings.ts +55 -0
- package/src/test/mock-embedding-model-v2.ts +35 -0
- package/src/test/mock-embedding-model-v3.ts +48 -0
- package/src/test/mock-embedding-model-v4.ts +48 -0
- package/src/test/mock-image-model-v2.ts +28 -0
- package/src/test/mock-image-model-v3.ts +28 -0
- package/src/test/mock-image-model-v4.ts +28 -0
- package/src/test/mock-language-model-v2.ts +72 -0
- package/src/test/mock-language-model-v3.ts +77 -0
- package/src/test/mock-language-model-v4.ts +77 -0
- package/src/test/mock-provider-v2.ts +68 -0
- package/src/test/mock-provider-v3.ts +80 -0
- package/src/test/mock-provider-v4.ts +80 -0
- package/src/test/mock-reranking-model-v3.ts +25 -0
- package/src/test/mock-reranking-model-v4.ts +25 -0
- package/src/test/mock-server-response.ts +69 -0
- package/src/test/mock-speech-model-v2.ts +24 -0
- package/src/test/mock-speech-model-v3.ts +24 -0
- package/src/test/mock-speech-model-v4.ts +24 -0
- package/src/test/mock-tracer.ts +156 -0
- package/src/test/mock-transcription-model-v2.ts +24 -0
- package/src/test/mock-transcription-model-v3.ts +24 -0
- package/src/test/mock-transcription-model-v4.ts +24 -0
- package/src/test/mock-values.ts +4 -0
- package/src/test/mock-video-model-v3.ts +28 -0
- package/src/test/mock-video-model-v4.ts +28 -0
- package/src/test/not-implemented.ts +3 -0
- package/src/text-stream/create-text-stream-response.ts +30 -0
- package/src/text-stream/index.ts +2 -0
- package/src/text-stream/pipe-text-stream-to-response.ts +38 -0
- package/src/transcribe/index.ts +2 -0
- package/src/transcribe/transcribe-result.ts +60 -0
- package/src/transcribe/transcribe.ts +187 -0
- package/src/types/embedding-model-middleware.ts +15 -0
- package/src/types/embedding-model.ts +20 -0
- package/src/types/image-model-middleware.ts +15 -0
- package/src/types/image-model-response-metadata.ts +16 -0
- package/src/types/image-model.ts +19 -0
- package/src/types/index.ts +29 -0
- package/src/types/json-value.ts +15 -0
- package/src/types/language-model-middleware.ts +15 -0
- package/src/types/language-model-request-metadata.ts +6 -0
- package/src/types/language-model-response-metadata.ts +21 -0
- package/src/types/language-model.ts +106 -0
- package/src/types/provider-metadata.ts +16 -0
- package/src/types/provider.ts +55 -0
- package/src/types/reranking-model.ts +6 -0
- package/src/types/speech-model-response-metadata.ts +21 -0
- package/src/types/speech-model.ts +10 -0
- package/src/types/transcription-model-response-metadata.ts +16 -0
- package/src/types/transcription-model.ts +14 -0
- package/src/types/usage.ts +200 -0
- package/src/types/video-model-response-metadata.ts +28 -0
- package/src/types/video-model.ts +15 -0
- package/src/types/warning.ts +7 -0
- package/src/ui/call-completion-api.ts +157 -0
- package/src/ui/chat-transport.ts +83 -0
- package/src/ui/chat.ts +786 -0
- package/src/ui/convert-file-list-to-file-ui-parts.ts +36 -0
- package/src/ui/convert-to-model-messages.ts +403 -0
- package/src/ui/default-chat-transport.ts +36 -0
- package/src/ui/direct-chat-transport.ts +117 -0
- package/src/ui/http-chat-transport.ts +273 -0
- package/src/ui/index.ts +76 -0
- package/src/ui/last-assistant-message-is-complete-with-approval-responses.ts +44 -0
- package/src/ui/last-assistant-message-is-complete-with-tool-calls.ts +39 -0
- package/src/ui/process-text-stream.ts +16 -0
- package/src/ui/process-ui-message-stream.ts +858 -0
- package/src/ui/text-stream-chat-transport.ts +23 -0
- package/src/ui/transform-text-to-ui-message-stream.ts +27 -0
- package/src/ui/ui-messages.ts +602 -0
- package/src/ui/use-completion.ts +84 -0
- package/src/ui/validate-ui-messages.ts +521 -0
- package/src/ui-message-stream/create-ui-message-stream-response.ts +44 -0
- package/src/ui-message-stream/create-ui-message-stream.ts +145 -0
- package/src/ui-message-stream/get-response-ui-message-id.ts +35 -0
- package/src/ui-message-stream/handle-ui-message-stream-finish.ts +170 -0
- package/src/ui-message-stream/index.ts +14 -0
- package/src/ui-message-stream/json-to-sse-transform-stream.ts +17 -0
- package/src/ui-message-stream/pipe-ui-message-stream-to-response.ts +51 -0
- package/src/ui-message-stream/read-ui-message-stream.ts +87 -0
- package/src/ui-message-stream/ui-message-chunks.ts +372 -0
- package/src/ui-message-stream/ui-message-stream-headers.ts +7 -0
- package/src/ui-message-stream/ui-message-stream-on-finish-callback.ts +32 -0
- package/src/ui-message-stream/ui-message-stream-on-step-finish-callback.ts +25 -0
- package/src/ui-message-stream/ui-message-stream-response-init.ts +14 -0
- package/src/ui-message-stream/ui-message-stream-writer.ts +24 -0
- package/src/util/as-array.ts +3 -0
- package/src/util/async-iterable-stream.ts +94 -0
- package/src/util/consume-stream.ts +31 -0
- package/src/util/cosine-similarity.ts +46 -0
- package/src/util/create-resolvable-promise.ts +30 -0
- package/src/util/create-stitchable-stream.ts +112 -0
- package/src/util/data-url.ts +17 -0
- package/src/util/deep-partial.ts +84 -0
- package/src/util/detect-media-type.ts +226 -0
- package/src/util/download/create-download.ts +13 -0
- package/src/util/download/download-function.ts +45 -0
- package/src/util/download/download.ts +74 -0
- package/src/util/error-handler.ts +1 -0
- package/src/util/fix-json.ts +401 -0
- package/src/util/get-potential-start-index.ts +39 -0
- package/src/util/index.ts +12 -0
- package/src/util/is-deep-equal-data.ts +48 -0
- package/src/util/is-non-empty-object.ts +5 -0
- package/src/util/job.ts +1 -0
- package/src/util/log-v2-compatibility-warning.ts +21 -0
- package/src/util/merge-abort-signals.ts +43 -0
- package/src/util/merge-objects.ts +79 -0
- package/src/util/notify.ts +22 -0
- package/src/util/now.ts +4 -0
- package/src/util/parse-partial-json.ts +30 -0
- package/src/util/prepare-headers.ts +14 -0
- package/src/util/prepare-retries.ts +47 -0
- package/src/util/retry-error.ts +41 -0
- package/src/util/retry-with-exponential-backoff.ts +154 -0
- package/src/util/serial-job-executor.ts +36 -0
- package/src/util/simulate-readable-stream.ts +39 -0
- package/src/util/split-array.ts +20 -0
- package/src/util/value-of.ts +65 -0
- package/src/util/write-to-server-response.ts +49 -0
- package/src/version.ts +5 -0
- package/test.d.ts +1 -0
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: rerank
|
|
3
|
+
description: API Reference for rerank.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# `rerank()`
|
|
7
|
+
|
|
8
|
+
Rerank a set of documents based on their relevance to a query using a reranking model.
|
|
9
|
+
|
|
10
|
+
This is ideal for improving search relevance by reordering documents, emails, or other content based on semantic understanding of the query and documents.
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
import { cohere } from '@ai-sdk/cohere';
|
|
14
|
+
import { rerank } from 'ai';
|
|
15
|
+
|
|
16
|
+
const { ranking } = await rerank({
|
|
17
|
+
model: cohere.reranking('rerank-v3.5'),
|
|
18
|
+
documents: ['sunny day at the beach', 'rainy afternoon in the city'],
|
|
19
|
+
query: 'talk about rain',
|
|
20
|
+
});
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Import
|
|
24
|
+
|
|
25
|
+
<Snippet text={`import { rerank } from "ai"`} prompt={false} />
|
|
26
|
+
|
|
27
|
+
## API Signature
|
|
28
|
+
|
|
29
|
+
### Parameters
|
|
30
|
+
|
|
31
|
+
<PropertiesTable
|
|
32
|
+
content={[
|
|
33
|
+
{
|
|
34
|
+
name: 'model',
|
|
35
|
+
type: 'RerankingModel',
|
|
36
|
+
description:
|
|
37
|
+
"The reranking model to use. Example: cohere.reranking('rerank-v3.5')",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: 'documents',
|
|
41
|
+
type: 'Array<VALUE>',
|
|
42
|
+
description:
|
|
43
|
+
'The documents to rerank. Can be an array of strings or JSON objects.',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'query',
|
|
47
|
+
type: 'string',
|
|
48
|
+
description: 'The search query to rank documents against.',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: 'topN',
|
|
52
|
+
type: 'number',
|
|
53
|
+
isOptional: true,
|
|
54
|
+
description:
|
|
55
|
+
'Maximum number of top documents to return. If not specified, all documents are returned.',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: 'maxRetries',
|
|
59
|
+
type: 'number',
|
|
60
|
+
isOptional: true,
|
|
61
|
+
description:
|
|
62
|
+
'Maximum number of retries. Set to 0 to disable retries. Default: 2.',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: 'abortSignal',
|
|
66
|
+
type: 'AbortSignal',
|
|
67
|
+
isOptional: true,
|
|
68
|
+
description:
|
|
69
|
+
'An optional abort signal that can be used to cancel the call.',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
name: 'headers',
|
|
73
|
+
type: 'Record<string, string>',
|
|
74
|
+
isOptional: true,
|
|
75
|
+
description:
|
|
76
|
+
'Additional HTTP headers to be sent with the request. Only applicable for HTTP-based providers.',
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: 'providerOptions',
|
|
80
|
+
type: 'ProviderOptions',
|
|
81
|
+
isOptional: true,
|
|
82
|
+
description: 'Provider-specific options for the reranking request.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'experimental_telemetry',
|
|
86
|
+
type: 'TelemetrySettings',
|
|
87
|
+
isOptional: true,
|
|
88
|
+
description: 'Telemetry configuration. Experimental feature.',
|
|
89
|
+
properties: [
|
|
90
|
+
{
|
|
91
|
+
type: 'TelemetrySettings',
|
|
92
|
+
parameters: [
|
|
93
|
+
{
|
|
94
|
+
name: 'isEnabled',
|
|
95
|
+
type: 'boolean',
|
|
96
|
+
isOptional: true,
|
|
97
|
+
description:
|
|
98
|
+
'Enable or disable telemetry. Disabled by default while experimental.',
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
name: 'recordInputs',
|
|
102
|
+
type: 'boolean',
|
|
103
|
+
isOptional: true,
|
|
104
|
+
description:
|
|
105
|
+
'Enable or disable input recording. Enabled by default.',
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
name: 'recordOutputs',
|
|
109
|
+
type: 'boolean',
|
|
110
|
+
isOptional: true,
|
|
111
|
+
description:
|
|
112
|
+
'Enable or disable output recording. Enabled by default.',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
name: 'functionId',
|
|
116
|
+
type: 'string',
|
|
117
|
+
isOptional: true,
|
|
118
|
+
description:
|
|
119
|
+
'Identifier for this function. Used to group telemetry data by function.',
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
name: 'metadata',
|
|
123
|
+
isOptional: true,
|
|
124
|
+
type: 'Record<string, string | number | boolean | Array<null | undefined | string> | Array<null | undefined | number> | Array<null | undefined | boolean>>',
|
|
125
|
+
description:
|
|
126
|
+
'Additional information to include in the telemetry data.',
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
name: 'tracer',
|
|
130
|
+
type: 'Tracer',
|
|
131
|
+
isOptional: true,
|
|
132
|
+
description: 'A custom tracer to use for the telemetry data.',
|
|
133
|
+
},
|
|
134
|
+
],
|
|
135
|
+
},
|
|
136
|
+
],
|
|
137
|
+
},
|
|
138
|
+
]}
|
|
139
|
+
/>
|
|
140
|
+
|
|
141
|
+
### Returns
|
|
142
|
+
|
|
143
|
+
<PropertiesTable
|
|
144
|
+
content={[
|
|
145
|
+
{
|
|
146
|
+
name: 'originalDocuments',
|
|
147
|
+
type: 'Array<VALUE>',
|
|
148
|
+
description: 'The original documents array in their original order.',
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
name: 'rerankedDocuments',
|
|
152
|
+
type: 'Array<VALUE>',
|
|
153
|
+
description: 'The documents sorted by relevance score (descending).',
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
name: 'ranking',
|
|
157
|
+
type: 'Array<RankingItem<VALUE>>',
|
|
158
|
+
description: 'Array of ranking items with scores and indices.',
|
|
159
|
+
properties: [
|
|
160
|
+
{
|
|
161
|
+
type: 'RankingItem<VALUE>',
|
|
162
|
+
parameters: [
|
|
163
|
+
{
|
|
164
|
+
name: 'originalIndex',
|
|
165
|
+
type: 'number',
|
|
166
|
+
description:
|
|
167
|
+
'The index of the document in the original documents array.',
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
name: 'score',
|
|
171
|
+
type: 'number',
|
|
172
|
+
description:
|
|
173
|
+
'The relevance score for the document (typically 0-1, where higher is more relevant).',
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
name: 'document',
|
|
177
|
+
type: 'VALUE',
|
|
178
|
+
description: 'The document itself.',
|
|
179
|
+
},
|
|
180
|
+
],
|
|
181
|
+
},
|
|
182
|
+
],
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
name: 'response',
|
|
186
|
+
type: 'Response',
|
|
187
|
+
description: 'Response data.',
|
|
188
|
+
properties: [
|
|
189
|
+
{
|
|
190
|
+
type: 'Response',
|
|
191
|
+
parameters: [
|
|
192
|
+
{
|
|
193
|
+
name: 'id',
|
|
194
|
+
isOptional: true,
|
|
195
|
+
type: 'string',
|
|
196
|
+
description: 'The response ID from the provider.',
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
name: 'timestamp',
|
|
200
|
+
type: 'Date',
|
|
201
|
+
description: 'The timestamp of the response.',
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
name: 'modelId',
|
|
205
|
+
type: 'string',
|
|
206
|
+
description: 'The model ID used for reranking.',
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
name: 'headers',
|
|
210
|
+
isOptional: true,
|
|
211
|
+
type: 'Record<string, string>',
|
|
212
|
+
description: 'Response headers.',
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
name: 'body',
|
|
216
|
+
type: 'unknown',
|
|
217
|
+
isOptional: true,
|
|
218
|
+
description: 'The raw response body.',
|
|
219
|
+
},
|
|
220
|
+
],
|
|
221
|
+
},
|
|
222
|
+
],
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
name: 'providerMetadata',
|
|
226
|
+
type: 'ProviderMetadata | undefined',
|
|
227
|
+
isOptional: true,
|
|
228
|
+
description:
|
|
229
|
+
'Optional metadata from the provider. The outer key is the provider name. The inner values are the metadata. Details depend on the provider.',
|
|
230
|
+
},
|
|
231
|
+
]}
|
|
232
|
+
/>
|
|
233
|
+
|
|
234
|
+
## Examples
|
|
235
|
+
|
|
236
|
+
### String Documents
|
|
237
|
+
|
|
238
|
+
```ts
|
|
239
|
+
import { cohere } from '@ai-sdk/cohere';
|
|
240
|
+
import { rerank } from 'ai';
|
|
241
|
+
|
|
242
|
+
const { ranking, rerankedDocuments } = await rerank({
|
|
243
|
+
model: cohere.reranking('rerank-v3.5'),
|
|
244
|
+
documents: [
|
|
245
|
+
'sunny day at the beach',
|
|
246
|
+
'rainy afternoon in the city',
|
|
247
|
+
'snowy night in the mountains',
|
|
248
|
+
],
|
|
249
|
+
query: 'talk about rain',
|
|
250
|
+
topN: 2,
|
|
251
|
+
});
|
|
252
|
+
|
|
253
|
+
console.log(rerankedDocuments);
|
|
254
|
+
// ['rainy afternoon in the city', 'sunny day at the beach']
|
|
255
|
+
|
|
256
|
+
console.log(ranking);
|
|
257
|
+
// [
|
|
258
|
+
// { originalIndex: 1, score: 0.9, document: 'rainy afternoon...' },
|
|
259
|
+
// { originalIndex: 0, score: 0.3, document: 'sunny day...' }
|
|
260
|
+
// ]
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### Object Documents
|
|
264
|
+
|
|
265
|
+
```ts
|
|
266
|
+
import { cohere } from '@ai-sdk/cohere';
|
|
267
|
+
import { rerank } from 'ai';
|
|
268
|
+
|
|
269
|
+
const documents = [
|
|
270
|
+
{
|
|
271
|
+
from: 'Paul Doe',
|
|
272
|
+
subject: 'Follow-up',
|
|
273
|
+
text: 'We are happy to give you a discount of 20%.',
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
from: 'John McGill',
|
|
277
|
+
subject: 'Missing Info',
|
|
278
|
+
text: 'Here is the pricing from Oracle: $5000/month',
|
|
279
|
+
},
|
|
280
|
+
];
|
|
281
|
+
|
|
282
|
+
const { ranking } = await rerank({
|
|
283
|
+
model: cohere.reranking('rerank-v3.5'),
|
|
284
|
+
documents,
|
|
285
|
+
query: 'Which pricing did we get from Oracle?',
|
|
286
|
+
topN: 1,
|
|
287
|
+
});
|
|
288
|
+
|
|
289
|
+
console.log(ranking[0].document);
|
|
290
|
+
// { from: 'John McGill', subject: 'Missing Info', ... }
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
### With Provider Options
|
|
294
|
+
|
|
295
|
+
```ts
|
|
296
|
+
import { cohere } from '@ai-sdk/cohere';
|
|
297
|
+
import { rerank } from 'ai';
|
|
298
|
+
|
|
299
|
+
const { ranking } = await rerank({
|
|
300
|
+
model: cohere.reranking('rerank-v3.5'),
|
|
301
|
+
documents: ['sunny day at the beach', 'rainy afternoon in the city'],
|
|
302
|
+
query: 'talk about rain',
|
|
303
|
+
providerOptions: {
|
|
304
|
+
cohere: {
|
|
305
|
+
maxTokensPerDoc: 1000,
|
|
306
|
+
},
|
|
307
|
+
},
|
|
308
|
+
});
|
|
309
|
+
```
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: generateImage
|
|
3
|
+
description: API Reference for generateImage.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# `generateImage()`
|
|
7
|
+
|
|
8
|
+
Generates images based on a given prompt using an image model.
|
|
9
|
+
|
|
10
|
+
It is ideal for use cases where you need to generate images programmatically,
|
|
11
|
+
such as creating visual content or generating images for data augmentation.
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { generateImage } from 'ai';
|
|
15
|
+
|
|
16
|
+
const { images } = await generateImage({
|
|
17
|
+
model: openai.image('dall-e-3'),
|
|
18
|
+
prompt: 'A futuristic cityscape at sunset',
|
|
19
|
+
n: 3,
|
|
20
|
+
size: '1024x1024',
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
console.log(images);
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Import
|
|
27
|
+
|
|
28
|
+
<Snippet text={`import { generateImage } from "ai"`} prompt={false} />
|
|
29
|
+
|
|
30
|
+
## API Signature
|
|
31
|
+
|
|
32
|
+
### Parameters
|
|
33
|
+
|
|
34
|
+
<PropertiesTable
|
|
35
|
+
content={[
|
|
36
|
+
{
|
|
37
|
+
name: 'model',
|
|
38
|
+
type: 'ImageModelV4',
|
|
39
|
+
description: 'The image model to use.',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'prompt',
|
|
43
|
+
type: 'string | GenerateImagePrompt',
|
|
44
|
+
description: 'The input prompt to generate the image from.',
|
|
45
|
+
properties: [
|
|
46
|
+
{
|
|
47
|
+
type: 'GenerateImagePrompt',
|
|
48
|
+
type: 'object',
|
|
49
|
+
description: 'A prompt object for image editing',
|
|
50
|
+
parameters: [
|
|
51
|
+
{
|
|
52
|
+
name: 'images',
|
|
53
|
+
type: 'Array<DataContent>',
|
|
54
|
+
description:
|
|
55
|
+
'an image item can be one of: base64-encoded string, a `Uint8Array`, an `ArrayBuffer`, or a `Buffer`.',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: 'text',
|
|
59
|
+
type: 'string',
|
|
60
|
+
description: 'The text prompt.',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: 'mask',
|
|
64
|
+
type: 'DataContent',
|
|
65
|
+
description:
|
|
66
|
+
'base64-encoded string, a `Uint8Array`, an `ArrayBuffer`, or a `Buffer`.',
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: 'n',
|
|
74
|
+
type: 'number',
|
|
75
|
+
isOptional: true,
|
|
76
|
+
description: 'Number of images to generate.',
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: 'size',
|
|
80
|
+
type: 'string',
|
|
81
|
+
isOptional: true,
|
|
82
|
+
description:
|
|
83
|
+
'Size of the images to generate. Format: `{width}x{height}`.',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
name: 'aspectRatio',
|
|
87
|
+
type: 'string',
|
|
88
|
+
isOptional: true,
|
|
89
|
+
description:
|
|
90
|
+
'Aspect ratio of the images to generate. Format: `{width}:{height}`.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'seed',
|
|
94
|
+
type: 'number',
|
|
95
|
+
isOptional: true,
|
|
96
|
+
description: 'Seed for the image generation.',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: 'providerOptions',
|
|
100
|
+
type: 'ProviderOptions',
|
|
101
|
+
isOptional: true,
|
|
102
|
+
description: 'Additional provider-specific options.',
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
name: 'maxImagesPerCall',
|
|
106
|
+
type: 'number',
|
|
107
|
+
isOptional: true,
|
|
108
|
+
description:
|
|
109
|
+
'Maximum number of images to generate per API call. When n exceeds this value, multiple API calls will be made.',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
name: 'maxRetries',
|
|
113
|
+
type: 'number',
|
|
114
|
+
isOptional: true,
|
|
115
|
+
description: 'Maximum number of retries. Default: 2.',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
name: 'abortSignal',
|
|
119
|
+
type: 'AbortSignal',
|
|
120
|
+
isOptional: true,
|
|
121
|
+
description: 'An optional abort signal to cancel the call.',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
name: 'headers',
|
|
125
|
+
type: 'Record<string, string>',
|
|
126
|
+
isOptional: true,
|
|
127
|
+
description: 'Additional HTTP headers for the request.',
|
|
128
|
+
},
|
|
129
|
+
]}
|
|
130
|
+
/>
|
|
131
|
+
|
|
132
|
+
### Returns
|
|
133
|
+
|
|
134
|
+
<PropertiesTable
|
|
135
|
+
content={[
|
|
136
|
+
{
|
|
137
|
+
name: 'image',
|
|
138
|
+
type: 'GeneratedFile',
|
|
139
|
+
description: 'The first image that was generated.',
|
|
140
|
+
properties: [
|
|
141
|
+
{
|
|
142
|
+
type: 'GeneratedFile',
|
|
143
|
+
parameters: [
|
|
144
|
+
{
|
|
145
|
+
name: 'base64',
|
|
146
|
+
type: 'string',
|
|
147
|
+
description: 'Image as a base64 encoded string.',
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
name: 'uint8Array',
|
|
151
|
+
type: 'Uint8Array',
|
|
152
|
+
description: 'Image as a Uint8Array.',
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
name: 'mediaType',
|
|
156
|
+
type: 'string',
|
|
157
|
+
description: 'The IANA media type of the image.',
|
|
158
|
+
},
|
|
159
|
+
],
|
|
160
|
+
},
|
|
161
|
+
],
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
name: 'images',
|
|
165
|
+
type: 'Array<GeneratedFile>',
|
|
166
|
+
description: 'All images that were generated.',
|
|
167
|
+
properties: [
|
|
168
|
+
{
|
|
169
|
+
type: 'GeneratedFile',
|
|
170
|
+
parameters: [
|
|
171
|
+
{
|
|
172
|
+
name: 'base64',
|
|
173
|
+
type: 'string',
|
|
174
|
+
description: 'Image as a base64 encoded string.',
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
name: 'uint8Array',
|
|
178
|
+
type: 'Uint8Array',
|
|
179
|
+
description: 'Image as a Uint8Array.',
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
name: 'mediaType',
|
|
183
|
+
type: 'string',
|
|
184
|
+
description: 'The IANA media type of the image.',
|
|
185
|
+
},
|
|
186
|
+
],
|
|
187
|
+
},
|
|
188
|
+
],
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
name: 'warnings',
|
|
192
|
+
type: 'Warning[]',
|
|
193
|
+
description:
|
|
194
|
+
'Warnings from the model provider (e.g. unsupported settings).',
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
name: 'usage',
|
|
198
|
+
type: 'ImageModelUsage',
|
|
199
|
+
description: 'The usage statistics for the image generation.',
|
|
200
|
+
properties: [
|
|
201
|
+
{
|
|
202
|
+
type: 'ImageModelUsage',
|
|
203
|
+
parameters: [
|
|
204
|
+
{
|
|
205
|
+
name: 'imagesGenerated',
|
|
206
|
+
type: 'number',
|
|
207
|
+
description: 'The total number of images generated.',
|
|
208
|
+
},
|
|
209
|
+
],
|
|
210
|
+
},
|
|
211
|
+
],
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
name: 'providerMetadata',
|
|
215
|
+
type: 'ImageModelProviderMetadata',
|
|
216
|
+
isOptional: true,
|
|
217
|
+
description:
|
|
218
|
+
'Optional metadata from the provider. The outer key is the provider name. The inner values are the metadata. An `images` key is always present in the metadata and is an array with the same length as the top level `images` key. Details depend on the provider.',
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
name: 'responses',
|
|
222
|
+
type: 'Array<ImageModelResponseMetadata>',
|
|
223
|
+
description:
|
|
224
|
+
'Response metadata from the provider. There may be multiple responses if we made multiple calls to the model.',
|
|
225
|
+
properties: [
|
|
226
|
+
{
|
|
227
|
+
type: 'ImageModelResponseMetadata',
|
|
228
|
+
parameters: [
|
|
229
|
+
{
|
|
230
|
+
name: 'timestamp',
|
|
231
|
+
type: 'Date',
|
|
232
|
+
description: 'Timestamp for the start of the generated response.',
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
name: 'modelId',
|
|
236
|
+
type: 'string',
|
|
237
|
+
description:
|
|
238
|
+
'The ID of the response model that was used to generate the response.',
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
name: 'headers',
|
|
242
|
+
type: 'Record<string, string>',
|
|
243
|
+
isOptional: true,
|
|
244
|
+
description: 'Response headers.',
|
|
245
|
+
},
|
|
246
|
+
],
|
|
247
|
+
},
|
|
248
|
+
],
|
|
249
|
+
},
|
|
250
|
+
]}
|
|
251
|
+
/>
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: transcribe
|
|
3
|
+
description: API Reference for transcribe.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# `transcribe()`
|
|
7
|
+
|
|
8
|
+
<Note type="warning">`transcribe` is an experimental feature.</Note>
|
|
9
|
+
|
|
10
|
+
Generates a transcript from an audio file.
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
import { experimental_transcribe as transcribe } from 'ai';
|
|
14
|
+
import { openai } from '@ai-sdk/openai';
|
|
15
|
+
import { readFile } from 'fs/promises';
|
|
16
|
+
|
|
17
|
+
const { text: transcript } = await transcribe({
|
|
18
|
+
model: openai.transcription('whisper-1'),
|
|
19
|
+
audio: await readFile('audio.mp3'),
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
console.log(transcript);
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Import
|
|
26
|
+
|
|
27
|
+
<Snippet
|
|
28
|
+
text={`import { experimental_transcribe as transcribe } from "ai"`}
|
|
29
|
+
prompt={false}
|
|
30
|
+
/>
|
|
31
|
+
|
|
32
|
+
## API Signature
|
|
33
|
+
|
|
34
|
+
### Parameters
|
|
35
|
+
|
|
36
|
+
<PropertiesTable
|
|
37
|
+
content={[
|
|
38
|
+
{
|
|
39
|
+
name: 'model',
|
|
40
|
+
type: 'TranscriptionModelV4',
|
|
41
|
+
description: 'The transcription model to use.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: 'audio',
|
|
45
|
+
type: 'DataContent (string | Uint8Array | ArrayBuffer | Buffer) | URL',
|
|
46
|
+
description: 'The audio file to generate the transcript from.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'providerOptions',
|
|
50
|
+
type: 'Record<string, JSONObject>',
|
|
51
|
+
isOptional: true,
|
|
52
|
+
description: 'Additional provider-specific options.',
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
name: 'maxRetries',
|
|
56
|
+
type: 'number',
|
|
57
|
+
isOptional: true,
|
|
58
|
+
description: 'Maximum number of retries. Default: 2.',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: 'abortSignal',
|
|
62
|
+
type: 'AbortSignal',
|
|
63
|
+
isOptional: true,
|
|
64
|
+
description: 'An optional abort signal to cancel the call.',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name: 'headers',
|
|
68
|
+
type: 'Record<string, string>',
|
|
69
|
+
isOptional: true,
|
|
70
|
+
description: 'Additional HTTP headers for the request.',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: 'download',
|
|
74
|
+
type: '(options: { url: URL; abortSignal?: AbortSignal }) => Promise<{ data: Uint8Array; mediaType: string | undefined }>',
|
|
75
|
+
isOptional: true,
|
|
76
|
+
description:
|
|
77
|
+
'Custom download function for fetching audio from URLs. Use `createDownload()` from `ai` to create a download function with custom size limits, e.g. `createDownload({ maxBytes: 50 * 1024 * 1024 })`. Default: built-in download with 2 GiB limit.',
|
|
78
|
+
},
|
|
79
|
+
]}
|
|
80
|
+
/>
|
|
81
|
+
|
|
82
|
+
### Returns
|
|
83
|
+
|
|
84
|
+
<PropertiesTable
|
|
85
|
+
content={[
|
|
86
|
+
{
|
|
87
|
+
name: 'text',
|
|
88
|
+
type: 'string',
|
|
89
|
+
description: 'The complete transcribed text from the audio input.',
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
name: 'segments',
|
|
93
|
+
type: 'Array<{ text: string; startSecond: number; endSecond: number }>',
|
|
94
|
+
description:
|
|
95
|
+
'An array of transcript segments, each containing a portion of the transcribed text along with its start and end times in seconds.',
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
name: 'language',
|
|
99
|
+
type: 'string | undefined',
|
|
100
|
+
description:
|
|
101
|
+
'The language of the transcript in ISO-639-1 format e.g. "en" for English.',
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
name: 'durationInSeconds',
|
|
105
|
+
type: 'number | undefined',
|
|
106
|
+
description: 'The duration of the transcript in seconds.',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
name: 'warnings',
|
|
110
|
+
type: 'Warning[]',
|
|
111
|
+
description:
|
|
112
|
+
'Warnings from the model provider (e.g. unsupported settings).',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
name: 'providerMetadata',
|
|
116
|
+
type: 'Record<string, JSONObject>',
|
|
117
|
+
isOptional: true,
|
|
118
|
+
description:
|
|
119
|
+
'Optional metadata from the provider. The outer key is the provider name. The inner values are the metadata. Details depend on the provider.',
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
name: 'responses',
|
|
123
|
+
type: 'Array<TranscriptionModelResponseMetadata>',
|
|
124
|
+
description:
|
|
125
|
+
'Response metadata from the provider. There may be multiple responses if we made multiple calls to the model.',
|
|
126
|
+
properties: [
|
|
127
|
+
{
|
|
128
|
+
type: 'TranscriptionModelResponseMetadata',
|
|
129
|
+
parameters: [
|
|
130
|
+
{
|
|
131
|
+
name: 'timestamp',
|
|
132
|
+
type: 'Date',
|
|
133
|
+
description: 'Timestamp for the start of the generated response.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
name: 'modelId',
|
|
137
|
+
type: 'string',
|
|
138
|
+
description:
|
|
139
|
+
'The ID of the response model that was used to generate the response.',
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
name: 'headers',
|
|
143
|
+
type: 'Record<string, string>',
|
|
144
|
+
isOptional: true,
|
|
145
|
+
description: 'Response headers.',
|
|
146
|
+
},
|
|
147
|
+
],
|
|
148
|
+
},
|
|
149
|
+
],
|
|
150
|
+
},
|
|
151
|
+
]}
|
|
152
|
+
/>
|