集成OpenAI 函数调用
某些OpenAI模型(如gpt-3.5-turbo-0613和gpt-4-0613)已经过微调,可检测到何时应调用函数,并回复应传递给函数的输入。在API调用中,您可以描述函数,并使模型智能地选择输出一个包含调用这些函数的参数的JSON对象。OpenAI function API的目标是比通用文本补全或聊天API更可靠地返回有效和有用的函数调用。
OpenAI函数代理是为这些模型设计的。
提示:openai的函数调用功能,就是通过分析用户的输入文本,自动确定需要调用什么函数,以及自动确认函数的参数,通过这个能力,我们可以把我们定义好的函数描述传给AI,让AI根据用户输入的内容自动确定调用那个函数。
此代理还支持具有更复杂输入模式的“StructuredTool”。
import { initializeAgentExecutorWithOptions } from "langchain/agents";
import { ChatOpenAI } from "langchain/chat_models/openai";
import { SerpAPI } from "langchain/tools";
import { Calculator } from "langchain/tools/calculator";
const tools = [new Calculator(), new SerpAPI()];
const chat = new ChatOpenAI({ modelName: "gpt-4", temperature: 0 });
const executor = await initializeAgentExecutorWithOptions(tools, chat, {
agentType: "openai-functions",
verbose: true,
});
const result = await executor.run("What is the weather in New York?");
console.log(result);
/*
纽约的当前天气为72°F,风速为1 mph,来自SSW的风。湿度为89%,紫外线指数为11中的0。云量为79%,没有下雨。
*/