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")