MaxKB 添加本地大语言模型(LLM)创建智能问答应用

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版本下载

image-20240425174856953

下载后,双击进行安装,默认会安装到C盘,然后等待安装完成,安装完成后正常会自动运行,如果没有运行,可以去应用列表双击运行即可

image-20240425161045182

然后打开命令窗口,输入:ollama -v,可以看到版本信息

image-20240425161026879

同样,在浏览器输入http://127.0.0.1:11434/访问ollama服务,即可看到,运行的字样,表示本地运行成功了,下面进行安装大语言模型.

image-20240425163201117

2. 安装大语言模型

ollama安装完成后,下面进行下载运行大语言模型,本例采用llama2模型,当然还有其他模型,可以到github上面选择,命令窗口输入下面命令

ollama run llama2

然后等待安装完成即可,出现success 表示下载完成了,然后按ctrl+d 退出,

image-20240425161508422

然后再输入ollama list 即可看到下载的大语言模型列表,本例下载了两个,所以显示两个,下面我们安装cpolar内网穿透工具,实现远程也可以调用Ollama这个大语言模型框架,远程通信!

image-20240425162719276

3. 安装Cpolar工具

本例介绍的是windwos系统,所以cpolar安装在windwos上,点击下面地址访问cpolar官网,注册一个账号,然后下载并安装客户端.

Cpolar官网:https://www.cpolar.com/

  • windows系统:在官网下载安装包后,双击安装包一路默认安装即可。

cpolar安装成功后,在浏览器上访问本地9200端口【http://localhost:9200】,使用cpolar账号登录,即可看到Cpolar 管理界面,然后一切设置只需要在管理界面完成即可!

20230130105810

4. 配置公网地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个ollama的公网http地址隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:11434
  • 域名类型:免费选择随机域名
  • 地区:选择China
  • host头域: 127.0.0.1:11434

点击创建(点击一次创建按钮即可,不要重复点击!)

image-20240425164541494

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https,两种都可以访问,下面选择其中一种进行远程访问

image-20240425164750350

在浏览器输入创建的公网地址,我们可以看到,同样看到了ollama 运行的字样,表示公网访问成功了!

image-20240425164932130

小结

为了更好地演示,我们在前述过程中使用了cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定二级子域名,原因是我希望将网址发送给同事或客户时,它是一个固定、易记的公网地址(例如:ollama.cpolar.cn),这样更显正式,便于流交协作。

5. 固定公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

image-20240425170206232

保留成功后复制保留成功的二级子域名的名称

image-20240425170229252

返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20240425170306512

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

image-20240425170340455

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址二级名称变成了我们自己设置的二级子域名名称

image-20240425170405890

下面我们打开浏览器,输入cpolar中固定的公网地址,即可看到同样是访问成功了,这样一个固定的公网访问ollama 的公网地址就设置好了,下面我们在MaxKB中添加调用我们本地模型

image-20240425170625772

6. MaxKB 添加Olama

MaxKB是一个基于大语言的问答系统,可以说是一个前端界面,支持对接多个大语言模型,具体可以可以看一下Gitee开源地址了解:https://gitee.com/aqie-project/MaxKB,成功运行MaxKB,登录进去后,点击,系统设置,选择模型设置,再选择Ollama,然后点击添加模型

image-20240425171446841

前面4个参数正常填写选择即可,模型选择llama2,目前页面没有llama3选项,我们选择2即可.然后API域名输入cpolar公网地址,注意,这里只能输入域名

image-20240425171805984

然后看下面API key参数,这里需要一个key,这个key在我们最开始运行Ollama软件的时候,在运行的日志里面可以找到

image-20240425171915578

在右下角我们可以找到运行的小图标,右键点击

image-20240425172233489

然后查看日志位置

image-20240425172519452

打开这个名称为server.log的日志文件

image-20240425172611849

在这个文件最开始,我们可以看到key的信息,注意是下面框住的这一部分是keyimage-20240425172709998

然后把key 输入到API Key 框里面

image-20240425172831464

然后点击添加即可

image-20240425172942489

最后我们可以看到成功添加了,如果在添加过程中没有llama2的大语言模型,这里也会自动下载

image-20240425173035737

7.创建问答应用

点击应用,我们创建一个问答应用,模型可以看到选择我们刚刚添加的大语言模型

image-20240425173453802

创建完成后,点击演示,进入问答页面

image-20240425173607557

然后就可以进行对话了,llama2是一个英文模型,基本的回答都是英文,当然可以自己导入设置其他模型,方式也是一样的,由于运行在windows设备,设备配置越高,响应越快,这样一个智能问答应用就设置好了!

image-20240425174156925

Share:

发表回复

目录

On Key

推荐文章