Richiedere un completamento all'host
Chiami il client per eseguire un prompt LLM.
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=200Leggere 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.textControllare 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-20240307Sapere 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.textPuò 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. 💬
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
- Che cosa abilita il sampling
- Richiedere un completamento all'host
- Strutturare messaggi e preferenze
- Approvazione con supervisione umana