1、通过增加配置

ollama默认限制上下文的长度是2048,如果我们用ollama作为知识库基准模型,上下文超过2048直接会被阻断,提出内容不会根据上下文来回答

官方提出一个解决方案那就是通过设置num_ctx的大小来设置上下文,但是如果把会话改成ollama支持的openAI的方式这个属性就无效了

经过本人的测试默认qwen2.5:14b-instruct-q8_0占用17g的显存也就是限制上下文2048,但是如果改成8192显存会直接飙升到30g左右,所以要慎重更改。或者可以使用vLLM的部署方案,经过测试长上下文显存优化会更好速度更快

import requests

url = "http://10.10.40.102:10434/api/chat"

payload = {
    "model": "qwen2.5:14b-instruct-q8_0",
    "stream": False,
    "messages": [
        {
            "role": "system",
            "content": """你可以根据需要修改这个系统提示""",
        },
        {"role": "user", "content": "如何快速创建可视化应用"},
    ],
    "options": {"num_ctx": 8192}
}

response = requests.post(url, json=payload)
print(response.text)

2、重新建立模型

还有一种方法那就是重新创建模型并修改上下文长度

导出配置文件Modelfile

ollama show --modelfile qwen2.5:14b-instruct-q8_0 > Modelfile

修改Modelfile文件并配置上下文token PARAMETER num_ctx 4096

重新创建模型我直接改成了qwen2.5:14b-4096,然后你需要运行的就是这个qwen2.5:14b-4096这个模型,他的上下文限制就变成了4096

ollama create qwen2.5:14b-4096 -f Modelfile

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐