惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
Apple Machine Learning Research
Apple Machine Learning Research
宝玉的分享
宝玉的分享
博客园 - 叶小钗
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 司徒正美
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - Franky
爱范儿
爱范儿
罗磊的独立博客
IT之家
IT之家
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
N
Netflix TechBlog - Medium
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
U
Unit 42
Engineering at Meta
Engineering at Meta
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
T
Tailwind CSS Blog
H
Help Net Security
博客园_首页
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
人人都是产品经理
人人都是产品经理

Dejavu's Blog

甲骨文 ARM 实例部署 Gemma 4 模型 Headscale + Tailscale 组建虚拟专用网 在 Linux 上使用 Yubikey OpenPGP 应用 BuyVM VPS 块存储挂载教程 Alpine Linux 服务器配置指南 Alpine Linux 安装 Cloudflared Docker 多容器共享中心数据库 安装 Komari 服务器监控工具 Scaleway VPS 安装 Debian Linux Debian 13 下部署 AsmBB 论坛 使用 Kopia 自动化备份服务器数据 给 Docker 启用 IPv6 支持 Netcup 服务器安装自定义 ISO 镜像 烽火 HG5582A 光猫开启桥接模式 Docker 自托管 Shlink 短链服务 部署 Obsidian LiveSync 实时同步服务指南 我的 2025 年不完全回顾 Linux 下 Intel 核显驱动配置与硬件加速 Fedora Linux 安装配置记录 2025 年优雅地自托管 RSS 服务 Woodpecker CI 和 Gitea 实现 Hugo 自动部署 Gitea/Forgejo 集成 Woodpecker CI/CD Docker 部署 Gitea/Forgejo Plausible CE 启用城市级地理位置识别 Blinko 开源 AI 知识库 Docker 部署指南 Netcup 免税账号注册及购买服务器全记录 Docker 自托管 Cloudreve Pro 私有网盘服务 GiffGaff SIM 卡使用体验和注意事项 简体中文互联网在变得糟糕吗? 如何低成本申请 S/MIME 证书用于个人邮件服务
在 Blinko 中使用 Ollama 作为 AI 供应商
Dejavu Moe · 2025-12-01 · via Dejavu's Blog

前言

Blinko 是一款很棒的开源 AI 知识库笔记应用,部署教程见 Blinko 开源 AI 知识库 Docker 部署指南 。本文中我将使用 Ollama 的本地 Embedding 模型集成,以支持 RAG (Retrieval-Augmented Generation) 检索增强生成 搜索。

无论我们使用哪一家的模型,它都不是全知全能,尤其对于 Blinko 这种主打 AI 驱动的个人知识库来说。

什么是 Embedding 模型,有什么作用?

简单来说,Embedding 模型 将本地知识库里的内容(根据模型支持,可以是文档、图像、音频、视频……)转化成 向量 (Vector) 表示,向量本质就是一串数字的集合,类似真正的「向量」,它有正负及数位。

举个例子:

  • Apple 公司 → [0.13, 0.85, -0.56, 0.75]
  • iPhone 18 → [0.11, 0.93, -0.49, 0.68]

我不是 AI 专家,上面的数据也是胡诌的。但还是大致能看出来,语义越相近,两者的向量距离就越近,这就是 近似度。简而言之,Embedding 模型让 LLM 也能理解文本之间的关系。

现在就能说通,使用 Embedding 模型向量化,让本地知识库支持语义化搜索及其他 AI 集成,是 Blinko 建立 RAG 搜索的核心条件。

blinko-ai.webp

除了上面的 AI 搜索界面,应用内搜索也会使用这方面的功能,具体可以自行体验。

notes-search.webp

Ollama 是跑本地 LLM 模型最简单的方法,API 利于集成,Embedding 模型普遍较小,对性能和环境要求不高,可以很方便的在本地运行。

部署 Ollama

参考 在 n8n 中使用 Ollama 的本地 LLM 模型 ,仅需在 Blinko 的 Compose 模板中新增服务

  ollama:
    container_name: ollama
    image: ollama/ollama:latest
    restart: unless-stopped
    environment:
      - OLLAMA_HOST=0.0.0.0
      - OLLAMA_KEEP_ALIVE=1h  # 卸载模型时间
    volumes:
      - ./ollama:/root/.ollama

现在可以启动容器

sudo docker compose up -d

选择模型

Ollama 上提供开箱即用的 Embedding 模型选择,体积与性能比较均衡的:

我使用的是 bge-m3:567m 模型,它对中文和英文支持都很好。作为参考,在我的 RS 1000 G12 Pro 服务器上,Ollama 运行模型时 RAM 占用在 1.5GB 作用,目前我在上面运行着多达 20 个 Docker 容器。除了首次 Blinko 重建嵌入向量时,4 个核心短时间占用到 90% 作用,其余时间这个模型运行顺畅。

下载模型

进入 Ollama 容器 Shell

sudo docker exec -it ollama bash

下载所需的模型

ollama pull bge-m3:latest

Ollama 配置完成

添加 AI 供应商

进入 Blinko 的 AI 设置添加供应商

add-ai-provider.webp

选择 Ollama 添加

add-ollama.webp

在同个 Docker 网络内,基础网址填 http://ollama:11434/api 后点击创建

set-api.webp

输入自己下载模型的名称并添加,类型选择 Embedding,对于这款模型嵌入维度填 1024 即可(不填应该也没有影响)。点击测试连接,OK 后点击创建。

add-model.webp

配置默认模型

default-model.webp

重建索引

选择好正确的本地模型后,在 AI 设置里重建索引向量

reconstruction-vector.webp

稍等片刻,重建索引向量就完成啦

finish-reconstruction-vector.webp

此后,在需要时,Blinko 都会喊「嗨,🦙小泥马!启动模型,该打工了」。在闲置时,小泥马会默默地从 RAM 中卸载模型(上面设置了存活时间为 1h)。

嗯,很完美~