RAG Logger: An Open-Source Alternative to LangSmith
github.com
github.com
I’m less familiar with LangSmith, but browsing their site suggests they happen to offer observability into LLM interactions in addition to other parts of the workflow lifecycle. This just seems to handle logging and you have to pass all the data yourself- it’s not instrumenting an LLM client, for example.
FWIW this is primarily based on the LangChain framework so it's fairly turnkey, but has no integration with the rest of your application. You can use the @traceable decorator in python to decorate a custom function in code too, but this doesn't integrate with frameworks like OpenTelemetry, which makes it hard to see everything happens.
So for example, if your LLM feature is plugged into another feature area in the rest of your product, you need to do a lot more work to capture things like which user is involved, or if you did some post-processing on a response later down the road, what steps might have had to be taken to produce a better response, etc. It's quite useful for chat apps right now, but most enterprise RAG use cases will likely want to instrument with OpenTelemetry directly.
Although it's worth noting that long context + observability doesn't always work with o11y systems since they usually put limits on the size of a log body or trace attribute.
I think I am ready to push it to PyPi now.
It replaces the llm client and logs everything that goes through it.
It is very simplistic in comparison with the remote loggers - but you can use all the local tools - like grep or your favourite editor. The feature that I needed from it is replaying past interactions. I use it for debugging execution paths that happens only sometimes. Can Langfuse do that?
The power of langsmith is seeing full traces of moving through the graph and being able to inspect the inputs and outputs for each step. I suppose your framework supports that but langsmith is all free out of the box. Your code is really a replacement for open telemetry or something akin to new relic / datadog. Which is a much tougher sell IMO. Why use this over open telemetry?
LangSmith is excellent, but my usage is quite minimal, and I would prefer a locally hosted version that is easy to customize.
Detailed step-by-step pipeline tracking
Performance monitoring (embedding, retrieval, LLM generation)
Structured JSON logs with timing and metadata
Zero external dependencies
Easy integration with existing RAG systems