ai fun
1.0.0
ai-fun 是一个由 LLM 驱动的实验性函数库。它允许您定义函数用途、参数和输出模式,并在后台为您生成和执行代码。将 Cursor/GitHub Copilot 视为可插入库。
npm i ai-fun
完整示例:
example.ts
import { z } from 'zod'
import AIFunctionBuilder from 'ai-fun'
import NodeExec from 'ai-fun/src/backends/node'
import { anthropic } from '@ai-sdk/anthropic'
// Provide a LLM model
const llm = anthropic . chat ( 'claude-3-5-sonnet-20240620' )
// Create a new AI Function Builder using Node/exec backend
const backend = new NodeExec ( )
const ai = new AIFunctionBuilder ( llm , backend )
// Define the input parameters and output parameters of the function
const parameters = z . object ( { a : z . number ( ) , b : z . number ( ) } )
const output = z . number ( )
// Generate the function
const f = await ai . function ( 'add values provided' , parameters , output )
// Call the function and log the result
const result = await f ( { a : 1 , b : 2 } )
console . log ( result )
输出:
> bun example.ts
3
在示例/下找到更多示例
在继续之前请阅读此 Reddit 评论:
默认情况下启用函数缓存以节省成本。默认情况下,这些函数存储在名为.ai-fun.json
的文件中。
您可以向AIFunctionBuilder
提供的选项:
{
debug ?: boolean
esModules?: boolean
cache?: boolean
cacheFile?: string
}
您可以通过实现AIFunctionBackend
类来创建自己的后端:
export abstract class AIFunctionBackend {
abstract init ( codeContent : CodeContent ) : Promise < void >
abstract exec ( params : any ) : Promise < any >
}
例如,请参见 src/backends/node。
使用node:vm
exec 函数执行 AI 生成的函数。
选项:
{
debug ?: boolean
packageFile?: string
installPackages?: boolean
}
作为一个开源项目,我们欢迎社区的贡献。如果您遇到任何错误或想要添加一些改进,请随时提出问题或拉取请求。