from agentx import AgentX
from agentx.integrations.langchain import AgentXCallbackHandler
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
client = AgentX.from_env()
handler = AgentXCallbackHandler(tracer=client.tracer, name="support-chain")
llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)
prompt = ChatPromptTemplate.from_messages([
("system", "You are a helpful support agent."),
("human", "{question}"),
])
chain = prompt | llm | StrOutputParser()
def langchain_agent(case):
with client.tracer.trace("support-chain-call", framework="langchain", sync=True, monitor=False) as span:
output = chain.invoke({"question": case.query}, config={"callbacks": [handler]})
span.output = output
return {
"output": output,
"metadata": {"model": "gpt-4o-mini"},
"trace_id": span.trace_id,
}