利用litellm实现函数调用快速迁移 @zhwenju

目前问题


Claude 3虽然强大,但从GPT-4迁移有难度,特别是涉及到function calling功能,Claude 3 无类似OpenAI封装好的SDK,需要手工写prompt实现,迁移几乎意味着需要重写代码实现。[2024.4.5 Claude 3 tool use 官方支持发布Beta版]

本方法特点


  1. 利用litellm作为proxy,通过OpenAI SDK直接调用Claude 3 API
  2. 无需修改OpenAI代码,直接切换API url迁移,使用体验和OpenAI API FC一样,部分情况需要修改prompt
  3. 已经测试OpenAI cookbook 4个demo,还有AutoGen 6个demo,可用程度比较高

迁移测试

测试了OpenAI cookbook function call demo 4个,还有AutoGen 6个GPT-4 function call。

test cases

<aside> 💡 LLM Function calling能力从何而来?

  1. 预训练阶段获得的自然语言理解能力
  2. few-shot learning 能力
  3. 持续预训练CPT和微调SFT获得的指令遵循和输出风格以及API调用能力强化
  4. LLM API层提供的前处理和后处理逻辑

经典论文参考:

  1. Gorilla: Large Language Model Connected with Massive APIs,https://gorilla.cs.berkeley.edu/
  2. Berkeley Function-Calling Leaderboard, https://gorilla.cs.berkeley.edu/leaderboard.html
  3. ToolLLM: Facilitating Large Language Models to Master 16000+ Real-world APIs, https://github.com/OpenBMB/ToolBench

</aside>