阅读(4638) (0)

OpenAI API Embeddings

2023-03-20 16:13:54 更新

获取给定输入的矢量表示,机器学习模型和算法可以轻松使用该表示。


Create embeddings

POST https://api.openai.com/v1/embeddings

创建表示输入文本的嵌入向量。

Request body

字段 类型 是否可选 说明
model string 必须 要使用的模型的 ID。您可以使用 List models API 来查看所有可用模型。
input string or array 必须 输入文本以获取嵌入,编码为字符串或标记数组。要在单个请求中获取多个输入的嵌入,请传递一个字符串数组或令牌数组数组。每个输入的长度不得超过 8192 个标记。
user string 可选 代表您的最终用户的唯一标识符,可以帮助 OpenAI 监控和检测滥用行为。

示例请求

 curl python  node.js 
curl https://api.openai.com/v1/embeddings \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": "The food was delicious and the waiter...",
    "model": "text-embedding-ada-002"
  }'
import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")
openai.Embedding.create(
  model="text-embedding-ada-002",
  input="The food was delicious and the waiter..."
)
const { Configuration, OpenAIApi } = require("openai");
const configuration = new Configuration({
  apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);
const response = await openai.createEmbedding({
  model: "text-embedding-ada-002",
  input: "The food was delicious and the waiter...",
});

参数

{
  "model": "text-embedding-ada-002",
  "input": "The food was delicious and the waiter..."
}

响应

{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "embedding": [
        0.0023064255,
        -0.009327292,
        .... (1536 floats total for ada-002)
        -0.0028842222,
      ],
      "index": 0
    }
  ],
  "model": "text-embedding-ada-002",
  "usage": {
    "prompt_tokens": 8,
    "total_tokens": 8
  }
}