The parameters required to create the runnable.
A runnable sequence that will pass the given functions to the model when run.
const openAIFunction = {
name: "get_person_details",
description: "Get details about a person",
parameters: {
title: "Person",
description: "Identifying information about a person.",
type: "object",
properties: {
name: { title: "Name", description: "The person's name", type: "string" },
age: { title: "Age", description: "The person's age", type: "integer" },
fav_food: {
title: "Fav Food",
description: "The person's favorite food",
type: "string",
},
},
required: ["name", "age"],
},
};
const model = new ChatOpenAI();
const prompt = ChatPromptTemplate.fromMessages([
["human", "Human description: {description}"],
]);
const outputParser = new JsonOutputFunctionsParser();
const runnable = createOpenAIFnRunnable({
functions: [openAIFunction],
llm: model,
prompt,
enforceSingleFunctionUsage: true, // Default is true
outputParser
});
const response = await runnable.invoke({
description:
"My name's John Doe and I'm 30 years old. My favorite kind of food are chocolate chip cookies.",
});
console.log(response);
// { name: 'John Doe', age: 30, fav_food: 'chocolate chip cookies' }
Creates a runnable sequence that calls OpenAI functions.