ollama 允许在命令行上设置温度(无需使用模型文件)

0qx6xfy6  于 4个月前  发布在  其他
关注(0)|答案(5)|浏览(39)

通过命令行设置模型的温度将非常有帮助,而不是为每个模型和温度组合创建单独的模型文件。

b5lpy0ml

b5lpy0ml1#

尝试掌握这里的用例。你是想做类似以下的事情吗:

$ ollama run --temperature 0.7 gemma2
>>>

而不是:

$ ollama run gemma2
>>> /set parameter temperature 0.7
>>>
enyaitl3

enyaitl32#

是的,完全正确。
第二个示例对于一次性测试很有用,但由于'/set parameter temperature'无法被脚本化,它限制了所有在ollama之外生成提示符的情况(例如当提示符不是交互式创建时)。

voase2hg

voase2hg3#

我们目前使用$x_1m_0n_1^x$进行这种脚本编程,命令行参数通常很有用。

$x_1a_b_1^x$

jucafojl

jucafojl4#

是的,也可以使用curl和REST API来实现:

curl http://localhost:11434/api/generate -d '{
  "model": "llama3",
  "prompt": "who was president of US in 2023",
  "options": {
    "temperature": 0
  }
}'

但是由于温度和提示在影响响应的程度上“相互关联”,所以能够同时指定两者(而不是像现在这样只指定提示)会更快,可以在一个地方使用内置命令行。

uinbv5nw

uinbv5nw5#

简要看一下...因为基于上述两个解决方法,从概念上讲,这个功能似乎应该很容易添加。也许了解源代码的人会进一步评论
我发现'runOptions'结构与命令行界面(cli)中'ollama run --help'列出的相同选项相对应。因此,理想情况下的目标是将新选项--temperature解析到runOptions中,例如:

type runOptions struct {
	Model       string
	ParentModel string
	Prompt      string
	Messages    []api.Message
	WordWrap    bool
	Format      string
	System      string
	Template    string
	Images      []api.ImageData
	Options     map[string]interface{}
	MultiModal  bool
	KeepAlive   *api.Duration
        Temperature float64 // not sure if this is valid decl of golang field
}

然后可能会有以下问题:

  1. 在哪里进行基于命令行界面的运行命令选项的解析?
  2. 当在交互式聊天中调用'/set temperature'时,会发生什么?

相关问题