0Pricing
MCP Academy · Урок

Запрос завершения у хоста

Вызовите клиента для выполнения запроса LLM.

«Запрос завершения у хоста» — бесплатный урок MCP Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения MCP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс MCP Academy содержит 4 уроков всего.

Метод запроса

Чтобы запросить генерацию, ваш сервер отправляет клиенту по протоколу запрос sampling/createMessage.

{ "method": "sampling/createMessage" }

Обратитесь к клиенту через контекст

Внутри инструмента вы получаете объект Context. Его сеанс — это ваш канал связи с клиентом, который может выполнить выборку.

async def tool(topic: str, ctx: Context) -> str:
    ...

Вызов create_message

Python SDK предоставляет ctx.session.create_message. Дождитесь его выполнения, передайте сообщения и получите ответ модели.

result = await ctx.session.create_message(
    messages=[...],
    max_tokens=100,
)

Создайте SamplingMessage

Каждый отправляемый вами ход — это SamplingMessage с ролью, например пользователя, и блоком содержимого с фактическим текстом.

SamplingMessage(role="user",
    content=TextContent(type="text", text=prompt))

Оберните текст в TextContent

Обычный текст помещается в TextContent с типом text. Эта типизированная оболочка позволяет MCP передавать тело сообщения.

TextContent(type="text", text="Summarize this report")

Всегда задавайте max_tokens

Задайте модели предел с помощью max_tokens. Он ограничивает длину сгенерированного ответа и делает стоимость предсказуемой.

max_tokens=200

Прочитайте результат

Содержимое ответа — это типизированный блок. Проверьте его тип и, если это текст, прочитайте result.content.text, чтобы получить ответ.

if result.content.type == "text":
    return result.content.text

Проверьте, какая модель работала

В результате также указывается выбранная клиентом модель, поэтому вы можете точно записать в журнал, какая модель создала результат.

print(result.model)  # e.g. claude-3-sonnet-20240307

Узнайте причину остановки

Поле stopReason сообщает, почему генерация завершилась — например, из-за endTurn или достижения заданного ограничения токенов.

result.stopReason  # "endTurn"

Весь инструмент вкратце

Итак, инструмент выборки делает следующее: создаёт сообщение, ожидает create_message, а затем возвращает текст — всего несколько строк.

r = await ctx.session.create_message(
    messages=[msg], max_tokens=100)
return r.content.text

Запрос могут отклонить

Помните, что пользователь может отклонить запрос. Обрабатывайте отклонение как любую другую ошибку и корректно реагируйте на него.

Быстрая проверка

Одна деталь о вызове из вашего инструмента.

Итог

Отправьте sampling/createMessage через ctx.session, оберните подсказки в SamplingMessage и TextContent, задайте max_tokens, а затем прочитайте result.content.text. 💬

Часто задаваемые вопросы

Урок «Запрос завершения у хоста» бесплатный?

Да — полный текст урока «Запрос завершения у хоста» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс MCP Academy, подпишись на CoddyKit PRO. Курс MCP Academy содержит 4 уроков всего.

Чему я научусь в уроке «Запрос завершения у хоста»?

Вызовите клиента для выполнения запроса LLM. Ты практикуешь MCP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать MCP Academy?

Предыдущий опыт не требуется. MCP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Запрос завершения у хоста»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке MCP Academy?

Да. Каждый урок MCP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Возможности выборки
  2. Запрос завершения у хоста
  3. Формирование сообщений и предпочтений
  4. Подтверждение пользователем
← Назад к MCP Academy