آزمایش و تست هوش مصنوعی با AI SDK
آزمایش و تست LLMها میتواند چالشبرانگیز باشد، زیرا این مدلها غیرقطعی (non-deterministic) هستند و فراخوانی آنها نیز فرایندی کند و پرهزینه محسوب میشود. برای اینکه بتوانید کد خود را که از AI SDK استفاده میکند بهصورت unit آزمایش کنید، AI SDK Core شامل mock providers و ابزارهای کمکی برای تست است. شما میتوانید ابزارهای کمکی زیر را از ai/test به درون برنامه خود import کنید:
- MockEmbeddingModelV1: یک مدل embedding شبیهسازیشده بر اساس مشخصات embedding model v1
- MockLanguageModelV1: یک LLM شبیهسازیشده بر اساس مشخصات language model v1
- mockId: تولید ID عدد صحیح به صورت افزایشی
- mockValues: پیمایش بر روی یک آرایه از مقادیر در هر فراخوانی (زمانی که آرایه به پایان برسد، آخرین مقدار را بازمیگرداند)
- simulateReadableStream: شبیهسازی یک استریم readable همراه با تاخیر
با استفاده از mock providerها و ابزارهای کمکی تست، شما میتوانید خروجی AI SDK را کنترل کرده و کد خود را بهصورت تکرارپذیر و قطعی (deterministic)، بدون نیاز به فراخوانی مستقیم یک ارائهدهنده LLM، آزمایش کنید.
مثالها
شما میتوانید از ابزارهای کمکی تست (test helperها) همراه با توابع AI Core در unit testهای خود استفاده کنید:
generateText
streamText
generateObject
streamObject
شبیه سازی پاسخ های پروتکل Data Stream
شما میتوانید برای آزمایش (testing)، اشکالزدایی (debugging) یا نمایش (demonstration)، پاسخهای پروتکل Data Stream را شبیهسازی کنید. در ادامه، یک مثال در فریمورک NextJS قرار گرفته است (میتوانید قطعه کد را در یک فایل route.ts قرار دهید):