Интеграция YandexGPT API

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Интеграция YandexGPT API
Простая
~1 рабочий день
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1218
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    853
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1047
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    825

Интеграция 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"]

Async через официальный 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("Расскажи о Москве")

# Async
result = await model.configure(temperature=0.5).run_async("Запрос")

# Streaming
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 интеграция с async/streaming: 2–3 дня
  • Интеграция с другими сервисами Yandex Cloud: 1 неделя