Feedback, Requests, Questions? We're here!
Hi all,
Happy that you are giving Langfuse a spin! I'm Clemens, one of the founders/maintainers of Langfuse, here with my co-founder @marcklingen .
If you have any feedback, questions or feature requests for the project -- we'd love to hear them.
Best,
Clemens
PS: There's a bunch of resources on Langfuse specifically in our docs (https://langfuse.com/docs)
Is langfuse essentially the google analytics of deployed LLMs?
Hi @Doctor-Chad-PhD -- that's one way to put it! We have a succinct 10min walkthrough of the platform here. The main use cases our users use Langfuse for are: tracing & debugging their LLM applications, gathering statistics (latency, cost, quality) and using our workflow tooling for prompt management, data labeling, evaluations, testing. Our overview page summarizes these.
Let me know if you have any additional questions!
Thank you @Clemo , that helps me understand it and I will also take a look at the walkthrough. Looks interesting so far!
@Clemo ,
TLDR; The Environment variable AUTH_CUSTOM_CHECKS
needs to be set to pkce,state
thank you for providing the template (and developing langfuse), I wanted to report a bug in the template - just to confirm, this one here really is the one linked in https://huggingface.co/docs/hub/spaces-sdks-docker-langfuse
, no?
When I simply follow the instructions currently provided and then try to log-in I get the two errors:
[next-auth][error][OAUTH_CALLBACK_HANDLER_ERROR] https://next-auth.js.org/errors#oauth_callback_handler_error invalid_request { error: { message: 'invalid_request', stack: 'Error: invalid_request\n' + ' at oAuthCallback (/app/node_modules/.pnpm/[email protected][email protected]_@[email protected]_@open_f7pfok74kjcrp7lsswmltvtxxu/node_modules/next-auth/core/lib/oauth/callback.js:29:19)\n' + ' at Object.callback (/app/node_modules/.pnpm/[email protected][email protected]_@[email protected]_@open_f7pfok74kjcrp7lsswmltvtxxu/node_modules/next-auth/core/routes/callback.js:45:39)\n' + ' at AuthHandler (/app/node_modules/.pnpm/[email protected][email protected]_@[email protected]_@open_f7pfok74kjcrp7lsswmltvtxxu/node_modules/next-auth/core/index.js:175:41)\n' + ' at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n' + ' at async NextAuthApiHandler (/app/node_modules/.pnpm/[email protected][email protected]_@[email protected]_@open_f7pfok74kjcrp7lsswmltvtxxu/node_modules/next-auth/next/index.js:18:19)\n' + ' at async n (/app/web/.next/server/pages/api/auth/[...nextauth].js:1:4441)\n' + ' at async /app/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected]__@op_fhu7ylun7qcb73duelsmnlm25i/node_modules/@sentry/nextjs/build/cjs/common/pages-router-instrumentation/wrapApiHandlerWithSentry.js:89:28\n' + ' at async K (/app/node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_@[email protected]_babel-plugin_pz5jczsrwmn5olwahiiemkgmoy/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:16881)\n' + ' at async U.render (/app/node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_@[email protected]_babel-plugin_pz5jczsrwmn5olwahiiemkgmoy/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:17520)\n' + ' at async NextNodeServer.runApi (/app/node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_@[email protected]_babel-plugin_pz5jczsrwmn5olwahiiemkgmoy/node_modules/next/dist/server/next-server.js:603:9)', name: 'Error' }, error_description: '"value" must contain at least one of [state, code_challenge]', providerId: 'custom', message: 'invalid_request' }
[next-auth][error][OAUTH_CALLBACK_ERROR] https://next-auth.js.org/errors#oauth_callback_error invalid_request { message: 'invalid_request', stack: 'Error: invalid_request\n' + ' at oAuthCallback (/app/node_modules/.pnpm/[email protected][email protected]_@[email protected]_@open_f7pfok74kjcrp7lsswmltvtxxu/node_modules/next-auth/core/lib/oauth/callback.js:29:19)\n' + ' at Object.callback (/app/node_modules/.pnpm/[email protected][email protected]_@[email protected]_@open_f7pfok74kjcrp7lsswmltvtxxu/node_modules/next-auth/core/routes/callback.js:45:39)\n' + ' at AuthHandler (/app/node_modules/.pnpm/[email protected][email protected]_@[email protected]_@open_f7pfok74kjcrp7lsswmltvtxxu/node_modules/next-auth/core/index.js:175:41)\n' + ' at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n' + ' at async NextAuthApiHandler (/app/node_modules/.pnpm/[email protected][email protected]_@[email protected]_@open_f7pfok74kjcrp7lsswmltvtxxu/node_modules/next-auth/next/index.js:18:19)\n' + ' at async n (/app/web/.next/server/pages/api/auth/[...nextauth].js:1:4441)\n' + ' at async /app/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected]__@op_fhu7ylun7qcb73duelsmnlm25i/node_modules/@sentry/nextjs/build/cjs/common/pages-router-instrumentation/wrapApiHandlerWithSentry.js:89:28\n' + ' at async K (/app/node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_@[email protected]_babel-plugin_pz5jczsrwmn5olwahiiemkgmoy/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:16881)\n' + ' at async U.render (/app/node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_@[email protected]_babel-plugin_pz5jczsrwmn5olwahiiemkgmoy/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:17520)\n' + ' at async NextNodeServer.runApi (/app/node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_@[email protected]_babel-plugin_pz5jczsrwmn5olwahiiemkgmoy/node_modules/next/dist/server/next-server.js:603:9)', name: 'Error' }
In the front-end this then simply reads as "Call Provider if unexpected".
After some digging, I found that this problem can be resolved by explicitly setting AUTH_CUSTOM_CHECKS
to pkce,state
in the Space Settings. So this should also happen by default or the user should be explicitly prompted to do this when filling the template.
If there is a better place to make this suggestion or perhaps create a PR myself, please let me know!