#macro #generate #instruct #object #schema #string #instruct-macro

macro instruct-macros

instruct-macros 是我们在 Instructor-AI 中使用的一系列简单宏,用于从 Serde 对象生成 JSON 模式

5 个版本

0.1.8 2024年7月8日
0.1.7 2024年7月8日
0.1.3 2024年6月25日
0.1.1 2024年6月23日
0.1.0 2024年6月22日

过程宏中排名第 959

Download history 421/week @ 2024-06-22 9/week @ 2024-06-29 232/week @ 2024-07-06 12/week @ 2024-07-13 71/week @ 2024-07-27

每月下载量 315
instructor-ai 使用

MIT/Apache 许可

16KB
306 代码行

指令宏

指令宏是一组过程宏,它公开了一个 get_info() 方法,该方法旨在帮助您在对象中默认进行反射,同时公开字段名称+类型以及对象名称。

您可以通过以下方式使用它:

use instruct_macros::InstructMacro; // Ensure this is a derive macro
use instruct_macros_types::{ParameterInfo, StructInfo}; // Import the trait

#[derive(InstructMacro, Deserialize, Serialize, Debug)]
/// This is a model which represents a single individual user
struct UserInfo {
    /// This is the name of the user
    #[serde(deserialize_with = "uppercase_name")]
    name: String,
    /// This is the age of the user
    age: u8,
    /// This is the city of the user
    city: String,
}

这将在您的结构体上公开一个 get_info() 方法,返回一个看起来像这样的主体

依赖项

~0.7–1.6MB
~35K SLoC