概述
NeuroLink 是 Juspay 开源(GitHub: https://github.com/juspay/neurolink)的 AI 接入层,自述为“AI 神经系统的管道层”。它的核心思路是把各类模型提供方(OpenAI、Anthropic、Google、AWS Bedrock、Azure、Mistral、Ollama 等本地运行时)视为“神经元”,NeuroLink 作为“血管层”,把生成出来的智能以流的形式输送到消费它的应用(“器官”)。项目源自 Juspay 的生产系统,服务于 Tara、Yama 和 Clairvoyance 等内部产品。
三种推理类型
NeuroLink 强调它提供三种真正的推理类型,而不是同一种能力的三种包装:
- generate:生成文本。
- stream:流式生成文本。
- decide:输出经过校准的布尔值、选择或评分判断,而非文本。每个提供方通过 inferenceKinds 声明自己支持哪些类型,而不是根据行为推断。
decide 的设计目的是接手 generate/stream 原本不适合做的模型路由与门控决策。它由一个专用决策模型驱动(TypeSafe Jev、Perplexity 托管 Decisions API、Cloudflare 托管 Clef,或开源的 Laya、XOR),而非通用 LLM。以 Jev 为例,路由决策约 400ms、成本约 $0.00002,而一次完整生成调用远高于此。公共 API 为 neurolink.decide() 和 fail-open 的 neurolink.tryDecide()(失败返回 null 而不是抛错),CLI 提供 neurolink decide [state] 包装。
主要能力
- 多提供方统一接口:切换哪个“神经元”回答请求只需改一个参数。包含 3 个完全本地的运行时(Ollama、LM Studio、llama.cpp),支持单次请求级别的凭据覆盖。
- 模型注册表与路由:内置 64 个模型、132 个别名,支持元数据、路由和上下文窗口检查;通过 LiteLLM 可接入 100+ 模型,通过 OpenRouter 可接入 300+ 模型。
- MCP 原生:覆盖全部 4 种传输方式(stdio、HTTP、SSE、WebSocket),支持带认证头的远程 MCP 服务器、重试与限流。
- 语音:TTS、STT、实时语音。
- RAG 与记忆:RAGPipeline、记忆读写(可按每次 generate()/stream() 调用控制)、多用户记忆存储与检索、Redis 对话记忆(含 URL 与 TLS 支持)、Redis 会话历史导出(JSON)。
- 文件处理:CSV 与 PDF 附件自动识别;PDF 在 Vertex、Anthropic、Bedrock、AI Studio 上支持原生视觉分析。图像通过 sharp 库自动压缩,减少上传带宽并绕过提供方大小限制。
- 生成类扩展:图像生成(Gemini、Imagen)、视频生成(Vertex AI 上的 Google Veo 3.1,720p/1080p,横竖屏)、PPT 生成(35 种幻灯片类型、5 种主题、可选 AI 生成图片)、结构化输出(Zod schema + output.format: "json")。
- Agent 与工作流:多 Agent 编排、人工审核(HITL)审批流程、内容过滤护栏、TaskManager 定时与自运行 AI 任务(cron 风格、带状态检查点)、标题生成事件(conversation:titleGenerated + NEUROLINK_TITLE_PROMPT 自定义标题)。
- 生产与运维:Redis 记忆、多提供方故障转移、服务端适配器(Hono、Express、Fastify、Koa,支持前台/后台模式、路由管理、OpenAPI 生成)、外部 TracerProvider(集成既有 OpenTelemetry 设置)、评估评分系统(14 个 scorer、管线、CLI,用于离线质量评估)。
- 部署形态:专业 CLI 与 TypeScript SDK,v9.34.0 起提供浏览器兼容 bundle(核心 API 不依赖 Node.js)。
使用方式
用户可通过 CLI 或 TypeScript SDK 使用。快速开始入口指向官方文档、Quick Start、npm 和博客。切换提供方只需一个参数。对于 decide:配置相应决策提供方的密钥即可,例如 TypeSafe Jev 需要 TYPESAFE_API_KEY,也可通过 Vercel AI Gateway(AI_GATEWAY_API_KEY)访问,并用 TYPESAFE_TRANSPORT=direct|gateway 强制传输方式;支持按请求传入凭据。Laya 需设置 LAYA_API_KEY 与 LAYA_BASE_URL;XOR 需设置 XOR_API_KEY 与 XOR_BASE_URL;Perplexity 仅需 PERPLEXITY_API_KEY(或 credentials.perplexityDecider);Cloudflare Clef 需要 CLOUDFLARE_API_KEY 与 CLOUDFLARE_ACCOUNT_ID。内置消费者按 TypeSafe、Laya、XOR、Perplexity、Cloudflare Clef 的顺序选择第一个已配置的决策提供方。
内部使用 decide 的场景
代码库中有五处 decide() 调用,每处都 fail-open,未配置决策提供方时是 no-op。其中值得注意的两点:第一处调用用一次请求完成三项功能(模型路由、注册表派生的候选目录、每次请求的 compactionThreshold),不做扇出;第五处是按需接线,RAGPipeline 中的逐查询规划不会由 generate()/stream() 上的 rag: { files } 快捷方式构建,需要自行构建 RAGPipeline 并传入 decide 函数。所有决策都走同一 decide()/tryDecide() 核心,并带独立的 model.decision span 遥测,即使失败也可区分“静默失效”与“从未配置”。
成本与限制
以 TypeSafe 实时 API 实测(不应外推):
- 延迟与问题数量基本无关(1 个问题约 393ms,400 个问题约 465ms);并发请求会排队,因此应把问题批量放入一次调用,切勿扇出。
- 约 $0.042/百万输入 token,输出计费为零,约 $0.00002/次决策。
- 两个输入上限:state + 最长单个问题约 33,000 token;state + 全部问题约 64,000 token。
- 准确性是取舍:TypeSafe 自有 711 用例基准上约 68%,前沿模型约 73%(为 TypeSafe 公布数字)。适合有门控、可逆转的决策(路由、丢弃、预算),不要用于用户会看到的最终答案。
Perplexity Decisions API(2026 年 10 月实测):
- 每次请求最多 128 个问题和 8 张图像;服务端读取不超过 262,144 输入 token,超出会明确返回 400,不会静默截断。
- 延迟随输入增长快于线性:65,000 token 约 3.9s,146,000 约 10s,251,000 约 22.9s。图像每 32×32 分块约计 1 个输入 token,另有约 95~103 token 的固定请求开销。
- 测试账户限 10 请求/秒,429 带 Retry-After,NeuroLink 会遵循。
- NeuroLink 自身的 state 窗口为 100,000 估计 token,是本地限制而非服务端限制。价格为 $0.04/百万输入 token(含图像 token,输出免费,为 Perplexity 公布数字)。
备注
以上内容整理自项目自述与官方文档链接,未提供的功能、价格或效果不做推断。文档、Quick Start、npm、博客、各指南(HITL、Guardrails、CSV/PDF、LiteLLM/SageMaker、Server Adapters 等)均可在项目仓库中找到。