[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-lanterndata--lantern":3,"tool-lanterndata--lantern":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",151918,2,"2026-04-12T11:33:05",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":78,"owner_twitter":77,"owner_website":79,"owner_url":80,"languages":81,"stars":122,"forks":123,"last_commit_at":124,"license":125,"difficulty_score":10,"env_os":126,"env_gpu":127,"env_ram":127,"env_deps":128,"category_tags":135,"github_topics":137,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":157,"updated_at":158,"faqs":159,"releases":189},6947,"lanterndata\u002Flantern","lantern","PostgreSQL vector database extension for building AI applications","Lantern 是一款专为构建 AI 应用设计的 PostgreSQL 开源向量数据库扩展。它让开发者能够直接在熟悉的 PostgreSQL 环境中存储向量数据、生成嵌入（embeddings）并执行高效的向量搜索，无需引入额外的专用向量数据库系统。\n\n在 AI 应用中，处理高维向量数据的相似性搜索往往面临性能瓶颈。Lantern 通过提供全新的 `lantern_hnsw` 索引类型，显著加速了基于向量距离的排序与限制查询（ORDER BY ... LIMIT），有效解决了大规模向量检索慢、集成复杂度高的问题。\n\n这款工具特别适合后端开发者、数据工程师以及正在探索 RAG（检索增强生成）或语义搜索技术的研究人员。如果你已经在使用 PostgreSQL 技术栈，Lantern 能让你以最小的迁移成本无缝升级现有架构，继续利用原有的生态工具链。\n\n其核心技术亮点在于底层集成了 state-of-the-art 的 USearch HNSW 算法实现，不仅支持自定义距离函数和精细的索引参数调优，还保留了标准 PostgreSQL 接口。这意味着你只需几条 SQL 命令即可创建向量表、建立索","Lantern 是一款专为构建 AI 应用设计的 PostgreSQL 开源向量数据库扩展。它让开发者能够直接在熟悉的 PostgreSQL 环境中存储向量数据、生成嵌入（embeddings）并执行高效的向量搜索，无需引入额外的专用向量数据库系统。\n\n在 AI 应用中，处理高维向量数据的相似性搜索往往面临性能瓶颈。Lantern 通过提供全新的 `lantern_hnsw` 索引类型，显著加速了基于向量距离的排序与限制查询（ORDER BY ... LIMIT），有效解决了大规模向量检索慢、集成复杂度高的问题。\n\n这款工具特别适合后端开发者、数据工程师以及正在探索 RAG（检索增强生成）或语义搜索技术的研究人员。如果你已经在使用 PostgreSQL 技术栈，Lantern 能让你以最小的迁移成本无缝升级现有架构，继续利用原有的生态工具链。\n\n其核心技术亮点在于底层集成了 state-of-the-art 的 USearch HNSW 算法实现，不仅支持自定义距离函数和精细的索引参数调优，还保留了标准 PostgreSQL 接口。这意味着你只需几条 SQL 命令即可创建向量表、建立索引并启动毫秒级搜索，真正实现了“像操作普通表格一样操作向量数据”。","# 💡 Lantern\n\n[![build](https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Factions\u002Fworkflows\u002Fbuild.yaml\u002Fbadge.svg?branch=main)](https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Factions\u002Fworkflows\u002Fbuild.yaml)\n[![test](https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Factions\u002Fworkflows\u002Ftest.yaml\u002Fbadge.svg?branch=main)](https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Factions\u002Fworkflows\u002Ftest.yaml)\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgithub\u002Flanterndata\u002Flantern\u002Fbranch\u002Fmain\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgithub\u002Flanterndata\u002Flantern)\n[![Run on Replit](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FRun%20on-Replit-blue?logo=replit)](https:\u002F\u002Freplit.com\u002F@lanterndata\u002Flantern-playground#.replit)\n\nLantern is an open-source PostgreSQL database extension to store vector data, generate embeddings, and handle vector search operations.\n\nIt provides a new index type for vector columns called `lantern_hnsw` which speeds up `ORDER BY ... LIMIT` queries.\n\nLantern builds and uses [usearch](https:\u002F\u002Fgithub.com\u002Funum-cloud\u002Fusearch), a single-header state-of-the-art HNSW implementation.\n\n## 🔧 Quick Install\n\nIf you don’t have PostgreSQL already, use Lantern with [Docker](https:\u002F\u002Fhub.docker.com\u002Fr\u002Flanterndata\u002Flantern) to get started quickly:\n\n```bash\ndocker run --pull=always --rm -p 5432:5432 -e \"POSTGRES_USER=$USER\" -e \"POSTGRES_PASSWORD=postgres\" -v .\u002Flantern_data:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata lanterndata\u002Flantern:latest-pg15\n```\nThen, you can connect to the database via `postgresql:\u002F\u002F$USER:postgres@localhost\u002Fpostgres`.\n\nTo install Lantern using `homebrew`:\n\n```\nbrew tap lanterndata\u002Flantern\nbrew install lantern && lantern_install\n```\n\nYou can also install Lantern on top of PostgreSQL from our [precompiled binaries](https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Freleases) via a single `make install`.\n\nAlternatively, you can use Lantern in one click using [Replit](https:\u002F\u002Freplit.com\u002F@lanterndata\u002Flantern-playground#.replit).\n\n\n## 🔧 Build Lantern from source code on top of your existing PostgreSQL\nPrerequisites:\n```\ncmake version: >=3.3\ngcc && g++ version: >=11 when building portable binaries, >= 12 when building on new hardware or with CPU-specific vectorization\nPostgreSQL 11, 12, 13, 14, 15 or 16\nCorresponding development package for PostgreSQL (postgresql-server-dev-$version)\n\n```\nTo build Lantern on new hardware or with CPU-specific vectorization:\n```\ngit clone --recursive https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern.git\ncd lantern\ncmake -DMARCH_NATIVE=ON -S lantern_hnsw -B build\nmake -C build install -j\n```\n\nTo build portable Lantern binaries:\n``` \ngit clone --recursive https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern.git\ncd lantern\ncmake -DMARCH_NATIVE=OFF -S lantern_hnsw -B build\nmake -C build install -j\n```\n\n## 📖 How to use Lantern\n\nLantern retains the standard PostgreSQL interface, so it is compatible with all of your favorite tools in the PostgreSQL ecosystem.\n\nFirst, enable Lantern in SQL (e.g. via `psql` shell)\n\n```sql\nCREATE EXTENSION lantern;\n```\n\nNote: After running the above, lantern extension is only available on the current postgres DATABASE (single postgres instance may have multiple such DATABASES).\nWhen connecting to a different DATABASE, make sure to run the above command for the new one as well. For example:\n\n```sql\nCREATE DATABASE newdb;\n\\c newdb\nCREATE EXTENSION lantern;\n```\n\nCreate a table with a vector column and add your data\n\n```sql\nCREATE TABLE small_world (id integer, vector real[3]);\nINSERT INTO small_world (id, vector) VALUES (0, '{0,0,0}'), (1, '{0,0,1}');\n```\n\nCreate an hnsw index on the table via `lantern_hnsw`:\n\n```sql\nCREATE INDEX ON small_world USING lantern_hnsw (vector);\n```\n\nCustomize `lantern_hnsw` index parameters depending on your vector data, such as the distance function (e.g., `dist_l2sq_ops`), index construction parameters, and index search parameters.\n\n```sql\nCREATE INDEX ON small_world USING lantern_hnsw (vector dist_l2sq_ops)\nWITH (M=2, ef_construction=10, ef=4, dim=3);\n```\n\nStart querying data\n\n```sql\nSET enable_seqscan = false;\nSELECT id, l2sq_dist(vector, ARRAY[0,0,0]) AS dist\nFROM small_world ORDER BY vector \u003C-> ARRAY[0,0,0] LIMIT 1;\n```\n\n### A note on operators and operator classes\n\nLantern supports several distance functions in the index\n\nThere are 3 operators available `\u003C->` (l2sq), `\u003C=>` (cosine), `\u003C+>` (hamming).\n\nThere are four defined operator classes that can be employed during index creation:\n\n- **`dist_l2sq_ops`**: Default for the type `real[]`\n- **`dist_vec_l2sq_ops`**: Default for the type `vector`\n- **`dist_cos_ops`**: Applicable to the type `real[]`\n- **`dist_vec_cos_ops`**: Applicable to the type `vector`\n- **`dist_hamming_ops`**: Applicable to the type `integer[]`\n\n### Index Construction Parameters\n\nThe `M`, `ef`, and `ef_construction` parameters control the performance of the HNSW algorithm for your use case.\n\n- In general, lower `M` and `ef_construction` speed up index creation at the cost of recall.\n- Lower `M` and `ef` improve search speed and result in fewer shared buffer hits at the cost of recall. Tuning these parameters will require experimentation for your specific use case.\n\n### Miscellaneous\n\n- If you have previously cloned Lantern and would like to update run `git pull && git submodule update --recursive`\n\n## ⭐️ Features\n\n- Embedding generation for popular use cases (CLIP model, Hugging Face models, custom model)\n- Interoperability with pgvector's data type, so anyone using pgvector can switch to Lantern\n- Parallel index creation via an external indexer\n- Ability to generate the index graph outside of the database server\n- Support for creating the index outside of the database and inside another instance allows you to create an index without interrupting database workflows.\n- See all of our helper functions to better enable your workflows\n\n## 🏎️ Performance\n\nImportant takeaways:\n\n- There's three key metrics we track. `CREATE INDEX` time, `SELECT` throughput, and `SELECT` latency.\n- We match or outperform pgvector and pg_embedding (Neon) on all of these metrics.\n- We plan to continue to make performance improvements to ensure we are the best performing database.\n\n\u003Cp>\n\u003Cimg alt=\"Lantern throughput\" src=\"https:\u002F\u002Fstorage.googleapis.com\u002Flantern-blog\u002F1\u002Fthroughput.png\" width=\"400\" style=\"float: left;\" \u002F>\n\u003Cimg alt=\"Lantern latency\" src=\"https:\u002F\u002Fstorage.googleapis.com\u002Flantern-blog\u002F1\u002Flatency.png\" width=\"400\" style=\"float: left;\" \u002F>\n\u003Cimg alt=\"Lantern index creation\" src=\"https:\u002F\u002Fstorage.googleapis.com\u002Flantern-blog\u002F1\u002Fcreate.png\" width=\"400\" style=\"float: left;\" \u002F>\n\u003C\u002Fp>\n\n## 🗺️ Roadmap\n\n- Cloud-hosted version of Lantern - Sign up [here](https:\u002F\u002Flantern.dev)\n- Hardware-accelerated distance metrics, tailored for your CPU, enabling faster queries\n- Templates and guides for building applications for different industries\n- More tools for generating embeddings (support for third party model API’s, more local models)\n- Support for version control and A\u002FB test embeddings\n- Autotuned index type that will choose appropriate creation parameters\n- Support for 1 byte and 2 byte vector elements, and up to 8000 dimensional vectors ([PR #19](https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F19))\n- Request a feature at [support@lantern.dev](mailto:support@lantern.dev)\n\n## 📚 Resources\n\n- [GitHub issues](https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fissues): report bugs or issues with Lantern\n- Need support? Contact [support@lantern.dev](mailto:support@lantern.dev). We are happy to troubleshoot issues and advise on how to use Lantern for your use case\n- We welcome community contributions! Feel free to open an issue or a PR. If you contact [support@lantern.dev](mailto:support@lantern.dev), we can find an open issue or project that fits you\n","# 💡 灯笼\n\n[![构建](https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Factions\u002Fworkflows\u002Fbuild.yaml\u002Fbadge.svg?branch=main)](https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Factions\u002Fworkflows\u002Fbuild.yaml)\n[![测试](https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Factions\u002Fworkflows\u002Ftest.yaml\u002Fbadge.svg?branch=main)](https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Factions\u002Fworkflows\u002Ftest.yaml)\n[![代码覆盖率](https:\u002F\u002Fcodecov.io\u002Fgithub\u002Flanterndata\u002Flantern\u002Fbranch\u002Fmain\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgithub\u002Flanterndata\u002Flantern)\n[![在 Replit 上运行](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FRun%20on-Replit-blue?logo=replit)](https:\u002F\u002Freplit.com\u002F@lanterndata\u002Flantern-playground#.replit)\n\nLantern 是一个开源的 PostgreSQL 数据库扩展，用于存储向量数据、生成嵌入并向量搜索操作提供支持。\n\n它为向量列提供了一种名为 `lantern_hnsw` 的新索引类型，能够加速 `ORDER BY ... LIMIT` 查询。\n\nLantern 基于 [usearch](https:\u002F\u002Fgithub.com\u002Funum-cloud\u002Fusearch) 构建并使用，这是一个单头文件的先进 HNSW 实现。\n\n## 🔧 快速安装\n\n如果你还没有 PostgreSQL，可以使用 Lantern 的 [Docker 镜像](https:\u002F\u002Fhub.docker.com\u002Fr\u002Flanterndata\u002Flantern) 来快速上手：\n\n```bash\ndocker run --pull=always --rm -p 5432:5432 -e \"POSTGRES_USER=$USER\" -e \"POSTGRES_PASSWORD=postgres\" -v .\u002Flantern_data:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata lanterndata\u002Flantern:latest-pg15\n```\n然后，你可以通过 `postgresql:\u002F\u002F$USER:postgres@localhost\u002Fpostgres` 连接到数据库。\n\n使用 `homebrew` 安装 Lantern：\n\n```\nbrew tap lanterndata\u002Flantern\nbrew install lantern && lantern_install\n```\n\n你也可以从我们的 [预编译二进制文件](https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Freleases) 中通过一个简单的 `make install` 命令将 Lantern 安装到现有的 PostgreSQL 上。\n\n此外，你还可以使用 [Replit](https:\u002F\u002Freplit.com\u002F@lanterndata\u002Flantern-playground#.replit) 一键体验 Lantern。\n\n## 🔧 从源码构建 Lantern 并集成到现有 PostgreSQL\n\n先决条件：\n```\ncmake 版本：>=3.3\ngcc && g++ 版本：构建可移植二进制时 >=11，而在新硬件上或使用 CPU 特定向量化时 >=12\nPostgreSQL 11、12、13、14、15 或 16\n对应版本的 PostgreSQL 开发包（postgresql-server-dev-$version）\n```\n\n在新硬件上或使用 CPU 特定向量化构建 Lantern：\n```\ngit clone --recursive https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern.git\ncd lantern\ncmake -DMARCH_NATIVE=ON -S lantern_hnsw -B build\nmake -C build install -j\n```\n\n构建可移植的 Lantern 二进制文件：\n``` \ngit clone --recursive https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern.git\ncd lantern\ncmake -DMARCH_NATIVE=OFF -S lantern_hnsw -B build\nmake -C build install -j\n```\n\n## 📖 如何使用 Lantern\n\nLantern 保留了标准的 PostgreSQL 接口，因此与 PostgreSQL 生态系统中的所有常用工具兼容。\n\n首先，在 SQL 中启用 Lantern（例如通过 `psql` shell）：\n\n```sql\nCREATE EXTENSION lantern;\n```\n\n注意：执行上述命令后，Lantern 扩展仅在当前 PostgreSQL 数据库中可用（单个 PostgreSQL 实例可能包含多个数据库）。当连接到其他数据库时，请确保也为该数据库运行上述命令。例如：\n\n```sql\nCREATE DATABASE newdb;\n\\c newdb\nCREATE EXTENSION lantern;\n```\n\n创建一个包含向量列的表，并插入数据：\n\n```sql\nCREATE TABLE small_world (id integer, vector real[3]);\nINSERT INTO small_world (id, vector) VALUES (0, '{0,0,0}'), (1, '{0,0,1}');\n```\n\n通过 `lantern_hnsw` 在表上创建 HNSW 索引：\n\n```sql\nCREATE INDEX ON small_world USING lantern_hnsw (vector);\n```\n\n根据你的向量数据自定义 `lantern_hnsw` 索引参数，例如距离函数（如 `dist_l2sq_ops`）、索引构建参数和索引搜索参数。\n\n```sql\nCREATE INDEX ON small_world USING lantern_hnsw (vector dist_l2sq_ops)\nWITH (M=2, ef_construction=10, ef=4, dim=3);\n```\n\n开始查询数据：\n\n```sql\nSET enable_seqscan = false;\nSELECT id, l2sq_dist(vector, ARRAY[0,0,0]) AS dist\nFROM small_world ORDER BY vector \u003C-> ARRAY[0,0,0] LIMIT 1;\n```\n\n### 关于运算符和运算符类的说明\n\nLantern 支持多种距离函数用于索引。\n\n有 3 种可用的运算符：`\u003C->`（l2sq）、`\u003C=>`（余弦）、`\u003C+>`（汉明）。\n\n在创建索引时，可以使用以下四种已定义的运算符类：\n\n- **`dist_l2sq_ops`**：`real[]` 类型的默认值。\n- **`dist_vec_l2sq_ops`**：`vector` 类型的默认值。\n- **`dist_cos_ops`**：适用于 `real[]` 类型。\n- **`dist_vec_cos_ops`**：适用于 `vector` 类型。\n- **`dist_hamming_ops`**：适用于 `integer[]` 类型。\n\n### 索引构建参数\n\n`M`、`ef` 和 `ef_construction` 参数控制着 HNSW 算法在你特定用例中的性能。\n\n- 通常，较低的 `M` 和 `ef_construction` 可以加快索引创建速度，但会降低召回率。\n- 较低的 `M` 和 `ef` 则能提高搜索速度并减少共享缓冲区命中次数，但同样会牺牲召回率。这些参数的调整需要根据你的具体用例进行实验。\n\n### 其他事项\n\n- 如果你之前克隆过 Lantern，并希望更新代码，请运行 `git pull && git submodule update --recursive`。\n\n## ⭐️ 功能特性\n\n- 为常见场景生成嵌入（CLIP 模型、Hugging Face 模型、自定义模型）。\n- 与 pgvector 的数据类型兼容，因此使用 pgvector 的用户可以无缝切换到 Lantern。\n- 通过外部索引器实现并行索引创建。\n- 能够在数据库服务器之外生成索引图。\n- 支持在数据库外并在另一个实例中创建索引，从而避免中断数据库工作流程。\n- 提供一系列辅助函数，帮助优化你的工作流程。\n\n## 🏎️ 性能表现\n\n重要要点：\n\n- 我们主要关注三个关键指标：`CREATE INDEX` 时间、`SELECT` 吞吐量和 `SELECT` 延迟。\n- 在所有这些指标上，Lantern 的表现均与 pgvector 和 pg_embedding（Neon）持平或更优。\n- 我们计划继续优化性能，以确保 Lantern 成为性能最佳的数据库解决方案。\n\n\u003Cp>\n\u003Cimg alt=\"Lantern 吞吐量\" src=\"https:\u002F\u002Fstorage.googleapis.com\u002Flantern-blog\u002F1\u002Fthroughput.png\" width=\"400\" style=\"float: left;\" \u002F>\n\u003Cimg alt=\"Lantern 延迟\" src=\"https:\u002F\u002Fstorage.googleapis.com\u002Flantern-blog\u002F1\u002Flatency.png\" width=\"400\" style=\"float: left;\" \u002F>\n\u003Cimg alt=\"Lantern 索引创建\" src=\"https:\u002F\u002Fstorage.googleapis.com\u002Flantern-blog\u002F1\u002Fcreate.png\" width=\"400\" style=\"float: left;\" \u002F>\n\u003C\u002Fp>\n\n## 🗺️ 路线图\n\n- 云托管版 Lantern - 请在此 [注册](https:\u002F\u002Flantern.dev)\n- 针对您的 CPU 优化的硬件加速距离度量，实现更快的查询\n- 面向不同行业的应用构建模板和指南\n- 更多嵌入生成工具（支持第三方模型 API、更多本地模型）\n- 支持嵌入的版本控制与 A\u002FB 测试\n- 自动调优的索引类型，可自动选择合适的创建参数\n- 支持 1 字节和 2 字节向量元素，以及高达 8000 维的向量（[PR #19](https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F19)）\n- 如需新功能，请发送邮件至 [support@lantern.dev](mailto:support@lantern.dev)\n\n## 📚 资源\n\n- [GitHub 问题](https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fissues)：用于报告 Lantern 的 bug 或问题\n- 需要支持？请联系 [support@lantern.dev](mailto:support@lantern.dev)。我们很乐意帮助您排查问题，并就如何将 Lantern 应用于您的场景提供建议。\n- 我们欢迎社区贡献！欢迎您随时提交 issue 或 pull request。如果您联系 [support@lantern.dev](mailto:support@lantern.dev)，我们将为您找到适合的公开 issue 或项目。","# Lantern 快速上手指南\n\nLantern 是一个开源的 PostgreSQL 数据库扩展，专为存储向量数据、生成嵌入（Embeddings）以及执行向量搜索操作而设计。它引入了 `lantern_hnsw` 索引类型，显著提升了向量查询性能。\n\n## 环境准备\n\n在开始之前，请确保满足以下系统要求和依赖：\n\n*   **操作系统**: Linux, macOS (支持 Homebrew), 或任何支持 Docker 的环境。\n*   **PostgreSQL 版本**: 11, 12, 13, 14, 15 或 16。\n*   **编译依赖** (仅源码安装需要):\n    *   CMake 版本: >= 3.3\n    *   GCC & G++ 版本: >= 11 (构建通用二进制文件), >= 12 (针对新硬件或 CPU 特定向量化优化)\n    *   PostgreSQL 开发包: `postgresql-server-dev-$version`\n\n## 安装步骤\n\n您可以选择以下任一方式快速安装 Lantern：\n\n### 方式一：使用 Docker (推荐，最快捷)\n\n如果您尚未安装 PostgreSQL，可以使用 Docker 一键启动包含 Lantern 的环境：\n\n```bash\ndocker run --pull=always --rm -p 5432:5432 -e \"POSTGRES_USER=$USER\" -e \"POSTGRES_PASSWORD=postgres\" -v .\u002Flantern_data:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata lanterndata\u002Flantern:latest-pg15\n```\n\n启动后，连接字符串为：`postgresql:\u002F\u002F$USER:postgres@localhost\u002Fpostgres`\n\n### 方式二：使用 Homebrew (macOS)\n\n```bash\nbrew tap lanterndata\u002Flantern\nbrew install lantern && lantern_install\n```\n\n### 方式三：在线体验 (Replit)\n\n无需本地环境，点击即可在浏览器中运行：\n[Run on Replit](https:\u002F\u002Freplit.com\u002F@lanterndata\u002Flantern-playground#.replit)\n\n### 方式四：源码编译 (适用于现有 PostgreSQL 实例)\n\n若需在现有的 PostgreSQL 上编译安装，请执行以下步骤：\n\n**1. 克隆代码库**\n```bash\ngit clone --recursive https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern.git\ncd lantern\n```\n\n**2. 编译与安装**\n\n*   **针对新硬件优化 (开启 CPU 特定向量化):**\n    ```bash\n    cmake -DMARCH_NATIVE=ON -S lantern_hnsw -B build\n    make -C build install -j\n    ```\n\n*   **构建通用二进制文件 (便携版):**\n    ```bash\n    cmake -DMARCH_NATIVE=OFF -S lantern_hnsw -B build\n    make -C build install -j\n    ```\n\n## 基本使用\n\nLantern 完全兼容标准 PostgreSQL 接口。以下是核心操作流程：\n\n### 1. 启用扩展\n\n连接到数据库后，首先启用 Lantern 扩展。**注意**：每个数据库实例都需要单独执行此命令。\n\n```sql\nCREATE EXTENSION lantern;\n```\n\n如果创建了新数据库，需切换并重新启用：\n```sql\nCREATE DATABASE newdb;\n\\c newdb\nCREATE EXTENSION lantern;\n```\n\n### 2. 创建表并插入数据\n\n创建一个包含向量列的表，并插入测试数据：\n\n```sql\nCREATE TABLE small_world (id integer, vector real[3]);\nINSERT INTO small_world (id, vector) VALUES (0, '{0,0,0}'), (1, '{0,0,1}');\n```\n\n### 3. 创建向量索引\n\n使用 `lantern_hnsw` 创建索引以加速查询。您可以自定义距离函数和构建参数：\n\n```sql\n-- 基础用法\nCREATE INDEX ON small_world USING lantern_hnsw (vector);\n\n-- 高级用法：指定距离函数 (L2 平方距离) 和调整参数\nCREATE INDEX ON small_world USING lantern_hnsw (vector dist_l2sq_ops)\nWITH (M=2, ef_construction=10, ef=4, dim=3);\n```\n\n**常用算子类说明：**\n*   `dist_l2sq_ops`: 适用于 `real[]` 类型 (默认)\n*   `dist_vec_l2sq_ops`: 适用于 `vector` 类型\n*   `dist_cos_ops`: 余弦距离，适用于 `real[]`\n*   `dist_hamming_ops`: 汉明距离，适用于 `integer[]`\n\n### 4. 执行向量搜索查询\n\n关闭顺序扫描以强制使用索引，然后执行最近邻搜索：\n\n```sql\nSET enable_seqscan = false;\n\nSELECT id, l2sq_dist(vector, ARRAY[0,0,0]) AS dist\nFROM small_world \nORDER BY vector \u003C-> ARRAY[0,0,0] \nLIMIT 1;\n```\n\n**支持的搜索算子：**\n*   `\u003C->`: L2 平方距离 (Euclidean squared)\n*   `\u003C=>`: 余弦距离 (Cosine)\n*   `\u003C+>`: 汉明距离 (Hamming)","某电商初创团队正在构建一个“以图搜图”功能，希望用户上传图片后能毫秒级返回视觉上最相似的商品。\n\n### 没有 lantern 时\n- **架构复杂且成本高**：团队不得不额外部署专门的向量数据库（如 Milvus 或 Qdrant），导致运维两套数据库系统，增加了服务器成本和维护难度。\n- **数据一致性难保障**：商品的基础信息存在 PostgreSQL 中，而向量数据在外部系统，一旦商品下架或更新，极易出现两边数据不同步的“脏数据”问题。\n- **查询延迟高**：面对百万级商品库，传统的线性扫描或基础索引无法在毫秒内完成高维向量相似度计算，用户搜索体验卡顿。\n- **开发链路割裂**：后端工程师需要同时学习 SQL 和新的向量查询 API，代码中充斥着跨服务调用逻辑，调试和迭代效率低下。\n\n### 使用 lantern 后\n- **架构极简统一**：直接在现有的 PostgreSQL 中通过 `CREATE EXTENSION lantern` 启用向量能力，无需引入新组件，一套数据库同时处理交易与搜索数据。\n- **天然数据一致**：利用 PostgreSQL 的事务特性，商品信息的增删改查与向量更新自动保持强一致，彻底杜绝数据错位风险。\n- **毫秒级响应**：借助 `lantern_hnsw` 索引类型，基于 usearch 内核的高效算法，即使在百万数据量下也能将相似度搜索延迟控制在毫秒级。\n- **开发体验无缝**：团队继续使用熟悉的 SQL 语法（如 `ORDER BY ... LIMIT`）进行向量检索，无需学习新语言，现有 ORM 框架可直接复用。\n\nlantern 的核心价值在于让开发者无需牺牲性能即可在标准的 PostgreSQL 生态中原生构建高性能 AI 应用，极大降低了向量搜索的工程门槛。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flanterndata_lantern_1995d0de.png","lanterndata","Lantern","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Flanterndata_560c9da0.png","Lantern is Postgres for AI and data-intensive applications.",null,"support@lantern.dev","https:\u002F\u002Flantern.dev","https:\u002F\u002Fgithub.com\u002Flanterndata",[82,86,90,94,98,102,106,110,114,118],{"name":83,"color":84,"percentage":85},"Rust","#dea584",57.4,{"name":87,"color":88,"percentage":89},"C","#555555",18.1,{"name":91,"color":92,"percentage":93},"PLpgSQL","#336790",11.4,{"name":95,"color":96,"percentage":97},"Python","#3572A5",4.7,{"name":99,"color":100,"percentage":101},"Shell","#89e051",3.8,{"name":103,"color":104,"percentage":105},"Ruby","#701516",2.3,{"name":107,"color":108,"percentage":109},"CMake","#DA3434",1.6,{"name":111,"color":112,"percentage":113},"C++","#f34b7d",0.4,{"name":115,"color":116,"percentage":117},"Dockerfile","#384d54",0.3,{"name":119,"color":120,"percentage":121},"Makefile","#427819",0,880,66,"2026-04-11T12:57:05","AGPL-3.0","Linux, macOS","未说明",{"notes":129,"python":127,"dependencies":130},"Lantern 是 PostgreSQL 的数据库扩展插件，并非独立的 Python 应用，因此无需特定 Python 环境。支持通过 Docker、Homebrew (macOS) 或源码编译安装。源码编译时，若需利用新硬件的 CPU 向量指令加速，需使用 GCC\u002FG++ 12 及以上版本并开启 MARCH_NATIVE 选项；若需构建可移植二进制文件，则使用 GCC\u002FG++ 11 及以上版本。支持在 Replit 上在线运行。",[131,132,133,134],"PostgreSQL 11-16","CMake >= 3.3","GCC\u002FG++ >= 11 (便携版) 或 >= 12 (硬件加速版)","postgresql-server-dev-$version",[136,16,15,13,14],"其他",[138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156],"ai","vector","database","postgres","postgresql","embeddings","machine-learning","open-source","data-science","ycombinator","ann","approximate-nearest-neighbor-search","nearest-neighbor-search","hnsw","image-search","knn","mlops","neural-search","search","2026-03-27T02:49:30.150509","2026-04-13T04:24:05.656519",[160,165,170,175,179,184],{"id":161,"question_zh":162,"answer_zh":163,"source_url":164},31307,"在 macOS 上从源码构建时遇到 'openssl\u002Ferr.h' 文件未找到的错误，如何解决？","该问题通常是因为使用了 postgresql-common 包导致未链接到特定版本的 PostgreSQL，使得 pg_config 无法读取正确的配置。请确保安装并链接了正确版本的 PostgreSQL，而不是通用的 postgresql-common 包。检查 pg_config 的输出以确认配置路径是否正确。","https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fissues\u002F352",{"id":166,"question_zh":167,"answer_zh":168,"source_url":169},31308,"在 Debian 系统上构建失败，提示与 _Float16 或编译器版本相关的错误，该怎么办？","这是一个编译器版本问题。_Float16 类型仅在 GCC\u002FG++ 12 或更高版本中可用。如果您使用 `-march=native` 选项进行构建，请确保已安装 gcc-12、g++-12 或更新版本。例如，将 GCC 从 10.2.1 升级到 13 即可解决此问题。","https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fissues\u002F301",{"id":171,"question_zh":172,"answer_zh":173,"source_url":174},31309,"创建索引时出现 \"unrecognized parameter 'dims'\" 错误，正确的参数名是什么？","创建索引时的正确参数名是 `dim` 而不是 `dims`。请使用以下语法：`CREATE INDEX ON table_name USING hnsw (column_name dist_l2sq_ops) WITH (M=2, ef_construction=10, ef=4, dim=3);`。","https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fissues\u002F140",{"id":176,"question_zh":177,"answer_zh":178,"source_url":174},31310,"查询时遇到 \"Operator \u003C-> has no standalone meaning\" 错误，如何正确使用该操作符？","`\u003C->` 操作符仅用于向量索引查找，不能单独用于计算距离。对于小表，如果索引未被触发，可能需要设置 `SET enable_seqscan TO off;` 强制使用索引。此外，新版本已更改逻辑，无论是否创建索引，该操作符都应能正常工作，请确保使用的是最新版本。",{"id":180,"question_zh":181,"answer_zh":182,"source_url":183},31311,"运行测试时每次都会重新下载数据文件，如何缓存这些文件以提高效率？","测试文件默认下载到 `tmp` 目录，但该目录在某些系统（如 WSL）重启后会被清空。建议的解决方案包括：1. 修改 `tmp` 文件夹的清理策略以保留文件；2. 将下载的测试文件添加到 CMake 构建目录中；3. 将下载的文件作为 CMake target 管理，以便 CMake 仅在需要时重新下载。","https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fissues\u002F63",{"id":185,"question_zh":186,"answer_zh":187,"source_url":188},31312,"是否有现成的 Docker 镜像可用于快速测试，避免从源码构建？","是的，项目提供了官方 Docker 镜像。您可以直接运行以下命令启动容器：`docker run -dit --rm -p 5432:5432 -e 'POSTGRES_PASSWORD=postgres' lanterndata\u002Flantern:latest-pg15`。启动后即可通过 psql 连接并进行测试，无需手动编译源码。","https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fissues\u002F152",[190,195,200,205,210,215,220,225,230,235,240,245,250,255,260,265,270,275,280,285],{"id":191,"version":192,"summary_zh":193,"released_at":194},231011,"v0.5.0","## 变更内容\n* Narek\u002F更新依赖，由 @Ngalstyan4 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F347 中完成\n* 支持 PostgreSQL 17，由 @var77 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F348 中完成\n* 在守护进程中实现 feature-gate 嵌入、自动调优和外部索引作业，由 @var77 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F349 中完成\n* 使用 grcov 为 lantern_extras 收集代码覆盖率，由 @var77 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F350 中完成\n* 重构 lantern_extras 的 SQL 函数，由 @var77 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F351 中完成\n* 修复注释中的拼写错误：“enought”改为“enough”，由 @hydrationn 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F354 中完成\n* 确保在调用方请求时，无效的 reloptions 会被静默忽略，由 @Ngalstyan4 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F356 中完成\n* 在后台工作进程中实现外部索引服务器，由 @var77 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F355 中完成\n* 如果表中不包含元组，则不使用外部索引，由 @var77 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F357 中完成\n* Narek\u002FBM25 布隆过滤器，由 @Ngalstyan4 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F343 中完成\n\n## 新贡献者\n* @hydrationn 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F354 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fcompare\u002Fv0.4.1...v0.5.0","2024-11-15T19:36:47",{"id":196,"version":197,"summary_zh":198,"released_at":199},231012,"v0.4.1","## 变更内容\n* 由 @var77 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F345 中将 lantern_cli 更新至 0.4.0\n* 由 @var77 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F346 中为 public 角色授予作业表的 SELECT 权限\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fcompare\u002Fv0.4.0...v0.4.1","2024-10-24T09:16:17",{"id":201,"version":202,"summary_zh":203,"released_at":204},231013,"v0.4.0","## 变更内容\n* 由 @var77 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F337 中修复了 CI 环境下带有子模块的 pgvector 安装问题\n* 由 @var77 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F339 中将 lantern_extras 移至 lantern 仓库\n* 由 @var77 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F340 中为 lantern_cli 创建 macOS 二进制文件\n* 由 @dqii 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F342 中更新 LICENSE 文件\n* 由 @var77 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F341 中将 OpenAI 补全 API 添加到 SQL 和守护进程\n* 由 @var77 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F344 中修复 CI 打包问题\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fcompare\u002Fv0.3.4...v0.4.0","2024-10-20T14:52:06",{"id":206,"version":207,"summary_zh":208,"released_at":209},231014,"v0.3.4","## 变更内容\n* 重构 `StoreExternalIndexNodes` 函数，并通过套接字以分块方式接收索引文件，由 @var77 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F333 中完成\n* 外部索引路由，由 @var77 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F334 中实现\n* 在外部索引头消息中发送向量元素位数，由 @var77 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F335 中完成\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fcompare\u002Fv0.3.3...v0.3.4","2024-10-03T08:16:04",{"id":211,"version":212,"summary_zh":213,"released_at":214},231015,"v0.3.3","## 变更内容\n* 仅在索引不是通过套接字构建的情况下才关闭索引文件描述符，由 @var77 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F331 中实现。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fcompare\u002Fv0.3.2...v0.3.3","2024-09-03T08:15:42",{"id":216,"version":217,"summary_zh":218,"released_at":219},231016,"v0.3.2","## 变更内容\n* 通过 TCP 套接字进行外部索引，由 @var77 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F324 中实现\n* 支持 SSL 的外部索引套接字，由 @var77 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F327 中实现\n* 更新扩展版本检查逻辑，由 @var77 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F325 中实现\n* 移除对 external_socket_fd 的不必要的断言，由 @var77 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F329 中实现\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fcompare\u002Fv0.3.1...v0.3.2","2024-08-19T06:20:33",{"id":221,"version":222,"summary_zh":223,"released_at":224},231017,"v0.3.1","## 变更内容\n* Narek\u002F流式 HNSW 索引，由 @Ngalstyan4 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F322 中选定\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fcompare\u002Fv0.3.0...v0.3.1","2024-07-15T15:16:10",{"id":226,"version":227,"summary_zh":228,"released_at":229},231018,"v0.3.0","## 变更内容\n* Narek\u002F消除块映射 by @Ngalstyan4 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F318 中\n* Narek\u002FHNSW 构建单次 WAL 通过 by @Ngalstyan4 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F319 中\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fcompare\u002Fv0.2.7...v0.3.0","2024-06-12T07:24:16",{"id":231,"version":232,"summary_zh":233,"released_at":234},231019,"v0.2.7","## 变更内容\n* Narek\u002Fhandle 删除了 @Ngalstyan4 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F317 中的提交\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fcompare\u002Fv0.2.6...v0.2.7","2024-05-04T02:04:57",{"id":236,"version":237,"summary_zh":238,"released_at":239},231020,"v0.2.6","## 变更内容\n* 由 @Ngalstyan4 在 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F316 中修复了 Narek\u002F异步任务的 jobid 问题\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fcompare\u002Fv0.2.5...v0.2.6","2024-05-02T06:23:57",{"id":241,"version":242,"summary_zh":243,"released_at":244},231021,"v0.2.5","## What's Changed\n* Add lantern schema creation to update SQL file from version 0.2.2 to 0.2.3 by @var77 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F312\n* Fix permissions for non-superusers to use lantern.async_task by @Ngalstyan4 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F314\n* Initial version of systematic schema checking for db updates by @Ngalstyan4 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F315\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fcompare\u002Fv0.2.4...v0.2.5","2024-04-26T06:05:57",{"id":246,"version":247,"summary_zh":248,"released_at":249},231022,"v0.2.4","## What's Changed\n* Fix Dockerfile path in CI by @Ngalstyan4 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F310\n* Small fixes on weighted vector search by @Ngalstyan4 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F311\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fcompare\u002Fv0.2.3...v0.2.4","2024-04-10T09:39:11",{"id":251,"version":252,"summary_zh":253,"released_at":254},231023,"v0.2.3","## What's Changed\n* [doc]: add prerequisites in README.md by @broccoliSpicy in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F304\n* Add async tasks to lantern by @Ngalstyan4 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F302\n* Narek\u002Fweighted multivector search by @Ngalstyan4 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F309\n\n## New Contributors\n* @broccoliSpicy made their first contribution in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F304\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fcompare\u002Fv0.2.2...v0.2.3","2024-04-09T19:43:34",{"id":256,"version":257,"summary_zh":258,"released_at":259},231024,"v0.2.2","## What's Changed\n* Use gcc and g++ 13 for CI tests by @var77 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F300\n* Fix compiler optimization flags to enable native builds and autovecto… by @Ngalstyan4 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F299\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fcompare\u002Fv0.2.1...v0.2.2","2024-03-27T07:16:59",{"id":261,"version":262,"summary_zh":263,"released_at":264},231025,"v0.2.1","## What's Changed\n* Fix snapshot leak bug and initialize parameters in pg_init before using them by @Ngalstyan4 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F296\n* Release 0.2.1 by @var77 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F297\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fcompare\u002Fv0.2.0...v0.2.1","2024-03-11T16:37:04",{"id":266,"version":267,"summary_zh":268,"released_at":269},231026,"v0.2.0","## What's Changed\n* Add product quantization by @var77 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F277\n* PQ Api improvements #288 by @var77 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F289\n* Narek\u002Fpgvector compat by @Ngalstyan4 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F286\n* Narek\u002Fpq index by @Ngalstyan4 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F287\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fcompare\u002Fv0.1.1...v0.2.0","2024-02-24T02:41:06",{"id":271,"version":272,"summary_zh":273,"released_at":274},231027,"v0.1.1","## What's Changed\n* Narek\u002Frelease 0.1.1 by @Ngalstyan4 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F283\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fcompare\u002Fv0.1.0...v0.1.1","2024-02-09T00:22:12",{"id":276,"version":277,"summary_zh":278,"released_at":279},231028,"v0.1.0","## What's Changed\n* Publish latest tags, only if LATEST input is specified in action by @var77 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F268\n* Always Exit with non-zero error code in error cases of install script by @Ngalstyan4 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F269\n* Enable Undefined Behaviour sanitizer in ci\u002Fcd by @Ngalstyan4 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F270\n* Add arm runner for CI actions by @var77 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F271\n* Update actions to latest version to use NodeJS 20 runtime by @var77 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F273\n* Update README.md by @dqii in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F274\n* Clarify psql instructions and add docker volume by @Ngalstyan4 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F275\n* Fixes for bugs in cost estimate function (relevant for partial indexes) by @therealdarkknight in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F276\n* Do CI benchmarks with openai dataset by @var77 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F261\n* Emit LLVM bitcode and copy to postgres if JIT is available #258 by @var77 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F267\n* Update codecov-action to v4 to use NodeJS 20 runtime by @var77 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F278\n* Use proper index selectivity in hnswcostestimate function by @therealdarkknight in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F279\n* Fix tests not failing in CI by @var77 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F281\n* Narek\u002Fstorage upgrade by @Ngalstyan4 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F262\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fcompare\u002Fv0.0.12...v0.1.0","2024-02-08T23:21:10",{"id":281,"version":282,"summary_zh":283,"released_at":284},231029,"v0.0.12","## What's Changed\n* fix parallel test error on update by @ezra-varady in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F246\n* add code to handle multiple test groups properly by @ezra-varady in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F245\n* Add function to reindex indexes created externally by @var77 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F250\n* Add binary versioning by @ezra-varady in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F249\n* disable version mismatch test till v0.0.12 by @ezra-varady in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F254\n* mmap index file to memory to reduce memory usage by @var77 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F252\n* Fix generic operator in invalid usage error message by @var77 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F255\n* Save index file in postgres data dir by @var77 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F256\n* Unlogged tables support by @therealdarkknight in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F253\n* Stop postgres using pg_ctl to avoid race conditions by @var77 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F257\n* Fix available page free space calculation bug by @Ngalstyan4 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F263\n* cmake updates by @Ngalstyan4 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F259\n* Add test to catch external index with missing op class by @var77 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F260\n* Fixed bug where SQL query in version match check would execute outside of an outer snapshot or portal by @therealdarkknight in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F266\n* Narek\u002Frelease0.0.12 by @Ngalstyan4 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F265\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fcompare\u002Fv0.0.11...v0.0.12","2024-01-24T08:40:10",{"id":286,"version":287,"summary_zh":288,"released_at":289},231030,"v0.0.11","## What's Changed\r\n* Add test to validate index in replication mode by @var77 in https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F248\r\n* Fixed bug causing WAL recovery crash mode by @var77 https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fpull\u002F248\u002Fcommits\u002Ffba2e74accbd230f0fc36da870ebb12b7cd1a0ca\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Flanterndata\u002Flantern\u002Fcompare\u002Fv0.0.10...v0.0.11","2023-12-16T07:10:58"]