見出し画像

kani: 軽量LLMフレームワーク

kani (カニ) は、ツールの使用/関数呼び出しを備えたチャットベースの言語モデルのための軽量でハッキング可能なフレームワークです。
LLM用のフレームワークとしてはLangchainが圧倒的にメジャーですが、若干肥大化した印象もありますよね。というわけで、ざっと試食してみます。

kaniの主な特徴

  • 軽量設計 最小限のフットプリントで高レベル機能

  • モデル非依存 OpenAIモデルのほか、LLaMA v2、Vicunaなど

  • 関数呼び出し ロバストなFunction Calling対応

  • カスタマイズ機能 チャット履歴管理、エラー処理などの各機能はオーバーライド可能

なお、詳細なドキュメントも整備されています

Google Colabで試用

インストール

!pip install -qq 'kani[openai]'

# OpenAI_API_keyの設定
api_key = "Your OpenAI KEY"

シンプルなチャット機能

シンプルなコードでチャット履歴も動作

チャット履歴機能のカスタマイズ

Kaniクラスをオーバーライドしてチャット履歴機能をカスタマイズ。

2つ前までしか覚えていない忘れっぽいKani。

Few-shot プロンプト

関数呼び出し

三重引用符で関数の動作を説明。型注釈を指定することで、適切なパラメータで関数呼び出しを行える

サイズも小さく動作も軽い感じなので、ラズパイなどでチャット機能を作るときになどに活用できるかもしれません。
目的に応じて、いろいろ選択肢が増えることは良いですね。

最後までお読みいただきありがとうございました。

この記事が気に入ったらサポートをしてみませんか?