diff --git a/docs/onboarding/llm-analytics/cloudflare-ai-gateway.tsx b/docs/onboarding/llm-analytics/cloudflare-ai-gateway.tsx new file mode 100644 index 000000000000..4ed67a6107df --- /dev/null +++ b/docs/onboarding/llm-analytics/cloudflare-ai-gateway.tsx @@ -0,0 +1,209 @@ +import { OnboardingComponentsContext, createInstallation } from 'scenes/onboarding/OnboardingDocsContentWrapper' + +import { StepDefinition } from '../steps' + +export const getCloudflareAIGatewaySteps = (ctx: OnboardingComponentsContext): StepDefinition[] => { + const { CodeBlock, CalloutBox, Markdown, Blockquote, dedent, snippets } = ctx + + const NotableGenerationProperties = snippets?.NotableGenerationProperties + + return [ + { + title: 'Install dependencies', + badge: 'required', + content: ( + <> + + + See the complete + [Node.js](https://github.com/PostHog/posthog-js/tree/main/examples/example-ai-cloudflare-ai-gateway) + and + [Python](https://github.com/PostHog/posthog-python/tree/master/examples/example-ai-cloudflare-ai-gateway) + examples on GitHub. + + + + Install the OpenTelemetry SDK, the OpenAI instrumentation, and the OpenAI SDK. + + + + ), + }, + { + title: 'Set up OpenTelemetry tracing', + badge: 'required', + content: ( + <> + + Configure OpenTelemetry to auto-instrument OpenAI SDK calls and export traces to PostHog. + PostHog converts `gen_ai.*` spans into `$ai_generation` events automatically. + + + ', + host: '', + }), + ], + instrumentations: [new OpenAIInstrumentation()], + }) + sdk.start() + `, + }, + ]} + /> + + ), + }, + { + title: 'Call Cloudflare AI Gateway', + badge: 'required', + content: ( + <> + + {dedent` + Cloudflare AI Gateway exposes an OpenAI-compatible \`compat\` endpoint at + \`https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/compat\`. Point the OpenAI SDK at + this URL with your upstream provider key (e.g. your OpenAI key) and pass your AI Gateway token via + the \`cf-aig-authorization\` header. Specify models as \`provider/model-id\` (for example + \`openai/gpt-5-mini\` or \`anthropic/claude-sonnet-4-5\`). + `} + + + ", + }, + base_url="https://gateway.ai.cloudflare.com/v1///compat", + ) + + response = client.chat.completions.create( + model="openai/gpt-5-mini", + max_completion_tokens=1024, + messages=[ + {"role": "user", "content": "Tell me a fun fact about hedgehogs"} + ], + ) + + print(response.choices[0].message.content) + `, + }, + { + language: 'typescript', + file: 'Node', + code: dedent` + import OpenAI from 'openai' + + const client = new OpenAI({ + apiKey: '', + defaultHeaders: { + 'cf-aig-authorization': 'Bearer ', + }, + baseURL: 'https://gateway.ai.cloudflare.com/v1///compat', + }) + + const response = await client.chat.completions.create({ + model: 'openai/gpt-5-mini', + max_completion_tokens: 1024, + messages: [{ role: 'user', content: 'Tell me a fun fact about hedgehogs' }], + }) + + console.log(response.choices[0].message.content) + `, + }, + ]} + /> + +
+ + {dedent` + **Note:** If you want to capture LLM events anonymously, omit the \`posthog.distinct_id\` resource attribute. See our docs on [anonymous vs identified events](https://posthog.com/docs/data/anonymous-vs-identified-events) to learn more. + `} + +
+ + + {dedent` + You can expect captured \`$ai_generation\` events to have the following properties: + `} + + + {NotableGenerationProperties && } + + ), + }, + ] +} + +export const CloudflareAIGatewayInstallation = createInstallation(getCloudflareAIGatewaySteps) diff --git a/docs/onboarding/llm-analytics/dedalus.tsx b/docs/onboarding/llm-analytics/dedalus.tsx new file mode 100644 index 000000000000..f04d3ad56de1 --- /dev/null +++ b/docs/onboarding/llm-analytics/dedalus.tsx @@ -0,0 +1,198 @@ +import { OnboardingComponentsContext, createInstallation } from 'scenes/onboarding/OnboardingDocsContentWrapper' + +import { StepDefinition } from '../steps' + +export const getDedalusSteps = (ctx: OnboardingComponentsContext): StepDefinition[] => { + const { CodeBlock, CalloutBox, Markdown, Blockquote, dedent, snippets } = ctx + + const NotableGenerationProperties = snippets?.NotableGenerationProperties + + return [ + { + title: 'Install dependencies', + badge: 'required', + content: ( + <> + + + See the complete + [Node.js](https://github.com/PostHog/posthog-js/tree/main/examples/example-ai-dedalus) and + [Python](https://github.com/PostHog/posthog-python/tree/master/examples/example-ai-dedalus) + examples on GitHub. + + + + Install the OpenTelemetry SDK, the OpenAI instrumentation, and the OpenAI SDK. + + + + ), + }, + { + title: 'Set up OpenTelemetry tracing', + badge: 'required', + content: ( + <> + + Configure OpenTelemetry to auto-instrument OpenAI SDK calls and export traces to PostHog. + PostHog converts `gen_ai.*` spans into `$ai_generation` events automatically. + + + ', + host: '', + }), + ], + instrumentations: [new OpenAIInstrumentation()], + }) + sdk.start() + `, + }, + ]} + /> + + ), + }, + { + title: 'Call Dedalus Labs', + badge: 'required', + content: ( + <> + + Dedalus Labs exposes an OpenAI-compatible endpoint at `https://api.dedaluslabs.ai/v1`, so you + can route the standard OpenAI SDK at it. Models are specified as `provider/model-id`, for + example `openai/gpt-5-mini` or `anthropic/claude-sonnet-4-5`. + + + ', + }) + + const response = await client.chat.completions.create({ + model: 'openai/gpt-5-mini', + max_completion_tokens: 1024, + messages: [{ role: 'user', content: 'Tell me a fun fact about hedgehogs' }], + }) + + console.log(response.choices[0].message.content) + `, + }, + ]} + /> + +
+ + {dedent` + **Note:** If you want to capture LLM events anonymously, omit the \`posthog.distinct_id\` resource attribute. See our docs on [anonymous vs identified events](https://posthog.com/docs/data/anonymous-vs-identified-events) to learn more. + `} + +
+ + + {dedent` + You can expect captured \`$ai_generation\` events to have the following properties: + `} + + + {NotableGenerationProperties && } + + ), + }, + ] +} + +export const DedalusInstallation = createInstallation(getDedalusSteps) diff --git a/frontend/__snapshots__/scenes-other-onboarding--llm-analytics-sdk-install--dark.png b/frontend/__snapshots__/scenes-other-onboarding--llm-analytics-sdk-install--dark.png index c623b3ed10ad..b7d0b97d7731 100644 Binary files a/frontend/__snapshots__/scenes-other-onboarding--llm-analytics-sdk-install--dark.png and b/frontend/__snapshots__/scenes-other-onboarding--llm-analytics-sdk-install--dark.png differ diff --git a/frontend/__snapshots__/scenes-other-onboarding--llm-analytics-sdk-install--light.png b/frontend/__snapshots__/scenes-other-onboarding--llm-analytics-sdk-install--light.png index ccc1721d3d59..d917e5224c17 100644 Binary files a/frontend/__snapshots__/scenes-other-onboarding--llm-analytics-sdk-install--light.png and b/frontend/__snapshots__/scenes-other-onboarding--llm-analytics-sdk-install--light.png differ diff --git a/frontend/snapshots.yml b/frontend/snapshots.yml index 951e84beacfd..0e020e0e4191 100644 --- a/frontend/snapshots.yml +++ b/frontend/snapshots.yml @@ -895,33 +895,33 @@ snapshots: components-sentencelist--two-actions--light: hash: v1.k794b7964.de855ee2b93a8cc8c2759f52ac3634cec9b4143468b4a5189733f30527a68b7f.16XvM0G_PFP8dFr5EGegZQUBlzR_rOK-ltPRuaQxYzI components-sessiontimeline--default--dark: - hash: v1.k794b7964.4d7d7c6fdb7aa3b480effca2ff5b5a28f22ff54e6a476559824181614cfb6808.VK8GBi-P8SekmfTCTmmnJD5ogrnyJFDBYMv3BYsotuo + hash: v1.k794b7964.ca94a5d5561f3d26c316dc227f5b06b4143d9346d48c1cbb96f95a27e35908ca.tuw6QAS7WEmh665nmN761p6fJ3YXYyWWnebtxSj4NG4 components-sessiontimeline--default--light: - hash: v1.k794b7964.bb6e9e5875099ef23b0312fdd0fa562fd52eaf718bd0deb096154e194b8cc0eb.-bXDp-9iTcE8nogAw_5xqkhthDLhqsubEMd4crGvLhw + hash: v1.k794b7964.1af96b2e821bb450912721b0db819633bbe409271960138cc6e1652975cfe4d1.SCjjHuaRLZlDqp1SA_IuEvQ8LI-Lmp5hmFUetKvqX8c components-sessiontimeline--empty--dark: - hash: v1.k794b7964.b83a8eab282d3ae625bc71bd15fc72cb442d3032ab3f116b3bd18bc84310b8a4.F6zkIpZqiPrcZB35qjrCam1wvMCZUbAMwtyT8qC0TiQ + hash: v1.k794b7964.117e4930b7a3204cf50d1f3a17fe8cc2af29584fad46bcd2f8122a276e3d2ee6.D4O5j1VDi1xazIsl_NmTweCDw7vUp0AcRFqzee8K4Go components-sessiontimeline--empty--light: - hash: v1.k794b7964.96d06a87fc9b646a8040e0dbdfc88641e656a1eca303d236a394a3c8f36d1d92.LXesk9nR83QcXtoMRGWgc6OHcFkUPHppn2o_AVQLG-E + hash: v1.k794b7964.242a0470c50739f96d3a7636be0b327a9f4bed7aca463037ac37cde1f289bf77.6ypj-E3KXR8BeItqIwEQr41ntXJxB9b8im7jVopX7e8 components-sessiontimeline--few-items--dark: - hash: v1.k794b7964.34695ccad4fa69416be590755420d9859f0fefcecb2a8a506463b0020b8f5743.JzllDGNJWmahB42VBaoV3fPCqVJAHmgWL-IGfi-QKP8 + hash: v1.k794b7964.802aca44eb362cbbe97c62d37c9e89342b86df98b943ad5c00f458b3fb346455.cNjTFrGlMwDOUzxBbjDq9Vx6MYbk06POfh4sBIQeVqw components-sessiontimeline--few-items--light: - hash: v1.k794b7964.5d5448f0911b1d6403e99dd65b3f2ce41899104b2b0c409197ba330e0562e232.ajm9Q1AQbMdUwWGpw_8pDw2S-WMxFjkezyRR2kriHVE + hash: v1.k794b7964.8359d4f9e2d09bf3302071f9dfe314882fb4e61914675d0d65659f4576c2a325.lmtdkEBunpo7DKctQWemBFHqcNV_LzOQ1MMCuACKxhQ components-sessiontimeline--many-items--dark: - hash: v1.k794b7964.e3ada2e641535f43f5cd380bed4946db3637ed6f38b1ec292f8fe5fb5ccffddc.6-ACdvO47w-kHiR2sOessyA9ItP6rj0hIDp_OOYBo-c + hash: v1.k794b7964.1fea3dc791422d31988fb87d70acf06f5b3a4b2c1198d8313cc0360f88bc8116.vXznb_NqdOeMahWmPg-SzX4ucippbGMStO0Pm35QYJY components-sessiontimeline--many-items--light: - hash: v1.k794b7964.ce325e88243a5d05c358d84e3ea53768887ac03f4bc4a8be99cc1bada1adf1c4.c_DRH7n97yqDm1opJqCWDA__cuSxYXBqwx39t1SxvzU + hash: v1.k794b7964.1af96b2e821bb450912721b0db819633bbe409271960138cc6e1652975cfe4d1.2LpsENB-RPMnjRXu83yqjFI5sU7ZhKnya9CMJGju-rk components-sessiontimeline--short-container--dark: - hash: v1.k794b7964.5b61b7e556d6445391e4190a712ffd8be71272394210a0fd7b5e8e9862c70b1f.lCv2CUTERa2p2a4qXDsSK1AU1ZQ-i0_p55E9TF4Ljv8 + hash: v1.k794b7964.8aabb0c108c14ff92f068ea191fb62c38f13cadb52f7c35fde2713d9f837e6d3.t6UBa5prfFrIVASuMdQQzAk8utGg91fYnI0ROJ6dZTA components-sessiontimeline--short-container--light: - hash: v1.k794b7964.7a8d04b82b3bade0d649532e53acd8a3317d3d24edc0645e73ed17ee6ceac682.egRkS3C2Gupxrcw4Y-d3tpwvAqUTNNqJkm1qgRgNnZk + hash: v1.k794b7964.c21e4e464f26f74604e72d987a7afb3c32c0395d76344e539f9783faa64d7cf5.bIvss5gYa9hvi4qAbBnzpLg_JDK__HXUxs6WE3PDcmw components-sessiontimeline--single-category--dark: - hash: v1.k794b7964.4aeb448f07d4801ea24627e89b7f10e6ab8d89339c9e14b247d13345cbb76ea6.vHD0RQK2ViHfDHfBTJEAtkLxGz1xQ6PSFD9Ec7vt3ro + hash: v1.k794b7964.4efc00f256a04031c577fb746198663c6e964ee2655031b358ef558229c2d84b.2Yob2IqsLRJOd6f_6MfFMJlkIsPPRUzWsSNDWdwRov8 components-sessiontimeline--single-category--light: - hash: v1.k794b7964.8c11ea9b2e9b51d2e74e4ff2b8f421035348eddf69c5c445fb46b8d4cb7bfdee.sZlNNJFF1OSG9pAiKFdjPHA2Fa-sLyVLSRj64WJhHm0 + hash: v1.k794b7964.b531c5630f8e369780bac1c3b41c7f5a65ab2af1a69491a0110a1b8b63903970.RSyjPHd270V8TtZriatDAIXnsurPoTX065NPU5LjRNo components-sessiontimeline--tall-container--dark: - hash: v1.k794b7964.5b2168a7f550b1fc5b1ea23544b22e964e7ccdc05c8428973b59ed8fcf9140c8.ajf45Fq5kWNmNlCvvgLlSKZg4KPjEHFh_wZNkfavOpU + hash: v1.k794b7964.7109104ec40c05ea3eca54048f4197bb1c020f68213c03f3082f770abe5adb26.sZ51t0K2fekQ6GFRbjFdSUiQmXQ9Bs8XjBRPnm3r3Dw components-sessiontimeline--tall-container--light: - hash: v1.k794b7964.8417a7c875335f774a87c18ec003075924773f06bd6f3232e11d4425301049ab._WUuOUuvziQuTIzCDij9VxrRlUpSo8gSQnJ3sfWBEHI + hash: v1.k794b7964.0ede9654eb50b98af016df21e35937aaaa985b391287c7251223261b779ba8c0.qRu7-1C4jm1ke-PrcWqVaGxIkELW38OWkECxyfPZvaA components-sharing--dashboard-sharing--dark: hash: v1.k794b7964.9172fee3251bb40ec96b5066443f0bfdfeac9b46e3c107e138561273f121c883.3YV0WWrnxZUGl0kF7x8UuJcOlWS6PpBuWGuufI5rpl0 components-sharing--dashboard-sharing--light: @@ -1103,37 +1103,37 @@ snapshots: errortracking-exceptioncard--exception-card-all-events--light: hash: v1.k794b7964.f70a5e7aea683943c006921a3f93f9ac05f965b78df448f2e450c5037541223b.l4SO-xgke_z9_CI8SqotWE3qELJExh7f9C35WHaOFE8 errortracking-exceptioncard--exception-card-base--dark: - hash: v1.k794b7964.265ea8569fdd5a6e2356ea98fbaf3556a87f75f970c118e23a02ee89f7d66f41.7s2545kx_LaVo5Xe4_WTs3wQDuWMt6Ww4NqEY-9ixWk + hash: v1.k794b7964.c608411802d114bafdbe912f0acbe45dfc3150f08d4dfc137b170ab1fa53cd39.MHu_AeyGfMG9EqgsaMUSM-S-1KwtgydKA3vN4xBvkbA errortracking-exceptioncard--exception-card-base--light: - hash: v1.k794b7964.6255c58e00852f7b5f82f868efb5a850fe90fb426e634845173cb6b292b5b12a.PJRE1tO0Z_GxF9hPp1yUvNsZyGPpQJTUXAoXxo1Aun8 + hash: v1.k794b7964.510a66d13f53945fe87241e5a873c912ed9afba813eb38b69983ab9fcda70feb.fJiD6A8ZGK2qZK4Pxk9bRngQh7t65mR-tTdrg6Fgrjs errortracking-exceptioncard--exception-card-no-in-app--dark: hash: v1.k794b7964.7de54c97848f39ac9a5b3713ef12c988d477825f54e8f2477d94f572fc38466e.9Tgur-taoYHnCXV6RIyuPvsQpTYxgN0WsvFj9WHusXg errortracking-exceptioncard--exception-card-no-in-app--light: hash: v1.k794b7964.26393084d370610692f0d5321cb2c52fc6bb037dbcceb318c20fdd5d1ff2a3b5.qOYb79dhUBCQBAqKoQ6QrWT8nFhjyrzb3u4dZ9xPSW4 errortracking-exceptioncard--exception-card-no-session-with-steps--dark: - hash: v1.k794b7964.bb2ce3962121c0572bdb1da568132545d9f992f74fb26b611a3dc7738c9fe816.vN04_aRTNjR--6jow6l_2Voedb_h7DFWFRigSPiXDI4 + hash: v1.k794b7964.36a4d7d367ecd079dcfc3f356a3a375d8590494cc489596db3e67a8e9eb4b04d.OquhH87uLyrdQknC1j1XDKkU79sRBVKKMs0HHxwL6ic errortracking-exceptioncard--exception-card-no-session-with-steps--light: - hash: v1.k794b7964.921c2067efd0369bab4cb2f8aaf1e5a3d24b97d394ed5f8f07fc4444db4a072c.T9ddQ4PHbLyccU9KcFQESWtT9uOAE5aLr6y1zrljkNI + hash: v1.k794b7964.0a0fefabf5c529de15d0611b5cb2e011dea5ceba7b685b1c2ec097619cd97d5a.5d-RM1VSfonStsHoN14BSf7pD-1jeUHieBc4pkvszg8 errortracking-exceptioncard--exception-card-no-session-without-steps--dark: hash: v1.k794b7964.abb06ab996305fbdb5b763880bc665b21c6cf33ed19a6615ab8c31e333850310.nHuv6x4dtKL4eYceAJPHkclnpghzkVBySR4o1ISRYkA errortracking-exceptioncard--exception-card-no-session-without-steps--light: hash: v1.k794b7964.0b0f41765217ee3295b1a74d32c24e8a1745318ff63e942e1867d8162a2eeb3b.5xfkc9DgasIwLNkj6vFdtcGh0TqXJxcCkPyJhPfE4Y0 errortracking-exceptioncard--exception-card-session-timeline-with-long-preview-texts--dark: - hash: v1.k794b7964.3f066074519718a7bde74de1064b81f7251b4927c8a922ec47f18c7a30fdaf4f.hHcO1nyZs730s3dAVhLZuxlXWbaAh4tc1Ek251uN4xw + hash: v1.k794b7964.beda84759961ec0a10b6e24f3137639ba66f452311e0719268c9e83b22604b4b.5wzymP7JEx6Oum0fXr7KlfdsstNvPrCmWYzhZ2YQBx0 errortracking-exceptioncard--exception-card-session-timeline-with-long-preview-texts--light: - hash: v1.k794b7964.7d4cc8b0034b35202135a14d37129aad45eeddde877ad27a2e55380c4664f962.btjg7-QsxEf9ERCRNi8JhJnWgS_ZGbZ8wvXZDoVCoS4 + hash: v1.k794b7964.106885552b79191ac3d24c6c232964d3cae295bf5e9d321686459399a4eba67a.w8lgRhgyQxZaWpIxKa5xt6GQ22NoJTamGuMiFGIOG70 errortracking-exceptioncard--exception-card-session-timeline-with-malformed-steps--dark: - hash: v1.k794b7964.794863d4be40e09ff56a7386763732a642b47d9eb9ead66b50444ec5c6fb8b93.fHhGLQHCkVpTokv_7nC7XSBa7ht6OIZrcQSaPEVyaF4 + hash: v1.k794b7964.349c5622d5b6f36583450d15fae94c09ccb90ed2229b9c0561bd298fdca2cbcf.Aa162cW98h7RGV7y2Bu74fDwbm67VMOc6T0qtEQ1eiU errortracking-exceptioncard--exception-card-session-timeline-with-malformed-steps--light: - hash: v1.k794b7964.7344e8f1f3d3068e0c3c1b897ff4624ff37629822efc7fd7464c7baa838c78dd.KEHq4o_IREoKfOXi_66QWuTGfEG1MO06LsKPcBYVnXc + hash: v1.k794b7964.0388bf49cfb8b5ef1915c34f56962c3cac56d9e3199ee9488c0044b2fbc25916.z9OkQmjYyelN1SAYC59WNJMLRAAp2lWFI7XXGfjv630 errortracking-exceptioncard--exception-card-session-timeline-with-steps--dark: - hash: v1.k794b7964.9db1d1e958c33039ff72b6684e828b8fd752c71295854ce4bf95a86225ebfafa.aGWX-xWWjMI0VF5I4b8IQmiger2BwpgUDQgEcwdHkMM + hash: v1.k794b7964.8d0cf42fa8b6b09250edf8844ea911ebde45752a84c4cef9bb8c489fc75ed1c7.a4vd8QsQV3L7Uzx0gWK5zkjtG3lIC8u7PrjQyL5XU3k errortracking-exceptioncard--exception-card-session-timeline-with-steps--light: - hash: v1.k794b7964.8ee2aec81e9b8c98ee3428689264388be513a16aa555f8b9a3ac99b6478d9ba7.lgKIk4VExihkYC_8ZYAmsSfL-LKZDUbZZV9LDUYYAlA + hash: v1.k794b7964.d19d6408e1d00557988c1d872e177d091fff2e35b9995f95f86f14dc0312ebe0._qL4cwFQUdHI8He7LpRbvRQ7CXq9D76H8wQGHegOiFU errortracking-exceptioncard--exception-card-session-timeline-without-steps--dark: - hash: v1.k794b7964.8b4e9dd32bf35cfe396a89eae3ec256ea900bf551339d4585edbae2bf72d3ad7.MysUmdgvr4O9OUdDpQ8MXkkUBkpmG1UpvMoMJLkhRxA + hash: v1.k794b7964.e3ef4fd9cc4b6d78c9b770bd7ba6d8113539cd73ce87b31013306f745ea9202f.9NtMQB2_LUzXfE_zDhDnKUsCgHVWc4ttxT2tpksLyhw errortracking-exceptioncard--exception-card-session-timeline-without-steps--light: - hash: v1.k794b7964.9b9810244c83103a1dfe0820f0df6dcabd401a3b937a69922ba1fee15a4ca1f8.L1fy3Z-hyIDmHTQ2shkstxGx3OKRMiHSornEe-Pw87g + hash: v1.k794b7964.56e62ea17d56098dfa8d66ad4499e743df46e0c1924f8df73f2b6478079c48ea.oSzjIEqfVs8iFv6Ed8nN0I07e3StdO56qy6oIoeRrUA errortracking-stacktracedisplay--generic-display-empty--dark: hash: v1.k794b7964.c6ab3cf58033c6b078df8533c0fb3bf4e99ad647d2d10fef3c12265f9d8c1151.R27Z2h6kgWs7HZgZQXOoQN5MKDt9L0SNXqtRdq9d8XY errortracking-stacktracedisplay--generic-display-empty--light: @@ -3995,13 +3995,13 @@ snapshots: scenes-app-dashboards--insight-legend-legacy--light: hash: v1.k794b7964.97e63490d0bcdd866cb0bcf0e3c0c30613f7a82cce441fdff1d67f532acb945e.Moa0sPTW1wfeuGYbdYDRwJ3mRopD2TVlAe0rwGPOk1w scenes-app-dashboards--list--dark: - hash: v1.k794b7964.334c1a0aab148c63106adc52c7375e5a4620dcd987de96603c37c7eb8b25a0bb.7hIst4zcryg7vRubDLhDK1u6sQWXFLiAQxVt-St-mOg + hash: v1.k794b7964.1f8c989bdc817fc8e64fcff703a6b963c8262600cb67f7a96b8d3e186531e5d9.S6mpPOQv0CA05TIXI3FHp8eNuSaH7wQitDeQgY0sdwA scenes-app-dashboards--list--light: - hash: v1.k794b7964.14f944411278070b3340edfaa6eb3d947f394604edf95df9a4ff032df2450d58.XmmZPIRMF2T6Gc17IFUevOl-h3iqCWIKIevzaO4Y294 + hash: v1.k794b7964.220d7ac72cc9dfd74652109e8c1bd4c04b886b58b0d959ce622d2b4b97128a70.iOIqIcqJ9ZuELxrSRZylmXs5iZw_g88YqfWCobSnk4s scenes-app-dashboards--new--dark: hash: v1.k794b7964.08ee710f39c3d54a1b012c8bcac7a0219470e7757fd76a4609900fb295465d44.ZMvbzWvnQ0OSH4U2s6B_c7BKD8a_NI-b_yujAK3eQ6Y scenes-app-dashboards--new--light: - hash: v1.k794b7964.c92df11cfbe365af85ca632b14668e0ee5be050d1b4d5d564448d64504828741.9Smgba0CriZOYQmFlpdUoszPr0qASh6KQGPtI38ka-o + hash: v1.k794b7964.a0adf73e0a102b795e5e3ed4ff48ad508e11ee0b7884974ef4e10f0b26e3e6e2.Ixm9ar6_ohVxdxoJCwLddmprt6jB3PfoJ6WrOLmeY24 scenes-app-dashboards--new-select-variables--dark: hash: v1.k794b7964.50927ee907c91401cdedf4031ccdd6c3dbfff1d437b476fdb547853176516b21.EFG50qwV584hXRSIKJ_2KGY8XuDqH0FvZ4kx9UtiOsw scenes-app-dashboards--new-select-variables--light: @@ -4709,13 +4709,13 @@ snapshots: scenes-app-insights-trendsline--trends-bar-breakdown--light: hash: v1.k794b7964.6f5255befc5828bca6d56dd450ad2a888bf6bc2e1173a852ac2faebb5580c03b.oxrwk-hh80sLFpHYdgFTcJVgUdWN7WvDtJzxq-LCnl0 scenes-app-insights-trendsline--trends-bar-breakdown-edit--dark: - hash: v1.k794b7964.85bbbbcf0c759304cb98f1407d8441cc9573b6784b8ecfa18729c2dae8f0fff7.rLdHmcr6vdzRvHb21NEIs38lI34a7NdlUKTAX4dQadc + hash: v1.k794b7964.b0afd3ebfd4ba22624c5562f108346b6ae3e52238490ecf7ed740e988a8f11fa._dVtVfcWN5CZ1BTMKHeMyD_ANU9LPtAbfRQwqszGKa8 scenes-app-insights-trendsline--trends-bar-breakdown-edit--light: - hash: v1.k794b7964.07875c42cd48d6ddf7336a2b26226017e5cb0db90a51ac89227579ec49405e35.6bZ9EJetYBUXBQbBR2iWX1Uph50yG3H9bzrSRuW3rCQ + hash: v1.k794b7964.53b0201459c1705645c354d802fb6f3e6eea1c5786fa6e1d365343f0556f6b53.WnlmTqUhA_Ia0LnTr-_HWgg-c3yUfmnHBNqfAeVfLYo scenes-app-insights-trendsline--trends-bar-edit--dark: - hash: v1.k794b7964.ea6acf25dbfb288ff3e978be247ccb32164d5eb36394dbf402f7db57e86b089e.8P4F3GRNNY0vdEE4yzx1fYMrdyk5ric2lDJwMX6jIyE + hash: v1.k794b7964.48f4db6d952c6945ca91d4502ad6aaff88bd384e09d4140068da0e19fc309130.2EYiB9pbdTVFyawLjJpR4MhIrha5mhDsWbla7LU-q0w scenes-app-insights-trendsline--trends-bar-edit--light: - hash: v1.k794b7964.b666b94f8f4ac0830e95f0d9fc505e5e51f9474580391708efc87a3116062e5e.cL3ivL2vexPhFMD6iQPshdE2SNOvBjT2_2XXpmxtdDM + hash: v1.k794b7964.1d380d20eb5d25acf1841181ed0764b1a0b99da546ae16c9e021583eb5d160f6.20LN1CDLLtAuFBLQF29NEcW8ZZxIozsfI_-aXt2c4Sk scenes-app-insights-trendsline--trends-bar-single-data-point--dark: hash: v1.k794b7964.4f801ce76fcb393e344dcf2f79a5b22871b8aa022e41456e1e89301360f8c0f6.ZVcOJYlixg0MCfT54x09PQ5JCoNfxxMP23uJn7WI8LA scenes-app-insights-trendsline--trends-bar-single-data-point--light: @@ -4813,13 +4813,13 @@ snapshots: scenes-app-insights-trendsvalue--trends-area-breakdown--light: hash: v1.k794b7964.fb2570f023320b774541154b7bc91abb1e0844a4b1926e3cc00aa10cd7550e3f.-9L1qLNp02ZVVUw57xP4IouRj_hN6h8KYP7VdRRhDTI scenes-app-insights-trendsvalue--trends-area-breakdown-edit--dark: - hash: v1.k794b7964.236f3f70b8f30c0a8ff8fcf7a4e62eee2d19083c7a2ffe133ddcff0292e5bda7.ImBIW8SXBN5wZua_nnUwAQHK7RkHMJVTxUfhzmV-JSc + hash: v1.k794b7964.e7c39ff1abf04e891d936a541f3dca379cad15b2a708c022e840e650d3afe04b.UoY2DTAqd1rTofXMR9IWocKqL9UM0WpG5qQzur50lx4 scenes-app-insights-trendsvalue--trends-area-breakdown-edit--light: - hash: v1.k794b7964.6d62b1b56edf9da161028754a33e62a6a08fff7a38a9b318b20f783daadadb3a.9O6mjmPhdLjqXv6K7Xws8QMZaz-bP_jxdloEL-Vp0Gc + hash: v1.k794b7964.cb3c6b7d95574c1d152e8459e495acfdd29b2517043348a9a44720ca0b8a0215.XI2VvOiqDL3z0-JI8VvrE_Ze9Og047umHHXed3b1MJg scenes-app-insights-trendsvalue--trends-area-edit--dark: - hash: v1.k794b7964.5b5b919e50fd095618dd6f0e1ba881b258d1d23ef4d7ac1629f8bd38c508c7c2.ZvkWg5yfYVJHZdnZ_-lTxe4UJ0xXmSQgFc5RoOZa2p8 + hash: v1.k794b7964.d153ff68f5ad451e950d4196c97e3b0f30fe36fe5f4c6a0de3c180f3962116dc._2o4jZoWXvk5yF2YSBl8vEgGaPWI0cES7gLYhQiILP0 scenes-app-insights-trendsvalue--trends-area-edit--light: - hash: v1.k794b7964.0ccb16ad41691aa960920bcb11b9bb480401006388e9c6ee0306d8f3d5b47ac9.9MTbgwf4D-9u3zxTrpd-z_pBWYeunIBQ0PzE5knuFnY + hash: v1.k794b7964.63b973e8c22b013eb9b5c14bdb8fa2f5da1d19e3c23bc3e23741d8477e8fd6fb.NyVG47q9E_S2J4Txv1-bl-lbPXKzwJlnJq3mbbHHCy8 scenes-app-insights-trendsvalue--trends-number--dark: hash: v1.k794b7964.ad11b5b3fafd2b37e9997a4c1478ea43f90191533031a09a4674e6921324a7d5.ECF0mWT9lWfPtDrkwxFpP1uxZZLxFL8lhxE18T3Fd18 scenes-app-insights-trendsvalue--trends-number--light: @@ -5617,13 +5617,13 @@ snapshots: scenes-app-saved-insights--card-view--light: hash: v1.k794b7964.656036d672d8a9962f6dcdfb2765a15f6af6dc22e7909dcba14e8d32799fcc0d.6YVSj0j4yE1O4Krr0c0NXGqwjufrpX5M60ztJrgwWgg scenes-app-saved-insights--empty-state--dark: - hash: v1.k794b7964.c55b10151b9bef3c74dde26593d971ab0b8c511e3de756aae5cdcca95f49aca0.3Coq5u2CjujxYpkKtFz9Ofsnc6A2TdK3huLBQ0TJaV4 + hash: v1.k794b7964.2720dca1c3ea78610ec21009d817285dc6c87ef671cd60d7cb3e62395fb22709.DSV72IWt-o1gYlFekEuWjYeBLPDonrtxl56Xy3G2mnI scenes-app-saved-insights--empty-state--light: - hash: v1.k794b7964.1e941bc5d26cea31175a912fb8ab82e2e82234ffc0378265d7d173db8e0b4a64.9Ww59oAjF9SgbHEHtLZ4Z75oHi1g772mz-5-lhHPpLs + hash: v1.k794b7964.9037fc9bd33af439d581fb8aadee12a443b385626163d6bf9c2b3833675b6b5b.Tvi9ZdrAtcu9KE-lCCvstnazcPpTtK79Y9qGMpQQqvs scenes-app-saved-insights--list-view--dark: - hash: v1.k794b7964.04e05cf5a7bc1bdd4d5a43b3d93edb72918da32f87fa2d1b903b42500edd6280.xsujZ_ZWFLm5V-NJjqLOIeZoVPrNSFNZtOal92aWMs4 + hash: v1.k794b7964.fe9ac0046cfcdf0e50fba6cc0d2575a0447bfd069acdd401b77919595b89ac3b.A_N1f-qNl-GHNLgK9YUarO8HHnUVaphuCJZjqGovebs scenes-app-saved-insights--list-view--light: - hash: v1.k794b7964.829aca81a69a543287a759597b184f64fb170f95daf574201fe5e0ad6a09799a.o7_Eumi9V2pE_rnhnIDKn4ifXoBN_Z1nmbTKoncOM8M + hash: v1.k794b7964.2f9fc22585574bc6820c76970dcf48f88d29ba3222bcc2a39425db7b4471902a.LJH9oYLOpwfWNlprcSXOga2BOMmclFageDQdSueklGs scenes-app-sessionattributionexplorer--session-attribution-explorer--dark: hash: v1.k794b7964.ada552ba964609f63aedc8507676421b08a157f848e1a1e96f3bd9c46ccc6e30.oWuJSqs7ReLqDxL0bN0haKgaPhrZxd5htMavMKSDy5g scenes-app-sessionattributionexplorer--session-attribution-explorer--light: diff --git a/frontend/src/scenes/onboarding/sdks/allSDKs.tsx b/frontend/src/scenes/onboarding/sdks/allSDKs.tsx index 4355e2a46063..89d06cf5f915 100644 --- a/frontend/src/scenes/onboarding/sdks/allSDKs.tsx +++ b/frontend/src/scenes/onboarding/sdks/allSDKs.tsx @@ -238,6 +238,20 @@ export const ALL_SDKS: SDK[] = [ image: , docsLink: 'https://posthog.com/docs/llm-analytics/installation/openrouter', }, + { + name: 'Cloudflare AI Gateway', + key: SDKKey.CLOUDFLARE_AI_GATEWAY, + tags: [SDKTag.GATEWAY], + image: 'https://res.cloudinary.com/dmukukwp6/image/upload/cloudflare_logo_6572a9f441.svg', + docsLink: 'https://posthog.com/docs/llm-analytics/installation/cloudflare-ai-gateway', + }, + { + name: 'Dedalus Labs', + key: SDKKey.DEDALUS, + tags: [SDKTag.GATEWAY], + image: 'https://res.cloudinary.com/dmukukwp6/image/upload/dedalus_labs_logo_e03bb97137.svg', + docsLink: 'https://posthog.com/docs/llm-analytics/installation/dedalus', + }, { name: 'DeepSeek', key: SDKKey.DEEPSEEK, diff --git a/frontend/src/scenes/onboarding/sdks/llm-analytics/LLMAnalyticsSDKInstructions.tsx b/frontend/src/scenes/onboarding/sdks/llm-analytics/LLMAnalyticsSDKInstructions.tsx index 8dc6ff9f77c6..0bb942c024c2 100644 --- a/frontend/src/scenes/onboarding/sdks/llm-analytics/LLMAnalyticsSDKInstructions.tsx +++ b/frontend/src/scenes/onboarding/sdks/llm-analytics/LLMAnalyticsSDKInstructions.tsx @@ -8,9 +8,11 @@ import { AutoGenInstallation } from '@posthog/shared-onboarding/llm-analytics/au import { AWSBedrockInstallation } from '@posthog/shared-onboarding/llm-analytics/aws-bedrock' import { AzureOpenAIInstallation } from '@posthog/shared-onboarding/llm-analytics/azure-openai' import { CerebrasInstallation } from '@posthog/shared-onboarding/llm-analytics/cerebras' +import { CloudflareAIGatewayInstallation } from '@posthog/shared-onboarding/llm-analytics/cloudflare-ai-gateway' import { CohereInstallation } from '@posthog/shared-onboarding/llm-analytics/cohere' import { ConvexInstallation } from '@posthog/shared-onboarding/llm-analytics/convex' import { CrewAIInstallation } from '@posthog/shared-onboarding/llm-analytics/crewai' +import { DedalusInstallation } from '@posthog/shared-onboarding/llm-analytics/dedalus' import { DeepSeekInstallation } from '@posthog/shared-onboarding/llm-analytics/deepseek' import { DSPyInstallation } from '@posthog/shared-onboarding/llm-analytics/dspy' import { FireworksAIInstallation } from '@posthog/shared-onboarding/llm-analytics/fireworks-ai' @@ -208,6 +210,14 @@ const LLMOpenAIAgentsInstructionsWrapper = withOnboardingDocsWrapper({ Installation: OpenAIAgentsInstallation, snippets: PROVIDER_SNIPPETS, }) +const LLMCloudflareAIGatewayInstructionsWrapper = withOnboardingDocsWrapper({ + Installation: CloudflareAIGatewayInstallation, + snippets: PROVIDER_SNIPPETS, +}) +const LLMDedalusInstructionsWrapper = withOnboardingDocsWrapper({ + Installation: DedalusInstallation, + snippets: PROVIDER_SNIPPETS, +}) export const LLMAnalyticsSDKTagOverrides: SDKTagOverrides = { [SDKKey.HELICONE]: [SDKTag.GATEWAY], @@ -223,6 +233,8 @@ export const LLMAnalyticsSDKInstructions: SDKInstructionsMap = { [SDKKey.LANGCHAIN]: LLMLangChainInstructionsWrapper, [SDKKey.LITELLM]: LLMLiteLLMInstructionsWrapper, [SDKKey.OPENROUTER]: LLMOpenRouterInstructionsWrapper, + [SDKKey.CLOUDFLARE_AI_GATEWAY]: LLMCloudflareAIGatewayInstructionsWrapper, + [SDKKey.DEDALUS]: LLMDedalusInstructionsWrapper, [SDKKey.INSTRUCTOR]: LLMInstructorInstructionsWrapper, [SDKKey.CREWAI]: LLMCrewAIInstructionsWrapper, [SDKKey.PYDANTIC_AI]: LLMPydanticAIInstructionsWrapper, diff --git a/frontend/src/types.ts b/frontend/src/types.ts index 67bc48db4be1..71254c39c01d 100644 --- a/frontend/src/types.ts +++ b/frontend/src/types.ts @@ -6167,10 +6167,12 @@ export enum SDKKey { API = 'api', BUBBLE = 'bubble', CEREBRAS = 'cerebras', + CLOUDFLARE_AI_GATEWAY = 'cloudflare_ai_gateway', COHERE = 'cohere', CONVEX = 'convex', CREWAI = 'crewai', DJANGO = 'django', + DEDALUS = 'dedalus', DEEPSEEK = 'deepseek', DOCUSAURUS = 'docusaurus', DOTNET = 'dotnet',