你想要做什么呢?
能够指定语法是很棒的,但目前似乎没有充分利用。这主要是关于如何从实验中改进的一些想法...
我们应该如何解决这个问题呢?
- 直接使用llama.cpp语法会非常强大,也很方便
- 为json指定jsonschema。Llama.cpp json通常被强制放入特定的键顺序,而ollama json根本没有进行过模式化
- 实时更改格式是有用的,但我认为有一个方法可以在Modelfile中指定语法会更好。
如果不解决这个问题会有什么影响呢?
没有前两个想法会很烦人,因为没有办法保证模型生成我想要的格式的响应。第三个想法允许创建一个"llm api",其中模型每次都生成特定的响应(想象一下将一个总是用{"summary":"..."}
响应的"摘要llm"打包成Modelfile)。
还有其他的想法吗?
- 无响应*
7条答案
按热度按时间iovurdzv1#
关于这种行为的几个开放的PR - 最近的一个是#3618,如果能合并进来就太棒了。这是一个2行的更改,通过modelfile参数暴露llama.cpp的GBNF功能。这不是我的补丁,但我已经编译并在本地使用过它,效果非常好。
zvokhttg2#
在Modelfile中指定语法是一件事。能够像llama.cpp server那样在请求中发送语法字符串会更有用。现在Ollama能做到这一点吗?api文档中没有关于语法的内容。
p1tboqfb3#
是的,你可以在提交带有上面链接的补丁的请求时将语法作为选项发送。只是没有文档记录!
以下是一个示例:
POST http://localhost:11434/api/chat
响应:
x7yiwoj44#
它只是没有被记录!
所以,我可以在 #3618 中添加关于它的文档。
更新:已完成。
lb3vh1jj5#
这真的很酷。不过就我所见,它还没有合并到主分支中。
ecbunoof6#
这将是非常好的,更接近于放弃我的自定义Python绑定llamacpp,并能够使用ollama现在他们也开始支持并发模型。发送一个语法与请求一起是支持的一个很好的功能。
imzjd6km7#
我在#5348中添加了对这个和JSON模式的支持。