opperai-langchain
v0.0.2
Published
Use opper in langchain
Readme
opperai-langchain
This is a langchain callback implementation for the opper node library. It allows you to trace your langchain workflows with opper.
Usage
To use the opper callback handler, you need to import it and instantiate it. Then pass it to the langchain callbacks. It also requires an environment variable OPPER_API_KEY to be set.
// import the opper callback handler
import { OpperCallbackHandler } from "opperai-langchain";
// instantiate the opper callback handler and pass it to the langchain callbacks
const opperCallbackHandler = new OpperCallbackHandler();Runnable example
Below is an example of a simple agent workflow that uses the opper callback handler.
import { PromptTemplate } from "@langchain/core/prompts";
import { DynamicTool } from "@langchain/core/tools";
import { ChatOpenAI } from "@langchain/openai";
import { AgentExecutor, createReactAgent } from "langchain/agents";
import { pull } from "langchain/hub";
import { OpperCallbackHandler } from "opperai-langchain";
const openai = new ChatOpenAI({
apiKey: process.env.OPENAI_API_KEY || "",
model: "gpt-4o",
});
const getCurrentTime = new DynamicTool({
description: "Returns the current time.",
func: async () => new Date().toLocaleTimeString(),
name: "get_current_time",
});
async function main() {
const prompt = await pull<PromptTemplate>("hwchase17/react");
const agent = await createReactAgent({
llm: openai,
prompt,
tools: [getCurrentTime],
});
const agentExecutor = new AgentExecutor({
agent,
tools: [getCurrentTime],
});
const result = await agentExecutor.invoke({
input: "what time is it?",
}, {
callbacks: [new OpperCallbackHandler()],
});
console.log(result);
}
// Run the main function
main().catch((error) => console.error("Error in main:", error));