跳到主要内容

seekdb 与 n8n 集成

n8n 是一个具有原生 AI 功能的工作流自动化平台,它为技术团队提供了代码的灵活性和无代码的速度。凭借 400 多种集成、原生人工智能功能和公平代码许可证,n8n 可让您构建强大的自动化,同时保持对数据和部署的完全控制。

本文将展示如何利用 n8n 的强大功能构建一个 Chat to seekdb 的工作流程模板。

前提条件

  • 您已完成部署 seekdb。

  • 本集成教程在 Docker 容器平台中进行,确保您已搭建好 Docker 容器平台

步骤一:获取数据库连接信息

联系 seekdb 部署人员或者管理员获取相应的数据库连接串,例如:

obclient -h$host -P$port -u$user_name -p$password -D$database_name

参数说明:

  • $host:提供 seekdb 连接 IP 地址。

  • $port:提供 seekdb 连接端口,默认是 2881

  • $database_name:需要访问的数据库名称。

    注意

    连接的用户需要拥有该数据库的 CREATEINSERTDROPSELECT 权限。

  • $user_name:提供数据库连接账户。

  • $password:提供账户密码。

步骤二:创建测试表并插入数据

在开始构建工作流之前,我们需要先在 seekdb 中创建一个示例表来存储书籍信息,并插入一些示例数据。

CREATE TABLE books (
id VARCHAR(255) PRIMARY KEY,
isbn13 VARCHAR(255),
author TEXT,
title VARCHAR(255),
publisher VARCHAR(255),
category TEXT,
pages INT,
price DECIMAL(10,2),
format VARCHAR(50),
rating DECIMAL(3,1),
release_year YEAR
);

INSERT INTO books (
id, isbn13, author, title, publisher, category, pages, price, format, rating, release_year
) VALUES (
'database-internals',
'978-1492040347',
'"Alexander Petrov"',
'Database Internals: A deep-dive into how distributed data systems work',
'O\'Reilly',
'["databases","information systems"]',
350,
47.28,
'paperback',
4.5,
2019
);

INSERT INTO books (
id, isbn13, author, title, publisher, category, pages, price, format, rating, release_year
) VALUES (
'designing-data-intensive-applications',
'978-1449373320',
'"Martin Kleppmann"',
'Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems',
'O\'Reilly',
'["databases"]',
590,
31.06,
'paperback',
4.4,
2017
);

INSERT INTO books (
id, isbn13, author, title, publisher, category, pages, price, format, rating, release_year
) VALUES (
'kafka-the-definitive-guide',
'978-1491936160',
'["Neha Narkhede", "Gwen Shapira", "Todd Palino"]',
'Kafka: The Definitive Guide: Real-time data and stream processing at scale',
'O\'Reilly',
'["databases"]',
297,
37.31,
'paperback',
3.9,
2017
);

INSERT INTO books (
id, isbn13, author, title, publisher, category, pages, price, format, rating, release_year
) VALUES (
'effective-java',
'978-1491936160',
'"Joshua Block"',
'Effective Java',
'Addison-Wesley',
'["programming languages", "java"]',
412,
27.91,
'paperback',
4.2,
2017
);

INSERT INTO books (
id, isbn13, author, title, publisher, category, pages, price, format, rating, release_year
) VALUES (
'daemon',
'978-1847249616',
'"Daniel Suarez"',
'Daemon',
'Quercus',
'["dystopia","novel"]',
448,
12.03,
'paperback',
4.0,
2011
);

INSERT INTO books (
id, isbn13, author, title, publisher, category, pages, price, format, rating, release_year
) VALUES (
'cryptonomicon',
'978-1847249616',
'"Neal Stephenson"',
'Cryptonomicon',
'Avon',
'["thriller", "novel"]',
1152,
6.99,
'paperback',
4.0,
2002
);

INSERT INTO books (
id, isbn13, author, title, publisher, category, pages, price, format, rating, release_year
) VALUES (
'garbage-collection-handbook',
'978-1420082791',
'["Richard Jones", "Antony Hosking", "Eliot Moss"]',
'The Garbage Collection Handbook: The Art of Automatic Memory Management',
'Taylor & Francis',
'["programming algorithms"]',
511,
87.85,
'paperback',
5.0,
2011
);

INSERT INTO books (
id, isbn13, author, title, publisher, category, pages, price, format, rating, release_year
) VALUES (
'radical-candor',
'978-1250258403',
'"Kim Scott"',
'Radical Candor: Be a Kick-Ass Boss Without Losing Your Humanity',
'Macmillan',
'["human resources","management", "new work"]',
404,
7.29,
'paperback',
4.0,
2018
);

步骤三:工具部署

n8n 私有化部署

n8n 是一个基于 Node.js 的工作流自动化平台,它提供了丰富的集成能力和灵活的扩展性。通过私有化部署 n8n,您可以更好地控制工作流的运行环境,确保数据的安全性和隐私性。此步骤介绍如何在 Docker 环境下部署 n8n。

sudo docker run -d   --name n8n   -p 5678:5678   -e N8N_SECURE_COOKIE=false   n8nio/n8n

使用 Ollama 工具部署 Qwen3 模型

Ollama 是一个开源的 AI 模型服务器,它支持多种 AI 模型的部署和管理。通过使用 Ollama,您可以方便地将 Qwen3 模型部署到本地,从而实现 AI Agent 的功能。此步骤介绍如何在 Docker 环境下部署 Ollama,然后使用 Ollama 工具部署 Qwen3 模型。

# docker 环境下部署 Ollama
sudo docker run -d -p 11434:11434 --name ollama ollama/ollama
# 部署 Qwen3 模型
sudo docker exec -it ollama sh -c 'ollama run qwen3:latest'

步骤四:构建 AI Agent 工作流

n8n 提供了丰富的节点,可以方便地构建 AI Agent 工作流。此步骤介绍如何使用 n8n 构建一个 Chat to seekdb 的工作流程模板,共需要添加 5 个节点,具体步骤如下:

  1. 添加触发器

    添加一个 HTTP 触发器节点,用于接收 HTTP 请求。

    4-1

  2. 添加 AI Agent 节点

    添加一个 AI Agent 节点,用于处理 AI Agent 的请求。

    4-2

  3. 添加 Ollama Chat Model 节点

    模型选择有多种免费的选项,本示例使用的是 Qwen3,选择模型后配置 Ollama account。

    4-3

    4-4

  4. 添加 Simple Memory 节点

    Simple Memory 节点表示短期记忆,它会记住聊天过程中之前的 5 次互动。

    4-5

  5. 添加 Tool 节点

    Tool 节点用于执行 seekdb 的数据库操作。在 AI agent-tool 下添加 MySQL Tool。

    4-6

    MySQL Tool 配置如下:

    4-7

    点击上图所示 编辑 图标,配置 MySQL 连接信息。

    4-8

    配置完成后关闭此窗口,可点击配置面板右上角 Test step,用一个简单的 SQL 测试数据库连通,也可直接点击 Back to canvas 返回主界面。

  6. 点击保存,完成工作流的构建。

    5 个节点都配置完成后,点击保存,完成工作流的构建,可以开始测试工作流。

    4-9

界面展示

构建完成的工作流界面如下:

0