MaxKB构建本地大语言模型问答系统打造属于你的智能问答应用

server/2024/11/29 13:43:33/

文章目录

    • 前言
    • 1. 下载运行Ollama
    • 2. 安装大语言模型
    • 3. 安装Cpolar工具
    • 4. 配置公网地址
    • 5. 固定公网地址
    • 6. MaxKB 添加Olama
    • 7.创建问答应用

前言

本文主要介绍如何在windwos环境本地运行大语言模型框架Ollama,并在Ollama中下载大语言模型llama2,然后在MaxKB中导入添加该windwos运行的本地大语言模型到MaxKB中,创建属于我们自己的智能问答应用,无需公网IP,无需域名即可实现!

MaxKB 是一款基于 LLM 大语言模型的知识库问答系统,支持开箱即用,当MaxKB接入本地大语言模型的时候,限制只能使用域名才能接入,无法使用本地或者局域网IP进行设置添加本地大语言模型,本文介绍结合cpolar内网穿透工具,实现MaxKB 成功导入本地的大语言模型!

cpolar是一种安全的内网穿透服务,它能够将内网下的本地服务器通过安全隧道暴露至公网,使得公网用户可以正常访问内网服务。cpolar支持多种操作系统,包括Windows、Mac和Linux,同时支持多种协议,如TCP、UDP和HTTP等,这使得它适用于各种不同的开发和生产环境,并能够灵活地与内网设备进行通信。

请添加图片描述

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生成的隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆。另外,这个地址在24小时内会发生随机变化,更适合于临时使用。

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

5. 固定公网地址

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

登录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


http://www.ppmy.cn/server/145916.html

相关文章

亚马逊反爬二之限流

限流就是对请求的速率进行限制,避免瞬时的大量请求击垮软件系统。毕竟,软件系统的处理能力是有限的。如果说超过了其处理能力的范围,软件系统可能直接就挂掉了。限流可能会导致用户的请求无法被正确处理或者无法立即被处理,不过,这往往也是权衡了软件系统的稳定性之后得到…

通过不当变更导致 PostgreSQL 翻车的案例分析与防范

在数据库管理领域,PostgreSQL 凭借其强大的功能和稳定性,赢得了广泛的认可。然而,即便是如此稳健的系统,在不当的变更操作下,也可能遭遇性能下降、数据丢失甚至系统崩溃的风险。本文将通过一个具体案例,分析…

【数据库】macos官网/brew安装mysql5.7/8/9,修改cnf配置/身份验证插件,sqldump数据库备份与恢复

【数据库】macos官网/brew安装mysql5.7/8/9,修改cnf配置/身份验证插件,sqldump数据库备份与恢复 文章目录 1、mysql安装homebrew 安装 mysql9.0官网安装mysql 5.7社区版-归档版 2、修改cnf配置/身份验证方式起因:修改密码验证方式为mysql_nat…

除了混合搜索,RAG 还需要哪些基础设施能力

Infinity 是一款专门为 RAG 设计的,在功能和性能上全面领先的数据库,针对向量,稀疏向量,还有文本类数据,分别提供高性能的向量搜索、稀疏向量搜索以及全文搜索,并且提供这些数据之上的高性能范围过滤&#…

基于WEB的房屋出租管理系统设计

摘 要 随着城市化程度的推进,越来越多的人涌入城市,同时也带来的旺盛的租房需求,传统的房屋出租管理依赖人 工记录的方式难以满足人们对房屋出租管理的需求。因此,本文根据房屋出租信息化的需求设计一款基于房屋出租 的管理系统。…

深度学习基础3

目录 1.过拟合与欠拟合 1.1 过拟合 1.2 欠拟合 1.2 解决欠拟合 1.2.1 L2正则化 1.2.2 L1正则化 1.2.3 Dropout 1.2.4 简化模型 1.2.5 数据增强 1.2.6 早停 1.2.7 模型集成 1.2.8 交叉验证 2.批量标准化 2.1 实现过程 2.1.1 计算均值和方差 2.1.2 标准化 2.1.3…

实战ansible-playbook:Ansible Vault加密敏感数据(三)

在实际生产环境中,使用 Ansible Vault 来加密敏感数据是一种常见的做法。以下是一个详细的步骤和实际生产环境的使用案例,展示如何使用 Ansible Vault 来加密和管理敏感数据。 1. 安装 Ansible 确保你已经安装了 Ansible。如果还没有安装,可以使用以下命令进行安装: # 在…

简释下oracle的set define的使用场景

我们在使用oracle的时候,有些菜单表存在url字段,url字段中存在这&字符。但我们通过sql语句进行插入表记录的时候,数据库会提示要我们输入变量值。这个时候有些人难免会不知所措,今天告诉大家一个非常简单的办法解决。 一、问…