UI generatif dengan Lyra Gen
Jawaban model tampil sebagai kontrol Lyra yang nyata dan tervalidasi.
Lyra Gen mengubah jawaban terstruktur dari model menjadi komponen Lyra yang aksesibel lewat katalog yang telah ditinjau. Konten yang dihasilkan hanya dapat menyebut peran dalam katalog, tidak pernah tag, skrip, atau aksi sembarang; permintaan model, data, aksi, dan penyimpanan tetap berada di aplikasi Anda.
Contoh
Pilih subset katalog yang telah ditinjau, lalu validasi tampilan yang dihasilkan sebelum dirender.
import '@aceshooting/lyra-ui/theme.css';
import { initialCatalog, subsetCatalog } from '@aceshooting/lyra-gen/catalog.js';
import { validateView } from '@aceshooting/lyra-gen/runtime.js';
import { LyraGenViewElement } from '@aceshooting/lyra-gen/gen-view.js';
const selected = subsetCatalog(initialCatalog, ['stack', 'heading', 'text']);
if (!selected.ok) throw new Error('The requested catalog is unavailable.');
const catalog = selected.value;
const result = validateView({
version: '1', catalog: { id: catalog.id, version: catalog.version },
surfaceId: 'answer-1', revision: 0,
root: { id: 'summary', type: 'stack', children: [
{ id: 'title', type: 'heading', text: 'Quarterly summary' },
{ id: 'detail', type: 'text', text: 'Revenue increased this quarter.' },
] },
}, catalog);
if (!result.ok) throw new Error('The generated view was rejected.');
const view = new LyraGenViewElement();
view.catalog = catalog;
view.document = result.value;
document.body.append(view);