zhudotexe/kani
kani (カニ) is a highly hackable microframework for tool-calling language models. (NLP-OSS @ EMNLP 2023)
解决的问题
Kani 是一个轻量级、无偏见的框架,旨在简化基于聊天的语言模型应用的创建。它消除了与各种 LLM 提供商交互时的样板代码,同时避免了 LangChain 等大型框架中常见的“隐藏提示技巧”和复杂性。
工作原理
Kani 提供了一个与模型无关的接口,抽象了与不同后端(OpenAI、Anthropic、Google、Hugging Face、llama.cpp 和 vLLM)的交互。它自动管理聊天状态、令牌计数和内存管理。对于工具使用,它使用 Python 装饰器(@ai_function)将本地函数暴露给模型,处理幻觉参数的验证和重试。
适用人群
专为希望对提示和控制流拥有精细控制,又不想被意见化框架的冗余所困扰的 NLP 研究人员、爱好者和开发者设计。
主要亮点
- 模型无关:只需极少代码更改,即可轻松在不同 LLM 后端之间切换。
- 函数调用:可简单集成 Python 函数作为工具,并具备内置的错误反馈和重试逻辑。
- 异步设计:从底层构建,支持并行聊天会话。
- 多模态支持:通过扩展集成处理图像、音频和视频输入。
- CLI 工具:零配置命令行界面,用于快速测试 LLM。
相关
- 项目
- 项目
- 项目
- 项目