Funcion Calling介紹
函式呼叫允許您將模型如gpt-4o與外部工具和系統連線起來。這對於許多事情都很有用,比如為AI助手賦能,或者在你的應用程式與模型之間建立深度整合。
如果您瞭解或者使用過Semantic Kernel可能會發現除了OpenAI支援Function Calling的模型之外,自動函式呼叫好像並不好用,國產大模型幾乎都不能使用,由於想解決這個問題,在GitHub上找到了一個大佬的方法。
GitHub地址:https://github.com/Jenscaasen/UniversalLLMFunctionCaller
大佬是透過提示工程與Semantic Kernel中呼叫本地函式的原理來做的,我看了大佬的程式碼,將提示詞改為了中文,可能會更適用於國產大模型。
之前寫了一篇文章:如何讓其他模型也能在SemanticKernel中呼叫本地函式介紹了這個方法。
但是當時自己並沒有開源專案,感興趣的朋友,沒有辦法快速地上手體驗,只能自己重新來一遍,現在已將這部分內容整合到我的開源專案SimpleRAG中,感興趣的朋友只需填入自己的API Key即可快速體驗,也可以方便地檢視程式碼了。
GitHub地址:https://github.com/Ming-jiayou/SimpleRAG
一種通用的Function Calling方法
在開始介紹之前,先看一下效果:
對比一下不使用FunctionCalling的效果:
再來一個示例:
對比不使用Function Calling的效果:
在SimpleRAG中使用SiliconCloud快速測試Function Calling
SiliconCloud 基於優秀的開源基礎模型,提供高價效比的 GenAI 服務。
不同於多數大模型雲服務平臺只提供自家大模型 API,SiliconCloud上架了包括 Qwen、DeepSeek、GLM、Yi、Mistral、LLaMA 3、SDXL、InstantID 在內的多種開源大語言模型及圖片生成模型,使用者可自由切換適合不同應用場景的模型。
更重要的是,SiliconCloud 提供開箱即用的大模型推理加速服務,為您的 GenAI 應用帶來更高效的使用者體驗。
對開發者來說,透過 SiliconCloud 即可一鍵接入頂級開源大模型。擁有更好應用開發速度和體驗的同時,顯著降低應用開發的試錯成本。
SiliconCloud平臺提供了多種模型,用於測試模型的能力,很有幫助,而且還有一些模型是免費呼叫的。
並且SiliconCloud相容OpenAI的格式並且推理速度很快,因此建議使用SiliconCloud。
只需在SimpleRAG專案的appsettings.json檔案中填入你想使用的模型名稱即可:
模型名稱可在SiliconCloud的官網檢視,這樣就可以快速測試SiliconCloud中提供的平臺是否可以在SimpleRAG中進行Function Calling。
經過我的測試,SiliconCloud中提供的模型,適用於這個方法的有如下這些:
平臺 | 可用模型 |
---|---|
矽基流動 | Llama-3.1-405/70/8B、Llama-3-70/8B-Instruct、DeepSeek-V2-Chat、deepseek-llm-67b-chat、Qwen2-72/57/7/1.5B-Instruct、Qwen2-57B-A14B-Instruct、Qwen1.5-110/32/14B-Chat、Qwen2-Math-72B-Instruct、Yi-1.5-34/9/6B-Chat-16K、internlm2_5-20/7b-chat |
學習並掌握了Function Calling之後,就可以開發更多有趣的功能了。