因为各种原因国内使用 OpenAI,Gemini 等模型多少有一些困难,上周参加达摩院内部的关于通义千问的干货分享,内部版本的通义千问模型的测试数据已经可以对标甚至超越它们。感觉开发 Qwen 作为自己 Obsidian AI 助手的时机已经成熟,也是一个学习 langchain 和 RAG 的过程。
通义千问 API 可以通过阿里云的灵积平台申请使用,你只需要注册号阿里云账号即可申请 DashScope 模型服务,在 API-KEY 管理 Tab 即可以创建 API key。
在 obsidian 中安装 terminal 插件用于运行 TUI App。
git clone https://github.com/edonyzpc/cogito.git
(例如将 app 放在 obsidian vault 根目录下${vault_path}/cogito
手动方式:
source ~/code/cogito/.cogitorc
自动方式:
开始让通义千问AI助手帮助你在 obsidian 记录吧:
我自己开发 Obsidian AI 助手命名为 cogito,主要原理是使用 Textual 绘制 TUI 用于交互,使用 LangChain 开发大语言模型应用。
cogito 使用 Textual 绘制 UI 组件,Textual 框架主要是基于 Rich 开发的, Rich 是一个 Python 库用于终端中的富文本和漂亮的格式,丰富的API可以轻松地将颜色和样式添加到终端输出中。Rich还可以呈现漂亮的表格、进度条、标记、语法突出显示的源代码、回溯等。这样的 TUI 框架可以让 App 顺利的运行在 Obsidian 中。
LangChain 是一个开源框架,全称为“Language Model Chains”,它专为促进基于语言模型的应用程序开发而设计。这个框架的核心目标是简化开发者构建复杂 NLP 应用程序的过程,特别是那些利用大型预训练语言模型(如OpenAI的GPT系列、Google的PaLM、阿里云的通义千问等)的项目。它提供了一系列工具和模块,帮助开发者更容易地集成不同的语言模型服务,管理对话历史、状态跟踪、数据源对接、以及安全性和可扩展性等方面的挑战。它通过抽象化底层细节,使开发者能够快速构建高级功能,比如多轮对话系统、文档查询、知识管理应用、代码生成、文本摘要等,而无需从零开始编写所有基础逻辑。
提升 cogito 与 Obsidian 的集成度: