OpenAI Embeddings
OpenAI embedding modellerini kullanarak metin için embedding oluşturur
OpenAI embedding modellerini kullanarak metin için embedding oluşturur. Bu endpoint OpenAI API specification spesifikasyonunu izler ve istekler Azure OpenAI endpoint'ine gönderilir.
Başlamadan önce
- API key: API'yi kullanmak için workspace admin'inizden Embedding API kapsamına sahip bir workspace API anahtarı isteyin. Personal API anahtarları yalnızca Completion API kapsamını içerir ve bu endpoint'i çağırmaz.
Base URL
https://api.ajan.io/openai/{region}/v1/embeddingsDedicated deployments Tüm isteklerde
api.ajan.com'u/api/publicile değiştirin.
Parameters
OpenAI Embeddings endpoint parametrelerinin tümü OpenAI spesifikasyonuna göre desteklenir; aşağıdaki istisnalar geçerlidir:
model: Şu anda yalnızcatext-embedding-ada-002modeli desteklenir.encoding_format: Hemfloathembase64biçimleri desteklenir.
Rate limits
Varsayılan limitler 500 RPM (dakikada istek) ve 150.000 TPM (dakikada token)'dır.
- RPM, workspace, model ve API anahtarı başına uygulanır.
- TPM, bir workspace'te aynı modeli kullanan tüm API anahtarları arasında paylaşılır.
- Dedicated deployment'larda admin'ler Settings > Workspace > Products > API üzerinden model başına özel limitler yapılandırabilir.
Rate limit'i aşarsanız 429 Too Many Requests yanıtı alırsınız.
OpenAI uyumlu kütüphaneleri kullanma
İstek ve yanıt biçimi OpenAI API ile aynı olduğundan, ajan API'sini kullanmak için OpenAI Python library veya Vercel AI SDK gibi popüler kütüphaneleri kullanabilirsiniz.
OpenAI Python kütüphanesi örneği
from openai import OpenAI
client = OpenAI(
base_url="https://api.ajan.io/openai/eu/v1",
api_key="<YOUR_AJAN_API_KEY>"
)
embedding = client.embeddings.create(
model="text-embedding-ada-002",
input="The quick brown fox jumps over the lazy dog",
encoding_format="float"
)
print(embedding.data[0].embedding)Node.js'te Vercel AI SDK örneği
import { createOpenAI } from "@ai-sdk/openai";
const ajanProvider = createOpenAI({
baseURL: "https://api.ajan.io/openai/eu/v1",
apiKey: "<YOUR_AJAN_API_KEY>",
});
const response = await ajanProvider.embeddings.create({
model: "text-embedding-ada-002",
input: "The quick brown fox jumps over the lazy dog",
encoding_format: "float",
});
console.log(response.data[0].embedding);ajan, API anahtarınızı korumak ve uygulamalarınızın güvenliğini sağlamak için tarayıcı kaynaklı istekleri bilinçli olarak engeller. Daha fazla bilgi için API Key Best Practices kılavuzuna bakın.
OpenAPI
openapi: 3.0.0
info:
title: ajan API
version: 3.0.0
servers:
- url: https://api.ajan.io
description: Production
security:
- bearerAuth: []
paths:
/openai/{region}/v1/embeddings:
post:
tags:
- Embeddings
summary: Creates embeddings for the given input text.
parameters:
- name: region
in: path
required: true
description: The region of the API to use.
schema:
type: string
enum:
- eu
- us
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateEmbeddingRequest'
example:
model: text-embedding-ada-002
input: The quick brown fox jumps over the lazy dog
encoding_format: float
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateEmbeddingResponse'
example:
data:
- embedding:
- 0.0023064255
- -0.009327292
- ...
index: 0
object: embedding
model: text-embedding-ada-002
object: list
usage:
prompt_tokens: 9
total_tokens: 9
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
message:
type: string
oneOf:
- example: No embedding models available for the ${region} region
description: >-
Error message indicating either no models are available in the
region or the requested model is not available
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: The provided API key is invalid.
'429':
description: Rate Limit Exceeded
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: Rate limit for public API exceeded
'500':
description: Internal Server Error
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: Internal Server Error
security:
- bearerAuth: []
components:
schemas:
CreateEmbeddingRequest:
type: object
properties:
input:
description: >-
Input text to get embeddings for, encoded as a string or array of
tokens. To get embeddings for multiple inputs in a single request,
pass an array of strings or array of tokens, e.g. `["text1",
"text2"]`. Each input must not exceed 8192 tokens in length.
oneOf:
- type: string
- items:
type: string
type: array
- type: array
items:
type: number
- type: array
items:
type: array
items:
type: number
model:
description: >-
ID of the model to use. You can use the [List
models](https://platform.openai.com/docs/api-reference/models/list)
API to see all of your available models, or see OpenAI's [Model
overview](https://platform.openai.com/docs/models/overview) for
descriptions of them.
oneOf:
- type: string
- type: string
enum:
- text-embedding-ada-002
- text-embedding-3-small
- text-embedding-3-large
encoding_format:
description: >-
The format to return the embeddings in. Can be either `float` or
`base64`.
type: string
enum:
- float
- base64
default: float
dimensions:
description: >-
The number of dimensions the resulting output embeddings should
have. Only supported in `text-embedding-3` and later models.
type: integer
minimum: 1
user:
description: >-
A unique identifier representing your end-user, which can help
OpenAI to monitor and detect abuse.
type: string
required:
- model
- input
CreateEmbeddingResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Embedding'
description: The list of embeddings generated by the model.
model:
type: string
description: The name of the model used to generate the embedding.
object:
type: string
enum:
- list
description: The object type, which is always "list".
usage:
type: object
properties:
prompt_tokens:
type: integer
description: The number of tokens used for the prompt(s).
total_tokens:
type: integer
description: The total number of tokens used by the request.
required:
- prompt_tokens
- total_tokens
required:
- data
- model
- object
- usage
Embedding:
type: object
properties:
index:
type: integer
description: The index of the embedding in the list of embeddings.
embedding:
type: array
items:
type: number
description: >-
The embedding vector, which is a list of floats. The length of
vector depends on the model as listed in the [embedding
guide](https://platform.openai.com/docs/guides/embeddings).
object:
type: string
enum:
- embedding
description: The object type, which is always "embedding".
required:
- index
- embedding
- object
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: API Key
description: API key as Bearer token. Format "Bearer YOUR_API_KEY"