I'm looking into how to port Qwen's implementation to Ollama as well. Unfortunately, Ollama is written in Go, not Python. I'm not familiar with Go. So the progress is slow. If the upcoming Qwen 2.5 supports the tool-calling prompt used by LLaMA 3.1, things might be easier. cc @JustinLin610
7条答案
按热度按时间bgtovc5b1#
我还想了解的是,我下载了Qwen/Qwen2-7B-Instruct,它支持工具,但不能在Ollama中使用。
0dxa2lsx2#
我也想知道。我下载了Qwen/Qwen2-7B-Instruct,它支持工具,但不能在Ollama中使用。glm4也无法使用。也许Ollama目前只支持llama3.1和Mistral。
ogsagwnx3#
FYI, this is the reference implementation from Qwen:
Example usages:
I'm looking into how to port Qwen's implementation to Ollama as well. Unfortunately, Ollama is written in Go, not Python. I'm not familiar with Go. So the progress is slow. If the upcoming Qwen 2.5 supports the tool-calling prompt used by LLaMA 3.1, things might be easier.
cc @JustinLin610
mzillmmw4#
关于API工具调用的参考实现来自Qwen:
示例用法:
我正在研究如何将Qwen的实现移植到Ollama。不幸的是,Ollama是用Go编写的,而不是Python。我对Go不熟悉。因此,进展缓慢。如果即将发布的Qwen 2.5支持LLaMA 3.1使用的工具调用提示,事情可能会变得容易一些。
感谢你的信息!我一直在寻找使用API工具调用的方法,例如fastchat、vllm等。但它们不支持glm4、Qwen2等。在我看来,Langchain中的许多方法需要API工具调用,例如llm.bind_tools()、llm.with_structured_output()等。所以如果将来有一个中间件可以为中文开源llm实现API工具调用,那就太好了。
vq8itlhq5#
我已经阅读了Ollma的源代码,但由于我对Go语言不太熟悉,所以我不确定我的理解是否正确。
s.GeneratedHandler
将决定模型是否具有工具功能:s.scheduleRunner
函数首先读取/usr/share/ollama/.ollama/models/Blobs/
下的相应提示模板文件,该代码为:model.CheckCapabilities(caps...)
可以通过(在s.scheduleRunner
中),否则它将报告错误tzdcorbm6#
我已经阅读了Ollma的源代码,但由于我对Go语言不太熟悉,所以我不确定我的理解是否正确。
s.GeneratedHandler
将决定模型在以下代码中是否具有工具功能:s.scheduleRunner
函数首先读取位于/usr/share/ollama/.ollama/models/Blobs/
下的相应提示模板文件,该代码为:model.CheckCapabilities(caps...)
可以通过(在s.scheduleRunner
中),否则它将报告错误因此,只要我修改位于 /usr/share/ollama/.ollama/models/Blobs/ 下的提示模板,Qwen2就有可能实现API工具调用吗?
xxslljrj7#
我刚刚为
qwen2:7b
创建了一个工具调用模板:https://ollama.com/majx13/test然而,最新的 install.sh 为我安装了 Ollama 版本 0.3.0(这很奇怪),而不是包含工具调用功能的 0.3.1 版本。因此,我还没有测试模板是否正确。我只是分享这个,希望它能帮到你。
一旦我安装了 0.3.1 版本,我会稍后测试一下。