İçeriğe geç
ajan.io

Belgeler menüsü

Bu sayfada

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/embeddings

Dedicated deployments Tüm isteklerde api.ajan.com'u /api/public ile 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ızca text-embedding-ada-002 modeli desteklenir.
  • encoding_format: Hem float hem base64 biç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

python
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

typescript
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"