前言
MaxKB 是一款基于 LLM 大语言模型的知识库问答系统,支持开箱即用,当MaxKB接入本地大语言模型的时候,限制只能使用域名才能接入,无法使用本地或者局域网IP进行设置添加本地大语言模型,本文介绍结合cpolar内网穿透工具,实现MaxKB 成功导入本地的大语言模型!
cpolar是一种安全的内网穿透服务。它能够将内网下的本地服务器通过安全隧道暴露至公网,使得公网用户可以正常访问内网服务。cpolar支持多种操作系统,包括Windows、Mac和Linux,同时支持多种协议,如TCP、UDP和HTTP等,这使得它适用于各种不同的开发和生产环境,并能够灵活地与内网设备进行通信。
下面介绍在windwos本地运行大语言模型框架Ollama,并在Ollama中下载大语言模型llama2,然后在MaxKB中导入添加该windwos运行的本地大语言模型到MaxKB中,创建属于我们自己的智能问答应用,无需公网IP,无需域名即可实现!
1. 下载运行Ollama
进入Ollama Github 界面:https://github.com/ollama/ollama?tab=readme-ov-file ,我们选择windwos版本下载
下载后,双击进行安装,默认会安装到C盘,然后等待安装完成,安装完成后正常会自动运行,如果没有运行,可以去应用列表双击运行即可
然后打开命令窗口,输入:ollama
-v,可以看到版本信息
同样,在浏览器输入http://127.0.0.1:11434/
访问ollama服务,即可看到,运行的字样,表示本地运行成功了,下面进行安装大语言模型.
2. 安装大语言模型
ollama安装完成后,下面进行下载运行大语言模型,本例采用llama2
模型,当然还有其他模型,可以到github上面选择,命令窗口输入下面命令
ollama run llama2
然后等待安装完成即可,出现success 表示下载完成了,然后按ctrl+d
退出,
然后再输入ollama list
即可看到下载的大语言模型列表,本例下载了两个,所以显示两个,下面我们安装cpolar内网穿透工具,实现远程也可以调用Ollama这个大语言模型框架,远程通信!
3. 安装Cpolar工具
本例介绍的是windwos系统,所以cpolar安装在windwos上,点击下面地址访问cpolar官网,注册一个账号,然后下载并安装客户端.
Cpolar官网:https://www.cpolar.com/
- windows系统:在官网下载安装包后,双击安装包一路默认安装即可。
cpolar安装成功后,在浏览器上访问本地9200端口【http://localhost:9200】,使用cpolar账号登录,即可看到Cpolar 管理界面,然后一切设置只需要在管理界面完成即可!
4. 配置公网地址
点击左侧仪表盘的隧道管理——创建隧道,创建一个ollama的公网http地址隧道!
- 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
- 协议:选择http
- 本地地址:11434
- 域名类型:免费选择随机域名
- 地区:选择China
- host头域: 127.0.0.1:11434
点击创建
(点击一次创建按钮即可,不要重复点击!)
隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https,两种都可以访问,下面选择其中一种进行远程访问
在浏览器输入创建的公网地址,我们可以看到,同样看到了ollama 运行的字样,表示公网访问成功了!
小结
为了更好地演示,我们在前述过程中使用了cpolar生成的隧道,其公网地址是随机生成的。
这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址在24小时内会发生随机变化,更适合于临时使用。
我一般会使用固定二级子域名,原因是我希望将网址发送给同事或客户时,它是一个固定、易记的公网地址(例如:ollama.cpolar.cn),这样更显正式,便于流交协作。
5. 固定公网地址
由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】
注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】
登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称
保留成功后复制保留成功的二级子域名的名称
返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑
修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
点击更新
(注意,点击一次更新即可,不需要重复提交)
更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址二级名称变成了我们自己设置的二级子域名名称
下面我们打开浏览器,输入cpolar中固定的公网地址,即可看到同样是访问成功了,这样一个固定的公网访问ollama 的公网地址就设置好了,下面我们在MaxKB中添加调用我们本地模型
6. MaxKB 添加Olama
MaxKB是一个基于大语言的问答系统,可以说是一个前端界面,支持对接多个大语言模型,具体可以可以看一下Gitee开源地址了解:https://gitee.com/aqie-project/MaxKB,成功运行MaxKB,登录进去后,点击,系统设置,选择模型设置,再选择Ollama,然后点击添加模型
前面4个参数正常填写选择即可,模型选择llama2,目前页面没有llama3选项,我们选择2即可.然后API域名输入cpolar公网地址,注意,这里只能输入域名
然后看下面API key参数,这里需要一个key,这个key在我们最开始运行Ollama软件的时候,在运行的日志里面可以找到
在右下角我们可以找到运行的小图标,右键点击
然后查看日志位置
打开这个名称为server.log的日志文件
在这个文件最开始,我们可以看到key的信息,注意是下面框住的这一部分是key
然后把key 输入到API Key 框里面
然后点击添加即可
最后我们可以看到成功添加了,如果在添加过程中没有llama2的大语言模型,这里也会自动下载
7.创建问答应用
点击应用,我们创建一个问答应用,模型可以看到选择我们刚刚添加的大语言模型
创建完成后,点击演示,进入问答页面
然后就可以进行对话了,llama2是一个英文模型,基本的回答都是英文,当然可以自己导入设置其他模型,方式也是一样的,由于运行在windows设备,设备配置越高,响应越快,这样一个智能问答应用就设置好了!