AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


Obsidian AI 自动生成知识图谱辅助学习
发布日期:2024-11-05 17:46:59 浏览次数: 1522 来源:数翼


最近学习中医,发现学习新知识真的太难了。在读到某个药材、经络、方剂的时候,总想到这些内容之前在哪里读过, 然后往前翻,而且时长找不到。

于是乎,想到了 Obsidian,想到了知识图谱,想到了 AI 自动生成知识图谱。

整体的方案就是:

  1. 1. 使用 Obsidian 转录数据

  2. 2. 使用 AI 自动解析成 Wiki 格式

  3. 3. 使用 Obsidian 的双线连接和图谱来发辅助学习

先看一下效果:


配合 Obsidian 自带的图谱功能,还可以看到漂亮的知识图谱,

大家可以根据自己的需要设置下节点颜色,

实现

原理也很简单,让 AI 把自己笔记的内容转换成需要的Wiki模式即可。

提示词

首先分享一下提示词:

你是一个 Obsidian 笔记处理助手,识别下面内容中出现的中药材、药方,添加 wiki 链接,并使用如下要求返回:

1. 原文中的药材名和经脉名称用 [[]] 包裹,返回原文
2. 请不要删除原文中出现的任何文字

下面是示例:
# 原文
附子去脏腑之沉寒,浮而不降。治三阴之厥逆,走而无踪。反本固阳,童便煮用。干姜暖中,除寒邪腹痛,兼治呕吐。

# 回答

[[附子]]去脏腑之沉寒,浮而不降。治三阴之厥逆,走而无踪。反本固阳,童便煮用。[[干姜]]暖中,除寒邪腹痛,兼治呕吐。

提示词很简单,直接说出来你的需求即可,然后使用少样本提示给AI举例。

模型选择

对于文本的处理,我测试下来几乎所有的模型都能很好处理,比如:

  • • GPT-3.5, GPT4o

  • • Gemini

  • • 智谱 GLM4

  • • 通义千问

  • • 讯飞星火

对于 Kimi 等其他我没有 Key 的模型,我测试了下网页版,效果也挺好。

Obsidian 插件

在 Obsidian 里面实现我需求最近的方案就是写一个插件。

大家不要觉得写插件是很复杂的事情,从官网下载模板按照文档一步一步来,其实很简单。

下面给出中文和英文的教程:

  • • Obsidian PLugin[1]

  • • Obsidian 插件入门指南[2]

大家跟着来就行,我讲一下模板之外我们要做的事情。

注册指令

首先默认注册一个指令,这样就可以使用命令面板调用你的程序了。

import { Plugin } from "obsidian";

export default class ExamplePlugin extends Plugin {
  async onload() {
    this.addCommand({
      id"shuyi-wikilize-zhongyi",
      name"数翼 Wikilize 中药",
      callback: () => {
        // 这里写你的代码
      },
    });
  }
}

Obsidian 文本处理

获取当今笔记的内容可以使用 editor.getValue() 方法。

获取当前笔记的选中内容,可以使用 editor.getSelection() 方法。

AI的结果我这里就直接替换选中文字,如果没有选中文字,就追加到当前笔记,使用 editor.replaceSelection 即可。

// 调用你的 AI
const result = await chat.sendMessageStream(prompt);
for await (const item of result.stream) {
  editor.replaceSelection(item.candidates[0].content.parts[0].text)
}

认证

如果只是本地自己用不需要发布,我们可以把认证的 API Key 放到 代码里面,直接调用即可。

如果想发布,可以加一个插件配置项:

new Setting(containerEl)
  .setName('Your API Key')
  .setDesc('Your api key')
  .addText(text => text
    .setPlaceholder('Enter your api key')
    .setValue(this.plugin.settings.apiKey)
    .onChange(async (value) => {
      this.plugin.settings.apiKey = value;
      await this.plugin.saveSettings();
    }));

至此,我们就可以在 Obsidian 使用命令面板来调用插件,自动处理文本了。



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询