Ollama提供UI的API方式

5lhxktic  于 2个月前  发布在  其他
关注(0)|答案(3)|浏览(25)

你想做什么?

目前可用性的一个巨大问题是,我们不能让用户从本地文件中享受基于浏览器的用户界面。这里有CORS保护,无法移除,它会阻止从本地文件打开的浏览器用户界面。CORS不能被移除(设置为*),因为恶意网站可能会利用本地Ollama,因为一个恶意网站的打开页面可以访问本地Ollama服务。
为了解决这个问题,现在我们必须建议安装一个反向代理,这对于简单的用户来说有点过头了,尤其是那些只想玩得开心的Windows用户,他们对“网络服务器”这个词有很复杂的联想,认为它是一个庞大且能访问你电脑上所有东西的东西。
我们可以建议他们将Origin设置为我们的UI托管的某个网站,但这样一来,用户就不会感到安全了,因为他们相信感觉网页是远程的,它可以“窃听”他们的聊天记录。而且,这意味着他们不能在本地打开UI,他们需要互联网来聊天,这与本地服务的理念相悖。

我们应该如何解决这个问题?

一个非常简单和合理的解决方案是在现有API中添加一个函数来提供"index.html"文件。我们可以添加一个特殊的可选env头部,指向该单个文件的路径。然后Ollama只需在请求"http:/127.0.0.1:11434/index.html"时发送其内容即可。
基本上就是这样。CORS保护会被保留下来,而且实现起来非常简单。对于默认安装,什么都不会改变,但对于想要尝试一些基于浏览器的用户界面的人来说,只需要在启动时设置env变量或一些"--index="选项就足够了。
理论上,提供文件夹可能会更好,但在各种安全问题方面已经很难了,而且老实说也并不真的需要,因为网页可以从远程网站加载其他所需的资源,比如github.io等。

不解决这个问题会有什么影响?

许多简单的用户被迫要么放弃CORS保护,要么放弃尝试Ollama的想法。由于大多数人都在使用Windows系统,不难想象安装反向代理会阻止Ollama获得更广泛的普及。

还有其他吗?

  • 无响应*
wnvonmuf

wnvonmuf1#

我认为我们可以通过在Ollama应用程序中直接包含一些用户配置设置来改进用户体验,以便连接到网站或Chrome扩展程序。

0h4hbjxa

0h4hbjxa2#

理想的解决方案既具有安全性又具有灵活性:在Ollama中预定义一个文件夹,可以通过特定的API调用(如基本的"get /")通过Ollama提供服务。然后UI编写者只需编写一条指令:“将我的UI放入该文件夹,打开Ollama,就这样”。

d7v8vwbk

d7v8vwbk3#

安全方面,我们还可以将此文件限制在预定义的文件夹中,这样人们就无法让Ollama打印任何进程可以访问的文件。

相关问题