#language-model #procedural #proc-macro #definition #i32 #ai #string

ai_functions

用于在大型语言模型中创建文本的过程宏

2个版本

0.1.1 2023年6月7日
0.1.0 2023年6月7日

#1102 in 过程宏

Download history 105/week @ 2024-03-25 151/week @ 2024-04-01 77/week @ 2024-04-08 107/week @ 2024-04-15 110/week @ 2024-04-22 90/week @ 2024-04-29 126/week @ 2024-05-06 121/week @ 2024-05-13 109/week @ 2024-05-20 97/week @ 2024-05-27 89/week @ 2024-06-03 74/week @ 2024-06-10 136/week @ 2024-06-17 108/week @ 2024-06-24 6/week @ 2024-07-01 47/week @ 2024-07-08

每月311次下载

MIT 许可协议

5KB

AI函数库

ai_function 库提供了一个Rust过程宏,允许您将任何函数转换为一个返回其自身定义的字符串的函数。这对于将函数的代码发送到大型语言模型进行进一步处理非常有用。

安装

将以下内容添加到您的 Cargo.toml 文件中

[dependencies]
ai_function = "0.1.0"

然后运行 cargo build 以下载和编译 ai_function 库。

使用方法

要使用 ai_function 宏,只需在您的函数上添加 #[ai_function] 注解。

use ai_function::ai_function;

#[ai_function]
fn example_function(arg: i32) -> i32 {
  arg \* 2
}

当您调用 example_function() 时,它将返回包含 example_function 的源代码的字符串,而不是返回 arg * 2。

限制

目前,#[ai_function] 宏不支持具有复杂控制流程(如循环或条件)的函数。它只支持简单的函数定义。

use ai_functions::ai_function;

#[ai_function]
fn add(a: i32, b: i32) -> i32 {
    a + b
}

fn main() {
    assert_eq!(add(2, 3), "fn add(a: i32, b: i32) -> i32 {\n    a + b\n}");
}

依赖项

~310–770KB
~18K SLoC