Coco AI 智能检索 Hugo Blog 集成指南

在此前的文章中,我们介绍了如何使用 Coco Server 连接 Notion,实现智能内容检索。本次,我们将进一步探索如何在 Coco Server 最新版本 中集成 Hugo Site,以便对 Hugo 站点 进行高效检索。


Coco Server 部署方式

要在本地或服务器上运行 Coco Server,可以借助 Docker 进行快速部署。

1. 直接运行 Coco Server(默认配置)

执行以下命令,快速启动 Coco Server(版本 0.2.2-2000):

docker run -d --name cocoserver -p 9000:9000 infinilabs/coco:0.2.2-2000

此命令将在后台运行 Coco Server,并将 9000 端口 映射到本机,以便通过 Web UI 进行访问。


2. 启用数据持久化(推荐)

如果希望数据在容器重启或删除后仍然保留,建议启用 数据持久化,操作步骤如下:

(1)创建数据目录并设置权限
mkdir -p $(pwd)/cocoserver/{data,logs}
sudo chown -R 602:602 $(pwd)/cocoserver
(2)启动 Coco Server 并挂载数据目录
docker run -d \--name cocoserver \--hostname coco-server \--restart unless-stopped \-m 4g \--cpus="2" \-p 9000:9000 \-v $(pwd)/cocoserver/data:/app/easysearch/data \-v $(pwd)/cocoserver/logs:/app/easysearch/logs \-e EASYSEARCH_INITIAL_ADMIN_PASSWORD=coco-server \-e ES_JAVA_OPTS="-Xms2g -Xmx2g" \infinilabs/coco:0.2.2-2000

这样,所有 检索数据日志信息 都会存储在 ./cocoserver/data./cocoserver/logs 目录下,即使容器重启,数据仍然可用。


3. 使用 Docker Compose 部署

如果你希望使用 docker-compose 进行更便捷的管理,可以采用以下 docker-compose.yml 文件:

version: '3.8'services:cocoserver:image: infinilabs/coco:0.2.2-2000container_name: cocoserverhostname: coco-serverrestart: unless-stoppedports:- "9000:9000"deploy:resources:limits:memory: 4gcpus: "2"volumes:- ./cocoserver/data:/app/easysearch/data- ./cocoserver/logs:/app/easysearch/logsenvironment:EASYSEARCH_INITIAL_ADMIN_PASSWORD: "coco-server"ES_JAVA_OPTS: "-Xms2g -Xmx2g"volumes:data:logs:

运行以下命令启动 Coco Server

docker-compose up -d

如需停止并删除容器,可执行:

docker-compose down

如果需要同时删除存储数据,则执行:

docker-compose down -v

Hugo 站点智能检索

成功部署 Coco Server 后,即可将 Hugo 站点 作为数据源进行智能检索。

1. 添加 Hugo Site 数据源

Coco Server Web UI 中,进入 “数据源” 页面,并点击 “添加 Hugo Site”

添加 Hugo 站点数据源


2. 设定 Hugo 站点 URL

Pizza 官网 为示例,在输入框中填入相应的 URL 并保存。

输入 Hugo 站点 URL

配置完成后,Coco Server 会自动抓取 Hugo 站点的内容并进行索引。

成功索引 Hugo 站点内容


构建自己的 Hugo 站点,并让 Coco 进行检索

完成 Pizza 官网的 Hugo 站点检索测试后,我们可以创建 自己的 Hugo 站点,并让 Coco Server 进行智能索引。

1. 安装 Hugo

Mac
brew install hugo
Windows
scoop install hugo-extended
Linux
sudo apt install hugo

安装完成后,可运行 hugo version 确认是否安装成功。


2. 创建 Hugo 站点

hugo new site my-hugo-site
cd my-hugo-site
git init
git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke.git themes/ananke

3. 配置 Hugo 以生成 JSON 数据

hugo.toml 文件中,添加 JSON 输出 配置:

baseURL = "https://example.com/"
languageCode = "en-us"
title = "My Hugo Site"
theme = "ananke"[outputs]home = ["HTML", "JSON"]section = ["HTML", "JSON"]taxonomy = ["HTML", "JSON"]term = ["HTML", "JSON"]

4. 创建 JSON 模板

layouts/_default/list.json 文件中,添加以下内容:

[{{- range $index, $element := .Site.RegularPages -}}{{- if gt $index 0 }},{{ end }}{"category": {{ $element.Params.category | jsonify }},"content": {{ $element.Content | plainify | jsonify }},"created": {{ $element.Date | time.Format "2006-01-02T15:04:05Z07:00" | jsonify }},"lang": {{ $element.Lang | default "en" | jsonify }},"subcategory": {{ $element.Params.subcategory | jsonify }},"summary": {{ $element.Params.summary | jsonify }},"tags": {{ $element.Params.tags | jsonify }},"title": {{ $element.Title | jsonify }},"updated": {{ $element.Lastmod | time.Format "2006-01-02T15:04:05Z07:00" | jsonify }},"url": {{ $element.RelPermalink | jsonify }}}{{- end -}}
]

5. 运行 Hugo 并生成 JSON

hugo server -D

然后在浏览器访问:

http://localhost:1313/index.json

你将看到 Hugo 站点生成的 JSON 数据,例如:

[{"title": "My First Post","content": "This is a test post...","url": "/posts/my-first-post/"}
]

image-20250318120453955


6. 让 Coco Server 索引 Hugo JSON API

Coco Server 数据源管理 中,输入 Hugo 站点 JSON API 地址,例如:

http://host.docker.internal:1313/index.json

配置 Hugo JSON API

如果 Coco Server 运行在 Docker 内,而 Hugo 站点 运行在本机,则 localhost 访问可能会失效,此时应使用 host.docker.internal 访问宿主机。

Docker 访问 Hugo JSON

添加成功后,Coco Server 会自动抓取并解析 Hugo 站点数据,实现智能检索。

Hugo 站点智能检索


总结

通过本指南,我们已成功完成:

✅ 部署 Coco Server(支持 Docker / Docker Compose)
✅ 添加 Hugo Site 作为数据源
✅ 配置 Hugo 站点,生成 JSON API
✅ 让 Coco Server 索引 Hugo 站点,实现智能检索

现在,我们可以使用 Coco AI 高效检索 Hugo 站点内容,大幅提升信息查找效率!🚀

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

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

相关文章

Mobile-Agent-V:通过视频引导的多智体协作学习移动设备操作

25年2月来自北京交大和阿里巴巴公司的论文“Mobile-Agent-V: Learning Mobile Device Operation Through Video-Guided Multi-Agent Collaboration”。 移动设备使用量的快速增长,迫切需要改进自动化以实现无缝任务管理。然而,因缺乏操作知识&#xff0…

电鱼智能EFISH-RK3576-SBC工控板已适配Android 14系统

EFISH-RK3576-SBC工控板此前已提供了Linux 6.1.57系统,为了满足更多客户的需求,电鱼智能近日又为其成功适配了Android 14系统——硬件性能卓越的核心板与Android 14的深度组合,将为用户带来更加流畅、开放、智能的使用体验。 一、高性能处理器…

正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-5.1 uboot顶层Makefile分析-VSCode工程创建

前言: 本文是根据哔哩哔哩网站上“Arm(iMX6U)Linux系统移植和根文件系统构键篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。 引用: …

java 使用命令创建jar的常用参数整理

在Java中,创建JAR文件的命令是jar。以下是常用参数的表格展示: 参数信息含义使用场景使用示例c创建新的JAR文件用于创建一个新的JAR文件当需要打包类文件和资源文件时jar cf myapp.jar MyClass.classt列出JAR文件内容显示JAR文件中的内容列表查看JAR文件…

无线头戴式摄像头系统:无需标记点摄像头智能捕捉人脸表情

AH-T无线头戴式摄像头系统是一款可以精准捕捉人脸面部细微表情的设备,基于单目无标记点摄像头智能识别算法,无需在脸上粘贴标记点即可实现真人细微脸部表情的精准捕捉,采用头盔,面捕摄像头一体式人性化设计,可以让使用…

Cursor IDE 入门指南

什么是 Cursor? Cursor 是一款集成了 AI 功能的现代代码编辑器,基于 VSCode 开发,专为提高开发效率而设计。它内置强大的 AI 助手功能,能够理解代码、生成代码、解决问题,帮助开发者更快、更智能地完成编程任务。 基础功能 1.…

Tailwind CSS 中的 spacing 详解

🔍 Tailwind CSS 中的 spacing 详解 spacing(间距)是 Tailwind CSS 里的一个核心概念,它主要用于控制 padding(内边距)、margin(外边距)、width(宽度)、heig…

go语言学习教程推荐,零基础到做项目

一、基础入门阶段 官方教程(免费) • A Tour of Go:交互式入门教程,边学边练 • Go by Example:通过300代码片段学习语法 入门书籍 • 📘《Go语言圣经》中文版(免费在线阅读)&#…

STM32---FreeRTOS内存管理实验

一、简介 1、FreeRTOS内存管理简介 2、FreeRTOS提供的内存管理算法 1、heap_1内存管理算法 2、heap_2内存管理算法 4、heap_4内存管理算法 5、heap_5内存管理算法 二、FreeRTOS内存管理相关API函数介绍 三、 FreeRTOS内存管理实验 1、代码 main.c #include "st…

常见的前端安全问题

前端安全是 Web 开发中至关重要的一环,以下是常见的前端安全问题及对应的防御措施: 1. XSS(跨站脚本攻击) 攻击原理 攻击者向页面注入恶意脚本(如 JavaScript),在用户浏览器中执行,…

【VUE】ant design vue实现表格table上下拖拽排序

适合版本&#xff1a;ant design vue 1.7.8 实现效果&#xff1a; 代码&#xff1a; <template><div class"table-container"><a-table:columns"columns":dataSource"tableData":rowKey"record > record.id":row…

深入解析ES6+新语法:复杂的迭代器与生成器

一、迭代器&#xff08;Iterator&#xff09;&#xff1a;数据遍历的统一协议 1. 迭代器协议的本质 **迭代器协议&#xff08;Iterator Protocol&#xff09;** 是一种标准化的数据访问接口&#xff0c;它要求对象实现一个 next() 方法&#xff0c;每次调用返回包含 { valu…

LangChain介绍(开源大语言模型LLM应用构建框架,提供完整工具和组件,使开发者能够创建复杂、交互式且上下文感知的LLM应用)LangServe

文章目录 LangChain&#xff1a;构建LLM应用的强大框架引言LangChain核心理念- 超越模型训练数据的局限性- 访问最新信息- 与外部系统交互- 执行复杂推理链 核心组件体系1. 模型&#xff08;Models&#xff09;- **LLMs**&#xff1a;如OpenAI、Anthropic、Cohere等提供的完成型…

微软 System Center Configuration Manager(SCCM)的组件文件

微软 System Center Configuration Manager(SCCM) 或 Microsoft Endpoint Configuration Manager(MECM) 的组件文件,属于企业级设备管理工具的一部分。以下是具体说明: C:\Windows\CCM\smsswd.exe C:\Windows\CCM\tsmanager.exe smsswd.exe 和 tsmanager.exe 是 Micros…

Java设计模式建模语言面向对象设计原则

设计模式 设计模式的概念 设计模式最初用于建筑领域的设计中。 软件的设计模式&#xff0c;又称设计模式&#xff0c;是一套被反复使用&#xff0c;多数人知道的&#xff0c;经过分类编目的&#xff0c;代码设计经验的总结。 它描述了在软件设计过程中的一些不断重复发生的…

uniapp 实现微信小程序电影选座功能

拖动代码 /*** 获取点击或触摸事件对应的座位位置* 通过事件对象获取座位的行列信息* param {Event|TouchEvent} event - 点击或触摸事件对象* returns {Object} 返回座位位置对象&#xff0c;包含行(row)和列(col)信息&#xff0c;若未找到有效位置则返回 {row: -1, col: -1}*…

Docker - 切换源 (Linux / macOS)

文章目录 Linux 系统macOS 系统 Linux 系统 修改配置文件&#xff1a;/etc/docker/daemon.json "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com"]验证是否修改成功&#xff1a; docker info重启 …

RocketMQ的安装及配置(windows)

1. 环境准备 JDK需要先安装好。 1. RocketMQ是用Java语言写的&#xff0c;所以需要JDK的支持。2. 下载RocketMQ 建议下载这个低版本的 https://rocketmq.apache.org/release-notes/2020/12/21/4.8.0/ 下载之后解压即可&#xff0c;目录结构如下&#xff1a; 3. 配置RocketM…

【运维自动化-标准运维】如何实现一个最简单的流程编排

流程编排是标准运维最核心的功能&#xff0c;通过将不同功能的原子插件在画布上可视化的拖拽编排&#xff0c;可以实现各种不同场景的跨系统工作流。标准运维流程 根据实际运维操作场景梳理出来的操作步骤&#xff0c;通过不同的流转逻辑&#xff08;并行、分支、条件并行&…

性能测试之grafana展示jmeter测试指标与主机监控

性能测试之grafana展示jmeter测试指标与主机监控 背景 ​ 公司新的项目准备开展性能测试,之前性能监控主要使用的jmeter的插件jpgc-Transactions per Second 与 jpgc- Response Times Over Time 与 jpgc - Active Threads Over Time等等插件监控性能指标结果,PerfMon Metrics…