1. بررسی اجمالی
در این آزمایشگاه، شما راه حلی برای خودکارسازی اجرای داستان های کاربر JIRA با GenAI خواهید ساخت.
آنچه خواهید آموخت
چندین بخش اصلی در آزمایشگاه وجود دارد:
- برنامه Cloud Run را برای ادغام با API های Gemini اجرا کنید
- برنامه Atlassian Forge را برای JIRA ایجاد و اجرا کنید
- از LangChain ReAct Agents برای اتوماسیون وظایف GitLab استفاده کنید
پیش نیازها
- این آزمایشگاه آشنایی با محیط های Cloud Console و Cloud Shell را فرض می کند.
2. راه اندازی و الزامات
راه اندازی پروژه ابری
- به Google Cloud Console وارد شوید و یک پروژه جدید ایجاد کنید یا از یک موجود استفاده مجدد کنید. اگر قبلاً یک حساب Gmail یا Google Workspace ندارید، باید یک حساب ایجاد کنید .
- نام پروژه نام نمایشی برای شرکت کنندگان این پروژه است. این یک رشته کاراکتری است که توسط API های Google استفاده نمی شود. همیشه می توانید آن را به روز کنید.
- شناسه پروژه در تمام پروژههای Google Cloud منحصربهفرد است و تغییرناپذیر است (پس از تنظیم نمیتوان آن را تغییر داد). Cloud Console به طور خودکار یک رشته منحصر به فرد تولید می کند. معمولاً برای شما مهم نیست که چیست. در اکثر کدها، باید شناسه پروژه خود را ارجاع دهید (معمولاً با نام
PROJECT_ID
شناخته می شود). اگر شناسه تولید شده را دوست ندارید، ممکن است یک شناسه تصادفی دیگر ایجاد کنید. از طرف دیگر، میتوانید خودتان را امتحان کنید، و ببینید آیا در دسترس است یا خیر. پس از این مرحله نمی توان آن را تغییر داد و در طول مدت پروژه باقی می ماند. - برای اطلاع شما، یک مقدار سوم وجود دارد، یک شماره پروژه ، که برخی از API ها از آن استفاده می کنند. در مورد هر سه این مقادیر در مستندات بیشتر بیاموزید.
- در مرحله بعد، برای استفاده از منابع Cloud/APIها باید صورتحساب را در کنسول Cloud فعال کنید . اجرا کردن از طریق این کد لبه هزینه زیادی نخواهد داشت. برای خاموش کردن منابع برای جلوگیری از تحمیل صورتحساب فراتر از این آموزش، میتوانید منابعی را که ایجاد کردهاید حذف کنید یا پروژه را حذف کنید. کاربران جدید Google Cloud واجد شرایط برنامه آزمایشی رایگان 300 دلاری هستند.
راه اندازی محیط
چت Gemini را باز کنید.
یا «Ask Gemini» را در نوار جستجو تایپ کنید.
فعال کردن Gemini برای Google Cloud API:
روی " Start chatting
" کلیک کنید و یکی از نمونه سوالات را دنبال کنید یا درخواست خود را تایپ کنید تا آن را امتحان کنید.
درخواست برای امتحان کردن:
- Cloud Run را در 5 نکته کلیدی توضیح دهید.
- شما مدیر محصول Google Cloud Run هستید، Cloud Run را در 5 نکته کلیدی کوتاه برای دانش آموز توضیح دهید.
- شما مدیر محصول Google Cloud Run هستید، در 5 نکته کلیدی کوتاه، Cloud Run را به یک توسعه دهنده معتبر Kubernetes توضیح دهید.
- شما مدیر محصول Google Cloud Run هستید، توضیح دهید که چه زمانی از Cloud Run در مقابل GKE برای یک برنامه نویس ارشد در 5 نکته کلیدی کوتاه استفاده می کنید.
برای کسب اطلاعات بیشتر در مورد نوشتن دستورات بهتر، راهنمای درخواست را بررسی کنید.
Gemini for Google Cloud چگونه از داده های شما استفاده می کند
تعهد حریم خصوصی Google
Google یکی از اولین شرکتهایی در این صنعت بود که تعهد حفظ حریم خصوصی AI/ML را منتشر کرد، که این اعتقاد ما را نشان میدهد که مشتریان باید بالاترین سطح امنیت و کنترل را بر دادههای ذخیرهشده در ابر داشته باشند.
داده هایی که ارسال و دریافت می کنید
به سؤالاتی که از Gemini میپرسید، از جمله اطلاعات ورودی یا کدی که برای تجزیه و تحلیل یا تکمیل به Gemini ارسال میکنید، درخواستها گفته میشود. پاسخ ها یا تکمیل کدهایی که از جمینی دریافت می کنید، پاسخ نامیده می شوند. Gemini از دستورات یا پاسخ های شما به عنوان داده برای آموزش مدل های خود استفاده نمی کند .
رمزگذاری دستورات
هنگامی که درخواستهایی را به Gemini ارسال میکنید، دادههای شما در حین انتقال به عنوان ورودی مدل اصلی در Gemini رمزگذاری میشوند .
داده های برنامه تولید شده از Gemini
Gemini روی کدهای Google Cloud شخص اول و همچنین کدهای شخص ثالث منتخب آموزش دیده است. شما مسئول امنیت، آزمایش و اثربخشی کد خود هستید ، از جمله هر گونه تکمیل، تولید یا تجزیه و تحلیل کدی که Gemini به شما ارائه می دهد.
بیشتر بیاموزید که چگونه Google با درخواستهای شما برخورد میکند.
3. گزینه هایی برای آزمایش فرمان ها
شما چندین گزینه برای آزمایش دستورات دارید.
Vertex AI Studio بخشی از پلتفرم Vertex AI Google Cloud است که به طور خاص برای ساده سازی و تسریع توسعه و استفاده از مدل های هوش مصنوعی مولد طراحی شده است.
Google AI Studio یک ابزار مبتنی بر وب برای نمونه سازی و آزمایش با مهندسی سریع و Gemini API است.
- برنامه وب جمینی (gemini.google.com)
برنامه وب Google Gemini (gemini.google.com) یک ابزار مبتنی بر وب است که برای کمک به شما در کشف و استفاده از قدرت مدلهای هوش مصنوعی Gemini Google طراحی شده است.
- اپلیکیشن موبایل گوگل جمینی برای اندروید و اپلیکیشن گوگل در iOS
4. برنامه را بررسی کنید
ایجاد حساب سرویس
به Google Cloud Console برگردید و Cloud Shell را با کلیک بر روی نماد سمت راست نوار جستجو فعال کنید.
در ترمینال باز شده، دستورات زیر را برای ایجاد یک حساب سرویس و کلیدهای جدید اجرا کنید.
از این حساب سرویس برای برقراری تماس های API با Vertex AI Gemini API از برنامه Cloud Run استفاده خواهید کرد.
جزئیات پروژه را با استفاده از جزئیات پروژه Qwiklabs خود پیکربندی کنید.
مثال: qwiklabs-gcp-00-2c10937585bb
gcloud config set project YOUR_QWIKLABS_PROJECT_ID
یک حساب کاربری ایجاد کنید.
PROJECT_ID=$(gcloud config get-value project)
SERVICE_ACCOUNT_NAME='vertex-client'
DISPLAY_NAME='Vertex Client'
gcloud iam service-accounts create $SERVICE_ACCOUNT_NAME --project $PROJECT_ID --display-name "$DISPLAY_NAME"
اعطای نقش
gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/aiplatform.admin"
gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/aiplatform.user"
gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/cloudbuild.builds.editor"
gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/artifactregistry.admin"
gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/storage.admin"
gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/run.admin"
gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/secretmanager.secretAccessor"
اگر از شما خواسته شد که مجوز دهید، برای ادامه روی "مجوز" کلیک کنید.
برای استفاده از Vertex AI API و Gemini، سرویس های مورد نیاز را فعال کنید.
gcloud services enable \
generativelanguage.googleapis.com \
aiplatform.googleapis.com \
cloudaicompanion.googleapis.com \
run.googleapis.com \
cloudresourcemanager.googleapis.com
برای استفاده از Vertex AI API و Gemini، سرویس های مورد نیاز را فعال کنید.
gcloud services enable \
artifactregistry.googleapis.com \
cloudbuild.googleapis.com \
runapps.googleapis.com \
workstations.googleapis.com \
servicemanagement.googleapis.com \
secretmanager.googleapis.com \
containerscanning.googleapis.com
کلون کردن مخزن GitHub
مخزن GitHub را کلون کنید.
git clone https://github.com/GoogleCloudPlatform/genai-for-developers.git
ویرایشگر پوسته ابری را باز کنید
با استفاده از آیتم منوی " File / Open Folder
"، " genai-for-developers
" را باز کنید.
فایل " devai-api/app/routes.py
" را باز کنید و سپس در هر نقطه از فایل کلیک راست کرده و " Gemini > Explain
this"
از منوی زمینه انتخاب کنید.
توضیحات Gemini را برای فایل انتخابی مرور کنید.
5. مخزن GitLab و پیکربندی Toolkit
در این آزمایشگاه، از GitLabToolkit برای خودکارسازی درخواستهای ادغام GitLab استفاده خواهید کرد.
بررسی اجمالی جعبه ابزار LangChain
LangChain Toolkits مجموعهای از ابزارها هستند که برای سادهسازی و بهبود توسعه برنامهها با LangChain طراحی شدهاند. آنها بسته به جعبه ابزار خاص عملکردهای مختلفی را ارائه می دهند، اما به طور کلی در موارد زیر کمک می کنند:
- اتصال به منابع داده خارجی : به اطلاعات APIها، پایگاههای داده و سایر منابع خارجی دسترسی پیدا کرده و در برنامههای LangChain خود قرار دهید.
- تکنیکهای پیشنهادی پیشرفته : از دستورات از پیش ساخته شده استفاده کنید یا موارد سفارشی را برای بهینهسازی تعامل با مدلهای زبان ایجاد کنید.
- ایجاد و مدیریت زنجیره : زنجیره های پیچیده را به راحتی بسازید و آنها را به طور موثر مدیریت کنید.
- ارزیابی و نظارت : عملکرد برنامه ها و زنجیره های LangChain خود را تجزیه و تحلیل کنید.
برخی از ابزارهای محبوب LangChain عبارتند از:
- Agent Executor Toolkits : ابزارهایی برای توسعه عواملی که می توانند از طریق اقداماتی مانند مرور وب یا اجرای کد با دنیای واقعی تعامل داشته باشند.
- جعبه ابزار مهندسی سریع : مجموعه ای از منابع برای ایجاد اعلان های مؤثر.
نمای کلی جعبه ابزار GitLab
جعبه ابزار Gitlab شامل ابزارهایی است که یک عامل LLM را قادر می سازد با یک مخزن gitlab تعامل داشته باشد. این ابزار یک پوشش برای کتابخانه python-gitlab
است.
جعبه ابزار GitLab می تواند وظایف زیر را انجام دهد:
- ایجاد فایل - یک فایل جدید در مخزن ایجاد می کند.
- Read File - فایلی را از مخزن می خواند.
- به روز رسانی فایل - یک فایل را در مخزن به روز می کند.
- ایجاد درخواست کشش - یک درخواست کشش از شاخه کاری ربات به شاخه پایه ایجاد می کند.
- دریافت Issue s - مسائل را از مخزن واکشی می کند.
- دریافت مشکل - جزئیات مربوط به یک مشکل خاص را واکشی می کند.
- نظر در مورد مسئله - نظری را در مورد یک موضوع خاص ارسال می کند.
- حذف فایل - یک فایل را از مخزن حذف می کند.
راه اندازی پروژه GitLab
GitLab را باز کنید، یک پروژه جدید ایجاد کنید و Token Access Token را در قسمت " Settings / Access Tokens
" راه اندازی کنید.
از جزئیات زیر استفاده کنید:
- نام رمز:
devai-api-qwiklabs
- نقش:
Maintainer
- دامنه ها را انتخاب کنید:
api
مقدار Access Token را در یک فایل موقت روی لپتاپ خود کپی و جایگذاری کنید، در مراحل بعدی استفاده میشود.
6. برای استقرار برنامه در Cloud Run آماده شوید
به ویرایشگر پوسته ابری بازگردید و از ترمینال موجود یا باز کردن یک ترمینال جدید استفاده کنید.
جزئیات پروژه را با استفاده از جزئیات پروژه Qwiklabs خود پیکربندی کنید.
مثال: qwiklabs-gcp-00-2c10937585bb
gcloud config set project YOUR-QWIKLABS-PROJECT-ID
بقیه متغیرهای محیط را تنظیم کنید:
export PROJECT_ID=$(gcloud config get-value project)
export LOCATION=us-central1
export REPO_NAME=devai-api
export SERVICE_NAME=devai-api
متغیرهای محیطی مورد نیاز برای ادغام GitLab را تنظیم کنید.
export GITLAB_PERSONAL_ACCESS_TOKEN=gitlab-token
برای جلوگیری از افشای اطلاعات حساس در ترمینال، بهترین روش استفاده از read -s GITLAB_PERSONAL_ACCESS_TOKEN
است، این روشی امن برای تنظیم متغیرهای محیطی بدون نمایش مقدار در تاریخچه فرمان کنسول است. پس از اجرای آن باید مقدار را Paste کرده و اینتر را بزنید. شما باید متغیر محیطی را نیز صادر کنید: export GITLAB_PERSONAL_ACCESS_TOKEN
این دستور از شما می خواهد که نام کاربری و نام مخزن GitLab خود را به روز کنید.
مثال: export GITLAB_REPOSITORY="gitrey/qwiklabs-test"
export GITLAB_REPOSITORY="USERID/REPOSITORY"
بقیه متغیرهای محیط را تنظیم کنید:
export GITLAB_URL="https://gitlab.com"
export GITLAB_BRANCH="devai"
export GITLAB_BASE_BRANCH="main"
پیکربندی ردیابی LangSmith LLM
اگر میخواهید اطلاعات ردیابی عامل را در LangSmith مشاهده کنید، حساب را راهاندازی کنید، در غیر این صورت دستورات را همانطور که هست اجرا کنید.
یک حساب LangSmith ایجاد کنید و یک کلید Service API در بخش تنظیمات ایجاد کنید. https://smith.langchain.com/settings
متغیرهای محیطی مورد نیاز برای ادغام LangSmith را تنظیم کنید.
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_ENDPOINT="https://api.smith.langchain.com"
export LANGCHAIN_API_KEY=langchain-service-api-key
پیکربندی JIRA
این مقادیر در این آزمایشگاه استفاده نمی شوند، بنابراین نیازی نیست قبل از اجرای دستورات، آن را به مقادیر پروژه JIRA خاص خود به روز کنید.
متغیرهای محیطی مورد نیاز برای استقرار سرویس Cloud Run را تنظیم کنید.
export JIRA_API_TOKEN=jira-token
export JIRA_USERNAME="YOUR-EMAIL"
export JIRA_INSTANCE_URL="https://YOUR-JIRA-PROJECT.atlassian.net"
export JIRA_PROJECT_KEY="YOUR-JIRA-PROJECT-KEY"
export JIRA_CLOUD=true
کلید API ایجاد کنید
یک کلید API جدید در بخش Cloud Console / API & Services / Credentials ایجاد کنید.
این کلید برای احراز هویت تماسهای JIRA API به برنامه Cloud Run استفاده میشود.
برای محیط تولید، میتوانید محدودیتهای برنامه و API را برای کلید API ایجاد شده پیکربندی کنید. محدودیتهای برنامه، استفاده از کلید API را به وبسایتهای خاصی محدود میکند (مثلاً نمونه JIRA شما).
متغیرهای محیطی مورد نیاز برای استقرار سرویس Cloud Run را تنظیم کنید.
export DEVAI_API_KEY=your-api-key
ایجاد اسرار در Secret Manager
برای این آزمایشگاه، ما بهترین شیوهها را دنبال میکنیم و از Secret Manager برای ذخیره و ارجاع به مقادیر Access Token، API Key و LangChain API Key در Cloud Run استفاده میکنیم.
اسرار مورد نیاز را در Secret Manager ایجاد و ذخیره کنید.
echo -n $DEVAI_API_KEY | \
gcloud secrets create DEVAI_API_KEY \
--data-file=-
echo -n $JIRA_API_TOKEN | \
gcloud secrets create JIRA_API_TOKEN \
--data-file=-
echo -n $GITLAB_PERSONAL_ACCESS_TOKEN | \
gcloud secrets create GITLAB_PERSONAL_ACCESS_TOKEN \
--data-file=-
echo -n $LANGCHAIN_API_KEY | \
gcloud secrets create LANGCHAIN_API_KEY \
--data-file=-
7. Devai-API را در Cloud Run اجرا کنید
بررسی کنید که در پوشه مناسب هستید.
cd ~/genai-for-developers/devai-api
استقرار برنامه در Cloud Run
gcloud run deploy "$SERVICE_NAME" \
--source=. \
--region="$LOCATION" \
--allow-unauthenticated \
--service-account vertex-client \
--set-env-vars PROJECT_ID="$PROJECT_ID" \
--set-env-vars LOCATION="$LOCATION" \
--set-env-vars GITLAB_URL="$GITLAB_URL" \
--set-env-vars GITLAB_REPOSITORY="$GITLAB_REPOSITORY" \
--set-env-vars GITLAB_BRANCH="$GITLAB_BRANCH" \
--set-env-vars GITLAB_BASE_BRANCH="$GITLAB_BASE_BRANCH" \
--set-env-vars JIRA_USERNAME="$JIRA_USERNAME" \
--set-env-vars JIRA_INSTANCE_URL="$JIRA_INSTANCE_URL" \
--set-env-vars JIRA_PROJECT_KEY="$JIRA_PROJECT_KEY" \
--set-env-vars JIRA_CLOUD="$JIRA_CLOUD" \
--set-env-vars LANGCHAIN_TRACING_V2="$LANGCHAIN_TRACING_V2" \
--update-secrets="LANGCHAIN_API_KEY=LANGCHAIN_API_KEY:latest" \
--update-secrets="GITLAB_PERSONAL_ACCESS_TOKEN=GITLAB_PERSONAL_ACCESS_TOKEN:latest" \
--update-secrets="JIRA_API_TOKEN=JIRA_API_TOKEN:latest" \
--update-secrets="DEVAI_API_KEY=DEVAI_API_KEY:latest" \
--min-instances=1 \
--max-instances=3
برای ایجاد مخزن Artifact Registry Docker به Y
پاسخ دهید.
Deploying from source requires an Artifact Registry Docker repository to store built containers. A repository named [cloud-run-source-deploy] in
region [us-central1] will be created.
Do you want to continue (Y/n)? y
gcloud run deploy SERVICE_NAME --source=.
جریان زیر بیشتر بدانید .
در پشت صحنه، این دستور از buildpacks
Google Cloud و Cloud Build
برای ساخت خودکار تصاویر کانتینر از کد منبع شما بدون نیاز به نصب Docker بر روی دستگاه یا تنظیم buildpacks یا Cloud Build استفاده می کند. یعنی فرمان واحدی که در بالا توضیح داده شد، کاری را انجام می دهد که در غیر این صورت gcloud builds submit
و دستورات gcloud run deploy
نیاز دارد.
اگر Dockerfile را ارائه کردهاید (که ما در این مخزن انجام دادیم)، Cloud Build از آن برای ساخت تصاویر کانتینر در مقابل تکیه بر بستههای ساخت برای شناسایی و ساخت خودکار تصاویر کانتینر استفاده میکند. برای کسب اطلاعات بیشتر در مورد buildpack ها، مستندات را بررسی کنید.
گزارشهای Cloud Build را در کنسول مرور کنید.
تصویر داکر ایجاد شده را در آرتیفکت رجیستری بررسی کنید.
جزئیات نمونه Cloud Run را در Cloud Console مرور کنید.
نرم افزار تست
نقطه پایانی را با اجرای دستور curl تست کنید.
قبل از اجرای دستور، آدرس اینترنتی سرویس Cloud Run خود را بهروزرسانی کنید.
مثال:
curl -H "X-devai-api-key: $DEVAI_API_KEY" https://devai-api-1110000001.us-central1.run.app/test
8. پیاده سازی داستان را به صورت خودکار انجام دهید
Forge پلتفرمی است که به توسعه دهندگان این امکان را می دهد تا برنامه هایی بسازند که با محصولات Atlassian مانند Jira، Confluence، Compass و Bitbucket یکپارچه شوند.
Forge CLI را نصب کنید
Forge CLI را با اجرای:
npm install -g @forge/cli
برای این آزمایشگاه، از متغیرهای محیطی برای ورود استفاده خواهیم کرد.
راه اندازی پروژه JIRA
از حساب شخصی خود برای ایجاد/مشاهده پروژه های JIRA استفاده کنید.
پروژه های JIRA موجود خود را مرور کنید: https://admin.atlassian.com/
با استفاده از حساب شخصی خود یک پروژه جدید JIRA ایجاد کنید.
به https://team.atlassian.com/your-work بروید و کلیک کنید و سپس انتخاب کنید
. پس از آن، "JIRA Software" - "Try it now" را انتخاب کنید. برای تکمیل ساخت پروژه/سایت، دستورات را دنبال کنید.
نرم افزار JIRA را انتخاب کنید.
یک پروژه جدید ایجاد کنید.
توکن Atlassian API ایجاد کنید
یک نشانه Atlassian API برای ورود به CLI ایجاد یا استفاده کنید.
CLI هنگام اجرای دستورات از رمز شما استفاده می کند.
- به https://id.atlassian.com/manage/api-tokens بروید.
- روی ایجاد نشانه API کلیک کنید.
- یک برچسب برای توصیف نشانه API خود وارد کنید. مثلا forge-api-token.
- روی ایجاد کلیک کنید.
- روی Copy to clipboard کلیک کنید و کادر گفتگو را ببندید.
تنظیمات محیط Forge را پیکربندی کنید
به Cloud Console برگردید و دستورات زیر را در ترمینال اجرا کنید.
برای شروع استفاده از دستورات Forge وارد Forge CLI شوید.
آدرس ایمیل JIRA/FORGE خود را تنظیم کنید. با آدرس ایمیل خود جایگزین کنید.
export FORGE_EMAIL=your-email
رمز Forge API را تنظیم کنید. با توکن JIRA API خود جایگزین کنید.
export FORGE_API_TOKEN=your-jira-api-token
Forge cli را با اجرای دستور زیر تست کنید. هنگامی که از شما خواسته می شود تجزیه و تحلیل را جمع آوری کنید، " No
" پاسخ دهید.
forge settings set usage-analytics false
بررسی کنید که آیا وارد شده اید یا خیر.
forge whoami
خروجی نمونه
Logged in as John Green (johngreen@email.com) Account ID: 123090:aaabbcc-076a-455c-99d0-d1aavvccdd
ایجاد اپلیکیشن Forge
بررسی کنید که در پوشه " ~/genai-for-developers
" هستید.
برای ایجاد یک برنامه Forge دستور را اجرا کنید.
forge create
در صورت درخواست از مقادیر زیر استفاده کنید:
- نام برنامه:
devai-jira-ui-qwiklabs
- یک دسته را انتخاب کنید:
UI Kit
- انتخاب یک محصول:
Jira
- یک الگو را انتخاب کنید:
jira-issue-panel
به پوشه برنامه تغییر دهید.
cd devai-jira-ui-qwiklabs/
دستور را برای نصب وابستگی ها اجرا کنید.
npm install
دستور استقرار را اجرا کنید.
forge deploy
خروجی نمونه:
Deploying your app to the development environment. Press Ctrl+C to cancel. Running forge lint... No issues found. ✔ Deploying devai-jira-ui-qwiklabs to development... ℹ Packaging app files ℹ Uploading app ℹ Validating manifest ℹ Snapshotting functions ℹ Deploying to environment ✔ Deployed Deployed devai-jira-ui-qwiklabs to the development environment.
برنامه را نصب کنید.
forge install
در صورت درخواست از مقادیر زیر استفاده کنید:
- انتخاب یک محصول:
Jira
- آدرس سایت را وارد کنید:
your-domain.atlassian.net
خروجی نمونه:
Select the product your app uses. ? Select a product: Jira Enter your site. For example, your-domain.atlassian.net ? Enter the site URL: genai-for-developers.atlassian.net Installing your app onto an Atlassian site. Press Ctrl+C to cancel. ? Do you want to continue? Yes ✔ Install complete! Your app in the development environment is now installed in Jira on genai-for-developers.atlassian.net
سایت JIRA خود را باز کنید و یک کار جدید JIRA با توضیحات زیر ایجاد کنید:
Create HTML, CSS and JavaScript using React.js framework to implement Login page with username and password fields, validation and documentation. Provide complete implementation, do not omit anything.
هنگامی که کار را باز می کنید، دکمه " devai-jira-ui-qwiklabs
" را خواهید دید.
روی دکمه کلیک کنید و تغییرات را در UI بررسی کنید.
مشاهده سیاهههای مربوط به جعل باطن.
forge logs
کنسول توسعه دهنده Atlassian
همچنین میتوانید برنامههای مستقر شده را در Atlassian Developer Console مشاهده و مدیریت کنید.
بررسی گزارشها - تغییر به محیط Development
،
مانیفست برنامه Forge و کد منبع را مرور کنید
فایل " devai-jira-ui-qwiklabs/manifest.yml
" را باز کنید و از Gemini Code Assist برای توضیح پیکربندی استفاده کنید.
توضیح بررسی
فایل های زیر را باز کنید و از Gemini Code Assist بخواهید که آنها را توضیح دهد:
-
devai-jira-ui-qwiklabs/src/frontend/index.jsx
-
devai-jira-ui-qwiklabs/src/resolvers/index.js
برنامه Forge را با DevAI API Cloud Run بهروزرسانی کنید
بررسی کنید که آیا GCP PROJECT ID تنظیم شده است:
gcloud config get project
اگر نه، پروژه GCP خود را با استفاده از شناسه پروژه از صفحه آزمایشگاه Qwiklabs تنظیم کنید:
مثال: qwiklabs-gcp-00-2c10937585bb
gcloud config set project YOUR_QWIKLABS_PROJECT_ID
URL سرویس Cloud Run را تنظیم کنید:
export DEVAI_API_URL=$(gcloud run services list --filter="(devai-api)" --format="value(URL)")
forge variables set DEVAI_API_URL $DEVAI_API_URL
تنظیم کلید API DEVAI:
export DEVAI_API_KEY=api-key-that-you-created
forge variables set --encrypt DEVAI_API_KEY $DEVAI_API_KEY
با اجرای دستور زیر تایید کنید:
forge variables list
خروجی نمونه
مانیفست و کد برنامه Forge را به روز کنید
این قطعه کد را می توان در مخزن زیر پوشه sample-devai-jira-ui
پیدا کرد.
باز کردن فایل مانیفست در ویرایشگر: devai-jira-ui-qwiklabs/manifest.yml
خطوط زیر را در انتهای فایل اضافه کنید - نقطه پایانی Cloud Run را با آنچه که مستقر کرده اید جایگزین کنید.
permissions:
scopes:
- read:jira-work
- write:jira-work
external:
fetch:
client:
- devai-api-gjerpi6qqq-uc.a.run.app/create-gitlab-mr # replace with YOUR CLOUD RUN URL
باز کردن فایل Resolvers/index در ویرایشگر: devai-jira-ui-qwiklabs/src/resolvers/index.js
خطوط زیر را بعد از تابع getText
موجود اضافه کنید.
resolver.define('getApiKey', (req) => {
return process.env.DEVAI_API_KEY;
});
resolver.define('getDevAIApiUrl', (req) => {
return process.env.DEVAI_API_URL;
});
فایل frontend/index را در ویرایشگر باز کنید: devai-jira-ui-qwiklabs/src/frontend/index.jsx
index.jsx
با محتوای زیر جایگزین کنید. لینک کاربری/مخزن GitLab خود را به روز کنید.
دو مکان وجود دارد که باید YOUR-GIT-USERID و YOUR-GIT-REPO را به روز کنید.
این خط را در فایل جستجو کنید و تغییرات را اعمال کنید:
https://gitlab.com/
YOUR-GIT-USERID/YOUR-GIT-REPO
/-/merge_requests
import React from 'react';
import ForgeReconciler, { Text, Link, useProductContext } from '@forge/react';
import { requestJira } from '@forge/bridge';
import { invoke } from '@forge/bridge';
import api, { route, assumeTrustedRoute } from '@forge/api';
const devAIApiKey = await invoke("getApiKey")
const devAIApiUrl = await invoke("getDevAIApiUrl")
const App = () => {
const context = useProductContext();
const [description, setDescription] = React.useState();
const fetchDescriptionForIssue = async () => {
const issueId = context?.extension.issue.id;
const res = await requestJira(`/rest/api/2/issue/${issueId}`);
const data = await res.json();
const bodyGenerateData = `{"prompt": ${JSON.stringify(data.fields.description)}}`;
const generateRes = await api.fetch(devAIApiUrl+'/create-gitlab-mr,
{
body: bodyGenerateData,
method: 'post',
headers: {
'Content-Type': 'application/json',
'x-devai-api-key': devAIApiKey,
},
}
)
const resData = await generateRes.text();
// Add link to the GitLab merge request page as a comment
await requestJira(`/rest/api/2/issue/${issueId}/comment`, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: `{"body": "[GitLab Merge Request|https://gitlab.com/YOUR-GIT-USERID/YOUR-GIT-REPO/-/merge_requests]"}`
});
return "Response will be added as a comment. Please refresh in a few moments.";
};
React.useEffect(() => {
if (context) {
fetchDescriptionForIssue().then(setDescription);
}
}, [context]);
return (
<>
<Text>{description}</Text>
<Link href='https://gitlab.com/YOUR-GIT-USERID/YOUR-GIT-REPO/-/merge_requests' openNewTab={true}>GitLab Merge Request</Link>
</>
);
};
ForgeReconciler.render(
<React.StrictMode>
<App />
</React.StrictMode>
);
Redeploy برنامه Forge
افزودن وابستگی در فایل package.json
:
"@forge/api": "4.0.0",
برای نصب وابستگی ها دستور را اجرا کنید:
npm install
استقرار برنامه به روز شده:
forge deploy
خروجی نمونه:
ℹ Uploading app ℹ Validating manifest ℹ Snapshotting functions ℹ Deploying to environment ✔ Deployed Deployed devai-jira-ui-qwiklabs to the development environment. We've detected new scopes or egress URLs in your app. Run forge install --upgrade and restart your tunnel to put them into effect.
برنامه به روز شده را نصب کنید:
forge install --upgrade
خروجی نمونه:
Upgrading your app on the Atlassian site. Your app will be upgraded with the following additional scopes: - read:jira-work - write:jira-work Your app will exchange data with the following urls: - devai-api-7su2ctuqpq-uc.a.run.app ? Do you want to continue? Yes ✔ Upgrade complete! Your app in the development environment is now the latest in Jira on genai-for-developers.atlassian.net.
نرم افزار Forge را تست کنید
یک کار JIRA موجود را باز کنید یا در پروژه JIRA خود ایجاد کنید.
اگر پنل قبلی اضافه شده باشد، باید آن را حذف کنید.
روی « ...
» کلیک کنید و از منوی حذف را انتخاب کنید. پس از آن، می توانید دوباره بر روی دکمه کلیک کنید.
نظرات جیرا را بررسی کنید
پس از دریافت پاسخ از DEVAI API، یک نظر در مورد مشکل JIRA اضافه خواهد شد.
- پیوند درخواست ادغام GitLab
برای تازه کردن نما، بین برگههای « History
» و « Comments
» جابهجا شوید.
درخواست ادغام GitLab را تأیید کنید
GitLab را باز کنید و درخواست های ادغام جدید را در پروژه خود بررسی کنید.
ردیابی لانگ اسمیت LLM
اگر ردیابی LLM را پیکربندی کرده اید، پورتال LangSmith را باز کنید و ردیابی LLM را برای تماس ایجاد درخواست ادغام GitLab بررسی کنید.
نمونه ردیابی LangSmith LLM.
9. تغییرات خود را به مخزن GitHub فشار دهید
(بخش اختیاری)
به وب سایت GitHub بروید و یک مخزن جدید ایجاد کنید تا تغییرات مربوط به این آزمایشگاه را در مخزن شخصی خود اعمال کنید.
به Cloud Console برگردید و نام کاربری و ایمیل Git را در ترمینال تنظیم کنید.
قبل از اجرای دستورات، مقادیر را به روز کنید.
git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"
کلید SSH را تولید کنید و آن را در مخزن GitHub اضافه کنید.
قبل از اجرای دستورات ایمیل خود را به روز کنید.
عبارت عبور را وارد نکنید و چندین بار اینتر را بزنید تا تولید کلید کامل شود.
ssh-keygen -t ed25519 -C "your-email-address"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
cat ~/.ssh/id_ed25519.pub
کلید عمومی ایجاد شده را به حساب GitHub خود اضافه کنید.
https://github.com/settings/keys را باز کنید و روی " New SSH key
" کلیک کنید.
برای نام کلید از " qwiklabs-key
" استفاده کنید و خروجی را از آخرین دستور کپی/پیست کنید.
به ترمینال برگردید، تغییرات را انجام دهید و فشار دهید.
cd ~/genai-for-developers
git remote rm origin
با استفاده از مخزنی که در بالا ایجاد شده است، مبدا راه دور را تنظیم کنید.
url مخزن خود را جایگزین کنید.
git remote add origin git@github.com:YOUR-GITHUB-USERID/YOUR-GITHUB-REPO.git
تغییرات را اضافه، متعهد و فشار دهید.
git add .
git commit -m "lab changes"
git push -u origin main
10. تبریک می گویم!
تبریک می گویم، شما آزمایشگاه را تمام کردید!
آنچه ما پوشش داده ایم:
- نحوه استقرار برنامه های Cloud Run برای ادغام با API های Gemini.
- نحوه ایجاد و استقرار برنامه Atlassian Forge برای JIRA.
- نحوه استفاده از LangChain ReAct Agents برای اتوماسیون وظایف GitLab.
- نحوه بررسی ردیابی های LLM در LangSmith.
بعدش چیه:
- جلسات عملی بیشتری در راه است!
پاک کن
برای جلوگیری از تحمیل هزینه به حساب Google Cloud خود برای منابع استفاده شده در این آموزش، یا پروژه حاوی منابع را حذف کنید یا پروژه را نگه دارید و منابع فردی را حذف کنید.
حذف پروژه
ساده ترین راه برای حذف صورتحساب، حذف پروژه ای است که برای آموزش ایجاد کرده اید.
©2024 Google LLC همه حقوق محفوظ است. Google و لوگوی Google علائم تجاری Google LLC هستند. همه نامهای شرکت و محصولات دیگر ممکن است علائم تجاری شرکتهای مربوطه باشند که با آنها مرتبط هستند.