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
}
作為一個開源項目,我們歡迎社區的貢獻。如果您遇到任何錯誤或想要添加一些改進,請隨時提出問題或拉取請求。