【开发心得】Dify部署ollama模型的坑[1]

寻道模式 2024-08-21 16:01:05 阅读 52

本文接续上次的文章【开发心得】三步本地化部署llama3大模型_dify llama3-CSDN博客

经过几次调试,目前部署终于稳定下来,由于算力问题产生的300 time out也逐渐减少了。因此,把后续在测试过程中碰到的一些坑和怎么爬出来,做一个记录。

暂时就收集了3个问题,今后碰到再续写。

目录

1、无法调整知识库的TopK怎么办?

2、调用超时怎么办?

3、如何调整LLM的参数


1、无法调整知识库的TopK怎么办?

如下图,默认配置中,TopK的默认值是2,如果调整,会报下面的错误:

Default model not found for ModelType.TEXT_EMBEDDING

解决方法也很简单,如下:

只要在这个界面里,把默认的上下文长度和token上限加大一倍就可以了。

需要说明的是,你的算力一定要够,否则真的是“马拉火车”的速度。

2、调用超时怎么办?

Run failed: Node LLM run failed: [ollama] Connection Error, HTTPConnectionPool(host='*.*.*.*', port=11434): Read timed out. (read timeout=300)

这个问题是当初Dify的镜像文件中,设置了timeout参数导致,当算力过小的时候(4核8G纯CPU),由于LLM的计算时间过长,Dify直接断开了模型的接口。

想解决这个问题,最好的办法是升级算力,毕竟300秒的延迟已经够长了,作为AI反应的底线也在于此了。

3、如何调整LLM的参数?

参数比较多的情况下,想要微调的话,必须把每个参数的含义搞清楚,如下图,具体每个参数的含义也贴在后面,喜欢研究的可以去单个突破。

各个参数的含义和类型:

mirostat 启用Mirostat算法以控制困惑度(perplexity)。 Mirostat算法可以有效减少结果中重复的发生。perplexity是指对词语预测的不确定性 (default: 0, 0 = disabled, 1 = Mirostat, 2 = Mirostat 2.0) int 

mirostat_eta 它影响算法对生成文本反馈的响应速度。学习率较低会导致调整更慢,而较高的学习率则会使算法反应更加迅速。 (Default: 0.1) float 

mirostat_tau 控制输出的连贯性和多样性之间的平衡。较低的值会使得文本更集中和连贯,而较高的值则会带来更大的多样性。 (Default: 5.0) float 

num_ctx 设置生成下一个token时使用的上下文窗口大小。(Default: 2048) int 

repeat_last_n 设定了模型需要回顾多少信息来以防止重复。 (Default: 64, 0 = disabled, -1 = num_ctx) int 

repeat_penalty 设定了重复惩罚的强度。较高的值(例如,1.5)会更强烈地处罚重复,而较低的值(如0.9)则会宽容一些. (Default: 1.1) float

temperature 模型的温度。 temperature通常用于控制随机性和多样性,提高温度意味着更高的随机性,可能导致更出乎意料但可能更有创意的答案。(Default: 0.8) float

seed 设置了生成时使用的随机数种子。设置特定的数值将使得模型对于相同的提示会生成相同的文本。(Default: 0) int

stop 设置停止序列。当模型遇到这个模式时,会停止生成文本并返回。可以通过在Modelfile中指定多个独立的stop参数来设置多个停止模式。 string

tfs_z 尾部自由采样被用来减少不那么可能的token对输出的影响。较高的值(例如,2.0)会更大幅度地减小这种影响,而设置为1.0则禁用此功能。(default: 1) float

num_predict 生成文本时预测的最大token数量。 (Default: 128, -1 = infinite generation(无限制), -2 = fill context(根据上下文填充完整fill the context to its maximum)) int 

top_k 减少生成无意义内容的概率。较高的值(例如,100)会使答案更加多样,而较低的值(如,10)则会更为保守。 (Default: 40) int

top_p top-k协同工作。较高的值(例如,0.95)将导致更丰富的文本多样性,而较低的值(如,0.5)则会生成更聚焦和保守的内容。(Default: 0.9) float



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。