تولید آبجکت با هوش مصنوعی با ساخت RSC
این مثال از React Server Components (یا همان RSC)، استفاده میکند. اگر که قصد دارید از client side rendering و هوکها استفاده کنید؛ میتوانید به این مستندات مراجعه کنید.
توابع generateText و streamText این امکان را به ما میدادند که متن بدون ساختار تولید کنیم. با این حال، اگر بخواهید دادهی ساختارمند مانند JSON تولید کنید، میتوانید یک schema که ساختار آبجکت موردنظر شما را توصیف میکند، به تابع generateObject ارائه دهید.
این تابع نیاز دارد که شما یک schema را با استفاده از کتابخانهی Zod ارائه دهید. با استفاده از Zod، نهتنها میتوانید ساختار آبجکت را تعریف کنید، بلکه درستی و تطابق آبجکت تولیدشده با ساختار مشخصشده را نیز اعتبارسنجی کنید.
کلاینت
بیایید یک کامپوننت ساده React ایجاد کنیم که هنگام کلیک روی یک دکمه، تابع getNotifications را فراخوانی میکند. تابع getNotifications، یک لیست از نوتیفیکیشنها را همانطور که در schema مشخص شده است، تولید میکند.
در مسیر app/page.tsx، قطعه کد زیر را قرار دهید:
سرور
اکنون بیایید تابع getNotifications را پیادهسازی کنیم که درون خود، تابع generateObject را فراخوانی میکند تا یک لیست از نوتیفیکیشنها بر اساس اسکیمایی که قبلتر تعریف کردیم، تولید کند.
در مسیر app/actions.ts، قطعه کد زیر را قرار دهید:
متغیرهای محیطی BASE_URL و LIARA_API_KEY همان baseUrl سرویس هوش مصنوعی لیارا و کلید API لیارا هستند که باید در بخش متغیرهای محیطی برنامه خود، آنها را تنظیم کنید.
پروژه فوق را میتوانید بهصورت کامل در گیتهاب لیارا، مشاهده کنید.