Перейти до основного вмісту
OpenAI сервіс векторів слів, призначений для генерації векторних результатів, що представляють вхідний текст. Цей документ в основному описує процес використання OpenAI Embeddings API, за допомогою якого ми можемо створити векторні вклади, що представляють вхідний текст.

Процес заявки

Щоб використовувати OpenAI Embeddings API, спочатку можна перейти на сторінку OpenAI Embeddings API і натиснути кнопку «Acquire», щоб отримати необхідні для запиту облікові дані: Якщо ви ще не увійшли в систему або не зареєстровані, вас автоматично перенаправлять на сторінку входу, запрошуючи вас зареєструватися та увійти. Після входу або реєстрації ви автоматично повернетеся на цю сторінку. При першій заявці буде надано безкоштовний ліміт, який дозволяє безкоштовно використовувати цей API.

Основне використання

Далі ви можете заповнити відповідні поля на інтерфейсі, як показано на малюнку:

При першому використанні цього інтерфейсу нам потрібно заповнити принаймні три поля: одне з них - authorization, яке можна вибрати безпосередньо зі списку. Інший параметр - model, model - це категорія моделі, яку ми вибираємо для використання з сайту OpenAI, тут у нас є 3 основні моделі, деталі можна переглянути в наданих моделях. Останній параметр - input, input - це текст, який ми хочемо перетворити на вектор слів. Також ви можете помітити, що праворуч є відповідний код виклику, який ви можете скопіювати та запустити, або просто натиснути кнопку «Try» для тестування. Додаткові параметри:
  • dimensions: обрізка розмірності вектора, за замовчуванням виводиться повна розмірність.
  • encoding_format: формат повернення, можна вибрати float або base64.

Приклад коду виклику на Python:
import requests

url = "https://api.acedata.cloud/openai/embeddings"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

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

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Після виклику ми отримуємо наступний результат:
{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "index": 0,
      "embedding": [
        0.0022756963,
        -0.009305916,
        0.015742613,
        -0.0077253063,
        -0.0047450014,
        0.014917395,
        -0.009807394,
        -0.038264707,
        -0.0069127847,
        -0.028590616,
        0.025251659,
        ....
        -0.014079482,
        -0.015425222,
        0.0040753055,
        0.002727979,
        -0.03138366,
        0.041159317,
        -0.017608874,
        -0.018637223,
        0.014587308,
        0.010486611,
        -0.015387135,
        -0.019424353,
        -0.002800979
      ]
    }
  ],
  "model": "text-embedding-ada-002",
  "usage": {
    "prompt_tokens": 8,
    "total_tokens": 8
  }
}
У повернутому результаті є кілька полів, описаних нижче:
  • model, модель, що використовується для перетворення тексту на вектор слів.
  • usage, інформація про токени, що використовуються для перетворення тексту на вектор слів.
  • data, результати перетворення тексту на вектори слів.
Серед data міститься конкретна інформація про вектори слів, а embedding - це конкретні результати згенерованих векторів слів.

Обробка помилок

При виклику API, якщо виникає помилка, API повертає відповідний код помилки та інформацію. Наприклад:
  • 400 token_mismatched: Неправильний запит, можливо, через відсутні або недійсні параметри.
  • 400 api_not_implemented: Неправильний запит, можливо, через відсутні або недійсні параметри.
  • 401 invalid_token: Неавторизовано, недійсний або відсутній токен авторизації.
  • 429 too_many_requests: Занадто багато запитів, ви перевищили ліміт запитів.
  • 500 api_error: Внутрішня помилка сервера, щось пішло не так на сервері.

Приклад відповіді з помилкою

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Висновок

Завдяки цьому документу ви дізналися, як легко використовувати функцію генерації векторів слів від офіційного OpenAI за допомогою OpenAI Embeddings API. Сподіваємося, що цей документ допоможе вам краще інтегрувати та використовувати цей API. Якщо у вас є будь-які питання, будь ласка, не соромтеся звертатися до нашої команди технічної підтримки.