基于OBSIDIAN+Ollama+llama3.1构建个人智能助理

news2024/9/25 9:35:53

这里写自定义目录标题

  • 重新定义个人智能助理:应用场景
  • 隐私保护与数据安全:构建可信赖的AI系统
  • 人工智能底座:搭建基于OLLAMA的大模型
      • 我的OLLAMA本地化部署配置
      • 不同模型的响应情况
      • 各大模型对计算机资源的要求(家庭使用为主)
  • 搭建个人知识及工作智能助理:使用OBSIDIAN+OLLAMA
  • 下一步

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

本文包括如下内容:

  1. “重新定义个人智能助理:应用场景”
  2. “隐私保护与数据安全:构建可信赖的AI系统”
  3. “人工智能底座:搭建基于OLLAMA的大模型llama 3.1-8b”
  4. “搭建个人知识及工作智能助理:使用OBSIDIAN+OLLAMA”

重新定义个人智能助理:应用场景

一说起智能助理大家想到的是智能家居、健康监测、购物、教育等,范围是非常大的,为了更聚焦和落地一些,在这里我们把范围约束的更小一点。我本人是一名产品解决方案专家,因此日常的工作主要聚集在以下几个方面:

  1. 必须时时了解行业的新知识、新趋势:包括大模型、智能运维、行业的相关应用等。
  2. 为客户提供售前解决方案材料
  3. 为项目实施提供售后解决方案材料,包括需求文档 、技术方案等
  4. 同客户交互的过程中需要实记录会议记要、项目进展历史
  5. 进行产品设计

为了满足以上的需求,我们需要一套智能化的系统担任我的日常大脑,帮助我实现:

  1. 知识的收集并能够将这些知识进行有效的组织和存储,并能够实各种知识的有效存储。需要一个高效的知识及内容管理系统:
    在这里插入图片描述

在这里插入图片描述
2. 需要一个安全的人工智能分析引擎,并在进行知识管理、知识应用过程中提供智能化场景支持,如:

- 中英文翻译:如下图所示,选中文档内容,ctrl+M弹出智能助手菜单,选择“翻译 - 中文“即可

在这里插入图片描述

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

在这里插入图片描述

- 生成标题:如下图所示,有时候我需要将总结的知识进行分享,在分享的过程中需要一个比较容易推广的标题 。因此我可以先生成一个粗的标题内容,选中该内容,然后在弹出的智能助手菜单中选择”生成标题“,即可按预设的prompt生成10个易于推广的标题。

在这里插入图片描述

- 生成内容大纲:如下是通过智能助手针对“基于OBSIDIAN+Ollama搭建个人智能助理“生成的大纲内容 
以下是根据给定的文档内容生成章节标题的建议:

**章节1:** "搭建个人智能助理: OBSIDIAN 和 Ollama 的优势"
	* 内容:介绍 OBSIDIAN 和 Ollama 背景、特点和优势,吸引读者关注这些技术的潜力。

**章节2:** "OBSIDIAN 和 Ollama 的技术原理"
	* 内容:详细解释 OBSIDIAN 和 Ollama 的核心技术,如 AI 模型、自然语言处理和人工智能等概念。
	* 逻辑顺序:这部分将提供必要的技术基础,使读者能够理解后续章节。

**章节3:** "搭建个人智能助理:实施步骤和挑战"
	* 内容:介绍如何实施 OBSIDIAN 和 Ollama,包括设置、训练和优化个人智能助理等细节。同时,也将讨论可能遇到的挑战。
	* 逻辑顺序:在理解了技术原理后,这部分将指导读者完成实际操作。

**章节4:** "案例研究: OBSIDIAN 和 Ollama 在实际应用中的表现"
	* 内容:通过具体的案例来展示 OBSIDIAN 和 Ollama 在现实世界中有哪些影响。例如,改进决策流程、自动化任务等。
	* 逻辑顺序:此部分将以感性的方式展示这些技术在现实中的运用。

**章节5:** "未来的展望和结论"
	* 内容:总结 OBSIDIAN 和 Ollama 的发展潜力以及个人智能助理的前景。
	* 逻辑顺序:最后这一部分将概括整个内容,并为读者提供一个全局视角。

以上这些章节标题应满足您的要求。请告诉我,您是否还有其他问题或需要进一步帮助!
  • 生成行为项:如下图是针对一篇会议记要,生成的会议记录中的行动项内容

在这里插入图片描述

  • 内容总结:略,可以对文档的内容进行总结 ,我的布博士公众号发文章时,一般会有一个120字的总结内容,我一般会让CHATGPT来帮我生成。
  • 内容优化:略, 可以对文案的内容进行表达上的优化,如按专家口吻、按小学生的理解能力等。
  • 写作:略,可以针对一个题目来进行内容写作。
  • 修正拼写和语法:略,主要用于发现文章内容中的语法和拼写错误。

隐私保护与数据安全:构建可信赖的AI系统

AI PC 的神话和隐私危机

近半年来,大型科技公司如微软和谷歌频繁宣传 AI PC 的概念,他们声称,AI 更懂你,会记录计算机上你的每一步操作,并预测下一步的动作。但是,这些公司的背后驱动的是一个更复杂、更危险的过程。

背后涉及到的隐私数据处理流程

这些公司通过 AI 代理(智能体)来收集个人隐私数据,并将其提供给强大的 AI 大脑。这个大脑使用所收集的数据进行决策,然后又将信息传递回智能体,让它为各种动作做出反应。

危险之处

这种数据处理流程不仅具有侵犯隐私的风险,如果数据处理不当不仅会对个人造成危害甚至可能还会涉及企业数据安全风险。随着 AI 的发展,个人数据将成为极具价值的资产,而那些收集并利用这些数据的公司,将有能力掌控我们的生活节奏。

注意和警惕

不要被 AI PC 的迷雾所吸引,忽视隐私数据的流产及其潜在危险。我们需要小心地观察、思考,并保护自己的个人信息,以免落入那些不法之人的手中。

人工智能底座:搭建基于OLLAMA的大模型

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

  • OBSIDIAN:实现个人的全面知识管理,包括知识收集、存储。
  • LLM引擎 - Ollama:实现本地的大模型引擎,实现智能场景。

Ollama的详细安装在这里我不再缀述,可以参见我的公众号文章《ollama实现开源大模型本地化安装部署》。WINDOWS系统和MAC系统的安装方法都差不多,非常简单。
在本地计算机我安装了如下的大模型:
在这里插入图片描述

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

我的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内存。

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

  1. 安装 obsidian:可以从官方网站http://www.obsidian.md官方网站进行下载:
    在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

点击浏览按钮,可以查找local gpt,如下图所示,双击安装即可:
在这里插入图片描述

  1. 配置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列表。

在这里插入图片描述

  1. 可以对ACTION进行编辑和新建,下面我们以翻译这个功能为例来介绍一下构建过程:
    在这里插入图片描述
  • 模型选择(Model Optional):根据不同的操作(ACTION),可以选择合适的模型。例如,对于文本内容生成,可以选择LLama 3.1,而对于代码生成,可以选择LLama 3.1的编程微调版本。
  • 操作名称(Action Name):在智能助理菜单中,操作项的显示名称。在这里我们设置为“翻译 - 中文”,表示将英文翻译为中文。用户也可以选择其他语言,如英文、德文等。
  • system prompt optional:在未经过微调的大模型中,提示词至关重要。一个好的提示词可以更有效地激发大模型的能力。以下是一个用于将英文翻译成中文的提示词示例,供参考:
任务描述:
翻译英文文本为中文。翻译需要准确传达原文信息,保持原文的语气和风格,确保中文文本自然流畅,并适应中文语境。

翻译要求:

准确性: 确保翻译内容与原文完全一致。
流畅性: 中文翻译应符合中文语法和语言习惯。
语气和风格: 保持原文的语气和风格,包括正式、非正式、幽默等。
文化适应性: 针对文化特定的内容,提供合适的中文解释或等价物。
完整性: 不遗漏原文中的任何重要信息。

注意事项:
避免逐字翻译,确保句子结构符合中文表达方式。
确保技术术语或专有名词的翻译准确,如有必要保留原文。
翻译后检查语法和拼写错误。
  • prompt:用户提示词,具体的用户指令
请将英文段落翻译为流畅且自然的中文。

翻译要求:

准确传达原文信息。
保持原文的语气和风格。
确保中文文本自然流畅。
请在翻译后进行检查,以确保译文的完整性和准确性。
  1. 修改Actions,内容总结 :

在这里插入图片描述

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

在这里插入图片描述

  1. 个人智能助理使用,我们以翻译为例:选中如下文本内容按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.

说明:
虽然LLama 3.1-8B在某些方面无法完全达到ChatGPT 4.0的水平,但其性能仍然足以胜任个人助理的角色。尽管需要用户承担更多的工作,ChatGPT 4.0可以更大程度上解放用户的工作量。因此,在实际应用中,LocalGPT插件除了选择Ollama作为底层大模型外,还可以在特定的合规场景下使用ChatGPT。

结合Obsidian与Ollama,系统不仅可以替代Notion,还具备更多优势。例如,支持本地化知识存储,避免将所有内容存放在云端,从而增强数据安全性。

下一步

增强如下内容:

  • 在 Obsidian 中集成 Stable Diffusion 3:直接在 Obsidian 中实现与 Stable Diffusion 3 的集成,提升图片生成能力,增强内容创作的视觉效果。
  • 增强 Obsidian 的知识搜索功能:提供全面的搜索功能,以便更好地应用和管理存储的笔记和知识。例如,笔记中记录了家庭成员的身份证图片,用户可以通过搜索“身份证”直接找到相关笔记内容。
  • 实现交互式数据分析与探索:在 Obsidian 中实现与分析型数据库的集成,通过交互式对话进行数据分析和探索,并利用本地大模型根据需求描述生成分析代码。
  • 任务下达与执行能力:在 Obsidian 中实现通过聊天方式下达任务和执行操作的能力。例如,通过 Google API 查询相关内容,并利用本地大模型对查询结果进行综合分析,提供最终答案。
  • 代码生成与调试功能:在 Obsidian 中实现交互式的代码生成能力,并在 Docker 沙盒中模拟运行和调试代码,最终输出可正确执行的代码。
  • 操作Agent能力: 可以集成不同角色的智能代理(Agent),根据用户下达的指令,利用大模型驱动来执行各类智能代理,从而高效、智能地完成各种作业任务。这一能力实现了任务的自动化和智能化。

具备上述能力的系统,方可称为真正意义上的个人智能助理。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1989184.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

38.【C语言】指针(重难点)(C)

目录: 8.const 修饰指针 *修饰普通变量 *修饰指针变量 9.指针运算 *指针或-整数 *指针-指针 *指针关系运算 8.const 修饰指针 const 全称 constant adj.不变的 *修饰普通变量 #include <stdio.h> int main() {const int num 0;num 20;printf("%d\n", num)…

高并发HTTP服务器项目:性能与功能性测试汇总

负载测试 测试环境说明 云服务器&#xff1a;2核2G 2M Linux服务端和客户端环境&#xff1a;同在上述服务器中运行测试工具&#xff1a; wrk 模拟高并发请求htop检测CPU与内存使用情况 低负载压测&#xff1a;百万请求测试&#xff0c;2线程&#xff0c;100并发&#xff0c;100…

C++ 几何算法 - 求两条直线交点

一:算法介绍 1. 首先定义两条直线方程: 2. 解方程,求出x, y坐标 3. 如果x分母的行列式等于0, 说明两条直线平行或方向相反 4. 如果x,y分母的行列式都等于0,说明两条线重叠 二:代码实现: #include <cmath> #include <iostream>class Point2D { public:doubl…

Dubbo框架实现RPC远程调用包括nacos的配置和初始化

项目背景介绍 这个技术我是直接在项目中运用并且学习的&#xff0c;所以我写笔记最优先的角度就是从项目背景出发 继上一次API网关完成了这个实现用户调用一次接口之后让接口次数增多的操作之后&#xff0c;又迎来了新的问题。 就是我们在调用接口的时候需要对用户进行校验&…

关于地址的级联选择器

相信大家在项目中经常要做关于地址的级联选择器&#xff1a;效果如下图 在常见的组件库&#xff0c;例如element-ui/element-plus等中就有关于级联选择器的使用&#xff0c;但该组件并没有封装好的关于中国省市区甚至更详细的关于地址的级联选择器&#xff0c;因此我尝试在网络…

Excel中的数据筛选利器:COUNTIF函数深度解析与应用实战

文章目录 前言一、COUNTIF基础应用二、常见用法1.基本条件计数2.使用通配符进行模糊匹配3.引用单元格中的值作为条件4.多条件计数&#xff08;使用COUNTIFS&#xff09;5.重复值查找与去重6.结合其他函数使用 前言 Excel中的COUNTIF函数是一个极为强大且灵活的工具&#xff0c;…

【MongoDB 】MongoDB 介绍及应用,设计到4个案例

MongoDB 介绍概述 基础概念 MongoDB 是非关系型数据库&#xff0c;也就是nosql&#xff0c;存储json数据格式会非常灵活&#xff0c;要比数据库mysql/MariaDB更好&#xff0c;同时也能为mysql/MariaDB分摊一部分的流量压力。 对于经常读写的数据他会存入内存&#xff0c;如此…

STL中的list以及简单实现

STL的list的底层结构其实就是带头双向循环双向链表 带头双向循环双向链表又简单又好用&#xff0c;效率又高&#xff0c;所以其结构是完美的&#xff08;对于链表而言&#xff09;&#xff1a; 其中一个原因&#xff1a;有哨兵位的头节点&#xff0c;又循环&#xff0c;找尾很…

前端day7-css选择器

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>css</title><!-- 内嵌式CSS --><sty…

Python 为Excel单元格设置填充\背景色 (纯色、渐变、图案)

在使用Excel进行数据处理和分析时&#xff0c;对特定单元格进行背景颜色填充不仅能够提升工作表的视觉吸引力&#xff0c;还能帮助用户快速识别和区分不同类别的数据&#xff0c;增强数据的可读性和理解性。 本文将通过以下三个示例详细介绍如何使用Python在Excel中设置不同的单…

远程连接本地虚拟机失败问题汇总

前言 因为我的 Ubuntu 虚拟机是新装的&#xff0c;并且应该装的是比较纯净的版本&#xff08;纯净是指很多工具都尚未安装&#xff09;&#xff0c;然后在使用远程连接工具 XShell 连接时出现了很多问题&#xff0c;这些都是我之前没遇到过的&#xff08;因为之前主要使用云服…

javax.validation.constraints.NotEmpty 报错

1、问题 javax.validation.constraints.NotEmpty报错2、原因 validation-api版本较低问题 3、解决 升级版本 javax.validation:validation-api 由1.1.0.Final升级至 2.0.1.Final <dependency><groupId>javax.validation</groupId><artifactId>vali…

机房托管服务器说明

机房托管服务器是指将企业或个人的服务器放置到专业数据中心(IDC机房)进行管理和维护&#xff0c;由数据中心提供稳定、安全的运行环境以及网络连接等基础设施支持。rak小编为您整理发布机房托管服务器说明详细内容。 通过托管服务器到专业机房&#xff0c;企业能够享受到高性能…

【Redis 进阶】集群(重点理解流程和原理)

一、基本概念 前面学习的哨兵模式&#xff0c;提高了系统的可用性。但是真正用来存储数据的还是 master 和 slave 节点&#xff0c;所有的数据都需要存储在单个 master 和 slave 节点中。如果数据量很大&#xff0c;接近超出了 master / slave 所在机器的物理内存&#xff0c…

Maxon公司产品将于 2024 年 9 月提高订阅价格?

Maxon公司的用户们最近在Reddit和Core 4D论坛上分享了一张图片&#xff0c;图片内容显示了Maxon公司计划在2024年9月1日对其产品订阅价格进行调整&#xff0c;涉及的产品包括Cinema 4D和ZBrush等。 根据这张图片&#xff0c;Redshift渲染器的月度订阅费用将上涨2.2%&#xff0c…

社交网络的演变:从Facebook到Meta的战略转型

随着科技的飞速发展&#xff0c;社交网络平台正经历着深刻的变革。Facebook的品牌重塑为Meta不仅是名称的更改&#xff0c;更是对未来社交网络模式的全新定义。本文将深入探讨Facebook向Meta转型的背景、战略及其未来影响&#xff0c;剖析这一转型对社交网络的深远影响。 背景与…

UKP3d,AutoPDMS出报表时数值格式如何调整

用户问&#xff0c;支吊架一览表的位移数值不是整数&#xff0c;请问怎么处理呢&#xff1f; 1.在AutoPDMS是修改软件的安装目录下的配置文件&#xff0c;如图&#xff1a; 2.在UKP3d里修改报表元件&#xff0c;如图&#xff1a;

嵌入式day21

fileno 获得一个文件流指针中的文件描述符 FILE *fp -> int fd stream 文件流指针 返回值&#xff1a; 成功 返回文件描述符 失败 返回-1 关文件一般关封装度高的 fdopen 将文件描述符转化为文件流指针 int fd -> FILE *fp fd : 已经打开的文件描述符 mode &quo…

Unity检测鼠标进入、离开UI

Unity检测鼠标进入、离开UI检测 引用命名空间 UnityEngine.EventSystems IPointerEnterHandler&#xff1a;进入 IPointerExitHandler&#xff1a;离开 注意&#xff1a;Image需开启RaycastTarget using UnityEngine; using UnityEngine.EventSystems; public class IPointe…

8.7-主从数据库的配置+mysql的增删改查

一、mysql环境的配置 1.环境准备 &#xff08;1&#xff09;主数据库 #关闭防火墙 [rootmaster ~]# systemctl stop firewalld#关闭selinux [rootmaster ~]# setenforce 0#下载lrzsz工具 [rootmaster ~]# yum -y install lrzsz#安装rsync [rootmaster ~]# yum -y install rs…