最近在做一些端侧部署一些小参数模型来进行一些自动化操作的尝试发现一个有意思的地方
使用qwen30b-a3b模型直接使用阿里百炼永远比ollama部署的模型toolcall效果要更好
c#调用ollama的模型默认使用ollama sharp这个包
OllamaSharp
https://github.com/awaescher/OllamaSharp
翻阅代码可知
对于方法调用参数的定义非常的奇怪如果参数是引用类型或者存在嵌套的情况则上下文会完全丢失参数细节
这样调用会存在问题也不足为奇了
如果你也遇到类似的问题可以考虑转用Microsoft.Extensions.AI.OpenAI
ollama也部分兼容openai格式的请求
openai-compatibility
https://docs.ollama.com/api/openai-compatibility