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)的互動。它自動管理聊天狀態、token 計數與記憶體管理。對於工具使用,它使用 Python 裝飾器(@ai_function)將本地函數暴露給模型,處理幻覺參數的驗證與重試。
適用對象
專為希望對提示與控制流程擁有細緻控制,又不想被意見導向框架的冗餘所困擾的 NLP 研究人員、愛好者與開發者設計。
主要亮點
- 模型無關:僅需極少程式碼變更,即可輕鬆在不同 LLM 後端之間切換。
- 函數呼叫:可簡單整合 Python 函數作為工具,並具備內建的錯誤回饋與重試邏輯。
- 非同步設計:從底層建構,支援平行聊天會話。
- 多模態支援:透過擴充功能整合處理影像、音訊與影片輸入。
- CLI 工具:零設定命令列介面,用於快速測試 LLM。
相關
- 專案
- 專案
- 專案
- 專案