Інтеграція YandexGPT API

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1 послугУсі 1566 послуг
Інтеграція YandexGPT API
Проста
~1 робочий день
Часті питання
Напрямки AI-розробки
Етапи розробки AI-рішення
Останні роботи
  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1238
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1167
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    867
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1080
  • image_logo-advance_0.png
    Розробка логотипу компанії B2B Advance
    563
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    829

Інтеграція YandexGPT API

YandexGPT — LLM від Яндекса через Yandex Cloud (сервіс Yandex Foundation Models). Ключові переваги для російського ринку: дані обробляються в РФ (152-ФЗ compliance), інтеграція з іншими сервісами Yandex Cloud, підтримка російської мови на рівні нативного.

Налаштування доступу

# Необхідно:
# 1. Аккаунт Yandex Cloud з платіжним аккаунтом
# 2. Папка (folder_id)
# 3. IAM-токен або API-ключ сервісного аккаунту

import requests
import json

FOLDER_ID = "your-folder-id"
IAM_TOKEN = "your-iam-token"  # Оновлюється кожні 12 годин
# Або API_KEY для сервісного аккаунту

Синхронний запит через REST API

def yandexgpt_chat(
    prompt: str,
    model: str = "yandexgpt",
    temperature: float = 0.1,
    max_tokens: int = 2000,
) -> str:
    url = "https://llm.api.cloud.yandex.net/foundationModels/v1/completion"

    headers = {
        "Authorization": f"Api-Key {API_KEY}",
        "x-folder-id": FOLDER_ID,
    }

    body = {
        "modelUri": f"gpt://{FOLDER_ID}/{model}",
        "completionOptions": {
            "stream": False,
            "temperature": temperature,
            "maxTokens": max_tokens,
        },
        "messages": [
            {"role": "user", "text": prompt}
        ]
    }

    response = requests.post(url, headers=headers, json=body)
    response.raise_for_status()

    return response.json()["result"]["alternatives"][0]["message"]["text"]

# З system prompt
def yandexgpt_with_system(system: str, user_prompt: str) -> str:
    url = "https://llm.api.cloud.yandex.net/foundationModels/v1/completion"

    body = {
        "modelUri": f"gpt://{FOLDER_ID}/yandexgpt",
        "completionOptions": {"stream": False, "temperature": 0.1, "maxTokens": 2000},
        "messages": [
            {"role": "system", "text": system},
            {"role": "user", "text": user_prompt}
        ]
    }

    response = requests.post(
        url,
        headers={"Authorization": f"Api-Key {API_KEY}", "x-folder-id": FOLDER_ID},
        json=body,
    )
    return response.json()["result"]["alternatives"][0]["message"]["text"]

Асинхронність через офіційний SDK

from yandex_cloud_ml_sdk import YCloudML

sdk = YCloudML(folder_id=FOLDER_ID, auth=API_KEY)
model = sdk.models.completions("yandexgpt")

# Синхронно
result = model.configure(temperature=0.5).run("Розповідай про Москву")

# Асинхронність
result = await model.configure(temperature=0.5).run_async("Запит")

# Потокова передача
for event in model.configure(temperature=0.5).run_stream("Довгий запит"):
    print(event.alternatives[0].text, end="")

Моделі YandexGPT

Модель Опис Контекст
yandexgpt Основна модель, баланс якість/швидкість 32K
yandexgpt-lite Легка версія, швидша та дешевша 32K
yandexgpt-32k Довгий контекст 32K

Вбудовування Yandex

# text-search-doc — для індексування документів
# text-search-query — для пошукових запитів

def get_yandex_embedding(text: str, embedding_type: str = "text-search-doc") -> list[float]:
    response = requests.post(
        "https://llm.api.cloud.yandex.net/foundationModels/v1/textEmbedding",
        headers={"Authorization": f"Api-Key {API_KEY}", "x-folder-id": FOLDER_ID},
        json={
            "modelUri": f"emb://{FOLDER_ID}/{embedding_type}",
            "text": text,
        }
    )
    return response.json()["embedding"]

Практичний кейс

Державне підприємство з вимогою обробки даних у РФ. Система автоматичної відповіді на запити громадян. YandexGPT вибраний через:

  • Дані не покидають РФ (152-ФЗ)
  • Інтеграція з Yandex SpeechKit для голосового вводу
  • Якість російської мови

Терміни

  • Базова REST інтеграція: 1–2 дні
  • SDK інтеграція з асинхронністю/потоковою передачею: 2–3 дні
  • Інтеграція з іншими сервісами Yandex Cloud: 1 тиждень