OpenAI 推理服务
编辑OpenAI 推理服务
编辑创建一个推理端点,以使用 openai
服务执行推理任务。
请求
编辑PUT /_inference/<task_type>/<inference_id>
路径参数
编辑-
<inference_id>
- (必需,字符串)推理端点的唯一标识符。
-
<task_type>
-
(必需,字符串)模型将执行的推理任务类型。
可用的任务类型
-
completion
, -
text_embedding
.
-
请求正文
编辑-
chunking_settings
-
(可选,对象)分块配置对象。请参阅配置分块,了解有关分块的更多信息。
-
max_chunking_size
- (可选,整数)指定块的最大字数。默认为
250
。此值不能高于300
或低于20
(对于sentence
策略)或10
(对于word
策略)。 -
overlap
- (可选,整数)仅用于
word
分块策略。指定块的重叠字数。默认为100
。此值不能高于max_chunking_size
的一半。 -
sentence_overlap
- (可选,整数)仅用于
sentence
分块策略。指定块的重叠句子数。它可以是1
或0
。默认为1
。 -
strategy
- (可选,字符串)指定分块策略。它可以是
sentence
或word
。
-
-
service
- (必需,字符串)指定任务类型支持的服务类型。在本例中,为
openai
。 -
service_settings
-
(必需,对象)用于安装推理模型的设置。
这些设置特定于
openai
服务。-
api_key
-
(必需,字符串)您的 OpenAI 帐户的有效 API 密钥。您可以在 OpenAI 帐户的 API 密钥部分中找到您的 OpenAI API 密钥。
您只需要在推理模型创建期间提供一次 API 密钥。 获取推理 API 不会检索您的 API 密钥。创建推理模型后,您无法更改关联的 API 密钥。如果要使用不同的 API 密钥,请删除推理模型并使用相同的名称和更新的 API 密钥重新创建它。
-
dimensions
- (可选,整数)结果输出嵌入应具有的维度数。仅在
text-embedding-3
及更高版本模型中支持。如果未设置,则使用 OpenAI 为该模型定义的默认值。 -
model_id
- (必需,字符串)用于推理任务的模型的名称。有关可用文本嵌入模型的列表,请参阅OpenAI 文档。
-
organization_id
- (可选,字符串)您的组织的唯一标识符。您可以在 OpenAI 帐户的设置 > 组织下找到组织 ID。
-
url
- (可选,字符串)用于请求的 URL 端点。可以更改以用于测试目的。默认为
https://api.openai.com/v1/embeddings
。 -
rate_limit
-
(可选,对象)
openai
服务根据任务类型设置每分钟允许的默认请求数。对于text_embedding
,设置为3000
。对于completion
,设置为500
。这有助于最大限度地减少从 OpenAI 返回的速率限制错误数。要修改此设置,请在您的服务设置中设置此对象的requests_per_minute
设置"rate_limit": { "requests_per_minute": <<number_of_requests>> }
有关 OpenAI 速率限制的更多信息,请参阅您的帐户限制。
-
-
task_settings
-
(可选,对象)用于配置推理任务的设置。这些设置特定于您指定的
<task_type>
。completion
任务类型的task_settings
-
user
- (可选,字符串)指定发出请求的用户,可用于滥用检测。
text_embedding
任务类型的task_settings
-
user
- (可选,字符串)指定发出请求的用户,可用于滥用检测。
-
OpenAI 服务示例
编辑以下示例演示如何创建名为 openai-embeddings
的推理端点以执行 text_embedding
任务类型。对此端点请求创建的嵌入将具有 128 个维度。
const response = await client.inference.put({ task_type: "text_embedding", inference_id: "openai-embeddings", inference_config: { service: "openai", service_settings: { api_key: "<api_key>", model_id: "text-embedding-3-small", dimensions: 128, }, }, }); console.log(response);
PUT _inference/text_embedding/openai-embeddings { "service": "openai", "service_settings": { "api_key": "<api_key>", "model_id": "text-embedding-3-small", "dimensions": 128 } }
下一个示例演示如何创建名为 openai-completion
的推理端点以执行 completion
任务类型。
resp = client.inference.put( task_type="completion", inference_id="openai-completion", inference_config={ "service": "openai", "service_settings": { "api_key": "<api_key>", "model_id": "gpt-3.5-turbo" } }, ) print(resp)
const response = await client.inference.put({ task_type: "completion", inference_id: "openai-completion", inference_config: { service: "openai", service_settings: { api_key: "<api_key>", model_id: "gpt-3.5-turbo", }, }, }); console.log(response);
PUT _inference/completion/openai-completion { "service": "openai", "service_settings": { "api_key": "<api_key>", "model_id": "gpt-3.5-turbo" } }