Запрос завершения у хоста
Вызовите клиента для выполнения запроса 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 — локальная установка не требуется.
Все уроки этого курса
- Возможности выборки
- Запрос завершения у хоста
- Формирование сообщений и предпочтений
- Подтверждение пользователем