Tekoälyagentit · Oppitunti

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.

Oppitunti 3/413 vaihetta

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:

  1. Etsivät ensimmäisen merkin { tai [
  2. Laskevat hakasulkeiden määrän löytääkseen vastaavan sulkevan merkin
  3. 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öä:

  1. Valitse kuluttajaa vastaava muoto
  2. Näytä esimerkki, älä vain kuvaile sitä
  3. Validoi jokainen vastaus ja varmista korjauspolku
Aloita maksutta

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

  1. Zero-shot, few-shot ja chain-of-thought
  2. Järjestelmä-, käyttäjä- ja avustajaroolit
  3. Tulosten muotoilu (JSON, XML, Markdown)
  4. Kehotepistoksen välttäminen syötteissä
← Takaisin: Tekoälyagentit