使用 OpenLLM 通过 API 提供开放模型服务

原标题Using OpenLLM to Serve Open Models Through an API

在一场 2023 年的演示中,Matthew Berman 展示本地模型服务器、交互式 API 和 Python 客户端。

MBMatthew Berman讲者 · Forward Future
频道
Matthew Berman
发布
2023年6月22日
视频
8:17
阅读
4 分钟
幻灯片
3
原文
英语
在 YouTube 打开
往下滚动阅读时,视频会缩到右下角继续播放。字幕跟随阅读语言。
阅读语言共 2 种语言可读
由 AI 从英语原文翻译。打开“对照原文”可以逐段核对。
摘要

30 秒看懂

2023 年 6 月,Matthew Berman 演示安装 OpenLLM、为 OPT 和 Falcon 提供服务、测试生成与元数据端点以及打包模型。示例区分了 API 正常运行与模型回答质量。命令和功能可用性反映的是 2023 年演示的版本。

  1. 1在隔离环境中安装Berman 创建 Conda 环境,安装 OpenLLM 并检查 CLI。
  2. 2启动并测试本地服务器OPT 服务器通过浏览器界面提供生成和元数据端点。
  3. 3从 Python 调用模型一个简短的客户端向本地 HTTP 服务器发送查询;其质量不佳的回答说明了模型的局限。
  4. 4尝试 Falcon可选依赖使 Falcon 示例能够运行,其元数据端点标识出 Falcon 7B。
  5. 5构建 Bento演示展示了打包命令和模型变体的选择方式。

要点建议

  1. OpenLLM 为支持的开放模型提供服务器和 API 接口。
  2. 单独的 Python 环境有助于管理依赖。
  3. 即使 API 成功响应,模型仍可能给出质量不佳的答案。
  4. 不同模型系列可能需要额外的依赖。
  5. 打包模型是迈向部署的一步,但不等于完整的生产环境配置。
  6. 演示中的命令和计划功能属于历史信息,可能与当前版本不同。
全文

按章节阅读整理后的全文

只看原始文稿
01

OpenLLM 与支持的模型

Berman 介绍该项目,并描述其 2023 年的集成和部署计划。

在这期 2023 年 6 月的教程中,我介绍 OpenLLM,这是一个旨在简化开放模型服务和应用构建的开源项目。它提供简单的 API,支持多个模型系列,并提供集成及部署选项。本教程中的命令和功能状态反映的是当时展示的版本,现在可能已经改变。

代码仓库列出的支持系列包括 StableLM、Falcon、Dolly、FLAN、ChatGLM 和 StarCoder。它介绍了 API 测试、与 BentoML 和 Hugging Face 生态的集成,以及打包服务器或通过 BentoCloud 部署的方法。微调被描述为即将推出,而不是我在此演示的功能。

02

安装并启动服务器

他创建 Conda 环境、安装软件包,并启动 OPT 服务器。

我首先创建一个名为 `ol`、使用 Python 3.11.3 的独立 Conda 环境,然后激活它,并通过 `pip install openllm` 安装 OpenLLM。隔离环境有助于避免依赖冲突。我运行 `openllm -h`,确认命令可用并查看其选项。

我使用 `openllm start opt` 启动默认的 OPT 示例。本地服务器运行后,我在 `localhost:3000` 打开它的文档界面。界面提供生成和元数据端点,也允许我不编写独立客户端就发送请求。

03

测试 API 和 Python 客户端

浏览器和简短 Python 脚本调用本地模型。返回内容展示了小模型的局限。

为了测试生成,我选择端点,在 JSON 请求内容中输入一个要求讲笑话的提示并执行。页面显示响应状态码及生成设置,例如最大新 token 数、最小长度和提前停止。服务器日志显示请求已经到达。

交互式 API 响应设置
幻灯片 1 / 3交互式 API 响应设置文档界面显示响应信息和生成配置。

生成的回答不太连贯,我将其归因于示例中使用的小模型。API 调用成功说明服务调用链可以工作,但不能证明模型回答准确或有用。

接下来,我编写一个简短 Python 脚本,导入 `openllm`,为本地服务器创建 HTTP 客户端,发送查询并打印响应。演示中出现了关于 JSON 编码器的 BentoML 警告,但请求成功返回。它对“further”和“farther”的解释仍然不合逻辑,说明连通性与输出质量是两回事。

本地服务器的 Python 客户端
幻灯片 2 / 3本地服务器的 Python 客户端一个简短脚本创建 HTTP 客户端、发送查询并打印结果。
04

安装 Falcon 并打包模型

Berman 添加模型专用依赖、启动 Falcon,并演示打包和模型选择。

演示中的版本通过可选软件包支持额外模型。我打开第二个终端,激活同一环境,并使用 `pip install openllm[falcon]` 安装 Falcon 扩展。我提到首次尝试时缺少依赖;OpenLLM 报告了这些依赖,我分别安装后重新尝试。

我用 `openllm start falcon` 启动 Falcon 服务器。控制台提到了 einops、xformers 和 safetensors 等依赖,元数据端点将模型标识为 Falcon 7B。具体依赖和安装过程取决于模型及软件版本。

构建 Falcon Bento
幻灯片 3 / 3构建 Falcon Bento终端展示了当时用于打包 Falcon 模型的命令。

在部署方面,我演示了 `openllm build falcon`,为模型创建 Bento 软件包。我还解释,可以在启动服务器时通过模型 ID 选择特定变体。教程展示的是打包命令,而不是完整的生产部署。

最后,我介绍 Hugging Face agents 集成并讨论 LangChain 支持。视频将部分集成和微调描述为即将推出,因此在假定 2023 年的功能状态或命令仍然适用之前,应查阅项目的当前文档。

同频道的其他文章

12 张幻灯片34:21EN → 简体中文
Matthew Berman· 2026年10月27日Matthew Berman 解读 Anthropic 的上市文件、AI 增长与治理Matthew Berman, Sam Altman · Forward Future主持人审视 S-1 中的财务指标、算力战略和投票结构,并质疑 AI 快速发展与安全之间的张力。AnthropicAI Safety企业 AI+2
6 张幻灯片25:50EN → 简体中文
Matthew Berman· 2026年10月24日Kimi K3.1 Pro 实测:3D 演示出色,表现不一,价格有竞争力Matthew Berman · Forward FutureMatthew Berman 测试这款开放权重模型的编程、3D 渲染和视觉讲解能力,并比较基准成绩与价格。Open-weight modelsBenchmarksAI cost & performance+1
2 张幻灯片32:20EN → 简体中文
Matthew Berman· 2026年10月23日本地 AI 究竟适合谁?成本、取舍与混合模式的未来Matthew Berman · Forward FutureMatthew Berman 权衡数据控制和自主权,与硬件成本、设置复杂度及推理速度之间的关系。Local inferenceOpen-weight modelsAI cost & performance+1
6 张幻灯片1:03:37EN → 简体中文
Matthew Berman· 2026年10月23日Matthew Berman 团队测试 Kimi K3.1:动画、游戏与图表Matthew Berman, Alex, Brian · Forward Future一场团队直播问答变成了对 Kimi K3.1 的非正式测试,内容涵盖个人智能体工作流、动态图形、浏览器游戏和基准图表。编程智能体Generative media评估+2
0:53EN → 简体中文
Matthew Berman· 2026年10月22日Sam Altman 谈 AI 与新知识的发现Sam Altman · OpenAIAltman 预计,数学发现方面的进展将延伸到生物学、材料和能源领域。AI for scienceMathematicsComputational Biology+1
幻灯片0:22EN → 简体中文
Matthew Berman· 2026年10月21日机器人保镖短片展示戏剧性的救援场景Matthew Berman · Forward FutureMatthew Berman 观看一段展示格斗与车辆救援场景的机器人短片。Robotics评估