1. 环境准备
1.1 安装 DuckDB
前往 DuckDB 官网确认对应版本的安装命令(文末有参考地址),以下以 macOS 为例:
# 使用 Homebrew 安装(推荐)brew install duckdb
# 使用 curl 安装curl https://install.duckdb.org | sh
1.2 安装 Ollama
前往 Ollama 官网下载对应版本的安装包(支持 macOS 和 Windows),安装完成后选择一个模型使用。以下以 qwen3:0.6b 为例(文末有参考地址):
# 使用 ollama 运行模型,会自动下载模型# 可以使用 /bye 命令退出ollama run qwen3:0.6b
2. 使用案例:文本分类
以下通过一个文本分类的实际案例来演示 DuckDB FlockMTL 的使用方法。
2.1 启动 DuckDB
确保 Ollama 在后台运行,然后启动 DuckDB UI 模式:
# 使用 DuckDB UI 模式(推荐,方便执行后续命令)duckdb -ui
2.2 配置 FlockMTL 扩展
-- 安装 FlockMTL 扩展INSTALL flockmtl FROM community;
-- 加载扩展LOAD flockmtl;
-- 创建 Ollama 连接配置CREATE SECRET ( TYPE OLLAMA, API_URL '127.0.0.1:11434');
2.3 创建模型
⚠️ 注意:以下命令只能在命令行模式执行,在 UI 模式下会报错。
-- 创建模型配置CREATE MODEL( 'QuackingModel', 'qwen3:0.6b', 'ollama', {"tuple_format": "json", "batch_size": 32, "model_parameters": {"temperature": 0.7}});
2.4 准备测试数据
-- 创建测试表CREATE TABLE album_names ( album_name VARCHAR);
-- 插入测试数据INSERT INTO album_names (album_name) VALUES ('广州的一天'), ('工作的一天'), ('周末的一天'), ('和家人的一天'), ('好朋友的一天');
2.5 执行文本分类
-- 使用 FlockMTL 进行文本分类SELECT album_name, llm_complete( {'model_name': 'QuackingModel'}, {'prompt': '请将以下相册名称归入"家庭"、"旅行"、"工作"、"朋友"或"风景"这几个类别中。只返回类别名称。相册名:{{album_name}}'}, {'album_name': album_name} ) AS categoryFROM album_names;