superlinked

GitHub
3 0 非常简单 1 次阅读 3天前Apache-2.0开发框架数据工具
AI 解读 由 AI 自动生成,仅供参考

Superlinked 是一个专为构建高性能 AI 搜索应用而设计的开源框架,旨在帮助开发者打造既适合人类用户也适配 AI 智能体的搜索系统。它核心解决了传统向量搜索中“元数据与语义理解割裂”的难题,通过将结构化元数据与非结构化文本共同编码为丰富的多模态嵌入,让推荐系统、检索增强生成(RAG)及数据分析不再局限于基础的语义匹配。

值得注意的是,Superlinked 团队发现生产环境中最大的瓶颈在于大规模推理效率,因此该项目已演进并重点推出了"Superlinked 推理引擎(SIE)”。这是一个专为小规模模型设计的开源推理服务器和生产集群,致力于打通从原型验证到生产级部署的最后一步,确保嵌入模型能高效、稳定地运行。

Superlinked 非常适合后端工程师、AI 应用开发者以及数据科学家使用。其技术亮点在于提供了简洁的 Python API,允许用户通过定义模式(Schema)和相似度空间,快速在内存中搭建起包含索引、查询和执行流程的完整搜索链路,极大地降低了开发高复杂度 AI 搜索功能的门槛。无论是需要构建精准的电影评论检索,还是复杂的商业推荐系统,Superlinked 都能提供强有力的底层支持。

使用场景

某电商初创团队正在构建一个支持自然语言搜索和个性化推荐的商品检索系统,希望用户能通过“找一件适合海边度假的红色连衣裙”这类复杂描述快速定位商品。

没有 superlinked 时

  • 语义理解浅层:传统关键词匹配无法理解“海边度假”与“轻盈、透气”等隐含属性的关联,导致搜索结果相关性低。
  • 多模态数据割裂:商品图片特征、文本描述和用户行为日志分散存储,难以融合成统一的向量表示,限制了推荐精度。
  • 原型落地困难:虽然能用开源模型跑出 Demo,但缺乏高效推理引擎,一旦数据量上万,查询延迟从毫秒级飙升至秒级,无法上线。
  • 开发维护成本高:团队需自行拼接编码、索引和检索模块,每次调整模型或数据结构都要重写大量胶水代码。

使用 superlinked 后

  • 深度语义融合:superlinked 将商品文本、图像元数据共同编码为多模态 Embedding,精准捕捉“海边度假”背后的风格与功能需求。
  • 统一向量空间:自动把结构化标签(如颜色、材质)与非结构化描述融入同一向量空间,显著提升混合检索的准确率。
  • 生产级推理性能:内置的高效推理服务让大规模向量计算在低延迟下运行,轻松支撑百万级商品库的实时查询。
  • 极简开发流程:通过声明式 Schema 定义数据结构,几行代码即可完成从数据注入到相似性搜索的全流程,迭代效率提升数倍。

superlinked 帮助团队跨越了从算法原型到高并发生产系统的鸿沟,让复杂的 AI 搜索应用得以快速落地并创造商业价值。

运行环境要求

操作系统
  • 未说明
GPU

未说明

内存

未说明

依赖
notes该仓库已弃用,官方建议迁移至新的 'Superlinked Inference Engine (SIE)'。当前版本支持通过 PyPI 安装,示例代码显示其可在内存中运行(InMemoryExecutor),也支持连接外部向量数据库。首次运行时需要下载嵌入模型(如 all-MiniLM-L6-v2 或 gte-large-en-v1.5)。具体系统资源需求取决于所选用的嵌入模型大小及数据量。
python未说明
superlinked
sentence-transformers
open-clip
superlinked hero image

快速开始

Superlinked logo

Superlinked 已经演进,本仓库现已弃用

Superlinked 通过将元数据与非结构化数据一同编码为丰富的多模态嵌入向量,帮助开发者构建更高效的向量搜索系统,从而支持推荐、RAG 和分析等功能,超越了单纯的语义搜索。

然而,在生产环境中最大的痛点始终是推理——如何高效地大规模运行嵌入模型。这正是原型系统迈向生产级系统的真正瓶颈。因此,我们全力以赴解决了这一问题。

Superlinked 推理引擎(SIE)就是我们的成果,它是一款面向小型模型的开源推理服务器和生产集群。


前往 SIE

https://github.com/superlinked/sie




为人类和智能体构建高性能的AI 搜索应用。

快速入门

%pip install superlinked
from superlinked import framework as sl  
  
# 定义电影评论的模式  
class Review(sl.Schema):  
    id: sl.IdField  
    text: sl.String  
  
review = Review()  
space = sl.TextSimilaritySpace(text=review.text, model="all-MiniLM-L6-v2")  
index = sl.Index(space)  
query = sl.Query(index).find(review).similar(space, sl.Param("search")).select_all()  
  
# 设置并运行  
source = sl.InMemorySource(review)  
app = sl.InMemoryExecutor(sources=[source], indices=[index]).run()  
  
# 添加数据并搜索  
source.put([  
    {"id": "1", "text": "精彩的表演和出色的故事"},  
    {"id": "2", "text": "乏味的情节和糟糕的演技"}  
])  
  
result = app.query(query, search="卓越的表演")  
print(sl.PandasConverter.to_pandas(result))
目录

概述

  • 为什么:通过将元数据与您的非结构化数据一起编码为向量,提升向量搜索的相关性。
  • 是什么:一个框架和可自托管的 REST API 服务器,用于连接您的数据、向量数据库和后端服务。
  • 如何:您可以基于 sentence-transformersopen-clip 中的预训练编码器,以及针对数字、时间戳和分类数据的自定义编码器,构建自定义的数据和查询嵌入模型。请参阅下方的教程用例笔记本以获取示例。

如果您喜欢我们的工作,请给我们点个赞!⭐

动手教程

等级 你将构建和学习的内容 立即尝试
从这里开始 嵌入文本 · 图像 · 数字 · 分类 · 时间 · 事件。 文本嵌入 Colab
图像嵌入 Colab
数值(最小-最大) Colab
数值(相似度) Colab
分类 Colab
最近性嵌入 Colab
事件效应 Colab
构建与扩展 组合空间或添加自定义/可选模式。 组合嵌入 Colab
自定义空间 Colab
可选字段 Colab
优化相关性 实时更新与查询时个性化。 动态参数 Colab
查询时权重 Colab
查询结果 Colab
搜索与筛选 自然语言搜索 + 硬性筛选。 自然语言查询 Colab
硬性筛选 Colab
查询选项 Colab
向量部分 Colab
分析与导出 离线抽取嵌入样本。 向量采样器 Colab
迈向多模态 统一的文本+图像空间。 多模态搜索 Colab

💡 还想了解更多? 浏览我们文档中完整的功能与概念列表 →
https://docs.superlinked.com/concepts/overview

在笔记本中实验

让我们构建一个能够理解产品描述和评分的电商产品搜索:

运行笔记本示例:

首次运行需要一分钟下载嵌入模型。

%pip install superlinked
import json
import os

from superlinked import framework as sl


class Product(sl.Schema):
    id: sl.IdField
    description: sl.String
    rating: sl.Integer


product = Product()

description_space = sl.TextSimilaritySpace(
    text=product.description, model="Alibaba-NLP/gte-large-en-v1.5"
)
rating_space = sl.NumberSpace(
    number=product.rating, min_value=1, max_value=5, mode=sl.Mode.MAXIMUM
)
index = sl.Index([description_space, rating_space], fields=[product.rating])


# 定义你的查询和参数,以便在查询时直接设置,
# 或者让 LLM 使用 `natural_language_query` 参数为你填写。
# 别忘了设置你的 OpenAI API 密钥以解锁此功能。
query = (
    sl.Query(
        index,
        weights={
            description_space: sl.Param("description_weight"),
            rating_space: sl.Param("rating_weight"),
        },
    )
    .find(product)
    .similar(
        description_space,
        sl.Param(
            "description_query",
            description="用户查询中与产品描述相关的文本。",
        ),
    )
    .limit(sl.Param("limit"))
    .with_natural_query(
        sl.Param("natural_language_query"),
        sl.OpenAIClientConfig(api_key=os.environ["OPEN_AI_API_KEY"], model="gpt-4o")
    )
)

# 在内存中运行应用(也可使用服务器和 Apache Spark 执行器!)。
source = sl.InMemorySource(product)
executor = sl.InMemoryExecutor(sources=[source], indices=[index])
app = executor.run()

# 将数据摄入系统——索引更新及其他处理会自动进行。
source.put([
    {
        "id": 1,
        "description": "黑色预算型牙刷。正是您所需要的。",
        "rating": 1,
    },
    {
        "id": 2,
        "description": "毫不妥协打造的高端牙刷。",
        "rating": 5,
    },
    {
        "id": 3,
        "description": "专为聪明的21世纪男士设计的牙刷。",
        "rating": 3,
    },
])

result = app.query(query, natural_query="最好的牙刷", limit=1)

# 检查从查询中提取的参数
print(json.dumps(result.metadata, indent=2))

# 结果是那款五星级评价的产品。
sl.PandasConverter.to_pandas(result)

使用场景

通过我们的笔记本深入探讨每个使用场景如何受益于 Superlinked 框架。

您可以在此处查看完整的示例列表:GitHub

在生产环境中运行

只需一条命令,您就可以在本地或云端以 REST API 服务器的形式运行 Superlinked,使用 Superlinked Server。免费获得数据摄入和查询 API、嵌入模型推理以及深度向量数据库集成!

通过单一的声明式 Python 代码库,统一您的评估、摄入和推理堆栈。Superlinked 让您一次性定义数据模式、向量索引以及连接它们的计算 DAG,然后根据任务选择合适的执行器——内存中或服务器端。

如果您有兴趣了解如何大规模运行,请预约演示,以提前访问我们的托管云服务。

支持的向量数据库

Superlinked 将您的向量存储在您的向量数据库中,并与以下数据库深度集成:

对向量数据库的优缺点感到好奇吗?我们的社区已经对比了44种向量数据库的30多项功能

日志记录

Superlinked 框架的日志包含上下文信息,例如进程 ID 和包作用域。个人身份信息 (PII) 默认会被过滤掉,但可以通过将 SUPERLINKED_EXPOSE_PII 环境变量设置为 true 来显示。

资源

  • 向量数据库对比:由 Superlinked 维护的开源协作式向量数据库比较。
  • VectorHub:VectorHub 是一个免费且开源的学习平台,面向希望在其机器学习堆栈中加入向量检索功能的人士。

支持

需要帮助吗?我们随时为您提供支持:

  • 如发现错误,请创建问题
  • 如需新功能,请在此处提交请求这里
  • 如有想法或疑问,可发起讨论

请为每个主题创建单独的问题或讨论,以便我们更好地处理您的反馈。感谢您的贡献!

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|4天前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|5天前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

149.5k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|今天
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|昨天
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|4天前
插件开发框架