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' }
Generated using TypeDoc
Creates a runnable sequence that calls OpenAI functions.