为什么我本地ollama按教程来也链接不上?
参考教程:https://github.com/linshenkx/prompt-optimizer/issues/93
本地ollama已部署:
环境变量也配置ok了
模型配置界面如下:
测试失败
- 可以先在浏览器所在机器的终端上执行下curl命令验证能否连通:
curl --location --request POST 'http://localhost:11434/v1/chat/completions' \
--header 'Authorization: Bearer abc' \
--header 'Content-Type: application/json' \
--data-raw '{
"model": "qwen2.5:0.5b",
"messages": [
{
"role": "user",
"content": "你好,你是谁"
}
]
}'
- 如果能连通,按理说就不会有问题。如果不能,可能是linux的ollama的环境变量需要在service文件配置的缘故 参考官方文档:https://github.com/ollama/ollama/blob/main/docs/linux.md 需要在 /etc/systemd/system/ollama.service 而非系统级别配置环境变量
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_ORIGINS=*"
- 如果还不行,请提供是在什么环境部署的 olllama ,linux 还是 wsl ?和浏览器是否属同机器 ?
环境:mac 浏览器:chrome 按照你上面的步骤1,本地terminal调用没问题
是不是还是跨域问题?
应该不是跨域问题,localhost一般不会有跨域问题的。 F12或【浏览器右上角-更多工具-开发者工具】:进入开发者模式 点击网络-过滤条件选Fetch/XHR,页面点击测试:跨域看到completions请求,看其响应或者预览有没有报错信息。
还可以在 completions请求 右击,有下拉菜单,选 复制-复制cURL(bash)格式复制。把请求命令复制出来,分享一下或在终端执行一下。
我这边看不到你演示的completions内容,点击控制台的这两个completions也没反应
completions
需要在左边的界面点击测试,才会有 completions 请求的
嗯,我就是点击测试连接按钮,但没反应,右上角会弹出红色弹框
把这个过滤条件去掉应该就可以看到了
cURL(bash)内容:
curl 'http://localhost:11434/v1/chat/completions'
-X 'OPTIONS'
-H 'Accept: /'
-H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8'
-H 'Access-Control-Request-Headers: authorization,content-type,x-stainless-arch,x-stainless-lang,x-stainless-os,x-stainless-package-version,x-stainless-retry-count,x-stainless-runtime,x-stainless-runtime-version,x-stainless-timeout'
-H 'Access-Control-Request-Method: POST'
-H 'Access-Control-Request-Private-Network: true'
-H 'Connection: keep-alive'
-H 'Origin: https://prompt.always200.com'
-H 'Sec-Fetch-Dest: empty'
-H 'Sec-Fetch-Mode: cors'
-H 'Sec-Fetch-Site: cross-site'
-H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36'
我本地terminal请求没任何反应
好吧,看起来还是跨域问题。 是通过launchctl setenv设置的环境变量吗? 参考这个文档:https://lobehub.com/zh/docs/usage/providers/ollama
不是,我最开始是通过~/.zshrc写入变量的,你上面讲的用launchctl我也试了,还是不行
确实挺麻烦。那我们用其他第三方的纯web的llm客户端测试一下。 这个项目好像还可以:https://github.com/mrdjohnson/llm-x 直接打开 https://mrdjohnson.github.io/llm-x/ ,按理说不需要任何配置就能使用本地 ollama模型,它会自动识别可用的ollama连接并加载可用模型,你看可不可以。 如果可以,那就不是ollama的问题,反之说明还是ollama配置有问题
还有一种可能就是 https://github.com/linshenkx/prompt-optimizer/issues/86 ,你是用公网的https访问 localhost 的http,可能触发了浏览器的跨域限制。这个取决于浏览器的处理策略,有些比较严(也可能mac的版本比较严)。所以修改 ollama的配置也没用。只能用docker跑 prompt-optimizer,应该就没问题
如果提示词优化器已插件方式安装,没提示连接不上,只提示加载不到模型列表
对比pageassist插件,配置ollama很容易就成功了,正常使用中
如果提示词优化器已插件方式安装,没提示连接不上,只提示加载不到模型列表
这里引导不太好,填 http://127.0.0.1:11434/v1 应该就可以了
因为公司把docker禁掉了,所以本地docker这种方式暂时无法尝试。
通过浏览器插件的方式可以正常访问了
感谢老哥们
补充下配置: 浏览器:chrome 本地:mac 模型:ollama run qwen2.5:0.5b
已配置成功。建议README.MD加上ollama配置示例,避免困惑
因为公司把docker禁掉了,所以本地docker这种方式暂时无法尝试。
通过浏览器插件的方式可以正常访问了
感谢老哥们
浏览器对插件的跨域检查比较宽松,也感谢你陪我调试这么久
已配置成功。建议README.MD加上ollama配置示例,避免困惑
是的,谢谢建议