Crie embeddings vetoriais por meio do AI Gateway com qualquer modelo de embedding compatível. Gere embeddings para busca semântica, clustering e ingestão de RAG.
Casos de uso
Busca semântica e recuperação em uma coleção de documentos.
Clustering, classificação e detecção de anomalias em texto.
Ingestão de vetores em um banco de dados vetorial próprio ou de terceiros.
Criação de pipelines de RAG em que a recuperação acontece fora do gateway.
O AI Gateway expõe POST /embeddings na URL base da API compatível com OpenAI (https://router.toqan.ai/eu/v3/router). Envie texto e receba embeddings vetoriais de qualquer modelo de embedding habilitado, com o mesmo formato de requisição e resposta da OpenAI Embeddings API. Fallbacks, orçamentos, cache e observabilidade se aplicam às chamadas de embedding exatamente como às chat completions.
Os provedores com suporte a embeddings incluem AWS Bedrock, Azure, Cohere, Vertex AI, Google AI, Jina AI, Mistral, Nebius, OpenAI, Scaleway, Tencent e TensorX. Consulte Modelos compatíveis para ver o catálogo completo de modelos de embedding.
Escolha um modelo com base nos idiomas que ele aceita, no custo e na qualidade da saída. Para conteúdo em vários idiomas, use um modelo multilíngue como cohere/embed-multilingual-v3.0 ou jina/jina-embeddings-v3. Para conteúdo somente em inglês, openai/text-embedding-3-small é menor e mais barato.Passe dimensions para solicitar um número específico de dimensões de saída:
{ "model": "openai/text-embedding-3-small", "input": "The food was delicious", "dimensions": 256}
Modelos que aceitam tamanhos de saída configuráveis (por exemplo, openai/text-embedding-3-small e openai/text-embedding-3-large) retornam vetores do tamanho solicitado, o que reduz o custo de armazenamento e de processamento com uma pequena perda na qualidade da recuperação. Modelos com tamanho de saída fixo retornam vetores com a sua dimensão fixa.
Defina encoding_format como base64 para receber os embeddings como strings codificadas em base64 em vez de arrays JSON de floats, o que deixa a resposta menor:
{ "model": "openai/text-embedding-3-small", "input": "The food was delicious", "encoding_format": "base64"}
O campo input aceita uma única string, um array de strings ou arrays de tokens. Agrupe textos relacionados em uma única requisição em vez de enviar uma requisição por texto. Uma única ida e volta é mais rápida do que muitas:
curl -X POST https://router.toqan.ai/eu/v3/router/embeddings \ -H "Authorization: Bearer $TOQAN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "openai/text-embedding-3-small", "input": [ "The food was delicious", "And the waiter was friendly" ] }'
import OpenAI from "openai";const client = new OpenAI({ apiKey: process.env.TOQAN_API_KEY, baseURL: "https://router.toqan.ai/eu/v3/router",});const batch = await client.embeddings.create({ model: "openai/text-embedding-3-small", input: [ "The food was delicious", "And the waiter was friendly", ],});console.log(batch.data.map((item) => item.embedding.length));
from openai import OpenAIimport osclient = OpenAI( api_key=os.environ.get("TOQAN_API_KEY"), base_url="https://router.toqan.ai/eu/v3/router",)batch = client.embeddings.create( model="openai/text-embedding-3-small", input=[ "The food was delicious", "And the waiter was friendly", ],)print([len(item.embedding) for item in batch.data])
A resposta retorna um embedding por entrada no array data, na mesma ordem da entrada. O uso de tokens segue o formato da OpenAI: usage.prompt_tokens informa os tokens de entrada consumidos e usage.total_tokens, o total da requisição.
As Knowledge Bases cuidam internamente do embedding e da recuperação: dividem os documentos de origem em chunks, geram seus embeddings com um modelo de embedding configurado e injetam o contexto recuperado na chamada ao modelo. Prefira uma Knowledge Base quando o objetivo for RAG dentro do gateway, porque ela lida com a ingestão e a recuperação automaticamente.Chame o endpoint de embeddings diretamente quando o pipeline precisar de um controle que uma Knowledge Base não oferece:
Armazenar vetores em um banco de dados vetorial externo, como Pinecone ou um banco vetorial próprio.
Usar chunking personalizado, um modelo de embedding personalizado ou embeddings para tarefas que não são de recuperação, como clustering e classificação.
Executar a recuperação fora do gateway e manter a geração dentro dele.
As chamadas de embedding aceitam os mesmos controles do gateway que as chat completions:
Fallbacks: passe um array de fallbacks para rotear para modelos de reserva quando o modelo principal falhar. Consulte Fallbacks.
Cache: requisições de embedding idênticas podem ser atendidas a partir do cache. Consulte Cache.
Orçamentos: o tráfego de embedding conta para os Orçamentos, com limites aplicados por workspace, chave de API ou provedor.
Observabilidade: as chamadas de embedding aparecem em Traces com modelo, uso de tokens e latência. Passe o campo de nível superior name, por exemplo "name": "semantic-search-embed", para rotular a chamada no trace.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Toqan Router Documentation","description":"Documentation for Toqan Router, the EU-built control plane for enterprise AI: govern every LLM and MCP call with the AI Gateway, and ship backlog work with the Software Factory.","colors":{"primary":"#252BDD","light":"#3078FF","dark":"#252BDD"},"logo":{"light":"https://mintcdn.com/toqanrouter/bMpxR9rrXf9akIN9/toqan/router-logo-paper.png?fit=max\u0026auto=format\u0026n=bMpxR9rrXf9akIN9\u0026q=85\u0026s=cb6b312cbb00b174a3b0418b560cf773","dark":"https://mintcdn.com/toqanrouter/bMpxR9rrXf9akIN9/toqan/router-logo-night.png?fit=max\u0026auto=format\u0026n=bMpxR9rrXf9akIN9\u0026q=85\u0026s=cdc00131448c392d4faf8df7231656f6"},"favicon":{"light":"https://mintcdn.com/toqanrouter/bMpxR9rrXf9akIN9/toqan/router-symbol-paper.png?fit=max\u0026auto=format\u0026n=bMpxR9rrXf9akIN9\u0026q=85\u0026s=61f5df7777654e0e7bf737c3b37964bc","dark":"https://mintcdn.com/toqanrouter/bMpxR9rrXf9akIN9/toqan/router-symbol-night.png?fit=max\u0026auto=format\u0026n=bMpxR9rrXf9akIN9\u0026q=85\u0026s=6a4a22b2e778cc02ea7c8db38e58f986"},"api":{"openapi":"openapi.json","examples":{"languages":["curl","typescript","python"]}},"background":{"color":{"light":"#F4F1EC","dark":"#121110"}},"navbar":{"links":[{"href":"/toqan/regions","label":"Regions"}]},"footer":{"socials":{"website":"https://toqan.ai"}},"seo":{"metatags":{"robots":"noindex, nofollow","og:site_name":"Toqan Router Documentation"},"indexing":"navigable"},"fonts":{"family":"Geist"},"styling":{"codeblocks":{"theme":{"light":"github-light","dark":"github-dark"}},"latex":true},"contextual":{"options":["copy","download-spec","chatgpt","claude","view"],"display":"header"},"interaction":{"drilldown":true},"navigation":{"languages":[{"language":"pt-BR","default":true,"navbar":{"links":[{"href":"/pt-BR/toqan/regions","label":"Regiões"}]},"href":"pt-BR/toqan/regions"},{"language":"en","href":"toqan/regions"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"toqanrouter","hasAudioNarration":false,"actualSubdomain":"toqanrouter","customDomains":[],"gitSource":{"type":"github","owner":"orq-ai","repo":"orquesta-web","deployBranch":"toqan-docs","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","_id":"6aea1ef73f2a9cde366645a2"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af38889f34c33c6f6ce0562","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"en","tag":"API Reference","count":171},{"language":"pt-BR","tag":"Referência da API","count":171},{"language":"en","tag":"Platform APIs","count":125},{"language":"pt-BR","tag":"APIs da plataforma","count":125},{"language":"en","tag":"AI Gateway","count":100},{"language":"pt-BR","tag":"AI Gateway","count":100},{"language":"en","tag":"AI Observability","count":55},{"language":"pt-BR","tag":"Observabilidade de IA","count":55},{"language":"en","tag":"Management APIs","count":43},{"language":"pt-BR","tag":"APIs de gerenciamento","count":43},{"language":"en","tag":"Provider setup","count":31},{"language":"pt-BR","tag":"Configuração de provedores","count":31},{"language":"en","tag":"Framework integrations","count":29},{"language":"pt-BR","tag":"Integrações com frameworks","count":29},{"language":"en","tag":"Model Capabilities","count":18},{"language":"pt-BR","tag":"Recursos dos modelos","count":18},{"language":"en","tag":"Routing","count":15},{"language":"en","tag":"Models","count":15},{"language":"pt-BR","tag":"Roteamento","count":15},{"language":"pt-BR","tag":"Modelos","count":15}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"custom.css","content":".nav-anchor img{border-radius:50%}.ig-root{scroll-margin-top:6rem}.ig-search{width:100%;padding:10px 14px 10px 38px;border-radius:8px;border:1px solid rgba(0, 0, 0, 0.15);font-size:14px;outline:none;margin-bottom:20px;background:transparent;box-sizing:border-box;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23999' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m21 21-4.35-4.35M17 11A6 6 0 1 1 5 11a6 6 0 0 1 12 0Z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:12px center}.dark .ig-search{border-color:rgba(255, 255, 255, 0.15)}.ig-search:focus{border-color:#252BDD}.ig-tabs{display:flex;border-bottom:1px solid rgba(0, 0, 0, 0.1);margin-bottom:20px;gap:0}.dark .ig-tabs{border-bottom-color:rgba(255, 255, 255, 0.1)}.ig-tab{padding:8px 16px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;font-size:14px;font-weight:500;color:#888;white-space:nowrap}.ig-tab:hover{color:#252BDD}.dark .ig-tab:hover{color:#3078FF}.ig-tab-active{border-bottom-color:#252BDD!important;color:#252BDD!important}.dark .ig-tab-active{border-bottom-color:#3078FF!important;color:#3078FF!important}.ig-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:6px}@media (max-width: 768px){.ig-grid{grid-template-columns:repeat(3, 1fr)}}@media (max-width: 480px){.ig-grid{grid-template-columns:repeat(2, 1fr)}}.ig-card{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(0, 0, 0, 0.1);border-radius:6px;text-decoration:none!important;color:inherit!important;font-size:14px;font-weight:500;transition:background 0.12s, border-color 0.12s}.ig-card:hover{background:rgba(37, 43, 221, 0.05);border-color:rgba(37, 43, 221, 0.25)}.dark .ig-card{border-color:rgba(255, 255, 255, 0.1)}.dark .ig-card:hover{background:rgba(48, 120, 255, 0.1);border-color:rgba(48, 120, 255, 0.3)}.ig-card-icon{width:20px;height:20px;object-fit:contain;flex-shrink:0}.ig-tab-count{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:0 5px;min-width:18px;height:18px;border-radius:9px;font-size:11px;font-weight:600;background:rgba(0, 0, 0, 0.08);color:inherit}.dark .ig-tab-count{background:rgba(255, 255, 255, 0.12)}.ig-tab-active .ig-tab-count{background:rgba(37, 43, 221, 0.15)}.dark .ig-tab-active .ig-tab-count{background:rgba(48, 120, 255, 0.25)}.ig-empty{text-align:center;padding:48px 24px;color:#999;font-size:14px;grid-column:1 / -1}kbd.key,kbd.key *{color:#fff!important}kbd.key{background:#242424;border-radius:5px;padding:2px 8px;font-size:0.85em;display:inline-flex;align-items:center;gap:6px;border:1px solid #3a3a3a;font-family:inherit;white-space:nowrap}#sidebar-content .flex-1:has(>svg.flex-shrink-0){flex:none!important}#sidebar-content{width:16rem!important;min-width:16rem!important}@media (min-width: 1024px){.lg\\:pl-56{padding-left:16rem!important}}.topbar-right-container nav[aria-label=\"Main\"] .navbar-link a,.topbar-right-container nav[aria-label=\"Main\"] .navbar-link a:hover{background-color:transparent!important}@media (min-width: 1024px){.topbar-right-container nav[aria-label=\"Main\"] ul{gap:1rem!important}.topbar-right-container nav[aria-label=\"Main\"] .navbar-link a{padding-left:0!important;padding-right:0!important}#page-title{font-size:2rem!important;line-height:1.2!important}}.nav-tabs-item:has(a[href^=\"/reference\"]){display:none!important}#navbar .nav-tabs-item[href=\"/ai-studio/integrations/overview\"]{position:relative}#navbar .nav-tabs-item[href=\"/ai-studio/integrations/overview\"]::before{content:'';position:absolute;top:50%;left:-12px;transform:translateY(-50%);height:55%;width:1px;background:rgba(0, 0, 0, 0.15)}.dark #navbar .nav-tabs-item[href=\"/ai-studio/integrations/overview\"]::before{background:rgba(255, 255, 255, 0.15)}@media (min-width: 1280px){#content-container{padding-left:3rem!important;padding-right:2rem!important}#content-side-layout{max-width:20rem!important}#content-area{width:calc(100% - 20rem)!important}}.md-export-list{display:none}@font-face{font-family:'Inter';src:url('/fonts/inter-latin-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:optional}"}],"page":{"pagePath":"pt-BR/ai-gateway/features/embeddings","slug":"/pt-BR/ai-gateway/features/embeddings","pageMetadata":{"title":"Embeddings","sidebarTitle":"Embeddings","description":"Crie embeddings vetoriais por meio do AI Gateway com qualquer modelo de embedding compatível. Gere embeddings para busca semântica, clustering e ingestão de RAG.","href":"/pt-BR/ai-gateway/features/embeddings"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Crie embeddings vetoriais por meio do AI Gateway com qualquer modelo de embedding compatível. Gere embeddings para busca semântica, clustering e ingestão de RAG.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Heading,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Casos de uso`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Busca semântica e recuperação em uma coleção de documentos.`}),`\n`,_jsx(_components.li,{children:`Clustering, classificação e detecção de anomalias em texto.`}),`\n`,_jsx(_components.li,{children:`Ingestão de vetores em um banco de dados vetorial próprio ou de terceiros.`}),`\n`,_jsx(_components.li,{children:`Criação de pipelines de RAG em que a recuperação acontece fora do gateway.`}),`\n`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`overview`,children:`Visão geral`}),`\n`,_jsxs(_components.p,{children:[`O `,_jsx(_components.strong,{children:`AI Gateway`}),` expõe `,_jsx(_components.code,{children:`POST /embeddings`}),` na URL base da `,_jsx(_components.a,{href:`/pt-BR/ai-gateway/features/openai-compatible-api`,children:`API compatível com OpenAI`}),` (`,_jsx(_components.code,{children:`https://router.toqan.ai/eu/v3/router`}),`). Envie texto e receba embeddings vetoriais de qualquer modelo de embedding habilitado, com o mesmo formato de requisição e resposta da OpenAI Embeddings API. Fallbacks, orçamentos, cache e observabilidade se aplicam às chamadas de embedding exatamente como às chat completions.`]}),`\n`,_jsx(Heading,{level:`2`,id:`quick-start`,children:`Início rápido`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`7`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`curl`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` -X`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` POST`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` https://router.toqan.ai/eu/v3/router/embeddings`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` -H`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`$TOQAN_API_KEY`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` -H`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` -d`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"model\": \"openai/text-embedding-3-small\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"input\": \"The food was delicious\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`TypeScript`,numberOfLines:`13`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`13`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`import`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` OpenAI `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`from`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"openai\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`const`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` client`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:` =`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:` new`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:` OpenAI`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` apiKey: process.env.`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`TOQAN_API_KEY`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` baseURL: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"https://router.toqan.ai/eu/v3/router\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`});`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`const`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` embedding`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:` =`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:` await`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` client.embeddings.`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`create`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` model: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"openai/text-embedding-3-small\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` input: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"The food was delicious\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`});`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`console.`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`log`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`(embedding.data[`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`0`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`].embedding);`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Python`,numberOfLines:`14`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`14`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`from`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` openai `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`import`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` OpenAI`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`import`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` os`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`client `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` OpenAI(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#FFAB70`},children:` api_key`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`os.environ.get(`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"TOQAN_API_KEY\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#FFAB70`},children:` base_url`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"https://router.toqan.ai/eu/v3/router\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`embedding `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` client.embeddings.create(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#FFAB70`},children:` model`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"openai/text-embedding-3-small\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#FFAB70`},children:` input`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"The food was delicious\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`print`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`(embedding.data[`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`0`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`].embedding)`})]}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`providers-and-models`,children:`Provedores e modelos`}),`\n`,_jsxs(_components.p,{children:[`Os provedores com suporte a embeddings incluem AWS Bedrock, Azure, Cohere, Vertex AI, Google AI, Jina AI, Mistral, Nebius, OpenAI, Scaleway, Tencent e TensorX. Consulte `,_jsx(_components.a,{href:`/pt-BR/ai-gateway/supported-models`,children:`Modelos compatíveis`}),` para ver o catálogo completo de modelos de embedding.`]}),`\n`,_jsx(Heading,{level:`2`,id:`model-selection-and-dimensions`,children:`Seleção de modelo e dimensões`}),`\n`,_jsxs(_components.p,{children:[`Escolha um modelo com base nos idiomas que ele aceita, no custo e na qualidade da saída. Para conteúdo em vários idiomas, use um modelo multilíngue como `,_jsx(_components.code,{children:`cohere/embed-multilingual-v3.0`}),` ou `,_jsx(_components.code,{children:`jina/jina-embeddings-v3`}),`. Para conteúdo somente em inglês, `,_jsx(_components.code,{children:`openai/text-embedding-3-small`}),` é menor e mais barato.`]}),`\n`,_jsxs(_components.p,{children:[`Passe `,_jsx(_components.code,{children:`dimensions`}),` para solicitar um número específico de dimensões de saída:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"model\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"openai/text-embedding-3-small\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"input\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"The food was delicious\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"dimensions\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`256`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Modelos que aceitam tamanhos de saída configuráveis (por exemplo, `,_jsx(_components.code,{children:`openai/text-embedding-3-small`}),` e `,_jsx(_components.code,{children:`openai/text-embedding-3-large`}),`) retornam vetores do tamanho solicitado, o que reduz o custo de armazenamento e de processamento com uma pequena perda na qualidade da recuperação. Modelos com tamanho de saída fixo retornam vetores com a sua dimensão fixa.`]})}),`\n`,_jsxs(_components.p,{children:[`Defina `,_jsx(_components.code,{children:`encoding_format`}),` como `,_jsx(_components.code,{children:`base64`}),` para receber os embeddings como strings codificadas em base64 em vez de arrays JSON de floats, o que deixa a resposta menor:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"model\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"openai/text-embedding-3-small\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"input\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"The food was delicious\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"encoding_format\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"base64\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`batching-and-token-usage`,children:`Envio em lote e uso de tokens`}),`\n`,_jsxs(_components.p,{children:[`O campo `,_jsx(_components.code,{children:`input`}),` aceita uma única string, um array de strings ou arrays de tokens. Agrupe textos relacionados em uma única requisição em vez de enviar uma requisição por texto. Uma única ida e volta é mais rápida do que muitas:`]}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`10`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`curl`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` -X`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` POST`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` https://router.toqan.ai/eu/v3/router/embeddings`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` -H`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`$TOQAN_API_KEY`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` -H`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` -d`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"model\": \"openai/text-embedding-3-small\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"input\": [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"The food was delicious\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"And the waiter was friendly\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`TypeScript`,numberOfLines:`16`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`16`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`import`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` OpenAI `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`from`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"openai\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`const`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` client`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:` =`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:` new`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:` OpenAI`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` apiKey: process.env.`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`TOQAN_API_KEY`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` baseURL: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"https://router.toqan.ai/eu/v3/router\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`});`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`const`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` batch`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:` =`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:` await`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` client.embeddings.`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`create`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` model: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"openai/text-embedding-3-small\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` input: [`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"The food was delicious\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"And the waiter was friendly\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` ],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`});`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`console.`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`log`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`(batch.data.`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`map`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`((`}),_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#FFAB70`},children:`item`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`) `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=>`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` item.embedding.`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`length`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`));`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Python`,numberOfLines:`17`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`17`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`from`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` openai `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`import`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` OpenAI`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`import`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` os`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`client `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` OpenAI(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#FFAB70`},children:` api_key`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`os.environ.get(`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"TOQAN_API_KEY\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#FFAB70`},children:` base_url`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"https://router.toqan.ai/eu/v3/router\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`batch `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` client.embeddings.create(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#FFAB70`},children:` model`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"openai/text-embedding-3-small\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#FFAB70`},children:` input`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`[`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"The food was delicious\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"And the waiter was friendly\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` ],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`print`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`([`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`len`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`(item.embedding) `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`for`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` item `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`in`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` batch.data])`})]}),`\n`]})})})]}),`\n`,_jsxs(_components.p,{children:[`A resposta retorna um embedding por entrada no array `,_jsx(_components.code,{children:`data`}),`, na mesma ordem da entrada. O uso de tokens segue o formato da OpenAI: `,_jsx(_components.code,{children:`usage.prompt_tokens`}),` informa os tokens de entrada consumidos e `,_jsx(_components.code,{children:`usage.total_tokens`}),`, o total da requisição.`]}),`\n`,_jsx(Heading,{level:`2`,id:`embeddings-and-knowledge-bases`,children:`Embeddings e Knowledge Bases`}),`\n`,_jsxs(_components.p,{children:[`As `,_jsx(_components.a,{href:`/pt-BR/ai-gateway/features/knowledge-bases`,children:`Knowledge Bases`}),` cuidam internamente do embedding e da recuperação: dividem os documentos de origem em chunks, geram seus embeddings com um modelo de embedding configurado e injetam o contexto recuperado na chamada ao modelo. Prefira uma Knowledge Base quando o objetivo for RAG dentro do gateway, porque ela lida com a ingestão e a recuperação automaticamente.`]}),`\n`,_jsx(_components.p,{children:`Chame o endpoint de embeddings diretamente quando o pipeline precisar de um controle que uma Knowledge Base não oferece:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Armazenar vetores em um banco de dados vetorial externo, como Pinecone ou um banco vetorial próprio.`}),`\n`,_jsx(_components.li,{children:`Usar chunking personalizado, um modelo de embedding personalizado ou embeddings para tarefas que não são de recuperação, como clustering e classificação.`}),`\n`,_jsx(_components.li,{children:`Executar a recuperação fora do gateway e manter a geração dentro dele.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`fallbacks-caching-budgets-and-observability`,children:`Fallbacks, cache, orçamentos e observabilidade`}),`\n`,_jsx(_components.p,{children:`As chamadas de embedding aceitam os mesmos controles do gateway que as chat completions:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Fallbacks`}),`: passe um array de `,_jsx(_components.code,{children:`fallbacks`}),` para rotear para modelos de reserva quando o modelo principal falhar. Consulte `,_jsx(_components.a,{href:`/pt-BR/ai-gateway/features/retries#fallbacks`,children:`Fallbacks`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Cache`}),`: requisições de embedding idênticas podem ser atendidas a partir do cache. Consulte `,_jsx(_components.a,{href:`/pt-BR/ai-gateway/features/cache`,children:`Cache`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Orçamentos`}),`: o tráfego de embedding conta para os `,_jsx(_components.a,{href:`/pt-BR/ai-gateway/budgets`,children:`Orçamentos`}),`, com limites aplicados por workspace, chave de API ou provedor.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Observabilidade`}),`: as chamadas de embedding aparecem em Traces com modelo, uso de tokens e latência. Passe o campo de nível superior `,_jsx(_components.code,{children:`name`}),`, por exemplo `,_jsx(_components.code,{children:`\"name\": \"semantic-search-embed\"`}),`, para rotular a chamada no trace.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"github-light","dark":"github-dark"}},"config":{},"pageMetadata":{"title":"Embeddings","sidebarTitle":"Embeddings","description":"Crie embeddings vetoriais por meio do AI Gateway com qualquer modelo de embedding compatível. Gere embeddings para busca semântica, clustering e ingestão de RAG.","href":"/pt-BR/ai-gateway/features/embeddings"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Visão geral","slug":"overview","depth":2,"children":[]},{"title":"Início rápido","slug":"quick-start","depth":2,"children":[]},{"title":"Provedores e modelos","slug":"providers-and-models","depth":2,"children":[]},{"title":"Seleção de modelo e dimensões","slug":"model-selection-and-dimensions","depth":2,"children":[]},{"title":"Envio em lote e uso de tokens","slug":"batching-and-token-usage","depth":2,"children":[]},{"title":"Embeddings e Knowledge Bases","slug":"embeddings-and-knowledge-bases","depth":2,"children":[]},{"title":"Fallbacks, cache, orçamentos e observabilidade","slug":"fallbacks-caching-budgets-and-observability","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"toqanrouter","siteName":"Toqan Router Documentation","title":"Embeddings - Toqan Router Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"pt-BR":{"href":"/pt-BR/ai-gateway/features/embeddings","matchLevel":0},"en":{"href":"/ai-gateway/features/embeddings","matchLevel":1}}},"lastModified":"2026-11-03T22:50:40.970Z","originalFileLocation":"pt-BR/ai-gateway/features/embeddings.mdx","locale":"pt-BR"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Crie embeddings vetoriais por meio do AI Gateway com qualquer modelo de embedding compatível. Gere embeddings para busca semântica, clustering e ingestão de RAG.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Toqan Router Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"noindex, nofollow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/toqanrouter/B8ub1nGrAZXSSxU3/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/toqanrouter/B8ub1nGrAZXSSxU3/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/toqanrouter/B8ub1nGrAZXSSxU3/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/toqanrouter/B8ub1nGrAZXSSxU3/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/toqanrouter/B8ub1nGrAZXSSxU3/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/toqanrouter/B8ub1nGrAZXSSxU3/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/toqanrouter/B8ub1nGrAZXSSxU3/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/toqanrouter/B8ub1nGrAZXSSxU3/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/toqanrouter/B8ub1nGrAZXSSxU3/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Embeddings - Toqan Router Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Crie embeddings vetoriais por meio do AI Gateway com qualquer modelo de embedding compatível. Gere embeddings para busca semântica, clustering e ingestão de RAG.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Toqan Router Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://toqanrouter.mintlify.dev/docs/pt-BR/ai-gateway/features/embeddings\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://toqanrouter.mintlify.site/docs/_mintlify/api/og/v2?division=Recursos+dos+modelos\u0026amp;title=Embeddings\u0026amp;description=Crie+embeddings+vetoriais+por+meio+do+AI+Gateway+com+qualquer+modelo+de+embedding+compat%C3%ADvel.+Gere+embeddings+para+busca+sem%C3%A2ntica%2C+clustering+e+ingest%C3%A3o+de+RAG\u0026amp;theme=05a3259620174c9a66ae5445\u0026amp;signature=bde1e5404be0309b74bad2c6d25b0e533445558a7c04ed748c4c9a4b99ca9ca0\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Embeddings - Toqan Router Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Crie embeddings vetoriais por meio do AI Gateway com qualquer modelo de embedding compatível. Gere embeddings para busca semântica, clustering e ingestão de RAG.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://toqanrouter.mintlify.site/docs/_mintlify/api/og/v2?division=Recursos+dos+modelos\u0026amp;title=Embeddings\u0026amp;description=Crie+embeddings+vetoriais+por+meio+do+AI+Gateway+com+qualquer+modelo+de+embedding+compat%C3%ADvel.+Gere+embeddings+para+busca+sem%C3%A2ntica%2C+clustering+e+ingest%C3%A3o+de+RAG\u0026amp;theme=05a3259620174c9a66ae5445\u0026amp;signature=bde1e5404be0309b74bad2c6d25b0e533445558a7c04ed748c4c9a4b99ca9ca0\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/toqanrouter/B8ub1nGrAZXSSxU3/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Toqan Router Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#252BDD\">\u003clink data-mint-head rel=\"canonical\" href=\"https://toqanrouter.mintlify.dev/docs/pt-BR/ai-gateway/features/embeddings\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/pt-BR/ai-gateway/features/embeddings.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://toqanrouter.mintlify.dev/#organization\",\"name\":\"Toqan Router Documentation\",\"url\":\"https://toqanrouter.mintlify.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/toqanrouter/bMpxR9rrXf9akIN9/toqan/router-logo-paper.png?fit=max\u0026auto=format\u0026n=bMpxR9rrXf9akIN9\u0026q=85\u0026s=cb6b312cbb00b174a3b0418b560cf773\"}},{\"@type\":\"WebSite\",\"@id\":\"https://toqanrouter.mintlify.dev/docs#website\",\"name\":\"Toqan Router Documentation\",\"url\":\"https://toqanrouter.mintlify.dev/docs\",\"publisher\":{\"@id\":\"https://toqanrouter.mintlify.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://toqanrouter.mintlify.dev/docs/pt-BR/ai-gateway/features/embeddings#webpage\",\"url\":\"https://toqanrouter.mintlify.dev/docs/pt-BR/ai-gateway/features/embeddings\",\"name\":\"Embeddings\",\"description\":\"Crie embeddings vetoriais por meio do AI Gateway com qualquer modelo de embedding compatível. Gere embeddings para busca semântica, clustering e ingestão de RAG.\",\"dateModified\":\"2026-11-03T22:50:40.970Z\",\"isPartOf\":{\"@id\":\"https://toqanrouter.mintlify.dev/docs#website\"},\"breadcrumb\":{\"@id\":\"https://toqanrouter.mintlify.dev/docs/pt-BR/ai-gateway/features/embeddings#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://toqanrouter.mintlify.dev/docs/pt-BR/ai-gateway/features/embeddings#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Recursos dos modelos\",\"item\":\"https://toqanrouter.mintlify.dev/docs/pt-BR/ai-gateway/features/streaming\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Embeddings\",\"item\":\"https://toqanrouter.mintlify.dev/docs/pt-BR/ai-gateway/features/embeddings\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://toqanrouter.mintlify.dev/docs/pt-BR/ai-gateway/features/embeddings#article\",\"headline\":\"Embeddings\",\"name\":\"Embeddings\",\"description\":\"Crie embeddings vetoriais por meio do AI Gateway com qualquer modelo de embedding compatível. Gere embeddings para busca semântica, clustering e ingestão de RAG.\",\"url\":\"https://toqanrouter.mintlify.dev/docs/pt-BR/ai-gateway/features/embeddings\",\"mainEntityOfPage\":{\"@id\":\"https://toqanrouter.mintlify.dev/docs/pt-BR/ai-gateway/features/embeddings#webpage\"},\"dateModified\":\"2026-11-03T22:50:40.970Z\",\"publisher\":{\"@id\":\"https://toqanrouter.mintlify.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://toqanrouter.mintlify.dev/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Toqan Router Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Toqan Router Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/docs/pt-BR/ai-gateway/features/embeddings.md","siteName":"Toqan Router Documentation","nav":{"global":null,"languages":[{"language":"pt-BR","default":true,"navbar":{"links":[{"href":"/pt-BR/toqan/regions","label":"Regiões"}]},"tabs":[{"tab":"AI Gateway","groups":[{"group":"Toqan Router","pages":[{"title":"Regiões","href":"/pt-BR/toqan/regions"}]},{"group":"Visão geral","icon":"compass","pages":[{"title":"AI Gateway","sidebarTitle":"Início rápido","href":"/pt-BR/ai-gateway/get-started/introduction"},{"title":"Migrar da OpenAI, Anthropic, OpenRouter e LiteLLM","sidebarTitle":"Migrar","href":"/pt-BR/ai-gateway/get-started/migrate"},{"title":"Chaves de API e Management Keys","sidebarTitle":"Chaves de API e Management Keys","href":"/pt-BR/ai-gateway/configuration/api-keys"},{"title":"Orçamentos","sidebarTitle":"Orçamentos","href":"/pt-BR/ai-gateway/budgets"},{"title":"Modelos","sidebarTitle":"Gerenciar modelos","href":"/pt-BR/ai-gateway/using-the-router"},{"title":"Modelos compatíveis no AI Gateway","sidebarTitle":"Modelos compatíveis","href":"/pt-BR/ai-gateway/supported-models"},{"title":"Metadados da requisição","sidebarTitle":"Metadados da requisição","href":"/pt-BR/ai-gateway/request-metadata"}]},{"group":"APIs","icon":"code","pages":[{"title":"Responses API","sidebarTitle":"Responses API","href":"/pt-BR/ai-gateway/features/responses-api"},{"title":"API compatível com OpenAI","sidebarTitle":"API compatível com OpenAI","href":"/pt-BR/ai-gateway/features/openai-compatible-api"},{"title":"Anthropic Messages API","sidebarTitle":"Anthropic Messages API","href":"/pt-BR/ai-gateway/features/anthropic-messages-api"},{"title":"Conectar agentes pelo AI Gateway","sidebarTitle":"Agents Gateway","href":"/pt-BR/ai-gateway/features/agents-gateway"}]},{"group":"MCP Portal","icon":"plug","pages":[{"title":"MCP Servers","sidebarTitle":"MCP Servers","href":"/pt-BR/ai-gateway/mcp-portal/mcp-servers"},{"title":"MCP Gateway","sidebarTitle":"MCP Gateway","href":"/pt-BR/ai-gateway/mcp-portal/mcp-gateways"}]},{"group":"Roteamento","icon":"route","pages":[{"title":"BYOK","sidebarTitle":"Traga sua própria chave (BYOK)","href":"/pt-BR/ai-gateway/providers-overview"},{"title":"Integrações de provedores","sidebarTitle":"Integrações de provedores","href":"/pt-BR/ai-gateway/features/provider-integrations"},{"title":"Smart Router","sidebarTitle":"Smart Router","href":"/pt-BR/ai-gateway/smart-router"},{"title":"Model Fusion","sidebarTitle":"Model Fusion","href":"/pt-BR/ai-gateway/model-fusion"},{"title":"Session Affinity","sidebarTitle":"Session Affinity","href":"/pt-BR/ai-gateway/session-affinity"},{"title":"Fallbacks e retries no AI Gateway","sidebarTitle":"Fallbacks e Retries","href":"/pt-BR/ai-gateway/features/retries"},{"title":"Balanceamento de carga entre provedores","sidebarTitle":"Balanceamento de carga","href":"/pt-BR/ai-gateway/features/load-balancing"},{"title":"Regras de roteamento","sidebarTitle":"Regras de roteamento","href":"/pt-BR/ai-gateway/configuration/routing-rules"},{"title":"Cache de respostas de LLM","sidebarTitle":"Cache","href":"/pt-BR/ai-gateway/features/cache"},{"title":"Timeouts de solicitação","sidebarTitle":"Timeouts","href":"/pt-BR/ai-gateway/features/timeouts"},{"title":"Rate limits e cotas","sidebarTitle":"Rate limits e cotas","href":"/pt-BR/ai-gateway/features/rate-limits"},{"title":"Níveis de serviço","sidebarTitle":"Níveis de serviço","href":"/pt-BR/ai-gateway/features/service-tiers"},{"title":"Response Healing","sidebarTitle":"Response Healing","tag":"Beta","href":"/pt-BR/ai-gateway/features/plugins/response-healing"},{"title":"Prompts gerenciados em solicitações ao roteador","sidebarTitle":"Uso de prompts","href":"/pt-BR/ai-gateway/features/using-prompts"},{"title":"Knowledge bases pelo AI Gateway","sidebarTitle":"Knowledge Bases","href":"/pt-BR/ai-gateway/features/knowledge-bases"}]},{"group":"Segurança e privacidade","icon":"shield-halved","pages":[{"title":"Guardrails","sidebarTitle":"Guardrails","href":"/pt-BR/ai-gateway/configuration/guardrails"},{"title":"Regras de guardrail","sidebarTitle":"Regras de guardrail","href":"/pt-BR/ai-gateway/configuration/guardrail-rules"},{"title":"Guardrails externos","sidebarTitle":"Guardrails externos","href":"/pt-BR/ai-gateway/configuration/external-guardrails"},{"title":"Mascarar conteúdo sensível em traces","sidebarTitle":"Trace Data Masking","href":"/pt-BR/ai-gateway/features/security"},{"title":"PII Redaction","sidebarTitle":"PII Redaction","tag":"Beta","href":"/pt-BR/ai-gateway/features/plugins/pii-redaction"},{"title":"Trace Scrubbing","sidebarTitle":"Trace Scrubbing","href":"/pt-BR/ai-gateway/features/plugins/trace-scrubbing"},{"title":"Traga seu próprio modelo","sidebarTitle":"Traga seu próprio modelo","href":"/pt-BR/ai-gateway/private-models"}]},{"group":"Recursos dos modelos","icon":"bolt","pages":[{"title":"Streaming de respostas de LLM","sidebarTitle":"Streaming","href":"/pt-BR/ai-gateway/features/streaming"},{"title":"Sessões em tempo real e WebSocket","sidebarTitle":"Realtime","href":"/pt-BR/ai-gateway/features/realtime"},{"title":"Saídas estruturadas com JSON schema","sidebarTitle":"Saídas estruturadas","href":"/pt-BR/ai-gateway/features/structured-outputs"},{"title":"Geração de imagens, PDF e áudio","sidebarTitle":"Multimodal","href":"/pt-BR/ai-gateway/features/multimodal"},{"title":"OCR pelo AI Gateway","sidebarTitle":"OCR","href":"/pt-BR/ai-gateway/features/ocr"},{"title":"Enviar arquivos para modelos","sidebarTitle":"Arquivos","href":"/pt-BR/ai-gateway/features/files"},{"title":"Batches","sidebarTitle":"Batches","href":"/pt-BR/ai-gateway/features/batches"},{"title":"Prompt caching","sidebarTitle":"Prompt Caching","href":"/pt-BR/ai-gateway/features/prompt-caching"},{"title":"Compactação de contexto para conversas longas","sidebarTitle":"Compactação de contexto","href":"/pt-BR/ai-gateway/features/context-compaction"},{"title":"Chamada de ferramentas e execução de funções","sidebarTitle":"Chamada de ferramentas","href":"/pt-BR/ai-gateway/features/tool-calling"},{"title":"Respostas em segundo plano","sidebarTitle":"Respostas em segundo plano","href":"/pt-BR/ai-gateway/features/background-responses"},{"title":"Modelos de raciocínio","sidebarTitle":"Raciocínio","href":"/pt-BR/ai-gateway/features/reasoning"},{"title":"Web search na Responses API","sidebarTitle":"Web Search","href":"/pt-BR/ai-gateway/features/web-search"},{"title":"Inputs dinâmicos para configuração em tempo de execução","sidebarTitle":"Inputs","description":"Passe inputs dinâmicos para prompts de LLM em tempo de execução. Configure variáveis, contexto e parâmetros pelo AI Gateway para uma execução flexível de prompts.","href":"/pt-BR/ai-gateway/features/inputs"},{"title":"Embeddings","sidebarTitle":"Embeddings","href":"/pt-BR/ai-gateway/features/embeddings"},{"title":"Rerank e Moderations","sidebarTitle":"Rerank e Moderations","description":"Reordene documentos por relevância para uma consulta e modere textos com base em categorias de segurança pelos endpoints de rerank e moderations do AI Gateway.","href":"/pt-BR/ai-gateway/features/rerank-and-moderations"},{"title":"Decisions","sidebarTitle":"Decisions","href":"/pt-BR/ai-gateway/features/decisions"},{"title":"Perguntas frequentes sobre modelos","sidebarTitle":"Perguntas frequentes sobre modelos","href":"/pt-BR/ai-gateway/model-faq"}]},{"group":"Ferramentas de servidor","icon":"toolbox","pages":[{"title":"Server tools","sidebarTitle":"Visão geral","href":"/pt-BR/ai-gateway/features/server-tools"},{"title":"Ferramenta de servidor Web search","sidebarTitle":"Web Search","href":"/pt-BR/ai-gateway/features/server-tools/web-search"},{"title":"Ferramenta de servidor Web fetch","sidebarTitle":"Web Fetch","href":"/pt-BR/ai-gateway/features/server-tools/web-fetch"},{"title":"Server tool Datetime","sidebarTitle":"Datetime","href":"/pt-BR/ai-gateway/features/server-tools/datetime"},{"title":"Server tool Image generation","sidebarTitle":"Image Generation","href":"/pt-BR/ai-gateway/features/server-tools/image-generation"},{"title":"Server tool Code interpreter","sidebarTitle":"Code Interpreter","href":"/pt-BR/ai-gateway/features/server-tools/code-interpreter"},{"title":"Server tool Shell","sidebarTitle":"Shell","href":"/pt-BR/ai-gateway/features/server-tools/shell"},{"title":"Server tool Apply patch","sidebarTitle":"Apply Patch","href":"/pt-BR/ai-gateway/features/server-tools/apply-patch"},{"title":"Server tools de knowledge base","sidebarTitle":"Knowledge Bases","href":"/pt-BR/ai-gateway/features/server-tools/knowledge-bases"},{"title":"Server tool Search models","sidebarTitle":"Search Models","href":"/pt-BR/ai-gateway/features/server-tools/search-models"},{"title":"Server tool Tool search","sidebarTitle":"Tool Search","href":"/pt-BR/ai-gateway/features/server-tools/tool-search"},{"title":"Server tool Subagent","sidebarTitle":"Subagent","href":"/pt-BR/ai-gateway/features/server-tools/subagent"},{"title":"Server tool Advisor","sidebarTitle":"Advisor","href":"/pt-BR/ai-gateway/features/server-tools/advisor"},{"title":"Server tool Fusion","sidebarTitle":"Fusion","href":"/pt-BR/ai-gateway/features/server-tools/fusion"}]},{"group":"Cenários comuns","icon":"book-open","pages":[{"title":"Configuração multi-tenant","sidebarTitle":"Configuração multi-tenant","href":"/pt-BR/ai-gateway/multi-tenant-setup"}]},{"group":"Configuração de provedores","pages":[{"title":"Alibaba","sidebarTitle":"Alibaba","href":"/pt-BR/ai-studio/integrations/providers/alibaba"},{"title":"Integração com o Anthropic Claude","sidebarTitle":"Anthropic","href":"/pt-BR/ai-studio/integrations/providers/anthropic"},{"title":"Amazon Bedrock","sidebarTitle":"AWS Bedrock","href":"/pt-BR/ai-studio/integrations/providers/aws-bedrock"},{"title":"Azure","sidebarTitle":"Azure","href":"/pt-BR/ai-studio/integrations/providers/azure"},{"title":"ByteDance","sidebarTitle":"ByteDance","href":"/pt-BR/ai-studio/integrations/providers/bytedance"},{"title":"Cerebras","sidebarTitle":"Cerebras","href":"/pt-BR/ai-studio/integrations/providers/cerebras"},{"title":"Cohere","sidebarTitle":"Cohere","href":"/pt-BR/ai-studio/integrations/providers/cohere"},{"title":"DeepSeek","sidebarTitle":"DeepSeek","href":"/pt-BR/ai-studio/integrations/providers/deepseek"},{"title":"ElevenLabs","sidebarTitle":"ElevenLabs","href":"/pt-BR/ai-studio/integrations/providers/elevenlabs"},{"title":"Fal","sidebarTitle":"Fal","href":"/pt-BR/ai-studio/integrations/providers/fal"},{"title":"Google AI","sidebarTitle":"Google AI","href":"/pt-BR/ai-studio/integrations/providers/google-ai"},{"title":"Groq","sidebarTitle":"Groq","href":"/pt-BR/ai-studio/integrations/providers/groq"},{"title":"H Company","sidebarTitle":"H Company","href":"/pt-BR/ai-studio/integrations/providers/h-company"},{"title":"Inceptron","sidebarTitle":"Inceptron","href":"/pt-BR/ai-studio/integrations/providers/inceptron"},{"title":"Jina","sidebarTitle":"Jina","href":"/pt-BR/ai-studio/integrations/providers/jina"},{"title":"Leonardo AI","sidebarTitle":"Leonardo AI","href":"/pt-BR/ai-studio/integrations/providers/leonardo-ai"},{"title":"Provedor de modelos personalizado LiteLLM","sidebarTitle":"LiteLLM","href":"/pt-BR/ai-studio/integrations/providers/litellm"},{"title":"Mistral","sidebarTitle":"Mistral","href":"/pt-BR/ai-studio/integrations/providers/mistral"},{"title":"Moonshot AI","sidebarTitle":"Moonshot AI","href":"/pt-BR/ai-studio/integrations/providers/moonshot-ai"},{"title":"Nebius","sidebarTitle":"Nebius","href":"/pt-BR/ai-studio/integrations/providers/nebius"},{"title":"Modelos compatíveis com OpenAI","sidebarTitle":"OpenAI-Like","href":"/pt-BR/ai-studio/integrations/providers/open-ai-like"},{"title":"OpenAI","sidebarTitle":"OpenAI","href":"/pt-BR/ai-studio/integrations/providers/openai"},{"title":"Integrações com provedores de modelos","sidebarTitle":"Provedores de modelos","mode":"wide","href":"/pt-BR/ai-studio/integrations/providers/overview"},{"title":"Perplexity","sidebarTitle":"Perplexity","href":"/pt-BR/ai-studio/integrations/providers/perplexity"},{"title":"Scaleway","sidebarTitle":"Scaleway","href":"/pt-BR/ai-studio/integrations/providers/scaleway"},{"title":"TensorX","sidebarTitle":"TensorX","href":"/pt-BR/ai-studio/integrations/providers/tensorix"},{"title":"Together AI","sidebarTitle":"Together AI","href":"/pt-BR/ai-studio/integrations/providers/together-ai"},{"title":"Google Vertex AI","sidebarTitle":"Vertex AI","href":"/pt-BR/ai-studio/integrations/providers/vertex-ai"},{"title":"Wafer","sidebarTitle":"Wafer","href":"/pt-BR/ai-studio/integrations/providers/wafer"},{"title":"xAI","sidebarTitle":"xAI","href":"/pt-BR/ai-studio/integrations/providers/xai"},{"title":"Z.ai","sidebarTitle":"Z.ai","href":"/pt-BR/ai-studio/integrations/providers/z-ai"}]}]},{"tab":"Observabilidade de IA","pages":[{"title":"Observabilidade de IA","href":"/pt-BR/ai-studio/observability/quickstart"}]},{"tab":"Referência da API","pages":[{"title":"Referência da API","href":"/pt-BR/reference/client-libraries"}]}]},{"language":"en","pages":[{"title":"en","href":"/ai-gateway/features/embeddings"}]}]},"basePath":"","title":"Embeddings - Toqan Router Documentation","buildId":"dpl_2AK98Hxhwu4fUXpx9atbv41cC328","deploymentId":"dpl_2AK98Hxhwu4fUXpx9atbv41cC328","dynamics":[],"chunks":[]}