🔌 扩展能力
用 Python、HTTP 或一键安装的社区插件,让 OPL 数据空间做任何你真正需要的事情。
OPL 数据空间自带一套很强的默认能力,但你的工作流通常不是“默认工作流”。Extensibility 就是用来填平这个差距的:给模型接入实时数据、加合规规则、增加新模型提供方,或者把它接到任意外部服务上。你可以写几行 Python、指向一个 OpenAPI 端点,或直接从社区导入现成方案。平台应该适配你的工作,而不是反过来。
这里大体分成三层,绝大多数团队最后至少会用到其中两层:
- 进程内 Python(Tools & Functions):直接运行在 OPL 数据空间内部,零额外基础设施,迭代很快
- 外部 HTTP(OpenAPI / MCP servers):连接任意位置运行的服务,从 sidecar 到第三方 SaaS 都可以
- Pipeline workers(Pipelines):把重型或敏感处理卸载到独立容器,保证主实例保持轻量
为什么要用 Extensibility
给模型真实世界能力
默认情况下,LLM 只能基于训练数据和当前对话工作。通过 Tools,你可以让它去查天气、查询数据库、调用 API、执行计算。模型会根据上下文自己决定何时调用这些能力。
接入任意外部服务
如果你有内部 API、带 OpenAPI 规范的第三方服务,或者已经在栈里跑着的 MCP server,只要把规范或地址接入 OPL 数据空间,它就能自动发现端点并暴露成可调用工具。
控制每一条消息
Functions 允许你在消息到达模型之前(input filters)或返回给用户之前(output filters)做拦截和转换。无论是脱敏、格式约束、观测打点,还是动态注 入系统提示词,都不需要去改模型本身。
卸载重型处理
如果某个扩展需要 GPU、大依赖或者更严格的隔离,就把它放进 Pipeline,跑在另一台机器或独立容器里,主实例只通过标准 API 与它通信。
直接导入社区成果
你可以从 OPL 数据空间 社区 站点一键导入成百上千个工具与函数,不必自己从零写起。
关键能力
| 🐍 扩展功能 | 让模型获得新能力的 Python 脚本,例如网页搜索、API 调用、代码执行 |
| ⚙️ Functions | 扩展平台能力,例如新增 provider(Pipes)、消息过滤(Filters)或 UI 动作(Actions) |
| 🔗 MCP 支持 | 原生支持基于 HTTP 的 Model Context Protocol |
| 🌐 OpenAPI 服务器 | 自动发现并暴露任意 OpenAPI 兼容端点 |
| 🔧 Pipelines | 运行在独立 worker 中的模块化插件框架,适合重型或敏感处理 |
| 📝 Skills | 用 Markdown 指令集教模型如何执行特定任务 |
| ⚡ Prompts | 带类型化输入和版本管理的 slash-command 模板 |
| 🏪 社区库 | 一键导入社区构建的 Tools 与 Functions |
架构速览
理解每一层各适合什么,有助于少走弯路:
| 层 | 运行位置 | 适合场景 | 代价 |
|---|---|---|---|
| Tools & Functions | OPL 数据空间进程内部 | 实时数据、过滤器、UI 动作、新 provider | 与主服务共享资源 |
| OpenAPI / MCP | 任意 HTTP 服务 | 接入现有服务与第三方 API | 需要额外运行外部服务 |
| Pipelines | 独立 Docker 容器 | GPU 工作负载、大依赖、隔离执行 | 需要管理额外基础设施 |
多数用户会先从 Tools & Functions 开始,因为它无需额外部署,并且自带代码编辑器,能覆盖大部分场景。
使用场景
实时数据增强
销售团队写一个 Tool 去查 CRM API。当销售问“Acme 这笔交易最新情况如何?”时,模型就可以直接取回实时 pipeline 状态、最后跟进记录和金额,并生成带实况数据的 briefing。
企业合规过滤
医疗组织可以部署一个 Filter Function,在输出消息中扫描 PHI 模式(例如 SSN、MRN、出生日期),先做脱敏,再返回给用户,同时把原始数据记入 SIEM。
多 provider 模型路由
工程团队可以用 Pipe Functions 同时接入 Anthropic、Google Vertex AI 和自建 vLLM,与原有 Ollama 模型并存。用户在一个模型选择器里就能访问所有 provider。
重型 Pipeline
研究团队如果需要基于 cross-encoder 做重排序,并且这个过程必须依赖 GPU,就可以把它部署成独立 Pipeline,让 OPL 数据空间自动把相关请求转发过去,而不让主实例变得臃肿。
限制
安全
Tools、Functions 和 Pipelines 都会在你的服务器上执行任意 Python 代码。只从可信来源安装、安装前先审查代码,并且把 Workspace 访问权限严格限制给可信管理员。详情请看 Security Policy。
资源共享
进程内 Tools 和 Functions 会与 OPL 数据空间共享 CPU 和内存。昂贵扩展应尽量迁移到 Pipelines 或外部服务。
MCP 传输协议
OPL 数据空间原生支持的 MCP 传输是 Streamable HTTP。如果你手头是 stdio 或 SSE 方案,可以用 mcpo 做转换代理。
继续深入
| 主题 | 你会学到什么 |
|---|---|
| Tools & Functions | 如何编写 Python Tools、Functions(Pipes / Filters / Actions)以及开发 API |
| MCP | 如何连接 MCP server、配置 OAuth、排查常见问题 |
| Pipelines | 如何部署 pipeline worker、构建自定义 pipeline、理解目录结构 |