Kejuruteraan Arahan AI · Pelajaran

Skema JSON dalam Arahan

Mengehadkan bentuk hasil.

Pelajaran 2 daripada 413 langkah

Skema JSON dalam Arahan ialah pelajaran Kejuruteraan Arahan AI percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kejuruteraan Arahan AI, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kejuruteraan Arahan AI merangkumi sejumlah 4 pelajaran.

Skema sebagai Kontrak Keluaran

Skema JSON menerangkan secara deklaratif bentuk keluaran yang sah: jenis, kunci wajib, kekangan nilai dan struktur bersarang. Apabila dihantar kepada API keluaran berstruktur, skema menjadi kontrak tegas; apabila dimasukkan dalam arahan, skema menjadi panduan kukuh.

Menguasai penulisan skema ialah kemahiran teras penjanaan berstruktur.

Bendera Ketat Mengubah Segalanya

Dalam mod ketat, penyedia memerlukan setiap sifat disenaraikan dalam required dan additionalProperties ialah false. Medan pilihan dinyatakan sebagai kesatuan dengan null, bukannya melalui pengguguran.

{
  'type': 'object',
  'properties': {
    'name': {'type': 'string'},
    'nickname': {'type': ['string', 'null']}
  },
  'required': ['name', 'nickname'],
  'additionalProperties': False
}

Mengehadkan Nilai Skalar

Masukkan pengesahan ke dalam skema dan bukannya pascapemprosesan:

  • enum untuk pilihan tetap.
  • minimum/maximum untuk julat berangka.
  • pattern untuk rentetan yang disahkan menggunakan ungkapan nalar.
  • format sebagai petunjuk seperti date-time atau email.
{
  'rating': {'type': 'integer', 'minimum': 1, 'maximum': 5},
  'sku': {'type': 'string', 'pattern': '^[A-Z]{3}-[0-9]{4}$'},
  'created': {'type': 'string', 'format': 'date-time'}
}

Tatasusunan dan Tupel

Gunakan items untuk tatasusunan seragam dan tambahkan minItems/maxItems untuk mengehadkan panjangnya. Bagi tupel berposisi, bekalkan tatasusunan skema melalui prefixItems.

{
  'tags': {
    'type': 'array',
    'items': {'type': 'string'},
    'minItems': 1,
    'maxItems': 5
  }
}

Kesatuan Berpembeza dengan oneOf

Modelkan hasil polimorfik dengan oneOf serta medan pembeza. Model memilih tepat satu cabang dan penyahsirikan anda bertukar berdasarkan tanda tersebut.

{
  'oneOf': [
    {'type': 'object', 'properties': {
        'kind': {'const': 'email'},
        'address': {'type': 'string', 'format': 'email'}},
     'required': ['kind', 'address']},
    {'type': 'object', 'properties': {
        'kind': {'const': 'phone'},
        'number': {'type': 'string'}},
     'required': ['kind', 'number']}
  ]
}

Jana Skema daripada Jenis

Menulis skema secara manual mudah terdedah kepada ralat. Terbitkan skema daripada model berjenis supaya skema dan kod anda tidak pernah menyimpang.

from pydantic import BaseModel

class Invoice(BaseModel):
    total: float
    currency: str
    paid: bool

schema = Invoice.model_json_schema()
# pass schema directly to response_format

Huraian Juga Merupakan Arahan

Setiap description dalam skema dibaca oleh model. Gunakannya untuk membimbing makna, bukan sekadar mendokumentasikan medan.

Contohnya, huraian seperti kod negara ISO-3166 alpha-2, huruf besar meningkatkan ketepatan medan dengan ketara. Anggap huraian sebagai arahan mikro yang dibenamkan dalam kontrak.

{
  'country': {
    'type': 'string',
    'description': 'ISO-3166 alpha-2 code, uppercase, e.g. US, TR, DE'
  }
}

Membenamkan Skema dalam Arahan

Apabila penyedia tidak mempunyai sokongan asli, benamkan skema dalam arahan dan tuntut pematuhan. Gandingkannya dengan satu contoh dalam konteks serta arahan jelas JSON sahaja, tanpa prosa.

SYSTEM = (
  'You output ONLY JSON matching this schema. No markdown, no commentary.\n'
  'Schema:\n' + json.dumps(schema) + '\n'
  'If a value is unknown, use null.'
)

Mengelakkan Skema Berlebihan

Skema yang terlalu dalam atau bercabang mengelirukan model dan menaikkan kos token. Panduan:

  • Kekalkan struktur bersarang cetek; ratakan jika boleh.
  • Utamakan enumerasi berbanding rentetan bebas.
  • Pecahkan skema besar kepada beberapa panggilan yang berfokus.
  • Sesetengah penyedia mengehadkan kedalaman sarang dan jumlah sifat; semak hadnya.

Rujukan dan Guna Semula

Gunakan $defs dan $ref untuk menggunakan semula subskema (contohnya, Address yang digunakan dalam pengebilan dan penghantaran). Ambil perhatian bahawa sesetengah mod ketat mengehadkan kedalaman rekursi, jadi sahkan sokongan sebelum bergantung pada rujukan yang merujuk diri sendiri.

{
  '$defs': {
    'Address': {'type': 'object', 'properties': {
        'city': {'type': 'string'}}, 'required': ['city'],
      'additionalProperties': False}
  },
  'type': 'object',
  'properties': {
    'billing': {'$ref': '#/$defs/Address'},
    'shipping': {'$ref': '#/$defs/Address'}
  },
  'required': ['billing', 'shipping'],
  'additionalProperties': False
}

Sahkan Skema Itu Sendiri

Satu kelas pepijat yang halus: skema itu cacat, bukannya keluaran. Jalankan pemeriksaan gaya dan sahkan skema dalam CI terhadap metas kema Skema JSON, kemudian lalukan objek contoh pergi-balik melalui pengesah anda sebelum pelancaran.

import jsonschema
jsonschema.Draft202012Validator.check_schema(schema)
# also: validate a known-good sample
jsonschema.validate(sample_obj, schema)

Semakan Pantas

Dalam mod Skema JSON ketat penyedia, bagaimanakah medan pilihan dinyatakan dengan betul?

Rumusan

Anda kini boleh menghasilkan skema yang tepat:

  • mod ketat memerlukan semua medan wajib serta additionalProperties palsu.
  • Hadkan skalar dengan enumerasi, julat, corak dan format.
  • Modelkan polimorfisme dengan pembeza oneOf.
  • Jana skema daripada model berjenis; anggap huraian sebagai arahan mikro.
  • Sahkan skema itu sendiri dalam CI.

Seterusnya: menggunakan skema pada panggilan alat dan fungsi.

Percuma untuk bermula

Pelajari Kejuruteraan Arahan AI dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
53
Pelajaran
199

Soalan Lazim

Adakah pelajaran “Skema JSON dalam Arahan” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kejuruteraan Arahan AI, termasuk “Skema JSON dalam Arahan”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Kejuruteraan Arahan AI merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Skema JSON dalam Arahan”?

Mengehadkan bentuk hasil. Anda berlatih Kejuruteraan Arahan AI menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Kejuruteraan Arahan AI?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Kejuruteraan Arahan AI di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Skema JSON dalam Arahan” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kejuruteraan Arahan AI ini?

Ya. Setiap pelajaran Kejuruteraan Arahan AI menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Mengapa Hasil Berstruktur
  2. Skema JSON dalam Arahan
  3. Skema Alat dan Fungsi
  4. Gelung Pembaikan dan Pengesahan
← Kembali ke Kejuruteraan Arahan AI