Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Foundation Models
    • Все инструкции
    • Отключить логирование запросов
    • Получить API-ключ
      • Оценить запрос в токенах
      • Отправить запрос в промт-режиме
      • Отправить серию запросов в режиме чата
      • Отправить асинхронный запрос
      • Вызвать функцию из модели
    • Пакетная обработка данных
  • Yandex Cloud ML SDK
  • Совместимость с OpenAI
  • Управление доступом
  • Правила тарификации
  • Публичные материалы
  • История изменений

В этой статье:

  • Перед началом работы
  • Реализуйте чат
  1. Пошаговые инструкции
  2. Генерация текста
  3. Отправить серию запросов в режиме чата

Как реализовать чат с YandexGPT Lite или YandexGPT Pro

Статья создана
Yandex Cloud
Обновлена 18 марта 2025 г.
  • Перед началом работы
  • Реализуйте чат

Модели YandexGPT Lite и YandexGPT Pro не хранят контекст предшествующих сообщений, поэтому для реализации диалога с выбранной моделью историю сообщений нужно сохранять на стороне клиента и передавать в каждом обращении к модели. Чат, доступный в консоли управления, представляет собой серию промт-запросов, в которой в контекст каждого нового запроса добавляются ответы модели на предыдущие запросы. Модели генерации текста имеют ограничения на длину контекста.

Совет

Используйте AI Assistant API, чтобы создать чат с моделью. Пример реализации чата с помощью ассистентов и тредов доступен в инструкции Создать простого ассистента.

Чтобы реализовать в своем приложении чат с моделью и избежать задержек с ответами, отправляйте промт-запросы в синхронном режиме с помощью метода completion или Yandex Cloud ML SDK.

Перед началом работыПеред началом работы

SDK
cURL
Python

Чтобы воспользоваться примерами запросов с использованием SDK:

  1. Создайте сервисный аккаунт и назначьте ему роль ai.languageModels.user.

  2. Получите и сохраните API-ключ сервисного аккаунта.

    В примерах используется аутентификация с помощью API-ключа. Yandex Cloud ML SDK также поддерживает аутентификацию с помощью IAM-токена и OAuth-токена. Подробнее см. в разделе Аутентификация в Yandex Cloud ML SDK.

  3. С помощью менеджера пакетов pip установите библиотеку ML SDK:

    pip install yandex-cloud-ml-sdk
    

Получите данные для аутентификации в API, как описано в разделе Аутентификация в API Yandex Foundation Models.

Чтобы воспользоваться примерами, установите cURL.

Получите данные для аутентификации в API, как описано в разделе Аутентификация в API Yandex Foundation Models.

Реализуйте чатРеализуйте чат

SDK
cURL
Python
  1. Создайте файл create-chat.py и добавьте в него следующий код:

    #!/usr/bin/env python3
    
    from __future__ import annotations
    from yandex_cloud_ml_sdk import YCloudML
    
    messages = [
        {
            "role": "system",
            "text": "Ты умный ассистент",
        },
        {
            "role": "user",
            "text": "Привет! Какими науками занимался Альберт Эйнштейн?",
        },
    ]
    
    def main():
        sdk = YCloudML(
            folder_id="<идентификатор_каталога>",
            auth="<API-ключ>",
        )
    
        result = (
            sdk.models.completions("yandexgpt").configure(temperature=0.6).run(messages)
        )
    
        for alternative in result:
            print(alternative)
    
    if __name__ == "__main__":
        main()
    

    Где:

    Примечание

    В качестве входных данных для запроса Yandex Cloud ML SDK может принимать строку, словарь, объект класса TextMessage или массив, содержащий любое сочетание указанных типов данных. Подробнее см. в разделе Использование Yandex Cloud ML SDK.

    • messages — массив сообщений, которые задают контекст для модели:

      • role — роль отправителя сообщения:

        • user — предназначена для отправки пользовательских сообщений к модели.
        • system — позволяет задать контекст запроса и определить поведение модели.
        • assistant — используется для ответов, которые генерирует модель. При работе в режиме чата ответы модели, помеченные ролью assistant, включаются в состав сообщения для сохранения контекста беседы. Не передавайте сообщения пользователя с этой ролью.
      • text — текстовое содержимое сообщения.

    • <идентификатор_каталога> — идентификатор каталога, в котором создан сервисный аккаунт.

    • <API-ключ> — API-ключ сервисного аккаунта, полученный ранее и необходимый для аутентификации в API.

      В примерах используется аутентификация с помощью API-ключа. Yandex Cloud ML SDK также поддерживает аутентификацию с помощью IAM-токена и OAuth-токена. Подробнее см. в разделе Аутентификация в Yandex Cloud ML SDK.

    Подробнее о том, как обращаться к определенной версии модели, см. в разделе Обращение к моделям.

  2. Выполните созданный файл:

    python3 create-chat.py
    

    Результат выполнения:

    Alternative(role='assistant', text='Альберт Эйнштейн занимался **физикой** и **математикой**. Его работы оказали огромное влияние на обе эти науки, а также на развитие теоретической физики в целом.', status=<AlternativeStatus.FINAL: 3>)
    
  3. В конец массива messages в файле create-chat.py добавьте ответ, полученный в результате выполнения предыдущего запроса к модели, а также новый вопрос пользователя:

    ...
    messages = [
        {
            "role": "system",
            "text": "Ты умный ассистент",
        },
        {
            "role": "user",
            "text": "Привет! Какими науками занимался Альберт Эйнштейн?",
        },
        {
            "role": "assistant",
            "text": """Альберт Эйнштейн занимался **физикой** и **математикой**. 
    Его работы оказали огромное влияние на обе эти науки, 
    а также на развитие теоретической физики в целом.""",
        },
        {
            "role": "user",
            "text": "Какие важные открытия он совершил?",
        },
    ]
    ...
    
  4. Вновь выполните файл:

    python3 create-chat.py
    

    Результат выполнения:

    Alternative(role='assistant', text='Альберт Эйнштейн — один из самых выдающихся учёных XX века. Вот несколько его важных открытий:\n* **Специальная теория относительности.** Эйнштейн разработал специальную теорию относительности, которая описывает движение, законы механики и пространственно-временные отношения при произвольных скоростях движения, меньших скорости света в вакууме.\n* **Общая теория относительности.** Эта теория описывает гравитацию как искривление пространства-времени и позволяет понять многие астрономические явления, включая гравитационные волны и чёрную дыру.\n* **Фотоэлектрический эффект.** За это открытие Эйнштейну была присуждена Нобелевская премия по физике. Его работа объясняет, как свет может выбивать электроны из вещества, что стало основой для квантовой теории.\n* **Эквивалентность массы и энергии.** Формула $E=mc^2$ стала одной из самых известных в науке. Она объясняет, как масса может быть преобразована в энергию и наоборот.', status=<AlternativeStatus.FINAL: 3>)
    
  5. Продолжайте дополнять контекст запроса полученными ответами и вопросами пользователя:

    ...
    messages = [
        {
            "role": "system",
            "text": "Ты умный ассистент",
        },
        {
            "role": "user",
            "text": "Привет! Какими науками занимался Альберт Эйнштейн?",
        },
        {
            "role": "assistant",
            "text": """Альберт Эйнштейн занимался **физикой** и **математикой**. 
    Его работы оказали огромное влияние на обе эти науки, 
    а также на развитие теоретической физики в целом.""",
        },
        {
            "role": "user",
            "text": "Какие важные открытия он совершил?",
        },
        {
            "role": "assistant",
            "text": """Альберт Эйнштейн — один из самых выдающихся учёных XX века. 
    Вот несколько его важных открытий:\n* **Специальная теория относительности.** 
    Эйнштейн разработал специальную теорию относительности, которая описывает движение, 
    законы механики и пространственно-временные отношения при произвольных скоростях 
    движения, меньших скорости света в вакууме.\n* **Общая теория относительности.** 
    Эта теория описывает гравитацию как искривление пространства-времени и позволяет 
    понять многие астрономические явления, включая гравитационные волны и чёрную дыру.\n* 
    **Фотоэлектрический эффект.** За это открытие Эйнштейну была присуждена 
    Нобелевская премия по физике. Его работа объясняет, как свет может выбивать электроны 
    из вещества, что стало основой для квантовой теории.\n* **Эквивалентность массы 
    и энергии.** Формула $E=mc^2$ стала одной из самых известных в науке. 
    Она объясняет, как масса может быть преобразована в энергию и наоборот.""",
        },
        {
            "role": "user",
            "text": "Сделай короче",
        },
    ]
    ...
    

    Результат выполнения:

    Alternative(role='assistant', text='Альберт Эйнштейн — один из самых выдающихся учёных XX века. Вот несколько его важных открытий:\n* **Специальная теория относительности** описывает движение, законы механики и пространственно-временные отношения при скоростях меньше скорости света.\n* **Общая теория относительности** объясняет гравитацию как искривление пространства-времени.\n* За открытие **фотоэлектрического эффекта** Эйнштейну присудили Нобелевскую премию по физике. Его работа объясняет выбивание электронов из вещества под действием света.\n* Формула $E=mc^2$ демонстрирует **эквивалентность массы и энергии**.', status=<AlternativeStatus.FINAL: 3>)
    
  1. Подготовьте файл запроса к модели, например body.json:

    {
      "modelUri": "gpt://<идентификатор_каталога>/yandexgpt",
      "completionOptions": {
        "stream": false,
        "temperature": 0.6,
        "maxTokens": "2000",
        "reasoningOptions": {
          "mode": "DISABLED"
        }
      },
      "messages": [
        {
          "role": "system",
          "text": "Ты умный ассистент"
        },
        {
          "role": "user", 
          "text": "Привет! Какими науками занимался Альберт Эйнштейн?"
        }
      ]
    }
    

    Где:

    • modelUri — идентификатор модели, которая будет использоваться для генерации ответа. Параметр содержит идентификатор каталога Yandex Cloud или идентификатор дообученной модели.

    • completionOptions — параметры конфигурации запроса:

      • stream — включает потоковую передачу частично сгенерированного текста. Принимает значения true или false.

      • temperature — чем выше значение этого параметра, тем более креативными и случайными будут ответы модели. Принимает значения от 0 (включительно) до 1 (включительно). Значение по умолчанию: 0.3.

      • maxTokens — устанавливает ограничение на выход модели в токенах. Максимальное число токенов генерации зависит от модели. Подробнее см. в разделе Квоты и лимиты в Yandex Foundation Models.

      • reasoningOptions.mode — параметры режима рассуждений. Необязательный параметр. Значение по умолчанию — DISABLED. Возможные значения:

        • DISABLED — режим рассуждений выключен.
        • ENABLED_HIDDEN — режим рассуждений включен. При этом модель самостоятельно принимает решение о необходимости использования этого режима для каждого конкретного запроса.
    • messages — массив сообщений, которые задают контекст для модели:

      • role — роль отправителя сообщения:

        • user — предназначена для отправки пользовательских сообщений к модели.
        • system — позволяет задать контекст запроса и определить поведение модели.
        • assistant — используется для ответов, которые генерирует модель. При работе в режиме чата ответы модели, помеченные ролью assistant, включаются в состав сообщения для сохранения контекста беседы. Не передавайте сообщения пользователя с этой ролью.
      • text — текстовое содержимое сообщения.

  2. Отправьте запрос к модели:

    export FOLDER_ID=<идентификатор_каталога>
    export IAM_TOKEN=<IAM-токен>
    curl \
      --request POST \
      --header "Content-Type: application/json" \
      --header "Authorization: Bearer ${IAM_TOKEN}" \
      --header "x-folder-id: ${FOLDER_ID}" \
      --data "@<путь_до_файла_json>" \
      "https://llm.api.cloud.yandex.net/foundationModels/v1/completion"
    

    Где:

    • FOLDER_ID — идентификатор каталога, на который у вашего аккаунта есть роль ai.languageModels.user или выше.
    • IAM_TOKEN — IAM-токен вашего аккаунта.
  3. В ответ на запрос модель вернет сгенерированный текст:

    Результат:
    {
      "result": {
        "alternatives": [
          {
            "message": {
              "role": "assistant",
              "text": "Альберт Эйнштейн был выдающимся физиком, труды которого в области теоретической физики, теоретической механики и философии науки стали фундаментальными. Он посвятил свою карьеру изучению основ Вселенной, включая теорию относительности, специальную и общую теорию относительности. Кроме того, Альберт Эйнштейн изучал:\n\n* термодинамику,\n* статистическую механику,\n* электромагнетизм,\n* квантовую теорию,\n* специальную теорию относительности и др.\n\nЕго работы по общей теории относительности получили широкое признание и оказали глубокое влияние на развитие современной физики."
            },
            "status": "ALTERNATIVE_STATUS_FINAL"
          }
        ],
        "usage": {
          "inputTextTokens": "28",
          "completionTokens": "110",
          "totalTokens": "138"
        },
        "modelVersion": "18.01.2024"
      }
    }
    

    Сохраните значение записи message для использования в последующем запросе.

  4. В конец массива messages в файл запроса добавьте значение записи message, полученное в результате выполнения предыдущего запроса к модели, а также новый вопрос пользователя:

    {
      "modelUri": "gpt://<идентификатор_каталога>/yandexgpt",
      "completionOptions": {
        "stream": false,
        "temperature": 0.6,
        "maxTokens": "2000",
        "reasoningOptions": {
          "mode": "DISABLED"
        }
      },
      "messages": [
        {
          "role": "system",
          "text": "Ты умный ассистент"
        },
        {
          "role": "user", 
          "text": "Привет! Какими науками занимался Альберт Эйнштейн?"
        },
        {
          "role": "assistant", 
          "text": "Альберт Эйнштейн был выдающимся физиком, труды которого в области теоретической физики, теоретической механики и философии науки стали фундаментальными. Он посвятил свою карьеру изучению основ Вселенной, включая теорию относительности, специальную и общую теорию относительности. Кроме того, Альберт Эйнштейн изучал:\n\n* термодинамику,\n* статистическую механику,\n* электромагнетизм,\n* квантовую теорию,\n* специальную теорию относительности и др.\n\nЕго работы по общей теории относительности получили широкое признание и оказали глубокое влияние на развитие современной физики."
        },
        {
          "role": "user", 
          "text": "Какие важные открытия он совершил?"
        }
      ]
    }
    
  5. Отправьте новый запрос к модели, повторив второй шаг инструкции. В ответ на запрос модель снова вернет сгенерированный текст:

    Результат:
    {
      "result": {
        "alternatives": [
          {
            "message": {
              "role": "assistant",
              "text": "Вот некоторые открытия, которые обычно связывают с именем Альберта Эйнштейна:\n1. **Специальная теория относительности (СТО)** — теория, описывающая движение, законы механики и пространственно-временные отношения при произвольных скоростях, меньших скорости света в вакууме.\n1. **Общая теория относительности (ОТО)** — геометрическая теория тяготения, основанная на предсказании взаимосвязи между координатами пространства-времени, материи и энергии.\n1. **Квантовая теория фотоэффекта** — объяснение фотоэффекта, явления выбивания электронов из вещества под действием электромагнитного излучения.\n1. **Броуновское движение** — явление беспорядочного, случайного движения микроскопических частиц, взвешенных в жидкости или газе, происходящее из-за теплового движения молекул окружающей среды.\n1. **Эквивалентность гравитационной и инерционной массы** — идея о том, что гравитационная и инертная масса являются разными аспектами одной и той же величины.\n1. **Космологические решения уравнений ОТО** — вклад в теорию строения и динамики Вселенной.\n1. **Ядерная модель атома** — описание структуры атома на основе протонов, нейтронов и электронов.\nЭто лишь некоторые из открытий Альберта Эйнштейна. Его вклад в науку и философию огромен, и его исследования продолжают оказывать влияние на наши представления о природе и Вселенной."
            },
            "status": "ALTERNATIVE_STATUS_FINAL"
          }
        ],
        "usage": {
          "inputTextTokens": "154",
          "completionTokens": "278",
          "totalTokens": "432"
        },
        "modelVersion": "18.01.2024"
      }
    }
    

    Снова сохраните значение записи message для использования в последующем запросе.

  6. Продолжайте дополнять контекст запроса полученными ответами и вопросами пользователя:

    {
      "modelUri": "gpt://<идентификатор_каталога>/yandexgpt",
      "completionOptions": {
        "stream": false,
        "temperature": 0.6,
        "maxTokens": "2000",
        "reasoningOptions": {
          "mode": "DISABLED"
        }
      },
      "messages": [
        {
          "role": "system",
          "text": "Ты умный ассистент"
        },
        {
          "role": "user", 
          "text": "Привет! Какими науками занимался Альберт Эйнштейн?"
        },
        {
          "role": "assistant", 
          "text": "Альберт Эйнштейн был выдающимся физиком, труды которого в области теоретической физики, теоретической механики и философии науки стали фундаментальными. Он посвятил свою карьеру изучению основ Вселенной, включая теорию относительности, специальную и общую теорию относительности. Кроме того, Альберт Эйнштейн изучал:\n\n* термодинамику,\n* статистическую механику,\n* электромагнетизм,\n* квантовую теорию,\n* специальную теорию относительности и др.\n\nЕго работы по общей теории относительности получили широкое признание и оказали глубокое влияние на развитие современной физики."
        },
        {
          "role": "user", 
          "text": "Какие важные открытия он совершил?"
        },
        {
          "role": "assistant",
          "text": "Вот некоторые открытия, которые обычно связывают с именем Альберта Эйнштейна:\n1. **Специальная теория относительности (СТО)** — теория, описывающая движение, законы механики и пространственно-временные отношения при произвольных скоростях, меньших скорости света в вакууме.\n1. **Общая теория относительности (ОТО)** — геометрическая теория тяготения, основанная на предсказании взаимосвязи между координатами пространства-времени, материи и энергии.\n1. **Квантовая теория фотоэффекта** — объяснение фотоэффекта, явления выбивания электронов из вещества под действием электромагнитного излучения.\n1. **Броуновское движение** — явление беспорядочного, случайного движения микроскопических частиц, взвешенных в жидкости или газе, происходящее из-за теплового движения молекул окружающей среды.\n1. **Эквивалентность гравитационной и инерционной массы** — идея о том, что гравитационная и инертная масса являются разными аспектами одной и той же величины.\n1. **Космологические решения уравнений ОТО** — вклад в теорию строения и динамики Вселенной.\n1. **Ядерная модель атома** — описание структуры атома на основе протонов, нейтронов и электронов.\nЭто лишь некоторые из открытий Альберта Эйнштейна. Его вклад в науку и философию огромен, и его исследования продолжают оказывать влияние на наши представления о природе и Вселенной."
        },
        {
          "role": "user",
          "text": "Сократи свой ответ"
        }
      ]
    }
    
    Результат:
    {
      "result": {
        "alternatives": [
          {
            "message": {
              "role": "assistant",
              "text": "Альберт Эйнштейн — выдающийся физик, изучавший основы Вселенной, в частности, теорию относительности, термодинамику и электромагнетизм.\n\nИзвестные открытия учёного: специальная и общая теория относительности, квантовая теория фотоэффекта и др."
            },
            "status": "ALTERNATIVE_STATUS_FINAL"
          }
        ],
        "usage": {
          "inputTextTokens": "452",
          "completionTokens": "54",
          "totalTokens": "506"
        },
        "modelVersion": "18.01.2024"
      }
    }
    
  1. Подготовьте файл запроса к модели, например body.json:

    {
      "modelUri": "gpt://<идентификатор_каталога>/yandexgpt",
      "completionOptions": {
        "stream": false,
        "temperature": 0.6,
        "maxTokens": "2000",
        "reasoningOptions": {
          "mode": "DISABLED"
        }
      },
      "messages": [
        {
          "role": "system",
          "text": "Ты умный ассистент"
        },
        {
          "role": "user", 
          "text": "Привет! Какими науками занимался Альберт Эйнштейн?"
        }
      ]
    }
    

    Где:

    • modelUri — идентификатор модели, которая будет использоваться для генерации ответа. Параметр содержит идентификатор каталога Yandex Cloud или идентификатор дообученной модели.

    • completionOptions — параметры конфигурации запроса:

      • stream — включает потоковую передачу частично сгенерированного текста. Принимает значения true или false.

      • temperature — чем выше значение этого параметра, тем более креативными и случайными будут ответы модели. Принимает значения от 0 (включительно) до 1 (включительно). Значение по умолчанию: 0.3.

      • maxTokens — устанавливает ограничение на выход модели в токенах. Максимальное число токенов генерации зависит от модели. Подробнее см. в разделе Квоты и лимиты в Yandex Foundation Models.

      • reasoningOptions.mode — параметры режима рассуждений. Необязательный параметр. Значение по умолчанию — DISABLED. Возможные значения:

        • DISABLED — режим рассуждений выключен.
        • ENABLED_HIDDEN — режим рассуждений включен. При этом модель самостоятельно принимает решение о необходимости использования этого режима для каждого конкретного запроса.
    • messages — массив сообщений, которые задают контекст для модели:

      • role — роль отправителя сообщения:

        • user — предназначена для отправки пользовательских сообщений к модели.
        • system — позволяет задать контекст запроса и определить поведение модели.
        • assistant — используется для ответов, которые генерирует модель. При работе в режиме чата ответы модели, помеченные ролью assistant, включаются в состав сообщения для сохранения контекста беседы. Не передавайте сообщения пользователя с этой ролью.
      • text — текстовое содержимое сообщения.

  2. Отправьте запрос к модели:

    1. Создайте файл index.py и добавьте в него код:

      import requests
      import json
      import os
      
      def gpt(auth_headers):
      
          url = 'https://llm.api.cloud.yandex.net/foundationModels/v1/completion'
      
          with open('body.json', 'r', encoding='utf-8') as f:
              data = json.dumps(json.load(f))
          resp = requests.post(url, headers=auth_headers, data=data)
      
          if resp.status_code != 200:
              raise RuntimeError(
                  'Invalid response received: code: {}, message: {}'.format(
                      {resp.status_code}, {resp.text}
                  )
              )
      
          return resp.text
      
      if __name__ == "__main__":
          if os.getenv('IAM_TOKEN') is not None:
              iam_token = os.environ['IAM_TOKEN']
              headers = {
                  'Authorization': f'Bearer {iam_token}',
              }
          elif os.getenv('API_KEY') is not None:
              api_key = os.environ['API_KEY']
              headers = {
                  'Authorization': f'Api-Key {api_key}',
              }
          else:
              print ('Please save either an IAM token or an API key into a corresponding `IAM_TOKEN` or `API_KEY` environment variable.')
              exit()
      
          print(gpt(headers))
      
    2. Сохраните данные для аутентификации в переменную окружения:

      Для аутентификации с помощью IAM-токена:

      export IAM_TOKEN=<IAM-токен>
      

      Для аутентификации с помощью API-ключа (только для сервисного аккаунта):

      export API_KEY=<API-ключ>
      
    3. Выполните созданный файл:

      python index.py
      
  3. В ответ на запрос модель вернет сгенерированный текст:

    Результат:
    {
      "result": {
        "alternatives": [
          {
            "message": {
              "role": "assistant",
              "text": "Альберт Эйнштейн был выдающимся физиком, труды которого в области теоретической физики, теоретической механики и философии науки стали фундаментальными. Он посвятил свою карьеру изучению основ Вселенной, включая теорию относительности, специальную и общую теорию относительности. Кроме того, Альберт Эйнштейн изучал:\n\n* термодинамику,\n* статистическую механику,\n* электромагнетизм,\n* квантовую теорию,\n* специальную теорию относительности и др.\n\nЕго работы по общей теории относительности получили широкое признание и оказали глубокое влияние на развитие современной физики."
            },
            "status": "ALTERNATIVE_STATUS_FINAL"
          }
        ],
        "usage": {
          "inputTextTokens": "28",
          "completionTokens": "110",
          "totalTokens": "138"
        },
        "modelVersion": "18.01.2024"
      }
    }
    

    Сохраните значение записи message для использования в последующем запросе.

  4. В конец массива messages в файл запроса добавьте значение записи message, полученное в результате выполнения предыдущего запроса к модели, а также новый вопрос пользователя:

    {
      "modelUri": "gpt://<идентификатор_каталога>/yandexgpt",
      "completionOptions": {
        "stream": false,
        "temperature": 0.6,
        "maxTokens": "2000",
        "reasoningOptions": {
          "mode": "DISABLED"
        }
      },
      "messages": [
        {
          "role": "system",
          "text": "Ты умный ассистент"
        },
        {
          "role": "user", 
          "text": "Привет! Какими науками занимался Альберт Эйнштейн?"
        },
        {
          "role": "assistant", 
          "text": "Альберт Эйнштейн был выдающимся физиком, труды которого в области теоретической физики, теоретической механики и философии науки стали фундаментальными. Он посвятил свою карьеру изучению основ Вселенной, включая теорию относительности, специальную и общую теорию относительности. Кроме того, Альберт Эйнштейн изучал:\n\n* термодинамику,\n* статистическую механику,\n* электромагнетизм,\n* квантовую теорию,\n* специальную теорию относительности и др.\n\nЕго работы по общей теории относительности получили широкое признание и оказали глубокое влияние на развитие современной физики."
        },
        {
          "role": "user", 
          "text": "Какие важные открытия он совершил?"
        }
      ]
    }
    
  5. Отправьте новый запрос к модели, повторив шаг 2.3 инструкции. В ответ на запрос модель снова вернет сгенерированный текст:

    Результат:
    {
      "result": {
        "alternatives": [
          {
            "message": {
              "role": "assistant",
              "text": "Вот некоторые открытия, которые обычно связывают с именем Альберта Эйнштейна:\n1. **Специальная теория относительности (СТО)** — теория, описывающая движение, законы механики и пространственно-временные отношения при произвольных скоростях, меньших скорости света в вакууме.\n1. **Общая теория относительности (ОТО)** — геометрическая теория тяготения, основанная на предсказании взаимосвязи между координатами пространства-времени, материи и энергии.\n1. **Квантовая теория фотоэффекта** — объяснение фотоэффекта, явления выбивания электронов из вещества под действием электромагнитного излучения.\n1. **Броуновское движение** — явление беспорядочного, случайного движения микроскопических частиц, взвешенных в жидкости или газе, происходящее из-за теплового движения молекул окружающей среды.\n1. **Эквивалентность гравитационной и инерционной массы** — идея о том, что гравитационная и инертная масса являются разными аспектами одной и той же величины.\n1. **Космологические решения уравнений ОТО** — вклад в теорию строения и динамики Вселенной.\n1. **Ядерная модель атома** — описание структуры атома на основе протонов, нейтронов и электронов.\nЭто лишь некоторые из открытий Альберта Эйнштейна. Его вклад в науку и философию огромен, и его исследования продолжают оказывать влияние на наши представления о природе и Вселенной."
            },
            "status": "ALTERNATIVE_STATUS_FINAL"
          }
        ],
        "usage": {
          "inputTextTokens": "154",
          "completionTokens": "278",
          "totalTokens": "432"
        },
        "modelVersion": "18.01.2024"
      }
    }
    

    Снова сохраните значение записи message для использования в последующем запросе.

  6. Продолжайте дополнять контекст запроса полученными ответами и вопросами пользователя:

    {
      "modelUri": "gpt://<идентификатор_каталога>/yandexgpt",
      "completionOptions": {
        "stream": false,
        "temperature": 0.6,
        "maxTokens": "2000",
        "reasoningOptions": {
          "mode": "DISABLED"
        }
      },
      "messages": [
        {
          "role": "system",
          "text": "Ты умный ассистент"
        },
        {
          "role": "user", 
          "text": "Привет! Какими науками занимался Альберт Эйнштейн?"
        },
        {
          "role": "assistant", 
          "text": "Альберт Эйнштейн был выдающимся физиком, труды которого в области теоретической физики, теоретической механики и философии науки стали фундаментальными. Он посвятил свою карьеру изучению основ Вселенной, включая теорию относительности, специальную и общую теорию относительности. Кроме того, Альберт Эйнштейн изучал:\n\n* термодинамику,\n* статистическую механику,\n* электромагнетизм,\n* квантовую теорию,\n* специальную теорию относительности и др.\n\nЕго работы по общей теории относительности получили широкое признание и оказали глубокое влияние на развитие современной физики."
        },
        {
          "role": "user", 
          "text": "Какие важные открытия он совершил?"
        },
        {
          "role": "assistant",
          "text": "Вот некоторые открытия, которые обычно связывают с именем Альберта Эйнштейна:\n1. **Специальная теория относительности (СТО)** — теория, описывающая движение, законы механики и пространственно-временные отношения при произвольных скоростях, меньших скорости света в вакууме.\n1. **Общая теория относительности (ОТО)** — геометрическая теория тяготения, основанная на предсказании взаимосвязи между координатами пространства-времени, материи и энергии.\n1. **Квантовая теория фотоэффекта** — объяснение фотоэффекта, явления выбивания электронов из вещества под действием электромагнитного излучения.\n1. **Броуновское движение** — явление беспорядочного, случайного движения микроскопических частиц, взвешенных в жидкости или газе, происходящее из-за теплового движения молекул окружающей среды.\n1. **Эквивалентность гравитационной и инерционной массы** — идея о том, что гравитационная и инертная масса являются разными аспектами одной и той же величины.\n1. **Космологические решения уравнений ОТО** — вклад в теорию строения и динамики Вселенной.\n1. **Ядерная модель атома** — описание структуры атома на основе протонов, нейтронов и электронов.\nЭто лишь некоторые из открытий Альберта Эйнштейна. Его вклад в науку и философию огромен, и его исследования продолжают оказывать влияние на наши представления о природе и Вселенной."
        },
        {
          "role": "user",
          "text": "Сократи свой ответ"
        }
      ]
    }
    
    Результат:
    {
      "result": {
        "alternatives": [
          {
            "message": {
              "role": "assistant",
              "text": "Альберт Эйнштейн — выдающийся физик, изучавший основы Вселенной, в частности, теорию относительности, термодинамику и электромагнетизм.\n\nИзвестные открытия учёного: специальная и общая теория относительности, квантовая теория фотоэффекта и др."
            },
            "status": "ALTERNATIVE_STATUS_FINAL"
          }
        ],
        "usage": {
          "inputTextTokens": "452",
          "completionTokens": "54",
          "totalTokens": "506"
        },
        "modelVersion": "18.01.2024"
      }
    }
    

См. такжеСм. также

  • Обзор возможностей генерации текста
  • Примеры работы с ML SDK на GitHub

Была ли статья полезна?

Предыдущая
Отправить запрос в промт-режиме
Следующая
Отправить асинхронный запрос
Проект Яндекса
© 2025 ООО «Яндекс.Облако»