Learn how to accurately calculate costs when using streaming features.
To accurately calculate costs when using streaming features, you can either include a include_usage key in the body of your request or use the Helicone header.
client.chat.completions.create( model="gpt-4o", max_tokens=100, messages=[ {"role": "system", "content": "You are a great storyteller."}, {"role": "user", "content": "Once upon a time in a galaxy far, far away..."} ], stream=True, stream_options={ "include_usage": True # set to true })
openai.chat.completions.create({ messages: [ { role: "user", content: "Generate an abstract for a course on space.", }, ], model: "gpt-4", stream = true, stream_options: { include_usage: true, // set to true },});
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Helicone OSS LLM Observability","colors":{"primary":"#0CA5E9","light":"#0CA5E9","dark":"#0CA5E9"},"logo":{"light":"https://mintcdn.com/helicone/H0xDJmuTzfSrq5RW/logo/light.png?fit=max\u0026auto=format\u0026n=H0xDJmuTzfSrq5RW\u0026q=85\u0026s=748e5ab8e134752664c5847901a2cb8c","dark":"https://mintcdn.com/helicone/ktsfjvmR-7Ek3jBs/logo/dark.svg?fit=max\u0026auto=format\u0026n=ktsfjvmR-7Ek3jBs\u0026q=85\u0026s=f314847a2d2d458bc4725e80a5ff0c75"},"favicon":"https://mintcdn.com/helicone/uGUq-phGm2BuL59s/favicon.svg?fit=max\u0026auto=format\u0026n=uGUq-phGm2BuL59s\u0026q=85\u0026s=4fbb91a7620064003994e235f99335e1","api":{"openapi":["swagger.json","ai-gateway.openapi.json"]},"appearance":{"default":"light"},"navbar":{"links":[{"href":"https://helicone.ai/models","label":"Models"},{"href":"https://discord.com/invite/zsSTcH2qhG","label":"Discord"},{"href":"https://github.com/Helicone/helicone","label":"Github"}],"primary":{"type":"button","label":"Dashboard","href":"https://us.helicone.ai/#:~:text=Discord-,Sign,-In"}},"footer":{"socials":{"twitter":"https://twitter.com/helicone_ai","linkedin":"https://www.linkedin.com/company/helicone/about","github":"https://github.com/Helicone/helicone","discord":"https://discord.com/invite/zsSTcH2qhG"}},"seo":{"metatags":{"og:site_name":"Helicone OSS LLM Observability","og:image":"/favicon.svg","twitter:site":"@helicone_ai","twitter:image":"/favicon.svg"},"indexing":"navigable"},"integrations":{"koala":{"publicApiKey":"pk_28dd6b0bb95629a42e92bd526a1234a9fc79"},"posthog":{"apiKey":"phc_jeluwNoJNpc7zEzkQrPbjyMOqdnJQjFAVr849LaEaPG"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"helicone","actualSubdomain":"helicone","customDomains":["docs.helicone.ai"],"gitSource":{"type":"github","owner":"helicone","repo":"helicone","deployBranch":"main","contentDirectory":"docs","mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a9503834e25ee4c8efaab1b","collectionId":"7da6ed8d-fff1-476b-8c52-a246522476b7","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6a9503834e25ee4c8efaab1b"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6a9503834e25ee4c8efaab1b","clientVersion":"0.0.3675","searchFilterCounts":[{"language":"default","tag":"Documentation","count":131},{"language":"default","tag":"Legacy Integrations","count":65},{"language":"default","tag":"Guides","count":62},{"language":"default","tag":"Provider-Specific","count":50},{"language":"default","tag":"API Reference","count":49},{"language":"default","tag":"AI Gateway","count":30},{"language":"default","tag":"Prompts","count":19},{"language":"default","tag":"Observability \u0026 Analytics","count":18},{"language":"default","tag":"References","count":15},{"language":"default","tag":"How-to Guides","count":15}]},"assistantConfig":{"deflection":{"enabled":true,"email":"support@helicone.ai","showHelpButton":true}},"hasChatPermissions":false,"hasWebMcpPermissions":false,"isAtlas":false},"customCss":[],"page":{"pagePath":"faq/enable-stream-usage","slug":"/faq/enable-stream-usage","pageMetadata":{"title":"Incorrect Cost Calculation While Streaming?","description":"Learn how to accurately calculate costs when using streaming features.","href":"/faq/enable-stream-usage"},"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: \"Learn how to accurately calculate costs when using streaming features.\"\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={code:`code`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Heading}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`To accurately calculate costs when using streaming features, you can either include a `,_jsx(_components.code,{children:`include_usage`}),` key in the body of your request or use the Helicone header.`]}),`\n`,_jsx(Heading,{level:`3`,id:`method-1-request-body`,children:`Method 1: Request Body`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Python`,numberOfLines:`12`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`12`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client.chat.completions.create(`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` model`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gpt-4o\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` max_tokens`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`100`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` messages`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"role\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"system\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"content\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"You are a great storyteller.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"role\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"content\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Once upon a time in a galaxy far, far away...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` stream`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`True`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` stream_options`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"include_usage\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`True`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # set to true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Typescript`,numberOfLines:`13`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`13`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`openai`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`chat`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`completions`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`create`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` messages:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` role:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"user\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` content:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Generate an abstract for a course on space.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` model:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"gpt-4\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` stream`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` stream_options:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` include_usage:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// set to true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`3`,id:`method-2-helicone-header`,children:`Method 2: Helicone Header`}),`\n`,_jsxs(_components.p,{children:[`You can also enable stream usage by adding the `,_jsx(_components.code,{children:`helicone-stream-usage`}),` header to your request:`]}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Python`,numberOfLines:`12`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OpenAI(`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # ...`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` headers`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"helicone-stream-usage\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"true\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client.chat.completions.create(`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` model`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gpt-4\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` messages`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[{`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"role\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"content\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Hello!\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` stream`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`True`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`TypeScript`,numberOfLines:`12`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` openai`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` OpenAI`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // ...`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` headers:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"helicone-stream-usage\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"true\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`openai`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`chat`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`completions`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`create`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` messages:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [{ `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`role:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"user\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`content:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Hello!\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` model:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"gpt-4\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` stream:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\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":{"config":{},"pageMetadata":{"title":"Incorrect Cost Calculation While Streaming?","description":"Learn how to accurately calculate costs when using streaming features.","href":"/faq/enable-stream-usage"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Method 1: Request Body","slug":"method-1-request-body","depth":3,"children":[]},{"title":"Method 2: Helicone Header","slug":"method-2-helicone-header","depth":3,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"helicone","siteName":"Helicone OSS LLM Observability","title":"Incorrect Cost Calculation While Streaming? - Helicone OSS LLM Observability","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-03-06T00:00:45.079Z","originalFileLocation":"faq/enable-stream-usage.mdx"},"headHtml":"\u003cmeta data-mint-head name=\"description\" content=\"Learn how to accurately calculate costs when using streaming features.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Helicone OSS LLM Observability\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/helicone/My8DBiBXkkatGWhp/_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=\"/mintlify-assets/_mintlify/favicons/helicone/My8DBiBXkkatGWhp/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/helicone/My8DBiBXkkatGWhp/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/helicone/My8DBiBXkkatGWhp/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/helicone/My8DBiBXkkatGWhp/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/helicone/My8DBiBXkkatGWhp/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/helicone/My8DBiBXkkatGWhp/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/helicone/My8DBiBXkkatGWhp/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/helicone/My8DBiBXkkatGWhp/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Incorrect Cost Calculation While Streaming? - Helicone OSS LLM Observability\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn how to accurately calculate costs when using streaming features.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Helicone OSS LLM Observability\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.helicone.ai/faq/enable-stream-usage\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://helicone.mintlify.app/favicon.svg\">\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=\"Incorrect Cost Calculation While Streaming? - Helicone OSS LLM Observability\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn how to accurately calculate costs when using streaming features.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://helicone.mintlify.app/favicon.svg\">\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=\"/mintlify-assets/_mintlify/favicons/helicone/My8DBiBXkkatGWhp/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Helicone OSS LLM Observability\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0CA5E9\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.helicone.ai/faq/enable-stream-usage\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/faq/enable-stream-usage.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Helicone OSS LLM Observability\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Helicone OSS LLM Observability","nav":{"global":null,"anchors":[{"anchor":"Documentation","icon":"book-open","groups":[{"group":"Getting Started","pages":[{"title":"Quickstart","sidebarTitle":"Quickstart","description":"Get your first LLM request logged with Helicone in under 2 minutes using the AI Gateway.","twitter:title":"Quickstart - Helicone Open Source LLM Observability","href":"/getting-started/quick-start"},{"title":"Platform Overview","sidebarTitle":"Platform Overview","description":"Understand how Helicone solves the core challenges of building production LLM applications","href":"/getting-started/platform-overview"}]},{"group":"AI Gateway","pages":[{"title":"AI Gateway Overview","sidebarTitle":"Overview","description":"Use any LLM provider through a single OpenAI-compatible API with intelligent routing, fallbacks, and unified observability","href":"/gateway/overview"},{"title":"Provider Routing","sidebarTitle":"Provider Routing","description":"Automatic model routing across 100+ providers for reliability and performance","href":"/gateway/provider-routing"},{"title":"Prompt Management","sidebarTitle":"Prompt Management","description":"Deploy and iterate prompts through the AI Gateway without code changes","href":"/gateway/prompt-integration"},{"title":"LLM Caching","sidebarTitle":"Caching","twitter:title":"LLM Cache - Helicone OSS LLM Observability","description":null,"href":"/features/advanced-usage/caching"},{"title":"Custom LLM Rate Limits","sidebarTitle":"Custom Rate Limits","description":"Set custom rate limits for model provider API calls. Control usage by request count, cost, or custom properties to manage expenses and prevent unintended overuse.","twitter:title":"Custom LLM Rate Limits - Helicone OSS LLM Observability","href":"/features/advanced-usage/custom-rate-limits"},{"title":"LLM Security","sidebarTitle":"LLM Security","description":"Enable robust security measures in your LLM applications to protect against prompt injections, detect anomalies, and prevent data exfiltration.","twitter:title":"LLM Security - Helicone OSS LLM Observability","href":"/features/advanced-usage/llm-security"},{"title":"Token Limit Exception Handlers","sidebarTitle":"Large Context","description":"Automatically handle requests that exceed a model's context window using truncate, middle-out, or fallback strategies.","twitter:title":"Large Context - Token Limit Exception Handlers","href":"/features/advanced-usage/token-limit-exception-handlers"},{"group":"Provider Concepts","pages":[{"title":"Prompt Caching","description":"Cache frequently-used context across LLM providers for reduced costs and faster responses","href":"/gateway/concepts/prompt-caching"},{"title":"Reasoning","description":"Enable reasoning through a unified API on Helicone's AI Gateway","href":"/gateway/concepts/reasoning"},{"title":"Image Generation","description":"Generate images through Helicone's AI Gateway using models with native image output like Nano Banana Pro","href":"/gateway/concepts/image-generation"},{"title":"Context Editing","description":"Automatically manage conversation context by clearing old tool uses and thinking blocks for long-running AI agent sessions","href":"/gateway/concepts/context-editing"},{"title":"Web Search","sidebarTitle":"Web Search","description":"Enable web search capabilities for Anthropic models through Helicone's Gateway using the :online suffix","href":"/gateway/web-search"},{"title":"Error Handling \u0026 Fallback","description":"How Helicone AI Gateway handles errors and automatically falls back between billing methods","href":"/gateway/concepts/error-handling"},{"title":"Responses API","description":"Use the OpenAI Responses API format through Helicone AI Gateway with your Helicone API key","href":"/gateway/concepts/responses-api"}]},{"group":"Integrations","pages":[{"title":"Integrations Overview","sidebarTitle":"Overview","description":"Integrate Helicone AI Gateway with popular frameworks and tools to access 100+ LLM providers with top tier observability","twitter:title":"Helicone AI Gateway Integrations - Helicone OSS LLM Observability","href":"/gateway/integrations/overview"},{"title":"Claude Agent SDK Integration","sidebarTitle":"Claude Agent SDK","description":"Use Helicone AI Gateway with the Claude Agent SDK for building AI agents with automatic observability","twitter:title":"Claude Agent SDK Integration - Helicone OSS LLM Observability","iconType":"solid","href":"/gateway/integrations/claude-agent-sdk"},{"title":"OpenAI Codex","sidebarTitle":"Codex","description":"Use OpenAI Codex CLI and SDK with Helicone AI Gateway to log your coding agent interactions.","twitter:title":"OpenAI Codex Integration - Helicone OSS LLM Observability","iconType":"solid","href":"/gateway/integrations/codex"},{"title":"DSPy","sidebarTitle":"DSPy","description":"Integrate Helicone AI Gateway with DSPy to access 100+ LLM providers with unified observability and optimization.","twitter:title":"DSPy Integration - Helicone OSS LLM Observability","iconType":"solid","href":"/gateway/integrations/dpsy"},{"title":"LlamaIndex Integration","sidebarTitle":"LlamaIndex","description":"Use the Helicone LLM for LlamaIndex to route OpenAI-compatible requests through the Helicone AI Gateway with full observability.","twitter:title":"LlamaIndex + Helicone AI Gateway - Helicone OSS LLM Observability","href":"/gateway/integrations/llamaindex"},{"title":"LangChain Integration","sidebarTitle":"LangChain","description":"Integrate Helicone AI Gateway with LangChain to access 100+ LLM providers with unified observability.","twitter:title":"LangChain Integration - Helicone OSS LLM Observability","iconType":"solid","href":"/gateway/integrations/langchain"},{"title":"Langfuse Integration","sidebarTitle":"Langfuse","description":"Integrate Helicone AI Gateway with Langfuse to access 100+ LLM providers with observability and LLM tracing.","twitter:title":"Langfuse Integration - Helicone OSS LLM Observability","iconType":"solid","href":"/gateway/integrations/langfuse"},{"title":"LangGraph Integration","sidebarTitle":"LangGraph","description":"Integrate Helicone AI Gateway with LangGraph to build multi-agent workflows with access to 100+ LLM providers.","twitter:title":"LangGraph Integration - Helicone OSS LLM Observability","iconType":"solid","href":"/gateway/integrations/langgraph"},{"title":"LiteLLM Integration","sidebarTitle":"LiteLLM","description":"Use Helicone AI Gateway with LiteLLM to get top tier observability for your LLM requests.","twitter:title":"LiteLLM Integration - Helicone OSS LLM Observability","iconType":"solid","href":"/gateway/integrations/litellm"},{"title":"LlamaIndex Integration","sidebarTitle":"LlamaIndex","description":"Use the Helicone LLM for LlamaIndex to route OpenAI-compatible requests through the Helicone AI Gateway with full observability.","twitter:title":"LlamaIndex + Helicone AI Gateway - Helicone OSS LLM Observability","href":"/gateway/integrations/llamaindex"},{"title":"OpenAI Agents Integration","sidebarTitle":"OpenAI Agents","description":"Integrate Helicone AI Gateway with OpenAI Agents SDK to build AI agents with tools and full observability.","twitter:title":"OpenAI Agents Integration - Helicone OSS LLM Observability","iconType":"solid","href":"/gateway/integrations/openai-agents"},{"title":"n8n Integration","sidebarTitle":"n8n","description":"Use the Helicone Chat Model node in n8n workflows to route LLM requests through the AI Gateway with full observability.","twitter:title":"n8n Integration - Helicone OSS LLM Observability","href":"/gateway/integrations/n8n"},{"title":"PostHog Integration","sidebarTitle":"PostHog","description":"Integrate Helicone AI Gateway with PostHog to automatically export LLM request events to your PostHog analytics platform for unified product analytics.","twitter:title":"PostHog Integration - Helicone OSS LLM Observability","iconType":"solid","href":"/gateway/integrations/posthog"},{"title":"Semantic Kernel Integration","sidebarTitle":"Semantic Kernel","description":"Integrate Helicone AI Gateway with Microsoft Semantic Kernel to access 100+ LLM providers with unified observability.","twitter:title":"Semantic Kernel Integration - Helicone OSS LLM Observability","iconType":"solid","href":"/gateway/integrations/semantic-kernel"},{"title":"Vercel AI SDK Integration","sidebarTitle":"Vercel AI SDK","description":"Integrate Helicone AI Gateway with Vercel AI SDK to access 100+ LLM providers with full observability.","twitter:title":"Vercel AI SDK Integration - Helicone OSS LLM Observability","iconType":"solid","href":"/gateway/integrations/vercel-ai-sdk"},{"title":"Zapier Integration","sidebarTitle":"Zapier","description":"Use the Helicone Zapier app to run Chat Completions via the AI Gateway — no provider keys required.","twitter:title":"Zapier Integration - Helicone OSS LLM Observability","href":"/gateway/integrations/zapier"}]}]},{"group":"Observability \u0026 Analytics","pages":[{"title":"Custom Properties","sidebarTitle":"Custom Properties","twitter:title":"Custom Properties - Helicone OSS LLM Observability","description":null,"href":"/features/advanced-usage/custom-properties"},{"title":"Sessions","sidebarTitle":"Sessions","twitter:title":"Sessions - Helicone OSS LLM Observability","description":null,"href":"/features/sessions"},{"title":"User Metrics \u0026 Analytics","sidebarTitle":"User Metrics","description":"Understand user behavior, track engagement patterns, and optimize AI experiences with detailed user analytics","href":"/features/advanced-usage/user-metrics"},{"title":"Cost Tracking \u0026 Optimization","sidebarTitle":"Cost Tracking","description":"Monitor LLM spending, optimize costs, and understand unit economics across your AI application","href":"/guides/cookbooks/cost-tracking"},{"title":"Datasets","sidebarTitle":"Datasets","description":"Curate and export LLM request/response data for fine-tuning, evaluation, and analysis","href":"/features/datasets"},{"title":"Alerts","sidebarTitle":"Alerts","description":"Get notified when your LLM applications hit error thresholds or cost limits","href":"/features/alerts"},{"title":"Reports","sidebarTitle":"Reports","description":"Get automated weekly summaries of your LLM usage, costs, and performance delivered to email or Slack","href":"/features/reports"},{"title":"HQL (Helicone Query Language)","sidebarTitle":"HQL","description":"Query your Helicone analytics data directly using SQL with row-level security and built-in limits","href":"/features/hql"},{"title":"Eval Scores","sidebarTitle":"Eval Scores","description":null,"href":"/features/advanced-usage/scores"},{"title":"User Feedback","sidebarTitle":"User Feedback","description":null,"href":"/features/advanced-usage/feedback"},{"group":"Webhooks","pages":[{"title":"Webhooks","sidebarTitle":"Webhooks","twitter:title":"Helicone Webhooks: Real-Time LLM Integration \u0026 Automation","description":null,"href":"/features/webhooks"},{"title":"Webhooks Local Testing","sidebarTitle":"Webhooks Local Testing","description":null,"href":"/features/webhooks-testing"}]},{"group":"Tools","pages":[{"title":"Trace Tools with cURL","sidebarTitle":"cURL","description":"Log responses from any external tools used in your LLM applications to Helicone using cURL.","href":"/integrations/tools/curl"},{"title":"Trace Tools with the Logger SDK","sidebarTitle":"Logger SDK","description":"Log LLM responses from any external tools used in your LLM applications using Helicone's Logger SDK.","href":"/integrations/tools/logger-sdk"},{"title":"Helicone MCP Server","sidebarTitle":"MCP","description":"Query your Helicone observability data directly from MCP-compatible AI assistants using the Helicone MCP server.","href":"/integrations/tools/mcp"},{"title":"Xcode Integration (AI Gateway)","sidebarTitle":"Xcode","description":"Configure Xcode's Intelligence model provider to route through Helicone's AI Gateway for observability.","href":"/integrations/tools/xcode"}]},{"group":"Vector DB","pages":[{"title":"Vector DB tracing with cURL","sidebarTitle":"cURL","description":"Log any Vector DB interactions to Helicone using cURL.","href":"/integrations/vectordb/curl"},{"title":"Trace Any Vector DB interactions","sidebarTitle":"Logger SDK","description":"Log any Vector DB interactions using Helicone's Logger SDK.","href":"/integrations/vectordb/logger-sdk"}]}]},{"group":"Prompt Management","pages":[{"title":"Prompt Management Overview","sidebarTitle":"Overview","description":"Compose and iterate prompts, then easily deploy them in any LLM call with the AI Gateway.","twitter:title":"Prompt Management Overview | Helicone OSS LLM Observability","href":"/features/advanced-usage/prompts/overview"},{"title":"Prompt Assembly","sidebarTitle":"Prompt Assembly","description":"Understand how prompts are compiled from templates and runtime parameters","twitter:title":"Prompt Assembly | Helicone OSS LLM Observability","href":"/features/advanced-usage/prompts/assembly"},{"title":"SDK Integration","sidebarTitle":"SDK Integration","description":"Use prompts directly via SDK without the AI Gateway","twitter:title":"Prompt SDK Integration | Helicone OSS LLM Observability","href":"/features/advanced-usage/prompts/sdk"}]},{"group":"Legacy Integrations","pages":[{"title":"Legacy Integrations","sidebarTitle":"Overview","description":"Legacy proxy-based integrations for existing codebases","href":"/integrations/overview"},{"group":"Provider-Specific","pages":[{"group":"Anthropic","pages":[{"title":"Anthropic cURL Integration","sidebarTitle":"cURL","description":"Use cURL to integrate Anthropic with Helicone to log your Anthropic LLM usage.","twitter:title":"Anthropic cURL Integration - Helicone OSS LLM Observability","icon":"code","iconType":"solid","href":"/integrations/anthropic/curl"},{"title":"Anthropic JavaScript SDK Integration","sidebarTitle":"JavaScript","description":"Use Anthropic's JavaScript SDK to integrate with Helicone to log your Anthropic LLM usage.","twitter:title":"Anthropic JavaScript SDK Integration - Helicone OSS LLM Observability","icon":"js","iconType":"solid","href":"/integrations/anthropic/javascript"},{"title":"Anthropic LangChain Integration","sidebarTitle":"LangChain","description":"Use LangChain to integrate Anthropic with Helicone to log your Anthropic LLM usage.","twitter:title":"Anthropic LangChain Integration - Helicone OSS LLM Observability","icon":"bird","iconType":"solid","href":"/integrations/anthropic/langchain"},{"title":"Anthropic Python SDK Integration","sidebarTitle":"Python","description":"Use Anthropic's Python SDK to integrate with Helicone to log your Anthropic LLM usage.","twitter:title":"Anthropic Python SDK Integration - Helicone OSS LLM Observability","icon":"python","iconType":"solid","href":"/integrations/anthropic/python"},{"title":"Claude Code","sidebarTitle":"Claude Code","description":"Integrate Helicone to log your Claude Code interactions.","twitter:title":"Claude Code - Helicone OSS LLM Observability","icon":"plug","iconType":"solid","href":"/integrations/anthropic/claude-code"}]},{"title":"Anyscale Integration","sidebarTitle":"Anyscale","description":"Connect Helicone with any LLM deployed on Anyscale, including Llama, Mistral, Gemma, and GPT.","twitter:title":"Anyscale Integration - Helicone OSS LLM Observability","href":"/getting-started/integration-method/anyscale"},{"group":"AWS Bedrock","pages":[{"title":"AWS Bedrock JavaScript SDK Integration","sidebarTitle":"JavaScript","description":"Learn how to integrate AWS Bedrock with Helicone using JavaScript.","icon":"js","iconType":"solid","href":"/integrations/bedrock/javascript"},{"title":"AWS Bedrock Python SDK Integration","sidebarTitle":"Python","description":"Learn how to integrate AWS Bedrock with Helicone using Python.","icon":"python","iconType":"solid","href":"/integrations/bedrock/python"}]},{"group":"Azure OpenAI","pages":[{"title":"Azure OpenAI with cURL","sidebarTitle":"cURL","description":"Use cURL to integrate Azure OpenAI with Helicone to log your Azure OpenAI usage.","twitter:title":"Azure-OpenAI cURL Integration - Helicone OSS LLM Observability","icon":"code","iconType":"solid","href":"/integrations/azure/curl"},{"title":"Azure OpenAI with JavaScript","sidebarTitle":"JavaScript","description":"Use JavaScript to integrate Azure OpenAI with Helicone to log your Azure OpenAI usage.","twitter:title":"Azure OpenAI JavaScript Integration - Helicone OSS LLM Observability","icon":"js","iconType":"solid","href":"/integrations/azure/javascript"},{"title":"Azure OpenAI with LangChain","sidebarTitle":"LangChain","description":"Use LangChain to integrate Azure OpenAI with Helicone to log your Azure OpenAI usage.","twitter:title":"Azure OpenAI Langchain Integration - Helicone OSS LLM Observability","icon":"bird","iconType":"solid","href":"/integrations/azure/langchain"},{"title":"Azure OpenAI with Python","sidebarTitle":"Python","description":"Use Python to integrate Azure OpenAI with Helicone to log your Azure OpenAI usage.","twitter:title":"Azure OpenAI Python Integration - Helicone OSS LLM Observability","icon":"python","iconType":"solid","href":"/integrations/azure/python"}]},{"title":"Deepinfra Integration","sidebarTitle":"Deepinfra","description":"Connect Helicone with OpenAI-compatible models on Deepinfra. Simple setup process using a custom base_url for seamless integration with your Deepinfra-based AI applications.","twitter:title":"Deepinfra Integration - Helicone OSS LLM Observability","href":"/getting-started/integration-method/deepinfra"},{"title":"DeepSeek AI Integration","sidebarTitle":"DeepSeek AI","description":"Connect Helicone with DeepSeek AI, a platform that provides powerful language models including MoE and Code models for various AI applications.","twitter:title":"DeepSeek AI Integration - Helicone OSS LLM Observability","href":"/getting-started/integration-method/deepseek"},{"group":"Gemini","pages":[{"group":"API","pages":[{"title":"Gemini AI cURL Integration","sidebarTitle":"cURL","description":"Use cURL to integrate Gemini AI with Helicone to log your Gemini AI usage.","twitter:title":"Gemini AI cURL Integration - Helicone OSS LLM Observability","icon":"code","iconType":"solid","href":"/integrations/gemini/api/curl"},{"title":"Gemini JavaScript SDK Integration","sidebarTitle":"JavaScript","description":"Use Gemini's JavaScript SDK to integrate with Helicone to log your Gemini AI usage.","twitter:title":"Gemini JavaScript SDK Integration - Helicone OSS LLM Observability","icon":"js","iconType":"solid","href":"/integrations/gemini/api/javascript"},{"title":"Gemini Python SDK Integration","sidebarTitle":"Python","description":"Use Gemini's Python SDK to integrate with Helicone to log your Gemini AI usage.","twitter:title":"Gemini Python SDK Integration - Helicone OSS LLM Observability","icon":"python","iconType":"solid","href":"/integrations/gemini/api/python"}]},{"group":"Vertex AI (Enterprise)","pages":[{"title":"Vertex AI cURL Integration","sidebarTitle":"cURL","description":"Use cURL to integrate Vertex AI with Helicone to log your Vertex AI usage.","twitter:title":"Vertex AI cURL Integration - Helicone OSS LLM Observability","icon":"code","iconType":"solid","href":"/integrations/gemini/vertex/curl"},{"title":"Vertex AI JavaScript SDK Integration","sidebarTitle":"JavaScript","description":"Use Vertex AI's JavaScript SDK to integrate with Helicone to log your Vertex AI usage.","twitter:title":"Vertex AI JavaScript SDK Integration - Helicone OSS LLM Observability","icon":"js","iconType":"solid","href":"/integrations/gemini/vertex/javascript"},{"title":"Vertex AI Python SDK Integration","sidebarTitle":"Python","description":"Use Vertex AI's Python SDK to integrate with Helicone to log your Vertex AI usage.","twitter:title":"Vertex AI Python SDK Integration - Helicone OSS LLM Observability","icon":"python","iconType":"solid","href":"/integrations/gemini/vertex/python"}]}]},{"group":"Groq","pages":[{"title":"Groq cURL Integration","sidebarTitle":"cURL","description":"Use cURL to integrate Groq with Helicone to log your Groq usage.","twitter:title":"Groq cURL Integration - Helicone OSS LLM Observability","icon":"code","iconType":"solid","href":"/integrations/groq/curl"},{"title":"Groq JavaScript SDK Integration","sidebarTitle":"JavaScript","description":"Use Groq's JavaScript SDK to integrate with Helicone to log your Groq usage.","twitter:title":"Groq JavaScript SDK Integration - Helicone OSS LLM Observability","icon":"js","iconType":"solid","href":"/integrations/groq/javascript"},{"title":"Groq Python SDK Integration","sidebarTitle":"Python","description":"Use Groq's Python SDK to integrate with Helicone to log your Groq usage.","twitter:title":"Groq Python SDK Integration - Helicone OSS LLM Observability","icon":"python","iconType":"solid","href":"/integrations/groq/python"}]},{"group":"Instructor","pages":[{"title":"Instructor JavaScript SDK Integration","sidebarTitle":"JavaScript","description":"Use Instructor's JavaScript SDK to log your LLM calls in Helicone.","twitter:title":"Instructor JavaScript SDK Integration - Helicone OSS LLM Observability","href":"/integrations/instructor/javascript"},{"title":"Instructor Python SDK Integration","sidebarTitle":"Python","description":"Use Instructor's Python SDK to log your LLM calls in Helicone.","twitter:title":"Instructor Python SDK Integration - Helicone OSS LLM Observability","href":"/integrations/instructor/python"}]},{"group":"Llama","pages":[{"title":"Llama cURL Integration","sidebarTitle":"cURL Integration","description":"Use cURL to integrate Llama with Helicone to log your Llama LLM usage.","twitter:title":"Llama cURL Integration - Helicone OSS LLM Observability","href":"/integrations/llama/curl"},{"title":"Llama JavaScript SDK","sidebarTitle":"JavaScript","description":"Use the OpenAI JavaScript SDK to integrate with Llama via Helicone to log your Llama usage.","twitter:title":"Llama JavaScript SDK Integration - Helicone OSS LLM Observability","icon":"js","iconType":"solid","href":"/integrations/llama/javascript"},{"title":"Llama Python SDK","sidebarTitle":"Python","description":"Use the OpenAI Python SDK to integrate with Llama via Helicone to log your Llama usage.","twitter:title":"Llama Python SDK Integration - Helicone OSS LLM Observability","icon":"python","iconType":"solid","href":"/integrations/llama/python"}]},{"title":"Hyperbolic Integration","sidebarTitle":"Hyperbolic","description":"Integrate Helicone with Hyperbolic, a platform for running open-source LLMs. Monitor and analyze interactions with any Hyperbolic-deployed model using a simple base_url configuration.","twitter:title":"Hyperbolic Integration - Helicone OSS LLM Observability","href":"/getting-started/integration-method/hyperbolic"},{"title":"Mistral AI Integration","sidebarTitle":"Mistral AI","description":"Connect Helicone with Mistral AI, a platform that provides state-of-the-art language models including Mistral-Large and Mistral-Medium for various AI applications.","twitter:title":"Mistral AI Integration - Helicone OSS LLM Observability","href":"/getting-started/integration-method/mistral"},{"title":"Nebius Token Factory Integration","sidebarTitle":"Nebius Token Factory","description":"Connect Helicone with Nebius Token Factory, a platform that provides powerful AI models including text and multimodal models, embeddings and guardrails, and text-to-image models.","twitter:title":"Nebius Token Factory AI Integration - Helicone OSS LLM Observability","href":"/getting-started/integration-method/nebius"},{"title":"Novita AI Integration","sidebarTitle":"Novita AI","description":"Connect Helicone with Novita AI, a platform that provides powerful LLM models including DeepSeek, Llama, Mistral, and more.","twitter:title":"Novita AI Integration - Helicone OSS LLM Observability","href":"/getting-started/integration-method/novita"},{"group":"Nvidia","pages":[{"title":"Nvidia NIM cURL Integration","sidebarTitle":"cURL","description":"Use cURL to integrate Nvidia NIM with Helicone to log your Nvidia LLM usage.","twitter:title":"Nvidia NIM cURL Integration - Helicone OSS LLM Observability","icon":"code","iconType":"solid","href":"/integrations/nvidia/curl"},{"title":"Nvidia NIM JavaScript SDK","sidebarTitle":"JavaScript","description":"Use the OpenAI JavaScript SDK to integrate with Nvidia NIM via Helicone to log your Nvidia usage.","twitter:title":"Nvidia NIM JavaScript SDK Integration - Helicone OSS LLM Observability","icon":"js","iconType":"solid","href":"/integrations/nvidia/javascript"},{"title":"Nvidia NIM Python SDK","sidebarTitle":"Python","description":"Use the OpenAI Python SDK to integrate with Nvidia NIM via Helicone to log your Nvidia usage.","twitter:title":"Nvidia NIM Python SDK Integration - Helicone OSS LLM Observability","icon":"python","iconType":"solid","href":"/integrations/nvidia/python"},{"title":"Nvidia Dynamo Integration","sidebarTitle":"Dynamo","description":"Use Nvidia Dynamo with Helicone for comprehensive logging and monitoring.","twitter:title":"Nvidia Dynamo Integration - Helicone OSS LLM Observability","icon":"server","iconType":"solid","href":"/integrations/nvidia/dynamo"}]},{"group":"Ollama","pages":[{"title":"Ollama Javascript Integration","sidebarTitle":"JavaScript","description":"Use Helicone's JavaScript SDK to log your Ollama usage.","twitter:title":"Anthropic JavaScript SDK Integration - Helicone OSS LLM Observability","icon":"js","iconType":"solid","href":"/integrations/ollama/javascript"}]},{"group":"OpenAI","pages":[{"title":"OpenAI with cURL","sidebarTitle":"cURL","description":"Use cURL to integrate OpenAI with Helicone to log your OpenAI usage.","twitter:title":"OpenAI cURL Integration - Helicone OSS LLM Observability","icon":"code","iconType":"solid","href":"/integrations/openai/curl"},{"title":"OpenAI JavaScript SDK","sidebarTitle":"JavaScript","description":"Use OpenAI's JavaScript SDK to integrate with Helicone to log your OpenAI usage.","twitter:title":"OpenAI JavaScript SDK Integration - Helicone OSS LLM Observability","icon":"js","iconType":"solid","href":"/integrations/openai/javascript"},{"title":"OpenAI with LangChain","sidebarTitle":"LangChain","description":"Use LangChain to integrate OpenAI with Helicone to log your OpenAI usage.","twitter:title":"OpenAI Langchain Integration - Helicone OSS LLM Observability","icon":"bird","iconType":"solid","href":"/integrations/openai/langchain"},{"title":"OpenAI with LlamaIndex","sidebarTitle":"LlamaIndex","description":"Use LlamaIndex to integrate with Helicone to log your LlamaIndex usage.","twitter:title":"LlamaIndex Integration - Helicone OSS LLM Observability","icon":"horse","iconType":"solid","href":"/integrations/openai/llamaindex"},{"title":"OpenAI Python SDK","sidebarTitle":"Python","description":"Use OpenAI's Python SDK to integrate with Helicone to log your OpenAI usage.","twitter:title":"OpenAI Python SDK Integration - Helicone OSS LLM Observability","icon":"python","iconType":"solid","href":"/integrations/openai/python"},{"title":"OpenAI Realtime API","sidebarTitle":"Realtime","description":"Integrate OpenAI's Realtime API with Helicone to monitor and analyze your real-time conversations.","twitter:title":"OpenAI Realtime API Integration - Helicone OSS LLM Observability","icon":"microphone","iconType":"solid","href":"/integrations/openai/realtime"},{"title":"OpenAI Responses API","sidebarTitle":"Responses","description":"Integrate OpenAI Responses API with Helicone to monitor and analyze your model's responses.","twitter:title":"OpenAI Responses Integration - Helicone OSS LLM Observability","icon":"plug","iconType":"solid","href":"/integrations/openai/responses"}]},{"title":"OpenRouter Integration","sidebarTitle":"OpenRouter","description":"Integrate Helicone with OpenRouter, a unified API for accessing multiple LLM providers. Monitor and analyze AI interactions across various models through a single, streamlined interface.","twitter:title":"OpenRouter Integration - Helicone OSS LLM Observability","href":"/getting-started/integration-method/openrouter"},{"title":"Perplexity AI Integration","sidebarTitle":"Perplexity AI","description":"Connect Helicone with Perplexity AI, a platform that provides powerful language models including Sonar and Sonar Pro for various AI applications.","twitter:title":"Perplexity AI Integration - Helicone OSS LLM Observability","href":"/getting-started/integration-method/perplexity"},{"title":"Together AI Integration","sidebarTitle":"Together AI","description":"Connect Helicone with Together AI, a platform for running open-source language models. Monitor and optimize your AI applications using Together AI's powerful models through a simple base_url configuration.","twitter:title":"Together AI Integration - Helicone OSS LLM Observability","href":"/getting-started/integration-method/together"},{"group":"xAI","pages":[{"title":"xAI cURL Integration","sidebarTitle":"cURL","description":"Use cURL to integrate xAI with Helicone to log your xAI LLM usage.","twitter:title":"xAI cURL Integration - Helicone OSS LLM Observability","icon":"code","iconType":"solid","href":"/integrations/xai/curl"},{"title":"xAI with OpenAI JavaScript SDK","sidebarTitle":"JavaScript","description":"Use the OpenAI JavaScript SDK to integrate with xAI via Helicone to log your xAI usage.","twitter:title":"xAI with OpenAI JavaScript SDK - Helicone OSS LLM Observability","icon":"js","iconType":"solid","href":"/integrations/xai/javascript"},{"title":"xAI with OpenAI Python SDK","sidebarTitle":"Python","description":"Use the OpenAI Python SDK to integrate with xAI via Helicone to log your xAI usage.","twitter:title":"xAI with OpenAI Python SDK - Helicone OSS LLM Observability","icon":"python","iconType":"solid","href":"/integrations/xai/python"}]}]},{"group":"Frameworks","pages":[{"title":"LangGraph Integration","sidebarTitle":"LangGraph","description":"Use LangGraph to integrate Helicone with your LLM workflows.","twitter:title":"LangGraph Integration - Helicone OSS LLM Observability","iconType":"solid","href":"/other-integrations/langgraph"},{"title":"LiteLLM Integration with Callbacks","sidebarTitle":"LiteLLM","description":"Connect Helicone with LiteLLM using callbacks to log and monitor API calls across various AI models.","twitter:title":"LiteLLM Integration with Callbacks - Helicone OSS LLM Observability","href":"/getting-started/integration-method/litellm"},{"title":"Vercel AI SDK Integration","sidebarTitle":"Vercel AI SDK","description":"Integrate Vercel AI SDK with Helicone to monitor, debug, and improve your AI applications.","twitter:title":"Vercel AI SDK Integration - Helicone OSS LLM Observability","href":"/getting-started/integration-method/vercelai"},{"title":"Crew AI Integration","sidebarTitle":"Crew AI","description":"Integrate Helicone with Crew AI, a multi-agent framework supporting multiple LLM providers. Monitor AI-driven tasks and agent interactions across providers.","twitter:title":"Crew AI Integration - Helicone OSS LLM Observability","href":"/getting-started/integration-method/crewai"},{"title":"Dify","sidebarTitle":"Dify","description":"Dify is an open-source LLM app development platform. Its intuitive interface combines AI workflow, RAG pipeline, agent capabilities, model management, observability features and more, letting you quickly go from prototype to production. Here is how to get Observability and logs for your dify instance.","href":"/other-integrations/dify"},{"title":"LlamaIndex Integration","sidebarTitle":"LlamaIndex","description":"Use the Helicone LLM for LlamaIndex to route OpenAI-compatible requests through the Helicone AI Gateway with full observability.","twitter:title":"LlamaIndex + Helicone AI Gateway - Helicone OSS LLM Observability","href":"/gateway/integrations/llamaindex"},{"title":"Ragas Integration","sidebarTitle":"Ragas","description":"Integrate Helicone with Ragas, an open-source framework for evaluating Retrieval-Augmented Generation (RAG) systems. Monitor and analyze the performance of your RAG pipelines.","twitter:title":"Ragas Integration - Helicone LLM Observability","href":"/other-integrations/ragas"}]},{"group":"Async Logging","pages":[{"title":"OpenLLMetry Async Integration","sidebarTitle":"OpenLLMetry","description":"Log LLM traces directly to Helicone, bypassing our proxy, with OpenLLMetry. Supports OpenAI, Anthropic, Azure OpenAI, Cohere, Bedrock, Google AI Platform, and more.","twitter:title":"OpenLLMetry Async Integration - Helicone OSS LLM Observability","href":"/getting-started/integration-method/openllmetry"},{"group":"Manual Logger","pages":[{"title":"Manual Logger - cURL","sidebarTitle":"cURL","description":"Integrate any custom LLM with Helicone using cURL. Step-by-step guide for direct API integration to connect your proprietary or open-source models.","twitter:title":"cURL Manual Logger - Helicone OSS LLM Observability","icon":"code","iconType":"solid","href":"/getting-started/integration-method/manual-logger-curl"},{"title":"Manual Logger - TypeScript","sidebarTitle":"TypeScript","description":"Integrate any custom LLM with Helicone using the TypeScript Manual Logger. Step-by-step guide for NodeJS implementation to connect your proprietary or open-source models.","twitter:title":"TypeScript Manual Logger - Helicone OSS LLM Observability","icon":"js","iconType":"solid","href":"/getting-started/integration-method/manual-logger-typescript"},{"title":"Manual Logger - Python","sidebarTitle":"Python","description":"Integrate any custom LLM with Helicone using the Python Manual Logger. Step-by-step guide for Python implementation to connect your proprietary or open-source models.","twitter:title":"Python Manual Logger - Helicone OSS LLM Observability","icon":"python","iconType":"solid","href":"/getting-started/integration-method/manual-logger-python"},{"title":"Manual Logger - Go","sidebarTitle":"Go","description":"Integrate any custom LLM with Helicone using the Go Manual Logger. Step-by-step guide for Go implementation to connect your proprietary or open-source models.","twitter:title":"Go Manual Logger - Helicone OSS LLM Observability","icon":"golang","iconType":"solid","href":"/getting-started/integration-method/manual-logger-go"}]}]},{"group":"Custom Logs","pages":[{"title":"Custom Logs with the Logger SDK","sidebarTitle":"Logger SDK","description":"Log any custom operations using Helicone's Logger SDK for complete observability across your application stack.","href":"/integrations/data/logger-sdk"},{"title":"Custom Logs with cURL","sidebarTitle":"cURL","description":"Log any custom operations to Helicone using cURL for complete observability across your application stack.","href":"/integrations/data/curl"}]}]},{"group":"References","pages":[{"group":"Self-Hosting","pages":[{"title":"Self-Hosting Helicone","sidebarTitle":"Overview","description":"Comprehensive guides to help you deploy and manage your own instance of Helicone.","href":"/getting-started/self-host/overview"},{"title":"Docker","sidebarTitle":"Docker","description":"Deploy Helicone using Docker. Quick setup guide for running a containerized instance of the LLM observability platform on your local machine or server.","twitter:title":"Docker Deployment - Helicone OSS LLM Observability","href":"/getting-started/self-host/docker"},{"title":"Kubernetes Self-Hosting","sidebarTitle":"Kubernetes","description":"Deploy Helicone using Kubernetes and Helm. Quick setup guide for running a containerized instance of the LLM observability platform on your Kubernetes cluster.","twitter:title":"Kubernetes Deployment - Helicone OSS LLM Observability","href":"/getting-started/self-host/kubernetes"}]},{"title":"How to Integrate a Model Provider to the AI Gateway","sidebarTitle":"Model Provider Integration","description":"Tutorial to integrate a new model provider into the AI Gateway","href":"/references/provider-integration"},{"title":"PostHog Integration","sidebarTitle":"PostHog","description":"Combine Helicone's LLM analytics with PostHog, a comprehensive product analytics platform. View LLM insights alongside other application data for holistic performance analysis.","twitter:title":"PostHog Integration - Helicone OSS LLM Observability","href":"/getting-started/integration-method/posthog"},{"title":"How We Calculate Cost","sidebarTitle":"Cost Calculation","description":"Learn how Helicone calculates the cost per request for nearly all models, including both streamed and non-streamed requests. Detailed explanations and examples provided.","twitter:title":"How We Calculate Cost - Helicone OSS LLM Observability","href":"/references/how-we-calculate-cost"},{"title":"Data Security \u0026 Privacy","sidebarTitle":"Data Security \u0026 Privacy","description":"Helicone ensures top-tier data security and privacy through our SOC2 compliant cloud solution, with options for enhanced control and data ownership.","twitter:title":"Data Security \u0026 Privacy - Helicone OSS LLM Observability","href":"/references/data-autonomy"},{"title":"Helicone Header Directory","sidebarTitle":"Header Directory","description":"Comprehensive guide to all Helicone headers. Learn how to access and implement various Helicone features through custom request headers.","twitter:title":"Helicone Header Directory - Open Source LLM Observability","href":"/helicone-headers/header-directory"},{"title":"Latency Impact","sidebarTitle":"Latency","description":"Helicone minimizes latency for your LLM applications using Cloudflare's global network. Detailed benchmarking results and performance metrics included.","twitter:title":"Latency Impact - Helicone OSS LLM Observability","href":"/references/latency-affect"},{"title":"Open Source","sidebarTitle":"Open Source","description":"Understanding Helicone's open-source status and how to contribute","href":"/references/open-source"},{"title":"Proxy vs Async Integration","sidebarTitle":"Proxy vs Async","description":"Compare Helicone's Proxy and Async integration methods. Understand the features, benefits, and use cases for each approach to choose the best fit for your LLM application.","twitter:title":"Proxy vs Async Integration - Helicone OSS LLM Observability","href":"/references/proxy-vs-async"},{"title":"Availability and Reliability","sidebarTitle":"Reliability","description":"Helicone ensures high availability for your LLM applications using Cloudflare's global network. Learn about our deployment practices and how we maintain reliability.","twitter:title":"Availability - Helicone OSS LLM Observability","href":"/references/availability"},{"group":"Legacy Features","pages":[{"title":"Editor","sidebarTitle":"UI Managed","description":"Design, version, and manage your prompts collaboratively, then [effortlessly deploy them across your app](/features/prompts/generate).","twitter:title":"Prompts | Helicone OSS LLM Observability","href":"/features/prompts-legacy/editor"},{"title":"Generate API","sidebarTitle":"Generate (legacy)","description":"Deploy your [Editor](/features/prompts/editor) prompts effortlessly with a light and modern package.","twitter:title":"Generate API | Helicone OSS LLM Observability","href":"/features/prompts-legacy/generate"},{"title":"Moderations","sidebarTitle":"Moderations","description":"Enable OpenAI's moderation feature in your LLM applications to automatically detect and filter harmful content in user messages.","twitter:title":"Moderations - Helicone OSS LLM Observability","href":"/features/advanced-usage/moderations"}]}]}]},{"anchor":"API Reference","icon":"code","groups":[{"group":"AI Gateway","pages":[{"title":"Chat Completions (Gateway)","sidebarTitle":"Chat Completions","description":"Create chat completions via the AI Gateway","openapi":"post /v1/chat/completions","href":"/rest/ai-gateway/post-v1-chat-completions"},{"title":"Responses (Gateway)","sidebarTitle":"Responses","description":"Create responses via the AI Gateway","openapi":"post /v1/responses","href":"/rest/ai-gateway/post-v1-responses"}]},{"group":"Models","pages":[{"title":"Get Models","sidebarTitle":"Get Models (OpenAI Compatible)","description":"Returns all available models supported by Helicone AI Gateway (OpenAI-compatible endpoint)","openapi":"get /v1/models","href":"/rest/ai-gateway/get-v1models"},{"title":"Get Multimodal Models","sidebarTitle":"Get Multimodal Models (OpenAI Compatible)","description":"Returns all available multimodal models supported by Helicone AI Gateway (OpenAI-compatible endpoint)","openapi":"get /v1/models/multimodal","href":"/rest/ai-gateway/get-v1models-multimodal"},{"title":"Get Model Registry","sidebarTitle":"Get All Available Models","description":"Returns all models and endpoints supported by the Helicone AI Gateway","openapi":"get /v1/public/model-registry/models","href":"/rest/models/get-v1public-model-registry-models"}]},{"group":"Request","pages":[{"title":"Get Requests","sidebarTitle":"Get Requests","description":"Retrieve all requests visible in the request table at Helicone.","twitter:title":"Get Requests - Helicone OSS LLM Observability","openapi":"post /v1/request/query-clickhouse","href":"/rest/request/post-v1requestquery-clickhouse"},{"title":"Get Requests (Point Queries)","sidebarTitle":"Get Requests (Point Queries)","description":"Retrieve all requests visible in the request table at Helicone.","twitter:title":"Get Requests (Point Queries) - Helicone OSS LLM Observability","openapi":"post /v1/request/query","href":"/rest/request/post-v1requestquery"},{"title":"Get Single Request","sidebarTitle":"Get Single Request","description":"Retrieve a single request visible in the request table at Helicone.","twitter:title":"Get Single Request - Helicone OSS LLM Observability","openapi":"get /v1/request/{requestId}","href":"/rest/request/get-v1request"},{"title":"Get Request Inputs","sidebarTitle":"Get Request Inputs","description":"Retrieve the prompt template inputs (variables) used for a specific request made through AI Gateway prompt management.","twitter:title":"Get Request Inputs - Helicone OSS LLM Observability","openapi":"get /v1/request/{requestId}/inputs","href":"/rest/request/get-v1request-inputs"},{"title":"Get Requests by IDs","sidebarTitle":"Get Requests by IDs","description":"Retrieve all requests visible in the request table at Helicone.","twitter:title":"Get Requests by IDs - Helicone OSS LLM Observability","openapi":"post /v1/request/query-ids","href":"/rest/request/post-v1requestquery-ids"},{"title":"Submit Feedback","sidebarTitle":"Submit Feedback","description":"Submit feedback for a specific request.","twitter:title":"Submit Feedback - Helicone OSS LLM Observability","openapi":"post /v1/request/{requestId}/feedback","href":"/rest/request/post-v1request-feedback"},{"title":"Upsert Request Property","sidebarTitle":"Upsert Request Property","description":"Create or update a property of a specific request.","twitter:title":"Upsert Request Property - Helicone OSS LLM Observability","openapi":"put /v1/request/{requestId}/property","href":"/rest/request/put-v1request-property"},{"title":"Submit Request Assets","sidebarTitle":"Submit Request Assets","description":"Submit assets for a specific request. - If you don't know what this is, you probably don't need this.","twitter:title":"Submit Request Assets - Helicone OSS LLM Observability","openapi":"post /v1/request/{requestId}/assets/{assetId}","href":"/rest/request/post-v1request-assets"},{"title":"Submit Score","sidebarTitle":"Submit Score","description":"Submit a score for a specific request.","twitter:title":"Submit Score - Helicone OSS LLM Observability","openapi":"post /v1/request/{requestId}/score","href":"/rest/request/post-v1request-score"}]},{"group":"Session","pages":[{"title":"Query Sessions","sidebarTitle":"Query Sessions","description":"Search and filter through session data","openapi":"post /v1/session/query","href":"/rest/session/post-v1sessionquery"},{"title":"Query Session Metrics","sidebarTitle":"Query Session Metrics","description":"Search and analyze session performance metrics","openapi":"post /v1/session/metrics/query","href":"/rest/session/post-v1sessionmetricsquery"},{"title":"Add Session Feedback","sidebarTitle":"Add Session Feedback","description":"Submit feedback for a specific session","openapi":"post /v1/session/{sessionId}/feedback","href":"/rest/session/post-v1session-feedback"}]},{"group":"Prompts","pages":[{"title":"Create Prompt","api":"POST https://api.helicone.ai/v1/prompt-2025","description":"Create a new prompt with initial version","href":"/rest/prompts/post-v1prompt-2025"},{"title":"Get Prompt","api":"GET https://api.helicone.ai/v1/prompt-2025/id/{promptId}","description":"Retrieve a specific prompt by ID","href":"/rest/prompts/get-v1prompt-2025-id-promptid"},{"title":"Rename Prompt","api":"POST https://api.helicone.ai/v1/prompt-2025/id/{promptId}/rename","description":"Rename an existing prompt","href":"/rest/prompts/post-v1prompt-2025-id-promptid-rename"},{"title":"Update Prompt Tags","api":"PATCH https://api.helicone.ai/v1/prompt-2025/id/{promptId}/tags","description":"Update the tags for a prompt","href":"/rest/prompts/patch-v1prompt-2025-id-promptid-tags"},{"title":"Delete Prompt","api":"DELETE https://api.helicone.ai/v1/prompt-2025/{promptId}","description":"Delete an entire prompt and all its versions","href":"/rest/prompts/delete-v1prompt-2025-promptid"},{"title":"Update Prompt","api":"POST https://api.helicone.ai/v1/prompt-2025/update","description":"Create a new version of an existing prompt","href":"/rest/prompts/post-v1prompt-2025-update"},{"title":"Set Version Environment","api":"POST https://api.helicone.ai/v1/prompt-2025/update/environment","description":"Set the environment for a specific prompt version","href":"/rest/prompts/post-v1prompt-2025-update-environment"},{"title":"Delete Prompt Version","api":"DELETE https://api.helicone.ai/v1/prompt-2025/{promptId}/{versionId}","description":"Delete a specific version of a prompt","href":"/rest/prompts/delete-v1prompt-2025-promptid-versionid"},{"title":"Query Prompts","api":"POST https://api.helicone.ai/v1/prompt-2025/query","description":"Search and filter prompts with pagination","href":"/rest/prompts/post-v1prompt-2025-query"},{"title":"Get Prompt Version","api":"POST https://api.helicone.ai/v1/prompt-2025/query/version","description":"Retrieve a specific prompt version with its content","href":"/rest/prompts/post-v1prompt-2025-query-version"},{"title":"Get Prompt Version by Environment","api":"POST https://api.helicone.ai/v1/prompt-2025/query/environment-version","description":"Retrieve a prompt version for a specific environment","href":"/rest/prompts/post-v1prompt-2025-query-environment-version"},{"title":"Get Prompt Versions","api":"POST https://api.helicone.ai/v1/prompt-2025/query/versions","description":"Retrieve all versions of a specific prompt","href":"/rest/prompts/post-v1prompt-2025-query-versions"},{"title":"Get Production Version","api":"POST https://api.helicone.ai/v1/prompt-2025/query/production-version","description":"Retrieve the production version of a specific prompt","href":"/rest/prompts/post-v1prompt-2025-query-production-version"},{"title":"Get Prompt Version Counts","api":"POST https://api.helicone.ai/v1/prompt-2025/query/total-versions","description":"Get version count statistics for a specific prompt","href":"/rest/prompts/post-v1prompt-2025-query-total-versions"},{"title":"Get Prompt Inputs","api":"GET https://api.helicone.ai/v1/prompt-2025/id/{promptId}/{versionId}/inputs","description":"Get the inputs used for a specific prompt version in a request","href":"/rest/prompts/get-v1prompt-2025-id-promptid-versionid-inputs"},{"title":"Get Prompt Body","api":"GET https://api.helicone.ai/v1/prompt-2025/{promptVersionId}/prompt-body","description":"Retrieve the full prompt body (messages, tools, etc.) for a specific prompt version","href":"/rest/prompts/get-v1prompt-2025-promptversionid-prompt-body"},{"title":"Get Prompt Tags","api":"GET https://api.helicone.ai/v1/prompt-2025/tags","description":"Retrieve all available prompt tags","href":"/rest/prompts/get-v1prompt-2025-tags"},{"title":"Get Environments","api":"GET https://api.helicone.ai/v1/prompt-2025/environments","description":"Get all available environments across your prompts","href":"/rest/prompts/get-v1prompt-2025-environments"},{"title":"Get Prompt Count","api":"GET https://api.helicone.ai/v1/prompt-2025/count","description":"Get the total number of prompts","href":"/rest/prompts/get-v1prompt-2025-count"}]},{"group":"User","pages":[{"title":"Query User Metrics Overview","sidebarTitle":"Query User Metrics Overview","description":"Get an overview of aggregated user metrics","openapi":"post /v1/user/metrics-overview/query","href":"/rest/user/post-v1usermetrics-overviewquery"},{"title":"Query User Metrics","sidebarTitle":"Query User Metrics","description":"Search and filter through user-specific metrics","openapi":"post /v1/user/metrics/query","href":"/rest/user/post-v1usermetricsquery"},{"title":"Get User Data","sidebarTitle":"Get User Data","description":"Retrieve user data based on specified user IDs and time filters","twitter:title":"Get User Data - Helicone OSS LLM Observability","openapi":"post /v1/user/query","href":"/rest/user/post-v1userquery"}]},{"group":"Evals","pages":[{"title":"Query Evaluations","sidebarTitle":"Query Evaluations","description":"Search and filter through evaluation results","openapi":"post /v1/evals/query","href":"/rest/evals/post-v1evalsquery"},{"title":"Get Evaluation Scores","sidebarTitle":"Get Evaluation Scores","description":"Retrieve scoring metrics for evaluations","openapi":"get /v1/evals/scores","href":"/rest/evals/get-v1evalsscores"},{"title":"Create Evaluation","sidebarTitle":"Create Evaluation","description":"Create a new evaluation for a specific request","openapi":"post /v1/evals/{requestId}","href":"/rest/evals/post-v1evals"},{"title":"Query Score Distributions","sidebarTitle":"Query Score Distributions","description":"Analyze distribution of evaluation scores","openapi":"post /v1/evals/score-distributions/query","href":"/rest/evals/post-v1evalsscore-distributionsquery"}]},{"group":"Webhooks","pages":[{"title":"Get Webhooks","sidebarTitle":"Get Webhooks","description":"Get all webhooks","openapi":"get /v1/webhooks","href":"/rest/webhooks/get-v1webhooks"},{"title":"Create Webhook","sidebarTitle":"Create Webhook","description":"Create a new webhook","openapi":"post /v1/webhooks","href":"/rest/webhooks/post-v1webhooks"},{"title":"Delete Webhook","sidebarTitle":"Delete Webhook","description":"Delete a webhook","openapi":"delete /v1/webhooks/{webhookId}","href":"/rest/webhooks/delete-v1webhooks"}]},{"group":"Trace","pages":[{"title":"Log Trace","sidebarTitle":"Log Trace","description":"Log a trace to the Helicone API","openapi":"post /v1/trace/log","href":"/rest/trace/post-v1tracelog"}]},{"group":"Property","pages":[{"title":"Query Properties","sidebarTitle":"Query Properties","description":"Query properties for a specific user","openapi":"post /v1/property/query","href":"/rest/property/post-v1propertyquery"}]},{"group":"Dashboard","pages":[{"title":"Query Dashboard Scores","sidebarTitle":"Query Dashboard Scores","description":"Retrieve and filter dashboard scoring metrics","openapi":"post /v1/dashboard/scores/query","href":"/rest/dashboard/post-v1dashboardscoresquery"}]}]},{"anchor":"Guides","icon":"file-lines","groups":[{"group":"Guides","pages":[{"title":"Helicone Guides","description":"Guides for building, optimizing, and analyzing LLM applications with Helicone.","sidebarTitle":"Overview","twitter:title":"Helicone Guides | Building, Optimizing, and Analyzing LLM Applications","href":"/guides/overview"},{"group":"Tutorials","pages":[{"title":"Building and Monitoring AI Agents with Helicone","sidebarTitle":"AI Agent Monitoring","description":"Learn how to build autonomous AI agents, monitor and optimize their performance using Helicone's Sessions.","twitter:title":"Building and Monitoring AI Agents with Helicone—LLM Observability","href":"/guides/cookbooks/ai-agents"},{"title":"How to Build a Multi-Model AI Assistant with Vercel AI Gateway and Helicone","sidebarTitle":"Customer Support Assistant","description":"Build a customer support assistant that switches between AI models based on query complexity while tracking costs","twitter:title":"Multi-Model AI Assistant with Vercel AI Gateway + Helicone","href":"/guides/cookbooks/vercel-ai-gateway"},{"title":"Build an AI Debate Simulator with Vercel AI Gateway","sidebarTitle":"AI Debate Simulator","description":"Create an interactive debate app that showcases different ways to integrate Vercel AI Gateway with Helicone observability","twitter:title":"AI Debate Simulator with Vercel AI Gateway + Helicone","href":"/guides/cookbooks/vercel-ai-gateway-demo"},{"title":"Helicone Evals with Ragas","sidebarTitle":"Helicone Evals with Ragas","description":"Evaluate your LLM applications with Ragas and Helicone.","twitter:title":"Helicone Evals with Ragas - Helicone OSS LLM Observability","href":"/guides/cookbooks/helicone-evals-with-ragas"},{"title":"How to build a chatbot with OpenAI structured outputs","sidebarTitle":"OpenAI Structured Outputs","description":"This step-by-step guide covers function calling, response formatting and monitoring with Helicone.","twitter:title":"How to build a chatbot with OpenAI structured outputs - Helicone OSS LLM Observability","href":"/guides/cookbooks/openai-structured-outputs"},{"title":"How to Prompt Thinking Models","sidebarTitle":"Prompt Thinking Models","description":"Learn how to effectively prompt thinking models like DeepSeek R1 and OpenAI o1/o3 for optimal results.","twitter:title":"How to Prompt Thinking Models - Helicone Guide","href":"/guides/cookbooks/prompt-thinking-models"}]},{"group":"How-to Guides","pages":[{"title":"Debugging LLM Applications","sidebarTitle":"Debugging","description":"Helicone provides an efficient platform for identifying and rectifying errors in your LLM applications, offering insights into their occurrence.","twitter:title":"Debugging LLM Applications - Helicone OSS LLM Observability","href":"/guides/cookbooks/debugging"},{"title":"Environment Tracking","sidebarTitle":"Environment Tracking","description":"Effortlessly track and manage your development, staging, and production environments with Helicone.","twitter:title":"Environment Tracking - Helicone OSS LLM Observability","href":"/guides/cookbooks/environment-tracking"},{"title":"ETL / Data Extraction","sidebarTitle":"ETL / Data Extraction","description":"Extract, transform, and load data from Helicone into your data warehouse using our CLI tool or REST API.","twitter:title":"ETL / Data Extraction - Helicone OSS LLM Observability","href":"/guides/cookbooks/etl"},{"title":"How to Run LLM Prompt Experiments","sidebarTitle":"Prompt Experiments","description":"Run experiments with historical datasets to test, evaluate, and improve prompts over time while preventing regressions in production systems.","twitter:title":"How to Run LLM Prompt Experiments - Helicone OSS LLM Observability","href":"/guides/cookbooks/experiments"},{"title":"How to fine-tune LLMs with Helicone and OpenPipe","sidebarTitle":"Fine-tuning LLMs with Helicone and OpenPipe","description":"Learn how to fine-tune large language models with Helicone and OpenPipe to optimize performance for specific tasks.","twitter:title":"How to Fine-Tune LLMs with Helicone and OpenPipe","href":"/guides/cookbooks/fine-tune"},{"title":"Retrieving Sessions","sidebarTitle":"Retrieve Sessions","description":"Use the Request API to retrieve session data, allowing you to analyze conversation threads.","twitter:title":"Retrieving Sessions - Helicone OSS LLM Observability","href":"/guides/cookbooks/getting-sessions"},{"title":"Getting User Requests","sidebarTitle":"User Requests","description":"Use the Request API to retrieve user-specific requests, allowing you to monitor, debug, and track costs for individual users.","twitter:title":"Getting User Requests - Helicone OSS LLM Observability","href":"/guides/cookbooks/getting-user-requests"},{"title":"Integrating Helicone with GitHub Actions","sidebarTitle":"GitHub Actions Integration","description":"Automate the monitoring and caching of LLM calls in your CI pipelines with Helicone.","twitter:title":"Integrating Helicone with GitHub Actions - Helicone OSS LLM Observability","href":"/guides/cookbooks/github-actions"},{"title":"How to Label Your Request Data","sidebarTitle":"Labeling Requests","description":"Label your request data to make it easier to search and filter in Helicone. Learn about custom properties, feedback, and scores.","twitter:title":"How to Label Your Request Data - Helicone OSS LLM Observability","href":"/guides/cookbooks/labeling-request-data"},{"title":"Manual Logger with Streaming","description":"Learn how to use Helicone's Manual Logger to track streaming LLM responses","href":"/guides/cookbooks/manual-logger-streaming"},{"title":"Logging OpenAI Batch API Requests with Helicone","sidebarTitle":"OpenAI Batch API","description":"Learn how to track and monitor OpenAI Batch API requests using Helicone's Manual Logger for comprehensive observability.","twitter:title":"Logging OpenAI Batch API Requests with Helicone - LLM Observability","href":"/guides/cookbooks/openai-batch-api"},{"title":"How to build a chatbot with OpenAI structured outputs","sidebarTitle":"OpenAI Structured Outputs","description":"This step-by-step guide covers function calling, response formatting and monitoring with Helicone.","twitter:title":"How to build a chatbot with OpenAI structured outputs - Helicone OSS LLM Observability","href":"/guides/cookbooks/openai-structured-outputs"},{"title":"Predefined Request IDs","sidebarTitle":"Request ID Predefinition","description":"Learn how to predefine Helicone request IDs for advanced tracking and asynchronous operations in your LLM applications.","twitter:title":"Predefined Request IDs - Helicone OSS LLM Observability","href":"/guides/cookbooks/predefining-request-id"},{"title":"Replaying LLM Sessions","sidebarTitle":"Replay Sessions","description":"Learn how to replay and modify LLM sessions using Helicone to optimize your AI agents and improve their performance.","twitter:title":"Replaying LLM Sessions - Helicone OSS LLM Observability","href":"/guides/cookbooks/replay-session"},{"title":"Using Custom Properties to Segment Data","sidebarTitle":"Segmenting Data","description":"Derive powerful insights into costs and user behaviors using custom properties in Helicone. Learn to track environments, user types, and more.","twitter:title":"Using Custom Properties to Segment Data - Helicone OSS LLM Observability","href":"/guides/cookbooks/segmentation"}]},{"group":"Knowledge Base","pages":[{"group":"Prompt Engineering","pages":[{"title":"Overview","sidebarTitle":"Overview","description":"Prompt engineering is the strategic crafting of prompts to guide Large Language Models to produce accurate and desired outputs.","twitter:title":"Overview - Prompt Engineering Techniques | Helicone","href":"/guides/prompt-engineering/overview"},{"title":"Be specific and clear","sidebarTitle":"Be specific and clear","description":"Be specific and clear in your prompts to improve the quality of the responses you receive.","twitter:title":"Be Specific and Clear - Prompt Engineering Techniques","href":"/guides/prompt-engineering/be-specific-and-clear"},{"title":"Implement few-shot learning","sidebarTitle":"Implement few-shot learning","description":"Provide the model with a few examples of the desired output to guide it to produce responses that closely align with your expectations.","twitter:title":"Implement Few-Shot Learning - Prompt Engineering Techniques","href":"/guides/prompt-engineering/implement-few-shot-learning"},{"title":"Leverage role-playing","sidebarTitle":"Leverage role-playing","description":"Assign a specific role or persona to the model as a system prompt to set the style, tone, and content of the output.","twitter:title":"Leverage Role-Playing - Prompt Engineering Techniques","href":"/guides/prompt-engineering/leverage-role-playing"},{"title":"Use Chain-of-Thought prompting","sidebarTitle":"Use chain-of-thought prompting","description":"By encouraging the model to generate intermediate reasoning steps before arriving at a final answer, you can achieve more accurate and insightful responses.","twitter:title":"Use Chain-of-Thought Prompting - Prompt Engineering Techniques","href":"/guides/prompt-engineering/use-chain-of-thought-prompting"},{"title":"Use constrained outputs","sidebarTitle":"Use constrained outputs","description":"Set clear boundaries and rules for the model's responses to improve accuracy, consistency, and utility","twitter:title":"Use Constrained Outputs - Prompt Engineering Techniques","href":"/guides/prompt-engineering/use-constrained-outputs"},{"title":"Use Least-to-Most prompting","sidebarTitle":"Use least-to-most prompting","description":"Break down complex problems into smaller parts, starting with the least amount of information.","twitter:title":"Use Least-to-Most Prompting - Prompt Engineering Techniques","href":"/guides/prompt-engineering/use-least-to-most-prompting"},{"title":"Use Meta-Prompting","sidebarTitle":"Use meta-prompting","description":"Use large language models (LLMs) to create and refine prompts dynamically.","twitter:title":"Use Meta-Prompting - Prompt Engineering Techniques","href":"/guides/prompt-engineering/use-meta-prompting"},{"title":"Use structured formats","sidebarTitle":"Use structured formats","description":"Format the generated output to make it easier to interpret and parse the information.","twitter:title":"Use Structured Formats - Prompt Engineering Techniques","href":"/guides/prompt-engineering/use-structured-formats"},{"title":"Use Thread-of-Thought prompting","sidebarTitle":"Use thread-of-thought prompting","description":"Maintain a coherent line of reasoning between LLM interactions by building on previous ideas. ","twitter:title":"Use Thread-of-Thought Prompting - Prompt Engineering Techniques","href":"/guides/prompt-engineering/use-thread-of-thought-prompting"}]}]}]}]},{"anchor":"FAQ","icon":"lightbulb"}]},"title":"Incorrect Cost Calculation While Streaming? - Helicone OSS LLM Observability","buildId":"dpl_GxLKTNgVgMFmEBB5ZzPVwniJKE25","deploymentId":"dpl_GxLKTNgVgMFmEBB5ZzPVwniJKE25","dynamics":[]}