【小白】【详细】如何让别人使用你的本地大模型(LM studio + frp)
本文提供一种简单易复现的让别人使用你本地部署的大模型的方案。
概要
本文提供一种简单易复现的让别人使用你本地部署的大模型的方案。
关键词
本地大模型、内网穿透、API暴露公网
正文
个人用的是MACmini M4 跑的模型哈。
-
什么是API?
- API(Application Programming Interface,应用程序编程接口) 是一组预先定义好的规则、协议和工具,它允许不同的软件应用程序之间相互通信和交换数据。

- API(Application Programming Interface,应用程序编程接口) 是一组预先定义好的规则、协议和工具,它允许不同的软件应用程序之间相互通信和交换数据。
*OpenAI API 的格式(pyhton)
from openai import OpenAI#从 openai 库里导入 OpenAI 这个类(它是用来连接 API 的客户端)
client = OpenAI()#client是客户的意思,这里创建创建了一个客户端,用于与服务端通讯
response = client.responses.create(
model="你的模型名字",#指定模型的命字
input="这是一段你输入的文本"#给模型的提示
)
#响应结果=客户端.响应.创建(包含的信息)
print(response.output_text)#将模型的回应结果打印
-
流是什么?
这个参数设置流:stream=true过程:你的程序 -> 发送请求 -> OpenAI服务器生成第一个词 -> 立刻返回 -> 你的程序处理 -> 服务器生成第二个词 -> 立刻返回 -> 你的程序处理 -> … -> 直到生成结束。
效果:在控制台上,文字会像有人在你屏幕上打字一样,一个一个词(或几个词)地逐渐出现,而不是等待很长时间后突然出现一整段文字。
-
token是什么?
在AI语言模型中,Token是文本的基本处理单元。它可以是一个词、一个字、一个标点符号,甚至是词的一部分。模型通过理解和管理这些Token来“读懂”和“生成”文本。
理解(输入):把你输入的句子(乐高飞船)拆解成一个个标准的积木块(Token)。
思考(处理):分析这些积木块如何组合在一起,以及接下来最应该放哪一块积木。
生成(输出):根据它的“思考”,一块接一块地输出新的积木块(Token),最终组合成一个完整的、有意义的回复(新的乐高模型)。
没有这些小小的积木块,就无法构建出任何东西。Token就是语言模型用来构建意义的“积木块”。
-
LM studio介绍
LM Studio 是一个 桌面端的应用软件,用来在本地运行和管理大语言模型(LLM)
它的界面很友好,点几下就能和模型对话,不需要敲很多命令行。相比于另一款Ollama,它更适合新手.
它支持 本地运行(CPU 或 GPU)和 远程模型(通过 API)。
LM Studio 自带一个本地 API 服务器(OpenAI 风格)。
-
为什么要本地部署大模型?
首先,拥有自己的本地大模型是一件很酷的事,你可以用它来做很多事情.
所有数据都留在自己的电脑/服务器上,不用上传到云端,适合处理敏感数据.(公司文档、医疗、科研等)
云端调用 API 要按 token 收费,用多了很贵。
即使没有网络,也能运行。
-
本地部署大模型
-
下载LM studio
下载地址:https://lmstudio.ai/download
使用教程:https://www.bilibili.com/video/BV16RBGYMEXV/?spm_id_from=333.1387.homepage.video_card.click&vd_source=82dc9d13c607cde159964c075a4932d8
-
下载模型
选择适合你设备的模型,然后下载
-
启动后端
按照视频里的设置,然后把服务拉起就行了

-
重要参数
-
模型名称:

-
访问地址:
-
-

-
局域网调试
- 安装Miniconda
-
mini conda介绍
-
先介绍Anaconda:
它是一个 Python 科学计算环境,里面打包好了:
Python 本身
常用的科学库(numpy, pandas, matplotlib…)
conda 包管理器(用来装/卸载库、管理环境)
-
那么 Miniconda 呢?
Miniconda = 精简版的 Anaconda。
它只包含 conda 包管理器 + Python,别的都没有。
更小,更灵活.适合本套方案.
-
-
下载地址:https://www.anaconda.com/download
- 安装Miniconda

下载右边的那个




出现这两个就代表安装成功啦!!!
-
安装VScode
-
VScode介绍
VSCode(Visual Studio Code)是一款由微软开发的免费、开源、跨平台的源代码编辑器。
能在 Windows、macOS、Linux 上运行。
主打 轻量 + 可扩展。
集成终端。
无与伦比的扩展生态系统.通过拓展,你能仅靠VScode做到很多事情.
宇宙级编辑器.无需多言.
支持几乎所有编程语言(Python、C++、Java、JavaScript…)。
下载地址:https://code.visualstudio.com/
一路安装下去就行啦~
-
-
创建环境
点开Anaconda Promt

会出现这个黑色框框:

输入以下命令,回车确认:
conda create -n LLM python=3.9

输入: a
出现这个:

输入: y

出现这个就代表我们安装好了环境
-
激活环境
conda activate LLM
我们发现前面括号里的名字变了,这就代表我们进入了这个叫做LLM的环境里.
-
安装所需包
输入以下命令:
pip install httpx pip install Openai

出现这个代表我们的环境已经配置好啦!
-
选择环境
接着我们新建一个文件夹,然后创建一个python文件,怎么创建自己搜哈~
现在我们打开VScode
看右下角

选择刚才创建的LLM环境
-
开始本地调试
from openai import OpenAI client = OpenAI(base_url="http://localhost:1234/v1", api_key="lm-studio") messages = [ {"role": "system", "content": "You are a helpful assistant"} ] while True: user_input = input("你:") if user_input.strip().lower() in ["exit", "quit"]: break messages.append({"role": "user", "content": user_input}) stream = client.chat.completions.create( model="你的模型名字", messages=messages, temperature=0.7, stream=True, ) reply = [] for chunk in stream: token = chunk.choices[0].delta.content or "" print(token, end="", flush=True) reply.append(token) print() messages.append({"role": "assistant", "content": "".join(reply)})运行便能在内网访问了。
根据你的实际情况
找到这行代码,填写你的其他内网设备的地址:
client = OpenAI(base_url="http://localhost:1234/v1", api_key="lm-studio") -
内网穿透(frp)介绍
内网穿透是一种技术,它能让位于本地私有网络(如家庭或公司内网)中的设备或服务,被公共互联网(外网)上的其他设备直接访问,就像把它直接暴露在公网上一样。
-
能做:
远程访问家中的NAS
演示本地开发的项目
微信小程序等开发调试
-
-
TCP介绍
TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它确保了数据在网络中能够准确、有序、不重复地从一台计算机传输到另一台计算机。
-
映射端口
我们需要的是经典的樱花穿透,打开网址:https://www.natfrp.com/?page=panel&module=download在跑模型的那台电脑上安装樱花穿透.

新建用户后:

需要实名认证
接着复制访问密钥

新建隧道

选一个内地节点:

选择TCP


如上填写
接着下载对应你操作平台的软件:

windows无法安装就按照这个来:

-
安装
打开樱花穿透,粘贴刚才复制的访问密钥:


启动隧道,然后打开日志:

复制你的隧道IP
-
公网和内网是什么?
-
公网:全球范围的互联网,就像公共邮政系统,每个地址(公网IP)必须是全球唯一的,可以直接被任何人访问。
-
内网:一个局部范围内的私有网络,就像一栋大楼内部的房间号系统,地址(内网IP)可以重复出现在不同大楼里,外部无法直接访问。
通过 NAT(网络地址转换)进行协作.
-
-
穿透后调试
-
SSL是什么?
SSL(Secure Sockets Layer) 安全套接层协议
SSL(安全套接层)及其继任者TLS(传输层安全)是一种加密协议,它在你的电脑(客户端)和网站服务器之间建立一条安全、加密的通信隧道,确保你们之间传输的所有数据(密码、信用卡号、聊天信息)不会被窃听和篡改。
如果没有 SSL,你的用户名和密码会以 明文 在网络里传输,黑客能直接截取。
-
没有 SSL:就像你在邮局寄明信片,谁路过都能看见内容。
-
有了 SSL:就像寄一个上锁的保险箱,只有收件人能打开。
-
-
为什么要禁用SSL?
在Python 里 SSL 验证默认是开启的
在内网自己搭的服务器常常用“自签名证书”,不是权威 CA 签的。
为方便调试,需要禁用.
-
代码修改
from openai import OpenAI import httpx import ssl # 创建自定义HTTP客户端,禁用SSL验证 http_client = httpx.Client(verify=False) client = OpenAI( base_url="https://把这里改成你复制的隧道IP/v1", api_key="lm-studio",#这里随便写哈 http_client=http_client ) messages = [ {"role": "system", "content": "You are a helpful assistant"} ] while True: user_input = input("你:") if user_input.strip().lower() in ["exit", "quit"]: break messages.append({"role": "user", "content": user_input}) stream = client.chat.completions.create( model="改成你的模型名字", messages=messages, temperature=0.7, stream=True, ) reply = [] for chunk in stream: token = chunk.choices[0].delta.content or "" print(token, end="", flush=True) reply.append(token) print() messages.append({"role": "assistant", "content": "".join(reply)}) -
点击运行
-
特别注意:Ollama部署的话,需要打开对局域网开放!
-
-
应用案例
-
网站嵌入
你可以在网站内嵌一个智能体用于对话,后续我会在GitHub上放一个模板。
这里我们使用一个叫Page Assist的浏览器插件。
下载后会有一个这个界面:
我们进点击右上角,进入设置

然后添加一个供应商
按照这样设置
URL根据实际情况填写:-
本机不用改
-
局域网内其他设备将localhost改成运行模型的IP地址即可
-
外网将localhost改成隧道IP即可

回到首页,左上角选择模型,就可以开始对话了

当然你也可以自己搓一个更好看的网页出来哈~
-
-
翻译
我们需要一个浏览器插件,这里我们推荐:沉浸式翻译
点击浏览器右上角的这个东西

然后获取拓展:


下载完后:点击这个

接下来会出现这个:

-
点击翻译服务
点击更多的翻译服务:

点击添加自定义翻译服务
按照下面图片进行设置

点击右上角的测试服务
没有问题的话是这样的:

关闭网页会自动保存
接着找一篇全英网站
点开拓展,翻译服务选择你刚才的本地翻译服务
点击
左边那个可以开启双语对照。
然后开始体验乌龟般的翻译速度吧哈哈哈哈
附录
如有疏漏,请多包含
参考链接
Deepseek API使用文档:https://api-docs.deepseek.com/zh-cn/api/deepseek-api/
代码放在了:https://github.com/Linmoqian/LLM_frp_api
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)