Unrelated question to my previous question so it deserves another thread : using langgraph a lot I have nodes that pass states that are dictionary in some way. is it possible to pass only some of the dictionary to arize, change it at every graph node ? or in arize to filter it afterwards ? because having the full dict to deal with is not very convenient for evaluation 馃槈
Inside every nodes of the langgraph I am using langchain as much as possible very high level stack looks like this :
get message history stored on Firestore
use the init_chat_model of langchain with openAI models
then use langchain_pinecone PineconeVectorStore (but it might soon change to qdrant)
complete search with web crawl using GoogleSearchAPIWrapper and Firecrawl api (without their sdk, direct curl)
Using langgraph mostly to simplify the async "parallel" calls to API 馃檪 (modifi茅)
Mickael W. - putting together an example of this per our convo in introductions!
Great ! 馃檪
Hey Mickael W. - thanks for you patience here. If you're looking to customize what is passed to arize at each step, manual instrumentation is your best bet. This is an example that approximates your set, and includes manual tracing along with RAG evals attached Let me know if this helps answer your question!
will try tomorrow 馃檪 basically it becomes kind of a full manual tracing from what I read high level Honestly I think this code deserve to be in the documentation for langgraph, because... neat and pretty cool for a manual example ! 馃槃
Yep that's right - here's another version that uses the base instrumentor instead, but the issue there is because LangGraph has it's own tracing logic, combining that with some manual instrumentation can break the trace hierarchy. It's a bit more involved, but if you want the control of manual I think it's worth it This will be in our docs shortly!
