Obsidian+Ollama+llama3.1,自定义构建本地AI助理,无需联网

擎创夏洛克AIOps 2024-10-18 09:01:01 阅读 58

本文源于公众号--布博士(擎创科技产品解决方案专家)

【友情提示:本文较长,干货较多,建议收藏阅读】

在人工智能(AI)领域, AI PC让我们重新定义智能办公和信息管理。但是,要真正实现这一愿景,我们必须考虑多个关键因素,包括隐私保护、数据安全等。今天将带大家一起看下如何使用OBSIDIAN+OLLAMA+LLAMA3.1-8b搭建一个简易而高效的个人知识库及工作智能助理,从而让日常办公、学习、生活更加高效便捷。

本次分享主要包括以下内容:

1. 个人智能助理应用场景都有哪些

2. 如何构建可信赖的AI系统

3. 人工智能底座:搭建基于OLLAMA的大模型llama3.1 - 8b

4. 搭建个人知识及工作智能助理:使用OBSIDIAN+OLLAMA

一、个人智能助理应用场景

说到智能助理,很多人下意识的认为是智能家居、健康监测、购物、教育等,覆盖范围非常大。为了更聚焦和落地一些,在这里我们把范围约束的更小一点,就以博主自己工作场景为例。作为一名产品解决方案专家,日常工作主要聚集在以下几个方面:

1. 不断了解行业新知识、新趋势:包括大模型、智能运维、行业的相关应用等。

2. 为客户提供售前解决方案材料。

3. 为项目实施提供售后解决方案材料,包括需求文档 、技术方案等。

4. 同客户交互的过程中需要实记录会议记要、项目进展历史。

5. 进行产品设计。

6. ...

基于以上工作场景,于是衍生了以下需求:

1. 需要高效的知识及内容管理系统来收集知识并能够将这些知识进行有效组织和存储

2. 需要安全的人工智能分析引擎,并在进行知识管理与应用的过程中提供智能化场景支持,这个功能除了我这个行业的,应该很多行业都会用的上。如:

(1)中英文翻译

选中文档内容,ctrl+M弹出智能助手菜单,选择“翻译 - 中文“即可

下图为生成的中文翻译结果:

(2)为文章生成标题

比如将总结的知识进行分享,如何取一个比较容易推广的标题就可以交给我们的AI智能助手了。

为了得到一个紧扣文章主题的标题,我们可以在生成正式标题前先生成一个笼统的标题内容,选中该内容,然后在弹出的智能助手菜单中选择”生成标题“,即可按预设的prompt生成10个易于推广的标题,从里边选出一个最满意的就行了。

(3)生成内容大纲:

针对“基于OBSIDIAN+Ollama搭建个人智能助理“这个主题,智能助手生成了以下大纲内容,我们可以按照以下大纲去寻找资料,充实内容。从这里可以看出智能助理可以为写作或者工作梳理方向。

(4)生成行为项:

针对一篇会议记要,生成会议记录中的行动项内容

(5)内容总结:

对文档的内容进行总结 ,比如“布博士”公众号发文章时,最后的总结内容,我一般会让CHATGPT来帮我生成。

(6)内容优化:

对内容进行表达上的优化,如按专家口吻、按小学生的理解能力等。

(7)写作:

针对一个题目来进行内容写作。

(8)修正拼写和语法:

主要用于发现文章内容中的语法和拼写错误。

(……)

通过以上场景,我们不难看出AI智能助手运用场景广泛,优势明显。可以让工作学习事半功倍,也可以举一反三完成任务。

二、如何构建可信赖的个人AI系统

1.为什么要构建个人AI系统

随着 AI 的发展,个人数据将成为极具价值的资产,而那些收集并利用这些数据的公司,将有能力掌控我们的生活。比如近半年来,大型科技公司如某软和某歌频繁宣传 AI PC 概念,他们声称,AI 更懂你,会记录计算机上你的每一步操作,并预测下一步的动作。但,这种便捷的背后有可能存在隐私泄露等数据安全风险。

上面这些公司所宣传的AI更懂你,逻辑就是他们通过 AI 代理(智能体)来收集个人隐私数据,并将其提供给强大的 “AI 大脑”。这个“大脑”使用所收集的数据进行决策,然后又将信息传递回智能体,让它能快速为各种需求做出反应。这种数据处理流程不仅具有侵犯隐私的风险,如果数据处理不当不仅会对个人造成危害甚至可能还会涉及企业数据安全风险。

所以,不要被 AI PC 的表象所吸引,从而忽视隐私数据会被泄露的潜在危险。(再次强调!保护好自己的个人信息,以免落入那些不法之人的手中。)

所以,问题来了,公用的AI PC不安全,那么如何构建一个安全的私人AI助理呢?

三、如何搭建安全好用的个人智能助理

为了实现应用场景和保障隐私安全,我建议构建如上图所示的个人智能助理系统:

OBSIDIAN:实现个人的全面知识管理,包括知识收集、存储。

LLM引擎 - Ollama:实现本地的大模型引擎,实现智能场景。

Ollama的详细安装这里我不赘述了,仍有疑问的朋友可以参考“布博士”公众号文章《ollama实现开源大模型本地化安装部署》。Windows系统和Mac系统的安装方法都差不多,也比较简单。以下是我在安装过程中的部分示意,仅供参考。

在本地运行时,推荐使用LLama 3.1-8B模型(也称为LLama 3.1: LATEST),该模型在所有测试场景中表现都相当出色。

(1)完成OLLAMA本地化部署配置

OLLAMA本地化部署,对计算机的硬件配置有一定要求。博主自己主机配置如下:

CPU:I7 14700KF(满足运行4090显卡的最低要求)。

GPU:技嘉 4090 满血版,24GB显存。如果运行8B以下的模型,可以选择16GB显存。预算有限的情况下,AMD显卡也是不错的选择,性价比更高。

内存:64GB(如需处理大规模数据或运行深度学习算法,可扩展至128GB)。

固态硬盘:速度为7000M/秒。

不同模型的响应情况

LLama 3.1-8B和Phi 3:14B:运行速度非常快,能在秒级响应和处理指令。

Gemma 2:27B:速度稍慢,但不影响阅读体验。

LLama 3.1:70B:显著影响使用体验,每次指令会使4090显卡满负载,CPU占用约70%,内存占用约60%,在当前配置下运行该模型时,其它指令几乎很难运行,如截屏。

各大模型对计算机资源的要求(不考虑多并发情况)

LLama 3.1: Latest(8B):建议至少10GB显存和20GB内存。

LLama 3.1: 70B:建议至少40GB显存和80GB内存。

Phi 3:14B:建议至少16GB显存和32GB内存。

Gemma 2:27B:建议至少24GB显存和48GB内存。

(2)如何使用OBSIDIAN+OLLAMA,搭建个人知识库及工作智能助理

①安装 obsidian:可以从官方网站http://www.obsidian.md官方网站进行下载:

像普通软件一样,安装运行即可,如下图所示。由于我事先在本地构建了一个本地知识仓库放到D:\15-obsidian,现在直接打开即可;如果没有构建的话,可以点击创建以创建一个新的本地仓库:

②运行OBSIDIAN:安装完成之后,可以看到如下图所示的应用界面,最左侧是不同的知识目录,中间是编辑区域,右侧是构建知识内容的章节列表

③ 安装local gpt插件:要实现个人智能助理,需要将OBSIDIAN同OLLAMA做集成,在这里我用到了LOCAL GPT插件,需要在设置中找到插件管理。

点击浏览按钮,可以查找local gpt,如下图所示,双击安装即可:

④配置local gpt

首先,配置AI provider,在这里选择ollama

ollama URL:由于是个人PC,未使用远程的服务,因此使用的http://localhost:11434

default model:会自动从ollama server上获取可用的大模型列表,在这里我们选择llama3.1。

以上步骤完成后,即可实现Obsidian与Ollama的集成。

但要构建智能助理,还需要设置一系列智能操作(即Local GPT中的Actions)。这些操作只需创建相应的系统提示词(System Prompt)和用户提示词(User Prompt),即可实现所需功能(基于人工智能的程序设计,基本不需要写一条代码,即可完成这些智能化的操作)。

在这里我构建了10个ACTIONS,都是通过自然语言的描述即可完成的,下图为10个ACTIONS列表。

⑤对ACTION进行编辑和新建,我们以翻译功能为例来看一下构建过程:

***ACTION如何构建

模型选择(Model Optional):根据不同的操作(ACTION),可以选择合适的模型。例如,对于文本内容生成,可以选择LLama 3.1,而对于代码生成,可以选择LLama 3.1的编程微调版本。

操作名称(Action Name):在智能助理菜单中,操作项的显示名称。在这里我们设置为“翻译 - 中文”,表示将英文翻译为中文。用户也可以选择其他语言,如英文、德文等。

system prompt optional:在未经过微调的大模型中,提示词至关重要。一个好的提示词可以更有效地激发大模型的能力。以下是一个用于将英文翻译成中文的提示词示例,供参考:

prompt:用户提示词,具体的用户指令

⑥修改Actions

⑦为个人智能助理配置快捷键:我们为"local GPT:show context menu"配置快捷键为ctrl+m,这样当我们在编辑文档的任何过程中,可以快速的打开个人智能助理。

⑧个人智能助理使用:以翻译功能为例,选中如下文本内容按ctrl+m打开智能助手菜单 ,选择”翻译-中文“。

 译文如下: You can leverage the editing capabilities of Obsidian and the large model capabilities of LLaMA to create a customized intelligent assistant. This is an incredibly powerful tool that can help you boost your productivity and creativity.

(3)接下来需要增强以下功能,个人智能助理才算真正构建完成

①图像生成能力:在 Obsidian 中集成 Stable Diffusion 3,可以直接在 Obsidian 中实现与 Stable Diffusion 3 的集成,提升图片生成能力,增强内容创作的视觉效果。

②Obsidian 的知识搜索功能:提供全面的搜索功能,以便更好地应用和管理存储的笔记和知识。例如,笔记中记录了家庭成员的身份证图片,用户可以通过搜索“身份证”直接找到相关笔记内容。

③交互式数据分析与探索功能:在 Obsidian 中实现与分析型数据库的集成,通过交互式对话进行数据分析和探索,并利用本地大模型根据需求描述生成分析代码。

④任务下达与执行能力:在 Obsidian 中实现通过聊天方式下达任务和执行操作的能力。例如,通过 Google API 查询相关内容,并利用本地大模型对查询结果进行综合分析,提供最终答案。

⑤代码生成与调试功能:在 Obsidian 中实现交互式的代码生成能力,并在 Docker 沙盒中模拟运行和调试代码,最终输出可正确执行的代码。

⑥操作Agent能力: 可以集成不同角色的智能代理(Agent),根据用户下达的指令,利用大模型驱动来执行各类智能代理,从而高效、智能地完成各种作业任务。这一能力实现了任务的自动化和智能化。

具备上述能力的系统,方可称为真正意义上的个人智能助理。

四、总结

整套过程操作下来比较简单,当然,本地部署也面临一些挑战,例如硬件资源需求较高、维护复杂性增加以及需要专门技术人员进行支持等。但总体来说,在注重数据安全和隐私保护的场景中,本地运行的大模型依然是一个非常有竞争力的选择。如果有问题欢迎大家评论区留言分享。

擎创科技,Gartner连续推荐的AIOps领域标杆供应商。公司专注于通过提升企业客户对运维数据的洞见能力,为运维降本增效,充分体现科技运维对业务运营的影响力。

  行业龙头客户的共同选择

了解更多运维干货与行业前沿动态

可以右上角一键关注

我们是深耕智能运维领域近十年的

连续多年获Gartner推荐的AIOps标杆供应商

下期我们不见不散~



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。