Nexus Raven V2(ネクサスレイブンブイツー)
Nexusflowが開発した、コード実行を必要としない関数呼び出し特化オープンソースLLM。Python関数シグネチャから直接呼び出しコードを生成する。
Nexus Raven V2 — GPT-4を超えたオープンソース関数呼び出しモデル
Nexus Raven V2は、スタンフォード発スタートアップNexusflowが2024年初頭に公開したfunction calling特化のオープンソースLLMだ。LLaMA-2-13Bベースでありながら、Berkeley Function Calling Leaderboard(BFCL)V1においてGPT-4のfunction calling性能を上回ったとして業界で広く注目された。
設計思想:Pythonネイティブな関数定義
Nexus Raven V2の最大の特徴は、特殊なJSONスキーマを用意しなくても、Pythonの関数シグネチャとdocstringをそのままツール定義として使える点だ。
通常のfunction callingアプローチ:
{
"name": "get_stock_price",
"parameters": {
"type": "object",
"properties": {
"ticker": {"type": "string", "description": "Stock ticker symbol"}
}
}
}
Nexus Raven V2のアプローチ:
def get_stock_price(ticker: str) -> dict:
"""指定された株式ティッカーシンボルの現在価格を取得する。
Args:
ticker: 株式ティッカーシンボル(例: 'AAPL', 'GOOGL')
Returns:
現在価格・前日比・出来高を含む辞書
"""
...
このPython関数定義をプロンプトに含めるだけで、Nexus Raven V2はget_stock_price(ticker='AAPL')という実行可能なPython呼び出しコードを生成する。既存のコードベースからdocstringを流用できるため、ツール定義の二重管理が不要になる。
BFCLでの評価結果(V1、2024年初頭)
- Nexus Raven V2: Python 86.5%、総合 70.1%
- GPT-4-0613: Python 82.0%、総合 68.9%
- Claude-2.1: Python 70.1%、総合 57.1%
PythonカテゴリでGPT-4を上回り、総合スコアでも僅差で首位に立った。(注: その後GPT-4oやClaude-3.5がリリースされ現在は上位モデルが変化)
動作モード
単一関数呼び出し:
User: AAPLの株価を調べて
→ get_stock_price(ticker='AAPL')
並列関数呼び出し:
User: AAPLとGOOGLの株価を比較して
→ get_stock_price(ticker='AAPL'), get_stock_price(ticker='GOOGL')
ネスト関数呼び出し:
User: AAPLの株価をUSDからJPYに換算して
→ convert_currency(amount=get_stock_price(ticker='AAPL')['price'], from_currency='USD', to_currency='JPY')
セルフホスト
Hugging Face Hub経由でモデルウェイトを取得可能(nexusflow/NexusRaven-V2-13B)。13Bパラメータのため、RTX 3090(24GB)以上のGPUを推奨。
代替モデル
- Functionary-medium(8B、より軽量)
- ToolLLaMA(DFSDTアルゴリズム、マルチステップ強み)