Tulosten muotoilu (JSON, XML, Markdown)
Pakottakaa malli palauttamaan jäsenneltäviä rakenteita JSON-tilan, XML-tunnisteiden tai tiukan Markdown-muotoilun avulla, jotta tulokset ovat koneellisesti luettavia.
Tulosten muotoilu (JSON, XML, Markdown) on ilmainen Tekoälyagentit-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Tekoälyagentit-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Tekoälyagentit-kurssilla on yhteensä 4 oppituntia.
Miksi muoto on tärkeä
Agentit välittävät mallin tulosteen koodiin. Vapaamuotoinen proosa rikkoo jäsentimet. Strukturoitu tuloste (JSON, XML ja muut) on välttämätön kaikissa tuotantokäytössä olevissa agenteissa.
JSON-tila
OpenAI ja useimmat palveluntarjoajat tarjoavat JSON-tilan, joka takaa jäsennettävän tulosteen:
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=messages,
response_format={'type': 'json_object'},
)
import json
data = json.loads(response.choices[0].message.content)Strukturoidut tulosteet (tiukka skeema)
OpenAI Structured Outputs ottaa JSON Scheman ja takaa, että tuloste vastaa sitä:
schema = {
'name': 'extract_person',
'schema': {
'type': 'object',
'properties': {
'name': {'type': 'string'},
'age': {'type': 'integer'}
},
'required': ['name', 'age'],
'additionalProperties': False
},
'strict': True
}
response = client.chat.completions.create(
model='gpt-4o-2024-08-06',
messages=messages,
response_format={'type': 'json_schema', 'json_schema': schema}
)XML-tunnisteet (Anthropic-tyyli)
Anthropic suosittelee XML-tunnisteita luotettavimmaksi muotoiluksi Claudelle:
system = '''
Return your answer wrapped in XML tags:
<reasoning>Your step-by-step thinking</reasoning>
<answer>The final answer</answer>
'''
# Parse with a simple regex or BeautifulSoup
import re
ans = re.search(r'<answer>(.*?)</answer>', text, re.S).group(1)Markdown ihmisille
Käytä Markdownia, kun tuloste menee suoraan ihmiselle (chat-käyttöliittymään tai dokumentaatioon).
Vältä Markdownia, kun välität tulosteen koodiin — Markdownia on vaikea jäsentää luotettavasti.
Valitse muoto kuluttajan mukaan
- JSON — siirtyy koodiisi
- XML — siirtyy koodiisi, erityisesti Claudelle
- Markdown — siirtyy ihmiskäyttöliittymään
- Pelkkä teksti — siirtyy toiselle LLM:lle
Näytä, älä vain kerro
Sisällytä kehotteeseen aina konkreettinen esimerkki halutusta tulosteesta:
system = '''
Return a JSON object like:
{
"action": "reply",
"content": "Hi there!",
"confidence": 0.95
}
'''
print(system.strip())
Pakota ensimmäinen token
Anthropicilla voit pakottaa JSON-tulosteen esitäyttämällä assistant-vuoron merkillä { tai [:
messages = [
{'role': 'user', 'content': 'Return JSON with name and age.'},
{'role': 'assistant', 'content': '{'}
]
# Output will start at '{ "name": ...' guaranteed.
for m in messages:
print(f"{m['role']}: {m['content']}")
print('Output will start at \'{ "name": ...\' guaranteed.')
Käsittele ylimääräinen sisältö
Mallit lisäävät joskus JSON-tilassakin alkuun etuliitteen "Selvä! Tässä on JSON:". Vankat jäsentimet:
- Etsivät ensimmäisen merkin
{tai[ - Laskevat hakasulkeiden määrän löytääkseen vastaavan sulkevan merkin
- Jäsentävät vain kyseisen osan
Korjauskehotteet
Jos jäsentäminen epäonnistuu, lähetä virheellinen tuloste takaisin mallille ja pyydä sitä korjaamaan se:
repair_prompt = f'''
The previous output failed to parse with error: {error}.
Return ONLY a valid JSON object matching the schema. No prose.
Previous output:
{bad_output}
'''Pydantic validointiin
Validoi jäsennetty sanakirja Pydantic-mallilla — tarkista kenttien tyypit ja ilmoita puuttuvista kentistä virheellä.
from pydantic import BaseModel
class Person(BaseModel):
name: str
age: int
person = Person.model_validate_json(response_text)
print(person.name, person.age)Paras muoto koodille
Välität tulosteen Pythoniin. Mikä muoto on luotettavin?
Kertaus
Kolme sääntöä:
- Valitse kuluttajaa vastaava muoto
- Näytä esimerkki, älä vain kuvaile sitä
- Validoi jokainen vastaus ja varmista korjauspolku
Opi Tekoälyagentit tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 60
- Oppitunnit
- 239
Usein kysytyt kysymykset
Onko oppitunti ”Tulosten muotoilu (JSON, XML, Markdown)” ilmainen?
Kyllä – oppitunnin ”Tulosten muotoilu (JSON, XML, Markdown)” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Tekoälyagentit-kurssin, päivitä CoddyKit PROhon. Tekoälyagentit-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Tulosten muotoilu (JSON, XML, Markdown)”?
Pakottakaa malli palauttamaan jäsenneltäviä rakenteita JSON-tilan, XML-tunnisteiden tai tiukan Markdown-muotoilun avulla, jotta tulokset ovat koneellisesti luettavia. Harjoittelet Tekoälyagentit-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Tekoälyagentit-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Tekoälyagentit-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.
Kuinka kauan ”Tulosten muotoilu (JSON, XML, Markdown)”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Tekoälyagentit-oppitunnilla?
Kyllä. Jokainen Tekoälyagentit-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Zero-shot, few-shot ja chain-of-thought
- Järjestelmä-, käyttäjä- ja avustajaroolit
- Tulosten muotoilu (JSON, XML, Markdown)
- Kehotepistoksen välttäminen syötteissä