FAQ

How to customize the names of a Langchain class within a trace?

You can update the name of a run within Langchain. Langfuse will pick up the name and display it in the UI.

Custom run_name via with_config (Python)

To customize the names of Langchain traces, you can use the run_name parameter within the config of a run.

Examples (from Langchain docs)

from langchain import chat_models, prompts, callbacks, schema
 
chain = (
    prompts.ChatPromptTemplate.from_template("Reverse the following string: {text}")
    | chat_models.ChatOpenAI()
).with_config({"run_name": "StringReverse"})
from langchain.schema import runnable
 
configured_lambda_chain = (
    chain
    | StrOutputParser()
    | runnable.RunnableLambda(reverse_and_concat).with_config(
        {"run_name": "LambdaReverse"}
    )
)
from langchain import agents, tools
 
 
agent_executor = agents.initialize_agent(
    llm=chat_models.ChatOpenAI(),
    tools=[tools.ReadFileTool(), tools.WriteFileTool(), tools.ListDirectoryTool()],
    agent=agents.AgentType.OPENAI_FUNCTIONS,
)
result = agent_executor.with_config({"run_name": "File Agent"}).invoke(
    "What files are in the current directory?"
)

Custom name argument on Langchain classes

You can also pass a custom name argument to Langchain classes. This will override the default name of the class when shown in a Langfuse trace.

model = ChatOpenAI(name="generate-rating")

Was this page useful?

Questions? We're here to help

Subscribe to updates