langchain 自然语言转化接口参数和url
·
主要用到的依赖为:
langchain zod
1.在多个接口中匹配到一个接口:
需要通过z.descrimination 定义联合接口的schema
这里apiKey字段当作每个接口定义的唯一标识 ,langchain识别也是通过,自然语言关键字对应到apiKey进行匹配
const apiSchema = [
z.object({
apiKey:z.literal('name1',{description:}),
methods:
url:
params:
data:
}),
{},
{}
]
const targetApiSchema = z.discriminatedUnion('apiKey',apiSchema,{description:})
解析器:
const parser = StructedOutputParser.fromZodSchema(targetApiSchema)
const formatInps = parser.getFormatInsturction() 解析器 对接口类型进行强校验
下面是接口字典 ,会放在prompt里面 就是这边的name1 与 上面schema里的apiKey对应
const apiDict = `
接口列表及功能:
1.name1(接口中文名称):接口功能描述;(比如:name1(新增任务):功能是新增任务,需传任务名,倒计时,优先级,方法POST)
2....
3....
`
const prompt = `
${apiDict}
自然语言需求:${n1}
${formatInps}`
这边的n1为用户输入的内容
prompt里需要包含接口字典,用户输入内容和格式化的解析器
const aiRes = aiModel.invoke(prompt)
const apiParams = parser.parse(aiRes.content)
返回的对应schema格式的匹配结果 可以根据返回对象里的url 进行接口请求
更多推荐



所有评论(0)