问题是什么?
在ollama版本<= 0.1.42和版本>= 0.1.43之间,我遇到了行为变化。具体来说,这两个版本之间生成的简单斐波那契函数的输出差异很大。
使用以下代码片段:
client.generate(model="starcoder2:7b-q4_K_M", prompt="<fim_prefix>def fibonacci(n):<fim_suffix><fim_middle>",
options={"temperature": 0.0,"seed": 123,"stop": ["<file_sep>"]}, stream=True)
预期输出(<= 0.1.42):
if n == 0:
return 1
elif n == 1:
return 2
else:
return fibonacci(n-1) + fibonacci(n-2)
print(fibonacci(5))
实际输出(>= 0.1.43):
return n
在从ollama 0.1.42开始挑选提交后,我发现这种行为变化似乎是由34f1427@jmorganca@deadbeef84引入的。
- 这种行为变化是有意为之吗?
- 如果不是,有什么建议来解决这个问题吗?
如果您需要进一步的信息或协助重现问题,请告知。
OS
Linux
GPU
Nvidia
CPU
Intel
Ollama版本
0.1.43
1条答案
按热度按时间dsf9zpds1#
我没有进一步分析,但看起来最新的ollama版本0.2.7与python包0.3.0结合解决了这个问题。