使用 vLLM 提供服务
Outlines 可以使用 vLLM 推理引擎和 FastAPI 服务器部署为 LLM 服务。vLLM 默认不安装,因此需要安装 Outlines 并运行
然后您可以使用以下命令启动服务器:
默认情况下,这将在 http://127.0.0.1:8000
启动服务器(请查看控制台输出)。如果未设置 --model
参数,将使用 OPT-125M 模型。--model
参数允许您指定任何您选择的模型。
要在多 GPU 上运行推理,您必须在初始化服务器时传递 --tensor-parallel-size
参数。例如,要在 2 个 GPU 上运行推理,可以使用以下命令:
替代方法:通过 Docker
您可以使用 Outlines 的官方 Docker 镜像安装和运行服务器,命令如下:
查询端点
然后您可以在 shell 中通过传递一个提示符以及以下任一选项来查询模型:
- JSON Schema 规范 或
- 正则表达式 模式
分别使用 schema
或 regex
参数传递给 /generate
端点。如果两者都指定,将使用 schema。如果两者都未指定,生成的文本将不受约束。
例如,要生成与 schema {"type": "string"}
(任何字符串)匹配的字符串:
curl http://127.0.0.1:8000/generate \
-d '{
"prompt": "What is the capital of France?",
"schema": {"type": "string", "maxLength": 5}
}'
要生成与 regex (-)?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-][0-9]+)?
(一个数字)匹配的字符串:
curl http://127.0.0.1:8000/generate \
-d '{
"prompt": "What is Pi? Give me the first 15 digits: ",
"regex": "(-)?(0|[1-9][0-9]*)(\\.[0-9]+)?([eE][+-][0-9]+)?"
}'
除了使用 curl
,您还可以从其他 Python 程序中使用 requests 库。