سایت خبرکاو

جستجوگر هوشمند اخبار و مطالب فناوری

نحوه ادغام هوش مصنوعی در برنامه بدون سرور با Amazon Bedrock

در چشم‌انداز فناوری امروز، یکپارچه‌سازی هوش مصنوعی دیگر یک امر تجملی نیست، بلکه یک ضرورت است. برنامه های کاربردی مبتنی بر هوش مصنوعی این پتانسیل را دارند که تجربیات کاربر را تغییر دهند، وظایف پیچیده را خودکار کنند و حوزه های جدیدی از امکانات را باز کنند. درک و استفاده از API های هوش مصنوعی یک مهارت اساسی برای توسعه دهندگانی است که به دنبال حفظ در خط مقدم نوآوری هستند. مروری کوتاه بر API ...

در چشم‌انداز فناوری امروز، یکپارچه‌سازی هوش مصنوعی دیگر یک امر تجملی نیست، بلکه یک ضرورت است.

برنامه های کاربردی مبتنی بر هوش مصنوعی این پتانسیل را دارند که تجربیات کاربر را تغییر دهند، وظایف پیچیده را خودکار کنند و حوزه های جدیدی از امکانات را باز کنند. درک و استفاده از API های هوش مصنوعی یک مهارت اساسی برای توسعه دهندگانی است که به دنبال حفظ در خط مقدم نوآوری هستند.

مروری کوتاه بر API های هوش مصنوعی

APIهای هوش مصنوعی ابزارهای قدرتمندی هستند که به توسعه دهندگان اجازه می دهند از قابلیت های مدل های یادگیری ماشینی از پیش آموزش دیده بهره ببرند. این APIها عملکردهایی مانند پردازش زبان طبیعی، بینایی رایانه و موارد دیگر را در معرض نمایش قرار می دهند و به توسعه دهندگان این امکان را می دهند تا به راحتی قابلیت های پیشرفته هوش مصنوعی را در برنامه های خود بگنجانند.

برای استفاده از هوش مصنوعی در پروژه های خود و ایجاد ویژگی های فوق العاده قدرتمند برای کاربران خود، دیگر نیازی به درک دوره های آموزشی و معماری شبکه های عصبی ندارید.

هدف از این آموزش:

هدف این آموزش تجهیز شما به دانش و مهارت های عملی است که برای ادغام یکپارچه API های هوش مصنوعی در پروژه های خود نیاز دارید.

من شما را در کل فرآیند راهنمایی خواهم کرد، از انتخاب API مناسب برای نیازهای خاص شما تا پیاده سازی عملی و بهترین شیوه ها برای یکپارچه سازی یکپارچه.

در پایان، شما به خوبی مجهز خواهید شد تا هوش مبتنی بر هوش مصنوعی را به برنامه های خود تزریق کنید و دنیایی از امکانات جدید را به شما باز کنید.

پس ، بیایید با هم این سفر را آغاز کنیم و پتانسیل واقعی API های هوش مصنوعی را باز کنیم.

گزینه های فعلی AI API

خدمات هوش مصنوعی بیشتری از طریق یک API ساده نسبت به قبل وجود دارد. در این مقاله ما از Amazon Bedrock استفاده خواهیم کرد، اما موارد بیشتری وجود دارد. حتی Amazon Bedrock نیز ۶ مدل در دسترس دارد که در آینده مدل های بیشتری نیز عرضه خواهند شد.

مقایسه APIهای هوش مصنوعی موجود

برای کمک به تصمیم گیری آگاهانه، اجازه دهید برخی از API های پیشرو هوش مصنوعی موجود در بازار را با هم مقایسه کنیم. در زیر جدول مقایسه برخی از گزینه های برجسته آورده شده است:

API شرح قیمت
GPT-3.5 (16k) مدل زبانی پیشرفته که می تواند زبان یا کد طبیعی را درک کند و همچنین تولید کند ۰.۰۰۰۳ دلار / ۱۰۰۰ توکن ورودی ۰.۰۰۴ دلار / ۱۰۰۰ توکن خروجی
GPT-4 (32K) پیشرفته ترین سیستم OpenAI که پاسخ های ایمن تر و مفیدتر را تولید می کند ۰.۰۶ دلار / ۱۰۰۰ توکن ورودی ۰.۱۲ دلار / ۱۰۰۰ توکن خروجی
مدل A2I Jurassic-2 Mid (Bedrock) مدلی با اندازه متوسط، طراحی شده برای ایجاد تعادل مناسب بین کیفیت استثنایی و مقرون به صرفه بودن ۰.۰۱۲۵ دلار / ۱۰۰۰ توکن ورودی ۰.۰۱۲۵ دلار / ۱۰۰۰ توکن خروجی
مدل A2I Jurassic-2 Ultra (Bedrock) قدرتمندترین مدل AI21 با کیفیتی استثنایی ۰.۰۱۸۸ دلار / ۱۰۰۰ توکن ورودی ۰.۰۱۸۸ دلار / ۱۰۰۰ توکن خروجی
Anthropic Claude Instant (Bedrock) مدل زبان بزرگ همه منظوره پیشرفته ۰.۰۰۱۶۳ دلار / ۱۰۰۰ توکن ورودی ۰.۰۱۱۰۲ دلار / ۱۰۰۰ توکن خروجی
هوش مصنوعی پایداری (Bedrock) تولید تصویر ۰.۰۱۸ - ۰.۰۷۲ دلار برای هر تصویر بسته به اندازه و کیفیت

فاکتورهای کلیدی که باید هنگام انتخاب یک API در نظر بگیرید

هنگام انتخاب یک API AI برای پروژه خود، مهم است که چندین عامل کلیدی را در نظر بگیرید:

    قابلیت ها و ویژگی های API: عملکردهای خاص ارائه شده توسط API را ارزیابی کنید و اطمینان حاصل کنید که با نیازهای پروژه شما مطابقت دارند. کیفیت محتوای تولید شده نیز می‌تواند بین مدل‌ها بسیار متفاوت باشد، پس ایده خوبی است که آنها را آزمایش کنید و ببینید که چقدر برای موارد استفاده شما عملکرد خوبی دارند.

    مقیاس پذیری و عملکرد: توانایی API را برای مدیریت بارهای کاری مختلف ارزیابی کنید و اطمینان حاصل کنید که انتظارات عملکرد شما را برآورده می کند، به خصوص در زمان اوج استفاده.

    ملاحظات هزینه: مدل قیمت گذاری API، از جمله هزینه های مربوط به استفاده را درک کنید و سازگاری آن را با بودجه خود تعیین کنید.

    حریم خصوصی و امنیت داده‌ها: اطمینان حاصل کنید که ارائه‌دهنده API با مقررات حفاظت از داده‌ها مطابقت دارد و اقدامات امنیتی قوی برای محافظت از اطلاعات حساس در نظر گرفته است.

با در نظر گرفتن این عوامل، برای انتخاب API هوش مصنوعی که به بهترین وجه با نیازهای پروژه شما مطابقت دارد، مجهزتر خواهید بود.

برای این آموزش ما با Amazon Bedrock با استفاده از مدل A2I Jurassic-2 Mid آشنا می شویم.

نحوه درخواست دسترسی مدل

از آنجایی که این سرویس کاملاً جدید است، باید درخواست دسترسی به مدل هایی را که می خواهید استفاده کنید.

برای انجام این کار، وارد حساب AWS خود شوید، «Bedrock» را جستجو کنید و سپس برگه «Base models» را در سمت چپ انتخاب کنید. ماوس را روی هر مدلی قرار دهید و می گوید که در حال حاضر دسترسی ندارید و در «دسترسی مدل» درخواست دسترسی کنید.

این همه مدل ها را فهرست می کند. روی دکمه ویرایش در بالا سمت راست کلیک کنید، مدل هایی را که می خواهید به آنها دسترسی داشته باشید انتخاب کنید و سپس روی "ذخیره" کلیک کنید. برای این کار باید Jurassic-2 Ultra و Jurassic-2 Mid را انتخاب کنید.

اسکرین شات-2023-09-30-at-18.12.43
مدل هایی را که می خواهید برای آنها درخواست دسترسی کنید انتخاب کنید

این فقط یک یا دو دقیقه طول می کشد تا تایید شود، اما بهتر است آن را در اسرع وقت انجام دهید.

پروژه: ایجاد یک API برنامه ریزی تعطیلات

آنچه که API ما انجام خواهد داد

API ما برای ساده کردن برنامه ریزی تعطیلات طراحی شده است. با ارائه کد ایالت مقصد و مدت زمان بازدید شما، یک برنامه سفر شخصی ایجاد می کنیم که بهترین فعالیت ها و مکان ها را برای کاوش پیشنهاد می کند.

نحوه راه اندازی Repo

ما از چارچوب بدون سرور برای این پروژه استفاده خواهیم کرد. اگر قبلاً از آن استفاده نکرده‌اید، می‌توانید این آموزش سریع را برای نصب بدون سرور دنبال کنید و همه چیز را تنظیم کنید.

ما از جاوا اسکریپت برای این پروژه استفاده خواهیم کرد، پس یک مخزن جدید مانند این ایجاد کنید:

 sls create --template aws-nodejs --path aiTourGuide

ما باید با ایجاد تابع Lambda خود شروع کنیم. من دوست دارم موردم را در /src/functions/{functionName}/index.js ذخیره کنم. در این صورت functionName من aiTourGuide خواهد بود.

در فایل جدید index.js می توانیم با این کد شروع کنیم. سعی می کند وضعیت و مدت زمان را از درخواست دریافت کند و سپس پاسخی را برمی گرداند.

 exports.handler = async (event) => { const { state_code, duration } = JSON.parse(event.body); // Code for generating itinerary will go here const response = { statusCode: 200, body: JSON.stringify('Itinerary generated successfully!') }; return response; };

در National Park Service API ثبت نام کنید

اکنون می‌خواهیم داده‌هایی را برای انتقال به هوش مصنوعی دریافت کنیم. ما فقط می‌توانیم از آن بخواهیم که یک برنامه سفر برای ما ایجاد کند، اما دادن داده‌های خاص برای کار با آن معمولاً نتیجه بسیار بهتری دارد.

    از وب سایت National Park Service API دیدن کنید و برای یک کلید API ثبت نام کنید.

    پس از ثبت نام، یک کلید API از طریق ایمیل برای دسترسی به خدمات آنها دریافت خواهید کرد.

تماس API خدمات پارک ملی را به Lambda اضافه کنید

 const axios = require('axios'); const parksApiKey = process.env.parksApiKey exports.handler = async (event) => { const { state_code, duration } = JSON.parse(event.body); // Make a request to the National Park Service API const parksApiUrl = `https://developer.nps.gov/api/v1/parks?stateCode=${state_code}&api_key=${parksApiKey}` const parksResponse = await axios.get(parksApiUrl); // Extract relevant data from the response const parks = parksResponse.data.data.map(park => { return { name: park.fullName, description: park.description }; }); // Code for generating itinerary with park data will go here const responseBody = parks; const response = { statusCode: 200, body: JSON.stringify(responseBody) }; return response; };

ما با استفاده از Axios به پارک‌های API درخواست می‌کنیم، سپس فقط name و description هر پارک را از پاسخ دریافت می‌کنیم. در حال حاضر ما فقط قصد داریم آن داده ها را در API برگردانیم تا ببینیم چه چیزی به دست می آوریم.

یکی از کارهایی که ما انجام می دهیم این است که parksApiKey را از متغیرهای محیطی در ابتدای فایل دریافت کنیم. برای اضافه کردن parksApiKey به عنوان یک متغیر محیطی در فایل Serverless Framework serverless.yml ، می‌توانید این مراحل را دنبال کنید:

    فایل serverless.yml خود را در یک ویرایشگر متن باز کنید.

    بخش provider را که تنظیمات ارائه دهنده AWS را مشخص می کند، پیدا کنید. در زیر آن، یک بلوک environment را اضافه کنید، اگر از قبل وجود نداشته باشد.

    در بلوک environment ، متغیر محیطی خود را به صورت زیر تعریف کنید:

 provider: name: aws runtime: nodejs18.x environment: parksApiKey: "YOUR API KEY"

پیکربندی Serverless.yml را پیکربندی کنید

برای استقرار یک API و کد ما، باید به Serverless بگوییم که چه چیزی را مستقر کند. این کار را با تغییر بخش functions پیکربندی انجام می دهیم.

 functions: aiTourGuide: handler: src/functions/aiTourGuide/index.handler events: - httpApi: path: /tourguide method: post

این بدان معنی است که ما یک تابع لامبدا aiTourGuide را با یک نقطه پایانی API post که به /tourguide اشاره می کند، مستقر خواهیم کرد. فقط مطمئن شوید که قسمت handler مسیر درستی برای ساختار مخزن و پوشه شما باشد.

اگر اعتبارنامه AWS خود را روی یک نمایه خاص پیکربندی کرده اید، باید آن را به بخش ارائه دهنده خود اضافه کنید، در غیر این صورت از اعتبارنامه پیش فرض AWS شما استفاده خواهد کرد.

 provider: name: aws runtime: nodejs18.x profile: "Your Profile" // optional

مستقر و آزمایش کنید

اکنون که تابع Lambda خود را ایجاد کرده‌ایم و API خدمات پارک ملی را ادغام کرده‌ایم، وقت آن است که API برنامه‌ریزی تعطیلات خود را مستقر و آزمایش کنیم.

    Deployment: تنها کاری که باید انجام دهیم این است که sls deploy دوباره اجرا کنیم و تغییرات ما مستقر خواهند شد.

    آزمایش : از ابزاری مانند Postman برای ارسال درخواست POST به API خود با پارامترهای مورد نیاز، مانند state_code و duration استفاده کنید. شما باید چنین پاسخی دریافت کنید.

اسکرین شات-2023-09-30-at-15.56.11
تصویر نشان دهنده پاسخ

می توانید ببینید که ما مجموعه ای از اشیاء با نام پارک و توضیحات داریم. دقیقا همان چیزی که ما می خواستیم.

چگونه اعلان هوش مصنوعی خود را آماده کنیم

در مرحله بعد، درخواستی برای یک API هوش مصنوعی برای بهبود توصیه های برنامه ریزی تعطیلات خود آماده می کنیم. ما از مدل A2I Jurassic-2 Mid با استفاده از Amazon Bedrock برای ایجاد توضیحات جذاب برای فعالیت های توصیه شده استفاده خواهیم کرد.

من تمایل دارم که نسبتاً ساده شروع کنم و همان طور که می بینم اعلان را اصلاح می کنم. من همچنین نسل سریع خود را در یک تابع قرار می دهم. این می تواند بعداً بسیار بزرگ و پیچیده شود، پس بهتر است آن را در دسته اصلی نداشته باشید. من اغلب آن را در فایل خود دارم!

بیایید با چیزی شبیه به این شروع کنیم:

 const generatePrompt = ({parks,duration}) => { const stringListOfParks = parks.map(({name, description}) => { return `Park Name: ${name}: description: ${description}`}).join(` `) const prompt = `You are an expert tour guide in the US who focusses on designing holiday itinararies for spending time in the national parks. I am going to give you descriptions of multiple parks in the area as well as the duration of the trip. Create an itinerary for this trip, outlining what activities can bo done on each day. Trip duration = ${duration} days Local national parks: ${stringListOfParks} `; return prompt }

تابع stringListOfParks آرایه شی را به یک رشته طولانی تبدیل می کند. این ممکن است ضروری نباشد اما باید منتظر بمانیم و ببینیم.

سپس اعلان هوش مصنوعی را ایجاد می کنیم. ما به هوش مصنوعی می‌گوییم که قرار است چه کسی باشند، چه اطلاعاتی به آنها بدهیم و چه کاری می‌خواهیم انجام دهند. برای شروع با این کار خوب است، اما به مرور زمان می‌توانیم تغییرات مختلفی را در فرمان خود آزمایش کنیم تا ببینیم چه چیزی بهترین نتایج را ایجاد می‌کند.

نحوه فراخوانی AI API

اکنون که یک اعلان داریم، می‌توانیم آن را به Amazon Bedrock برای رسیدگی به درخواست ما ارسال کنیم. ما باید با وارد کردن AWS SDK و ایجاد bedrockruntime شروع کنیم.

همچنین باید AWS SDK را برای سنگ بستر نصب کنید زیرا در حال حاضر در هیچ یک از نسخه های لامبدا گنجانده نشده است:

 npm i -S @aws-sdk/client-bedrock-runtime

و این کد را به بالای فایل لامبدا اضافه می کنیم.

 import { BedrockRuntime } from "@aws-sdk/client-bedrock-runtime"; import axios from "axios"; const bedrockruntime = new BedrockRuntime()

ما اکنون از import نیز استفاده می کنیم، به این معنی که باید فایل index.js خود را به index.mjs تغییر دهیم. اگر این کار را با استفاده از تایپ اسکریپت انجام دادید، نیازی به تغییر نام فایل خود ندارید.

باید دستور invokeModel را فراخوانی کنیم و مجموعه ای از پارامترها را به آن ارسال کنیم. من متوجه شدم که ایجاد یک شی جداگانه برای پارامترها از انجام همه آن در یک مکان تمیزتر است.

در حال حاضر یک نسخه غیر همگام از دستور invokeModel وجود ندارد، پس ما آن را در یک وعده قرار می دهیم.

 const aiPrompt = generatePrompt({parks,duration}); const aiModelId = 'ai21.j2-mid-v1'; // we're using the A2I Jurassic-2 Mid model const invokeModelParams = { body: JSON.stringify({ prompt: aiPrompt, maxTokens: 200, temperature: 0.5, topP: 0.5, // optional }), modelId: aiModelId, accept: 'application/json', contentType: 'application/json' }; const aiResponse = await new Promise((resolve, reject) => { bedrockruntime.invokeModel(invokeModelParams, function(err, data) { if (err) { reject(err); // an error occurred } else { resolve(data); // successful response } }); }); // Extract AI-generated text from the response const aiResponseJson = JSON.parse( new TextDecoder().decode(aiResponse.body) ); const aiItinerary = aiResponseJson.completions[0].data.text; const responseBody = aiItinerary; const response = { statusCode: 200, body: responseBody, }; return response;

ممکن است متوجه شوید که ما چیزی فراتر از دستور خود را در بدن رد می کنیم. دلیلش این است که ما می توانیم چند چیز دیگر را تغییر دهیم تا خروجی متفاوتی داشته باشیم.

LLM ها با انتخاب کلمه بعدی در جمله کار می کنند. temperature و topP کنترل می کنند که آیا مدل کلمات غیرعادی را انتخاب می کند یا به محتمل ترین کلمه می چسبد.

دما: نزدیک‌تر به ۱ به این معنی است که کلمات غیرعادی بیشتری انتخاب می‌شوند، نزدیک‌تر به ۰ کلمات محتمل‌تری را انتخاب می‌کند.

topP: هنگام انتخاب کلمه بعدی، با جمع کردن احتمالات، تعداد گزینه‌هایی را که هوش مصنوعی باید انتخاب کند، محدود کنید. اعداد نزدیکتر به ۱ به این معنی است که کلمات نامحتمل بیشتری گنجانده شده است.

در مورد ما می‌خواهیم پاسخ نسبتاً خلاقانه‌ای داشته باشیم، اما همچنین می‌خواهیم همه چیز درست باشد، پس ۰.۵ تنظیم شروع خوبی برای هر دو است. اگر از آن بخواهیم یک صحنه علمی تخیلی را توصیف کنیم، می‌خواهیم با temp=0.7 topP=0.8 برویم، یا اگر از آن بخواهیم کد پردازش داده بنویسد، آن را به ۰.۲ کاهش می‌دهیم زیرا پاسخی بیشتر می‌خواهیم. به احتمال زیاد درست است

اینها هر دو چیزهایی هستند که می توانید آنها را تغییر دهید و آزمایش کنید تا ببینید چه مقادیری بهترین نتایج را می دهند. اینکه کدام پارامترها را پاس می کنید به مدل نیز بستگی دارد .

نحوه اضافه کردن مجوزهای IAM برای تماس با Bedrock

اگر تابع Lambda شما نیاز به دسترسی به منابع AWS یا خدماتی مانند Amazon Bedrock دارد، باید مطمئن شویم که مجوزهای IAM مناسب را پیکربندی کنیم.

در فایل serverless.yml خود باید این را به بخش ارائه دهنده خود اضافه کنید. این می گوید که این لامبدا مجوز استفاده bedrock:InvokeModel دارد.

 provider: name: aws runtime: nodejs18.x environment: parksApiKey: YOUR API KEY iam: role: statements: - Effect: "Allow" Action: - "bedrock:InvokeModel" Resource: "*"

استقرار و آزمایش (دوباره)

پس از ادغام API AI و اطمینان از مجوزهای IAM مناسب، با اجرای sls deploy عملکرد Lambda خود را مجدداً گسترش دهید. سپس می توانیم یک بار دیگر آن را آزمایش کنیم تا مطمئن شویم برنامه سفر تعطیلات تولید شده توسط هوش مصنوعی به درستی کار می کند.

با استفاده از همان درخواست دفعه قبل، این پاسخی است که من دریافت کردم، و شما باید چیزی مشابه دریافت کنید.

روز ۱:

وارد جکسون، می سی سی پی و ورود به هتل

از بنای یادبود ملی مدگار و میرلی اورز دیدن کنید

یک شب در جکسون

روز ۲:

به سمت ناچز، می سی سی پی رانندگی کنید و به هتل بروید

از پارک ملی تاریخی ناچز دیدن کنید

یک شب در Natchez

روز ۳:

به ویکزبورگ، می سی سی پی برانید و وارد هتل شوید

از پارک ملی نظامی ویکسبورگ دیدن کنید

یک شب در ویکزبورگ

روز ۴:

به توپلو، می سی سی پی برانید و وارد هتل شوید

از میدان نبرد ملی توپلو دیدن کنید

یک شب در توپلو

روز پنجم:

به کورینث، می سی سی پی برانید و وارد هتل شوید

از پارک ملی نظامی شیلو دیدن کنید

یک شب در کورینث

روز ششم:

به سمت جکسون، می سی سی پی رانندگی کنید و به هتل بروید

از سایت میدان نبرد ملی Brices Cross Roads دیدن کنید

یک شب در جکسون

روز هفتم:

به ساحل ملی جزایر خلیج بروید و به هتل بروید

رفع کد

چند مشکل کوچک وجود دارد:

با وجود اینکه گفتیم ۸ روز، نصف روز ۷ را قطع می کند.

توضیحات زیاد جالب نیستن

نحوه تمدید محدودیت توکن

دلیل قطع شدن پاسخ این است که ما در ابتدا یک maxTokens: 200 در دستور هوش مصنوعی خود پاس کردیم. این باید یک راه حل ساده برای افزایش این تعداد باشد.

ما می‌توانیم آن را روی یک عدد بسیار بالا مانند ۱۰۰۰۰ تنظیم کنیم، اما هنوز باید برای تمام توکن‌های تولید شده بپردازیم. تنظیم آن روی ۱۰۰۰۰ باعث نمی‌شود که هر پاسخی به ۱۰۰۰۰ توکن برسد، اما داشتن یک محدودیت معقول‌تر ما را از داشتن صورت‌حساب غیرمنتظره AWS محافظت می‌کند.

من مقدار خود را روی ۱۰۰۰ تنظیم می کنم. اگر می خواهید شیک باشید، می توانید این را بر اساس تعداد روزهایی که آنها در سفر هستند تغییر دهید.

نحوه بهبود برنامه سفر

این یکی کمی سخت تر است. مشکلات این است که بسیار بی مزه است و «اینجا رانندگی کن و به هتل چک کن»، «شب در Y» را زیاد تکرار می کند.

ما می‌توانیم سعی کنیم درخواست خود را بهبود بخشیم تا نتیجه بهتری بگیریم. اول، اجازه دهید به صراحت بگوییم که نیازی نیست در مورد رانندگی یا ورود به هتل به ما بگوید.

 // New content Do not write about driving. Do not write about checking into hotels. Do not write about where to overnight.

همچنین می توانیم نتیجه توصیفی تری را بخواهیم. من یک خط دیگر به دستور اضافه کردم:

 Give a description of the things they will see and what there is to do in each park.

یکی از ترفندها برای استقرار مجدد زمانی که فقط کد را تغییر داده اید، گسترش تابع است. شما می توانید sls deploy function -f {function name} را اجرا کنید که در مورد ما sls deploy function -f aiTourGuide است. این بسیار سریعتر از استقرار مجدد کل برنامه است، به شما امکان می دهد زودتر آزمایش کنید و پس سریعتر تکرار کنید.

عدم بهبود

با ایجاد این تغییر، امیدوار بودم که نتیجه بهتر شود، اما نشد. من حدود ۱۵ دستور مختلف را امتحان کردم و همه آنها ساختار یکسانی داشتند و دستورالعمل های من را نادیده گرفتند که در مورد هتل، رانندگی، یا اقامت شبانه صحبت نکنم.

گزینه ۲ - پارامترهای دیگر را تغییر دهید

از آنجایی که هوش مصنوعی همیشه پاسخی بسیار مشابه و خسته کننده می دهد، می توانید چیزهای دیگر را تغییر دهید. برای افزایش خلاقیت هوش مصنوعی، دما را افزایش دهید. من با ۰.۸ رفتم.

این باید هوش مصنوعی را وادار کند تا کلمات غیرعادی تری را انتخاب کند و پاسخی تصادفی تر و ساختارمندتر ایجاد کند.

متأسفانه پاسخ تقریباً یکسان بود.

گزینه ۳ - مدل را تغییر دهید

یکی از چیزهای شگفت انگیز در مورد استفاده از Bedrock این است که چندین مدل برای استفاده وجود دارد و جابجایی بین آنها می تواند بسیار آسان باشد.

ما تا کنون از مدل Jurassic-2 Mid استفاده کرده‌ایم، اما در حد این کار نیست. شاید با دستورات بسیار کوچکتر یا کارهای ساده تر خوب باشد. در حال حاضر می توانیم از Jurassic-2 Ultra استفاده کنیم. نکته شگفت انگیز این است که این فقط یک خط کد است:

 const aiModelId = "ai21.j2-ultra-v1"; // used to be ai21.j2-mid-v1

از آنجایی که آنها از یک شرکت هستند، پارامترهای یکسانی دارند. اگر می‌خواهید به یکی از مدل‌های دیگر سوئیچ کنید، ممکن است مجبور شوید چند گزینه دیگر را در بدنه invokeModelParams تغییر دهید.

یکی از مواردی که من با این مدل بزرگتر توصیه می کنم افزایش زمان لامبدا است. به طور پیش فرض در ۶s است اما گاهی اوقات این کافی نیست.

 functions: aiTourGuide: handler: src/functions/aiTourGuide/index.handler timeout: 26 # < new config line events: - httpApi: path: /tourguide method: post

نتایج

با درخواست به روز شده و مدل جدید ما نتیجه بسیار بهتری دریافت می کنیم:

روز ۱:
سفر خود را با کاوش در سایت میدان نبرد ملی Brices Cross Roads آغاز کنید. بدانید که چگونه پیروزی کنفدراسیون در بریس کراس رودز یک پیروزی قابل توجه برای سرلشکر ناتان بدفورد فارست بود، اما تأثیر طولانی مدت آن بر جنگ برای کنفدراسیون ها گران تمام شد. Brices Cross Roads یک نمونه عالی برای پیروزی در نبرد، اما شکست در جنگ است.

روز ۲:
امروز، از بنای یادبود ملی Emmett Till و Mamie Till-Mobley دیدن کنید. در سال ۱۹۵۵، امت تیل ۱۴ ساله برای دیدار با اقوام به مانی، می سی سی پی سفر کرد. او پس از سوت زدن به یک زن سفیدپوست ربوده شد، شکنجه شد و به قتل رسید. مادرش، مامی تیل موبلی، اصرار داشت که تشییع جنازه در تابوت باز در نزدیکی زادگاهشان شیکاگو برگزار شود. تصمیم شجاعانه او به جهان اجازه داد تا خشونت نژادپرستانه ای را که بر پسرش اعمال می شود ببیند و جنبش حقوق مدنی را به حرکت درآورد.

روز ۳:
ساحل ملی جزایر خلیج فارس مکان مناسبی برای بازدید امروز است. میلیون ها بازدیدکننده به خاطر آب های ساحلی زمردین ساحل ملی جزایر خلیج، سواحل سفید باشکوه، باتلاق های حاصلخیز و مناظر تاریخی به خلیج مکزیک کشیده می شوند. امروز با ما کاوش کنید!

روز ۴:
بنای یادبود ملی Medgar و Myrlie Evers Home در رتبه بعدی این فهرست قرار دارد. مدگار و میرلی اورز شرکای مبارزه حقوق مدنی بودند. ترور مدگار اوورز در ۱۲ ژوئن ۱۹۶۳ اولین قتل یک رهبر مهم ملی جنبش حقوق مدنی آمریکا بود و کاتالیزوری برای تصویب قانون حقوق مدنی در سال ۱۹۶۴ شد. میرلی اورز به ترویج مسایل برابری نژادی و عدالت اجتماعی ادامه داد.

روز پنجم:
پارک ملی تاریخی ناچز مکانی عالی برای بازدید امروز است. تاریخ همه مردم ناچز، می سی سی پی، از اسکان اروپایی، بردگی آفریقا، اقتصاد پنبه ای آمریکا، تا مبارزه حقوق مدنی در پایین رود می سی سی پی را کشف کنید.

روز ششم:
امروز، مسیر منظره ملی Natchez Trace را کاوش کنید. مسیر ملی منظره ناچز تریس پنج بخش از مسیر پیاده‌گردی است که تقریباً به موازات جاده موتوری خوش منظره ناچز تریس پارک وی به طول ۴۴۴ مایل است. مسیرهای پیاده روی در مجموع بیش از ۶۰ مایل هستند و فرصت هایی را برای کشف تالاب ها، مرداب ها، جنگل های چوب سخت و تاریخ منطقه ارائه می دهند. برای آنچه باز است چه چیزی نزدیک است به www.nps.gov/natr/planyourvisit/what-is-open-what-is-closed.htm مراجعه کنید

روز هفتم:
پارک وی Natchez Trace مکان مناسبی برای بازدید امروز است. Natchez Trace Parkway یک جاده تفریحی به طول ۴۴۴ مایل و رانندگی خوش منظره در سه ایالت است. تقریباً «رد ناچز قدیم» را دنبال می‌کند، یک راهروی سفری تاریخی که توسط سرخپوستان آمریکایی، «کاینتاکس»، مهاجران اروپایی، تاجران برده، سربازان و روسای جمهور آینده استفاده می‌شود. امروزه، مردم نه تنها می توانند از رانندگی خوش منظره، بلکه از پیاده روی، دوچرخه سواری، اسب سواری و کمپینگ در امتداد پارک وی لذت ببرند.

روز هشتم:
سفر خود را با کاوش در پارک ملی نظامی شیلو به پایان برسانید. از سایت های حماسی ترین مبارزه در تئاتر غربی جنگ داخلی دیدن کنید. نزدیک به ۱۱۰۰۰۰ سرباز آمریکایی در یک مسابقه خونین درگیر شدند که منجر به کشته شدن ۲۳۷۴۶ نفر شد. تلفات بیشتر از مجموع تمام جنگ های قبلی آمریکا. برای کشف تأثیر این مبارزه بر سربازان و ملت، هر دو میدان نبرد شیلو و کورینث را کاوش کنید.

سپس تصمیم گرفتم آن را با مدل‌های Claude Instant امتحان کنم تا ببینم چقدر خوب است. برای انجام این کار باید پارامترهای مدل ارسال شده را تغییر دهید، اما خیلی متفاوت نیست.

همانطور که می بینید، این مدل تقریباً به خوبی مدل Jurassic-2 Ultra عمل می کند، اما با نگاهی به جدول قیمت، ۱۰ برابر ارزان تر برای توکن های ورودی و ۶۰ درصد قیمت برای توکن های خروجی است.

بر اساس توضیحات ارائه شده، در اینجا یک برنامه سفر ۸ روزه با تمرکز بر فعالیت در پارک های ملی ارائه شده است:

روز اول: صبح را در سایت میدان نبرد ملی بریس کراس رودز بگذرانید و از طریق نمایشگاه های کنار جاده و یک فیلم کوتاه درباره پیروزی کنفدراسیون در آنجا اطلاعات کسب کنید. بعد از ظهر، از بنای یادبود ملی امت تیل و مامی تیل-موبلی دیدن کنید تا در مورد داستان آنها و تأثیر آن بر جنبش حقوق مدنی بدانید.

روز دوم: تمام روز را به کاوش در ساحل ملی جزایر خلیج اختصاص دهید. در امتداد مسیرهای ساحلی زیبا پیاده روی یا دوچرخه سواری کنید، لانه های ساحلی برای صدف ها، و حیات وحش را در امتداد خط ساحلی و در باتلاق ها ببینید.

روز ۳: صبح را به گشت و گذار در بنای یادبود ملی محافظت شده Medgar و Myrlie Evers Home بگذرانید و در مورد فعالیت های حقوق مدنی آنها مطلع شوید. بعد از ظهر، از پارک ملی تاریخی ناچز دیدن کنید تا تاریخ متنوع منطقه ناچز را از طریق ساختمان های تاریخی، مسیرهای پیاده روی و نمایشگاه ها کشف کنید.

روز ۴: از رانندگی خوش منظره در امتداد پارک وی ناچز تریس لذت ببرید و در مناظر مختلف برای فرصت های عکاسی توقف کنید. همچنین برای اکتشاف بیشتر، بخش‌های پیاده‌روی یا دوچرخه‌سواری از مسیر ملی منظره Natchez Trace را در نظر بگیرید.

روز پنجم: با گشت و گذار در مکان های میدان نبرد و اطلاع از نبرد خونین دو روزه ای که در آنجا رخ داد، خود را در تاریخ حماسی جنگ داخلی پارک ملی نظامی شیلو غرق کنید.

روز ششم: صبح را در میدان نبرد ملی توپلو بگذرانید و در مورد نبرد ۱۸۶۴ که در شهر رخ داد یاد بگیرید. بعد از ظهر، برای تماشای یک فیلم کلی و گشت و گذار در میدان های جنگ و استحکامات گسترده، به پارک ملی نظامی ویکسبرگ ادامه دهید.

روز هفتم: یک روز کامل دیگر را به کاوش بیشتر Vicksburg NMP اختصاص دهید، مانند یک تور تحت رهبری محیط بان یا پیاده روی در مسیرهای اضافی برای کشف تفاوت های ظریف محاصره طولانی که در اینجا رخ داد.

روز هشتم: قبل از حرکت، در نظر داشته باشید که از اوایل هفته به پارک مورد علاقه خود برای کاوش بیشتر یا دیدن هر چیزی که در ابتدا از دست داده اید، بازگردید.

من Claude v2 را نیز تست کردم که پیشرفته تر است اما قیمت آن تقریباً به اندازه مدل Jurassic-2 Ultra است. این پاسخ به طور قابل توجهی بهتر نبود، پس برای این مورد استفاده قطعاً از مدل Anthropic Claude Instant استفاده می کنم.

چگونه آن را به سطح بعدی ببریم

این یک شروع واقعاً خوب برای چنین دستور ساده ای است. شما می توانید آن را تکرار کنید، آن را بهبود بخشید و سبک ها و کلمات مختلف را آزمایش کنید. می‌توانید منابع اطلاعاتی دیگری را برای ارسال به درخواست خود بیابید، زیرا ارائه اطلاعات مفید برای استفاده در پاسخ اغلب بهترین راه برای بهبود نتایج این مدل‌ها است.

نحوه استفاده از این فرآیند در سایر برنامه ها

از طریق این فرآیند، یاد گرفته‌اید که اپلیکیشنی بسازید که از قدرت هوش مصنوعی استفاده کند. اکنون می توانید همین روند را دنبال کنید تا قدرت هوش مصنوعی را به برنامه های AWS خود اضافه کنید.

مورد استفاده ای را پیدا کنید که در آن هوش مصنوعی بتواند برای شما محتوا تولید کند

داده هایی را جمع آوری کنید که به هوش مصنوعی کمک می کند تا پاسخ بهتری داشته باشد.

اعلان را ایجاد کنید

تابع InvokeModel در Bedrock فراخوانی کنید

عملکرد هوش مصنوعی خود را مستقر و آزمایش کنید

Prompt و Parameters را تغییر دهید تا ببینید چه نتیجه ای بهترین پاسخ ها را دارد

چگونه درباره سرور بدون سرور بیشتر بیاموزیم

اکنون که می دانید چگونه هوش مصنوعی را در برنامه های خود بسازید، احتمالاً ایده های زیادی برای برنامه دارید.

اگر می خواهید یاد بگیرید که چگونه بقیه این ایده را بسازید، راهنمای نهایی من برای بدون سرور یا دوره من را تحلیل کنید که به شما کمک می کند با ساختن ۷ پروژه دنیای واقعی، بدون سرور استاد شوید .