解锁大模型的力量:我的本地部署到远程访问之旅

本文最后更新于 2024年5月11日。

最近花了很多事件研究大模型部署。这里只简单记录我的探索过程,不涉及具体技术细节。希望对大家有启发,后续如果有需要再补充。如果有问题,欢迎一起探讨。

之前写过win11使用本地大模型部署工具ollama让没有独显的windows电脑也能体验大模型。

这时候还只是可以简单体验命令行的对话功能。
然而,这只是一个开始,因为本地部署大模型更像是一个基础设施,在它之上,可以做很多有意思的事情。

接着就希望能让大模型读取文本信息进而提供更为准确的答案,所以找到了anythingLLM这个工具,它利用ollama作为服务器,能进行简单的文本理解,当然也只是作为简单的功能实现体验,距离好用还有差距。

再后来发现obsidian的copilot插件,它能调用ollama的api与我的笔记交互,这个是我一直想要实现的。体验了一下,也不错,有时候能回答正确。
下图是我用这个插件给我这篇文章起的标题和优化建议,效果超出预期。
image.png

我给的指令:帮我给这篇文章起一个精彩的标题,另外看看有没有什么可以优化的地方。

本地大模型(llama3:8b)的回答:

Here is a summary of the conversation as context, along with suggestions on what can be optimized:

Title: "Unlocking the Power of Large Language Models: My Journey from Local Deployment to Remote Access"

Summary: The article describes the author’s experience with deploying large language models (LLMs) locally using Ollama and Open WebUI. They encountered some challenges, such as solving cross-origin issues, but were able to successfully deploy the LLMs on Docker Desktop. The author then explored ways to access their local LLMs remotely, including setting up an FRP (Fast Reverse Proxy) server on their VPS and configuring the client-side FRPC. Finally, they discovered Dify, a platform for developing AI applications, and were able to deploy it successfully.

Optimization Suggestions:

  1. Add more technical details: While the article provides a good overview of the author’s experience, some readers may appreciate more technical details on how to set up Ollama, Open WebUI, and FRP.
  2. Emphasize the benefits: Highlighting the benefits of using LLMs locally, such as improved response times and better integration with other tools, could make the article more compelling.
  3. Include more visuals: Adding screenshots or diagrams to illustrate the setup process and the author’s experience with Dify could make the article more engaging.
  4. Provide a clearer structure: The article jumps around between different topics (local deployment, remote access, and AI application development). Consider breaking it down into separate sections or using headings to improve readability.

Overall, the article provides a unique perspective on working with LLMs and has potential for optimization and improvement.

翻译成汉语:

以下是作为上下文的对话摘要,以及可以优化的建议:

标题:“释放大型语言模型的力量:我从本地部署到远程访问的旅程”

**总结:**本文描述了作者使用Ollama和Open WebUI在本地部署大型语言模型(LLM)的经验。他们遇到了一些挑战,例如解决跨来源问题,但能够在Docker Desktop上成功部署LLM。然后,作者探索了远程访问本地LLM的方法,包括在他们的VPS上设置FRP(快速反向代理)服务器和配置客户端FRPC。最后,他们发现了Dify,一个开发人工智能应用程序的平台,并成功部署了它。

优化建议:

1.添加更多技术细节:虽然本文很好地概述了作者的经验,但一些读者可能会欣赏有关如何设置Ollama、Open WebUI和FRP的更多技术细节。
2.强调好处:强调在本地使用LLM的好处,例如改进响应时间和更好地与其他工具集成,可以使文章更具吸引力。
3.包括更多的视觉效果:添加屏幕截图或图表来说明设置过程和作者使用Dify的经验,可以使文章更具吸引力。
4.提供更清晰的结构:文章在不同的主题(本地部署、远程访问和人工智能应用程序开发)之间跳跃。考虑将其分解为单独的部分或使用标题来提高可读性。

总的来说,本文提供了使用LLM的独特视角,并具有优化和改进的潜力。

我这篇文章标题就是采用大模型的建议,只是用中文表达了出来。

为了能体验更多的新技术,我决定将平台切换到docker desktop,因为不少工具还没有适配windows端,然而大多数都有docker版。
首先把基础服务挪过来,也就是在docker desktop中部署ollama,然后部署open webui,这样就能更加丝滑地使用ollama了。这个过程也不是特别顺利,因为解决跨域问题花了很多时间。

本地访问是这样
image.png

open webui有着精美地界面和良好地交互逻辑,使用起来可以说是赏心悦目。我所就希望能随时访问它,即便它反应速度和解决问题能力和目前大厂提供地大模型差很远,但是使用自己本地部署地大模型感觉就是不一样。
该怎么实现能随时访问呢?很明显,最简单地方法是部署到公网,但是我的VPS带不动。所以还有一种方法,就是内网穿透,把我电脑上的服务暴露到公网。技术方案选用frp,这个工具我以前用过,并且也比较主流。

首先在vps上部署frps,也就是服务端,编辑好服务端配置文件。然后再在docker desktop部署frpc,也就是客户端,编辑好客户端配置文件。调试好后访问域名就可以随时访问我内网电脑上的大模型了。

接着想探索更高级的功能,开发大模型应用,然后就找到dify。根据官网教程很顺利部署成功,dify和coze平台有点像,虽然功能还不完善,但已经可以开发大模型应用了。

同样进行内网穿透,也可以随时访问dify创建的机器人。
image.png

点击阅读原文或者下面地址体验基于我本地大模型的机器人。
本地大模型体验地址

体验地址

如果无法跳转,复制
https://wdify.weiyoun.com/chat/JYNw36nWkTR9rT9o
并从浏览器打开。

注意,本地大模型比较消耗资源可能不能支持并发访问,并且回复比较慢,只是作为技术探索使用。
如有问题可以联系作者。