Obsidian和Ollama大语言模型的交互过程

之前的文章中介绍了Obsidian配合Ollama的使用案例,那么它们是如何配合起来的呢?其实这个问题并不准确,问题的准确描述应该是Obsidian的Copilot插件是如何与Ollama大语言模型交互的。因为Obsidian在这里只是一个载体,核心功能还是Copilot插件与Ollama完成的。

从obsidian-copilot开始

在为Obsidian安装Copilot插件时,发现Copilot插件是开源的。

打开源码仓库根目录的 local_copilot.md 能看到Ollama相关的介绍。其中提到了Ollama server,猜测Copilot插件是通过REST API去和Ollama通信的。

进一步了解Ollama

Ollama的文档里提到了一些信息

  • Ollama提供了一系列的API
  • Ollama启动后默认侦听127.0.0.1的11434端口来提供API服务
  • Ollama server在运行时会产生日志,在MacOS的存放路径是 ~/.ollama/logs/server.log
  • 把环境变量 OLLAMA_DEBUG 设置为1可以启用debug日志

启用debug日志后重启Ollama,在浏览器里输入 http://127.0.0.1:11434 得到如下结果

在Ollama命令行提出一个问题(这里问它的名字),在日志里看到了相关的信息

说明Ollama命令行里的提问会调用/api/chat这个API。在Obsidian的Copilot Chat窗口里提问也会看到类似的日志。

交互过程

那么Obsidian的Copilot插件是如何调用Ollama server的API呢?在obsidian-copilot源代码中没有发现对/api/chat的直接调用,看起来封装的比较深。通过分析源代码推测调用的层次如下

看得出调用关系还是比较清晰的。但这里再次引申出一个问题:为什么Obsidian Copilot插件不直接和Ollama server通信呢?为什么非得引入langchain来做这件事情呢?

相关推荐
碳基硅坊几秒前
OpenClaw 落地应用实践:把 AI 从“能聊“变成“能干活“
人工智能·openclaw
β添砖java1 分钟前
深度学习(13)PyTorch神经网络基础
人工智能·深度学习
天疆说2 分钟前
【哈密顿力学】深入解读航天器交会最优控制中的Hamilton函数
人工智能·算法·机器学习
AI医影跨模态组学13 分钟前
如何将淋巴结影像组学特征与肿瘤血管异质性及缺氧微环境建立关联,并进一步解释其与晚期胆道癌免疫治疗响应及预后的机制联系
人工智能·论文·医学·医学影像·影像组学
小王毕业啦21 分钟前
2005-2024年 省级-总抚养比、儿童抚养比、老年人抚养比数据(xlsx)
大数据·人工智能·数据挖掘·数据分析·社科数据·实证分析·经管数据
程序员柒叔30 分钟前
OpenClaw 一周动态-2026-W18
人工智能·agent·openclaw
OneThingAI1 小时前
网心算力云上线 DeepSeek-V4-Pro
人工智能·aigc·deepseek·onethingai
2501_927283581 小时前
荣联汇智助力天津艺虹打造“软硬一体”智慧工厂,全流程自动化引领印刷包装行业数智变革
大数据·运维·数据仓库·人工智能·低代码·自动化
小程故事多_801 小时前
[大模型面试系列] 多轮对话 Agent 设计实战(含窗口优化 + 工具调用精髓)
人工智能·面试·职场和发展
victory04311 小时前
论文设计和撰写1
人工智能·深度学习·机器学习