MCP Academy · Lezione

Richiedere un completamento all'host

Chiami il client per eseguire un prompt LLM.

Lezione 2 di 413 passaggi

Richiedere un completamento all'host è una lezione MCP Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento MCP Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso MCP Academy include 4 lezioni in totale.

Il metodo della richiesta

Per richiedere una generazione, il server invia al client una richiesta sampling/createMessage tramite il protocollo.

{ "method": "sampling/createMessage" }

Raggiungere il client tramite Context

All'interno di uno strumento si ottiene un oggetto Context. La sua sessione è il collegamento con il client che può eseguire il sampling.

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

Chiamare create_message

Python SDK espone ctx.session.create_message. Lo attenda, passi i messaggi e riceverà la risposta del modello.

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

Creare un SamplingMessage

Ogni turno inviato è un SamplingMessage con un ruolo, ad esempio user, e un blocco di contenuto che contiene il testo effettivo.

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

Racchiudere il testo in TextContent

Il testo semplice va inserito in TextContent con type impostato su text. Questo involucro tipizzato è il modo in cui MCP trasporta il corpo del messaggio.

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

Impostare sempre max_tokens

Imposti un limite per il modello con max_tokens. Questo parametro stabilisce la lunghezza massima della risposta generata e rende prevedibili i costi.

max_tokens=200

Leggere il risultato

Il content della risposta è un blocco tipizzato. Ne verifichi il tipo e, se è testo, legga result.content.text per ottenere la risposta.

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

Controllare quale modello è stato eseguito

Il risultato indica anche il model scelto dal client, così può registrare esattamente quale modello ha prodotto l'output.

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

Sapere perché si è fermato

Un campo stopReason indica perché la generazione è terminata, ad esempio per endTurn o per il raggiungimento del limite massimo di token.

result.stopReason  # "endTurn"

Uno strumento completo, in breve

Quindi uno strumento di sampling consiste nel creare un messaggio, usare await con create_message e poi restituire il testo: bastano poche righe.

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

Può essere rifiutato

Ricordi che la richiesta può essere rifiutata dall'utente. Tratti un rifiuto come qualsiasi altro errore e lo gestisca in modo appropriato.

Verifica rapida

Un dettaglio sulla chiamata dal suo strumento.

Riepilogo

Invii sampling/createMessage tramite ctx.session, racchiuda le richieste in SamplingMessage e TextContent, imposti max_tokens e poi legga result.content.text. 💬

Gratis per iniziare

Impara Python con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Richiedere un completamento all'host» è gratuita?

Sì — il testo completo di «Richiedere un completamento all'host» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso MCP Academy, passa a CoddyKit PRO. Il corso MCP Academy include 4 lezioni in totale.

Cosa imparerò in «Richiedere un completamento all'host»?

Chiami il client per eseguire un prompt LLM. Eserciti MCP Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare MCP Academy?

Non è richiesta alcuna esperienza precedente. MCP Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Richiedere un completamento all'host»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione MCP Academy?

Sì. Ogni lezione MCP Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Che cosa abilita il sampling
  2. Richiedere un completamento all'host
  3. Strutturare messaggi e preferenze
  4. Approvazione con supervisione umana
← Torna a MCP Academy