4 个版本
0.0.4 | 2023 年 10 月 13 日 |
---|---|
0.0.3 | 2023 年 9 月 6 日 |
0.0.2 | 2023 年 8 月 30 日 |
0.0.1 | 2023 年 8 月 9 日 |
#3 in #false
每月 25 次下载
95KB
1.5K SLoC
pantry.rs
Rust 库,用于 pantry llm 运行器。
在 docs.rs 阅读文档
使用方法
API 连接到您的本地 pantry 安装,因此您需要先下载 pantry。Pantry LLM API 的客户端库。
示例
强烈建议您使用 PantryClient 和 LLMSession,它们是围绕 PantryAPI 的高级包装。
let perms = UserPermissions {
perm_superuser: false,
perm_load_llm: false,
perm_unload_llm: false,
perm_download_llm: false,
perm_session: true, //this is for create_session AND prompt_session
perm_request_download: true,
perm_request_load: true,
perm_request_unload: true,
perm_view_llms: true,
};
let pantry = PantryClient::register("my project name".into(), perms).await.unwrap();
// Pause here and use the UI to accept the permission request.
// The empty hashmap means we just use default parameters.
// create_session just uses the best currently running LLM. use create_session_id or _flex for
// more finegrained control
let sess = pantry.create_session(HashMap::new()).await.unwrap();
let recv = ses.prompt_session("About me: ".into(), HashMap::new()).await.unwrap();
如果您还没有从 ui 运行 LLM,可以使用
pantry.load_llm_flex(None, None).await.unwrap();
如果您想使用现有的 ggml 基础设施,可以获取裸模型路径
let (model, path) = pantry.bare_model_flex(None, None).await.unwrap();
依赖项
~7–19MB
~254K SLoC