پیاده سازی داستان های کاربر JIRA با GenAI

1. بررسی اجمالی

در این آزمایشگاه، راه حلی برای خودکارسازی اجرای داستان های استفاده از JIRA با GenAI خواهید ساخت.

5351e028356cd3ac.png

آنچه خواهید آموخت

چندین بخش اصلی در آزمایشگاه وجود دارد:

  • برنامه Cloud Run را برای ادغام با API های Gemini اجرا کنید
  • برنامه Atlassian Forge را برای JIRA ایجاد و اجرا کنید
  • LangChain ReAct Agents برای اتوماسیون وظایف GitLab

پیش نیازها

  • این آزمایشگاه آشنایی با محیط های Cloud Console و Cloud Shell را فرض می کند.

2. راه اندازی و الزامات

راه اندازی پروژه ابری

  1. به Google Cloud Console وارد شوید و یک پروژه جدید ایجاد کنید یا از یک موجود استفاده مجدد کنید. اگر قبلاً یک حساب Gmail یا Google Workspace ندارید، باید یک حساب ایجاد کنید .

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • نام پروژه نام نمایشی برای شرکت کنندگان این پروژه است. این یک رشته کاراکتری است که توسط API های Google استفاده نمی شود. همیشه می توانید آن را به روز کنید.
  • شناسه پروژه در تمام پروژه‌های Google Cloud منحصربه‌فرد است و تغییرناپذیر است (پس از تنظیم نمی‌توان آن را تغییر داد). Cloud Console به طور خودکار یک رشته منحصر به فرد تولید می کند. معمولاً برای شما مهم نیست که چیست. در اکثر کدها، باید شناسه پروژه خود را ارجاع دهید (معمولاً با نام PROJECT_ID شناخته می شود). اگر شناسه تولید شده را دوست ندارید، ممکن است یک شناسه تصادفی دیگر ایجاد کنید. از طرف دیگر، می‌توانید خودتان را امتحان کنید، و ببینید آیا در دسترس است یا خیر. پس از این مرحله نمی توان آن را تغییر داد و در طول مدت پروژه باقی می ماند.
  • برای اطلاع شما، یک مقدار سوم وجود دارد، یک شماره پروژه ، که برخی از API ها از آن استفاده می کنند. در مورد هر سه این مقادیر در مستندات بیشتر بیاموزید.
  1. در مرحله بعد، برای استفاده از منابع Cloud/APIها باید صورتحساب را در کنسول Cloud فعال کنید . اجرا کردن از طریق این کد لبه هزینه زیادی نخواهد داشت. برای خاموش کردن منابع برای جلوگیری از تحمیل صورت‌حساب فراتر از این آموزش، می‌توانید منابعی را که ایجاد کرده‌اید حذف کنید یا پروژه را حذف کنید. کاربران جدید Google Cloud واجد شرایط برنامه آزمایشی رایگان 300 دلاری هستند.

راه اندازی محیط

چت Gemini را باز کنید.

bc3c899ac8bcf488.png

یا «Ask Gemini» را در نوار جستجو تایپ کنید.

e1e9ad314691368a.png

فعال کردن Cloud AI Companion API:

66cb6e561e384bbf.png

روی " Start chatting " کلیک کنید و یکی از نمونه سوالات را دنبال کنید یا درخواست خود را تایپ کنید تا آن را امتحان کنید.

5482c153eef23126.png

درخواست برای امتحان کردن:

  • 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 است.

برنامه وب Google Gemini (gemini.google.com) یک ابزار مبتنی بر وب است که برای کمک به شما در کشف و استفاده از قدرت مدل‌های هوش مصنوعی Gemini Google طراحی شده است.

4. (بخش اختیاری) حساب سرویس ایجاد کنید

این مراحل در طول راه اندازی آزمایشگاه اجرا شدند - نیازی به اجرای آنها ندارید.

این مراحل برای نشان دادن نحوه راه‌اندازی حساب سرویس و نقش‌های IAM گنجانده شده‌اند.

به Google Cloud Console برگردید و Cloud Shell را با کلیک بر روی نماد سمت راست نوار جستجو فعال کنید.

3e0c761ca41f315e.png

در ترمینال باز شده، دستورات زیر را برای ایجاد یک حساب سرویس و کلیدهای جدید اجرا کنید.

از این حساب سرویس برای برقراری تماس های 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'
KEY_FILE_NAME='vertex-client-key'

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"


gcloud iam service-accounts keys create $KEY_FILE_NAME.json --iam-account=$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com

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

6356559df3eccdda.png

برای استفاده از 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

(پایان بخش اختیاری)

5. اجازه دسترسی به ایستگاه های کاری ابری

ایستگاه های کاری Cloud را در Cloud Console باز کنید.

به دانشجوی Qwiklabs ارائه شده به Cloud Workstation اجازه دسترسی بدهید.

نام کاربری/ایمیل Qwiklabs که برای این پروژه ایجاد شده است را کپی کنید و از آن برای اضافه کردن یک اصل استفاده کنید. ایستگاه کاری را انتخاب کنید و روی " PERMISSIONS " کلیک کنید.

جزئیات را در زیر ببینید.

5cbb861e4f272f7.png

روی دکمه " ADD PRINCIPAL " کلیک کنید.

ایمیل دانشجوی Qwiklabs را جای‌گذاری کنید و نقش « Cloud Workstations User » را انتخاب کنید.

dfe53b74453d80b1.png

روی " Start " و سپس " Launch " کلیک کنید تا ایستگاه کاری باز شود و مراحل زیر را با استفاده از ترمینال داخلی ادامه دهید.

62dccf5c78880ed9.png

کلون کردن مخزن GitHub

یک پوشه ایجاد کنید و مخزن GitHub را کلون کنید.

mkdir github
cd github
git clone https://github.com/GoogleCloudPlatform/genai-for-developers.git

با استفاده از آیتم منو " File / Open Folder "، " github/genai-for-developers " را باز کنید.

6. Gemini Code Assist را فعال کنید

روی نماد "جمینی" کلیک کنید، در گوشه سمت راست پایین، روی " Login to Google Cloud " کلیک کنید.

4a7f4640f66037f.png

8d31b61e23ebeea2.png

برای شروع جریان مجوز روی پیوند در ترمینال کلیک کنید.

d8575b4066f67745.png

برای دنبال کردن پیوند، روی "باز کردن" کلیک کنید.

3a7272fcb985ff5.png

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

79dc63009ce0ed49.png

کپی کد تایید:

403845a5abc53635.png

به ترمینال برگردید و کد را جایگذاری کنید.

5931f639fe69f5cb.png

منتظر بمانید تا احراز هویت کامل شود و سپس روی «انتخاب یک پروژه Google» کلیک کنید.

614beb055f7aa5e8.png

از پنجره بازشو، پروژه Qwiklabs خود را انتخاب کنید.

مثال:

70ae6837db397e2a.png

فایل " devai-api/app/routes.py " را باز کنید و سپس در هر نقطه از فایل کلیک راست کرده و " Gemini > Explain this" را از منوی زمینه انتخاب کنید.

32b902134440b7c3.png

توضیحات Gemini را برای فایل انتخابی مرور کنید.

f78bfee770f6be93.png

7. جعبه ابزار LangChain

LangChain Toolkits مجموعه‌ای از ابزارها هستند که برای ساده‌سازی و بهبود توسعه برنامه‌ها با LangChain طراحی شده‌اند. آنها بسته به جعبه ابزار خاص عملکردهای مختلفی را ارائه می دهند، اما به طور کلی در موارد زیر کمک می کنند:

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

برخی از ابزارهای محبوب LangChain عبارتند از:

  • Agent Executor Toolkits : ابزارهایی برای توسعه عواملی که می توانند از طریق اقداماتی مانند مرور وب یا اجرای کد با دنیای واقعی تعامل داشته باشند.
  • جعبه ابزار مهندسی سریع : مجموعه ای از منابع برای ایجاد اعلان های مؤثر.

جعبه ابزار GitLab

در این آزمایشگاه، از GitLab Toolkit برای خودکارسازی درخواست ادغام GitLab استفاده خواهید کرد.

جعبه ابزار Gitlab شامل ابزارهایی است که یک عامل LLM را قادر می سازد با یک مخزن gitlab تعامل داشته باشد. این ابزار یک پوشش برای کتابخانه python-gitlab است.

جعبه ابزار GitLab می تواند وظایف زیر را انجام دهد:

  • ایجاد فایل - یک فایل جدید در مخزن ایجاد می کند.
  • Read File - فایلی را از مخزن می خواند.
  • به روز رسانی فایل - یک فایل را در مخزن به روز می کند.
  • ایجاد درخواست کشش - یک درخواست کشش از شاخه کاری ربات به شاخه پایه ایجاد می کند.
  • دریافت Issue s - مسائل را از مخزن واکشی می کند.
  • دریافت مشکل - جزئیات مربوط به یک مشکل خاص را واکشی می کند.
  • نظر در مورد مسئله - نظری را در مورد یک موضوع خاص ارسال می کند.
  • حذف فایل - یک فایل را از مخزن حذف می کند.

8. مخزن GitLab و پیکربندی Toolkit

GitLab را باز کنید، یک پروژه عمومی جدید ایجاد کنید و Token Access Token را در قسمت " Settings / Access Tokens " راه اندازی کنید.

از جزئیات زیر استفاده کنید:

  • نام رمز: devai-api-qwiklabs
  • نقش: Maintainer
  • دامنه ها را انتخاب کنید: api

112008c7894c3a19.png

مقدار Access Token را در یک فایل موقت روی لپ‌تاپ خود کپی و جای‌گذاری کنید، در مراحل بعدی استفاده می‌شود.

یک شاخه جدید " devai " از شاخه " main " در زیر " Code / Branches " ایجاد کنید.

485d4709b085dc2e.png

9. برای استقرار برنامه در Cloud Run آماده شوید

به نمونه Cloud Workstations برگردید و از یک ترمینال موجود یا باز کردن یک ترمینال جدید استفاده کنید.

9f9682d2b7317e66.png

اعتبار دسترسی برای حساب کاربری خود را از طریق یک جریان مجوز مبتنی بر وب دریافت کنید.

روی لینک کلیک کنید و مراحل تولید کد تایید را دنبال کنید.

gcloud auth login

جزئیات پروژه را با استفاده از جزئیات پروژه 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 است. این روشی مطمئن برای تنظیم متغیرهای محیطی بدون نمایش مقدار در تاریخچه دستورات کنسول است. پس از اجرای آن باید مقدار را Paste کرده و اینتر را بزنید.

این دستور از شما می خواهد که نام کاربری و نام مخزن GitLab خود را به روز کنید.

مثال: export GITLAB_REPOSITORY="gitrey/qwiklabs-test"

119489def27115c8.png

export GITLAB_REPOSITORY="USERID/REPOSITORY"

بقیه متغیرهای محیط را تنظیم کنید:

export GITLAB_URL="https://gitlab.com"
export GITLAB_BRANCH="devai"
export GITLAB_BASE_BRANCH="main"

10. پیکربندی ردیابی LangSmith LLM

یک حساب LangSmith ایجاد کنید و یک کلید Service API در بخش تنظیمات ایجاد کنید. https://docs.smith.langchain.com/

متغیرهای محیطی مورد نیاز برای ادغام LangSmith را تنظیم کنید.

export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_ENDPOINT="https://api.smith.langchain.com"

export LANGCHAIN_API_KEY=langchain-service-api-key

11. پیکربندی 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"

12. Devai-API را در Cloud Run اجرا کنید

بررسی کنید که در پوشه مناسب هستید.

cd ~/github/genai-for-developers/devai-api

برای این آزمایشگاه، ما بهترین شیوه‌ها را دنبال می‌کنیم و از Secret Manager برای ذخیره و ارجاع به Access Token و LangChain API Key در Cloud Run استفاده می‌کنیم.

رمز دسترسی JIRA را در Secret Manager ذخیره کنید.

echo -n $JIRA_API_TOKEN | \
 gcloud secrets create JIRA_API_TOKEN \
 --data-file=-

رمز دسترسی GitLab را در Secret Manager ذخیره کنید.

echo -n $GITLAB_PERSONAL_ACCESS_TOKEN | \
 gcloud secrets create GITLAB_PERSONAL_ACCESS_TOKEN \
 --data-file=-

کلید API LangChain را در مدیر مخفی ذخیره کنید.

echo -n $LANGCHAIN_API_KEY | \
 gcloud secrets create LANGCHAIN_API_KEY \
 --data-file=-

استقرار برنامه در Cloud Run

gcloud beta 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 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" \
  --min-instances=1 \
  --max-instances=3 \
  --service-min-instances=1

برای ایجاد مخزن 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=. جریان زیر بیشتر بدانید .

5c122a89dd11822e.png

در پشت صحنه، این دستور buildpacks های Google Cloud و Cloud Build برای ساخت خودکار تصاویر کانتینر از کد منبع شما بدون نیاز به نصب Docker بر روی دستگاه یا تنظیم buildpacks یا Cloud Build استفاده می کند. یعنی فرمان واحدی که در بالا توضیح داده شد، کاری را انجام می دهد که در غیر این صورت gcloud builds submit و دستورات gcloud run deploy نیاز دارد.

اگر Dockerfile را ارائه کرده‌اید (که ما در این مخزن انجام دادیم)، Cloud Build از آن برای ساخت تصاویر کانتینر در مقابل تکیه بر بسته‌های ساخت برای شناسایی و ساخت خودکار تصاویر کانتینر استفاده می‌کند. برای کسب اطلاعات بیشتر در مورد buildpack ها، مستندات را بررسی کنید.

گزارش‌های Cloud Build را در کنسول مرور کنید.

تصویر داکر ایجاد شده را در آرتیفکت رجیستری بررسی کنید.

cloud-run-source-deploy/devai-api را باز کنید و آسیب پذیری هایی را که به طور خودکار شناسایی شده اند بررسی کنید. مواردی را که دارای رفع مشکل هستند بررسی کنید و ببینید که چگونه می توان بر اساس توضیحات آن را برطرف کرد.

d00c9434b511be44.png

جزئیات نمونه Cloud Run را در Cloud Console مرور کنید.

نقطه پایانی را با اجرای دستور curl تست کنید.

curl -X POST \
   -H "Content-Type: application/json" \
   -d '{"prompt": "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."}' \
   $(gcloud run services list --filter="(devai-api)" --format="value(URL)")/generate

(بخش اختیاری) ایستگاه کاری Cloud را راه اندازی کنید

Cloud Workstations محیط های توسعه مدیریت شده را در Google Cloud با امنیت داخلی و محیط های توسعه از پیش پیکربندی شده و در عین حال قابل تنظیم ارائه می دهد. به جای اینکه توسعه دهندگان خود را ملزم به نصب نرم افزار و اجرای اسکریپت های راه اندازی کنید، می توانید یک پیکربندی ایستگاه کاری ایجاد کنید که محیط شما را به روشی تکرارپذیر مشخص کند. هر به‌روزرسانی پیکربندی ایستگاه کاری به‌طور خودکار در دفعه بعد که ایستگاه‌های کاری شروع به کار می‌کنند، اعمال می‌شود. توسعه دهندگان از طریق یک IDE مبتنی بر مرورگر، از چندین ویرایشگر کد محلی (مانند VSCode یا JetBrains IDE مانند IntelliJ IDEA Ultimate و PyCharm Professional) یا از طریق SSH به ایستگاه های کاری دسترسی دارند.

Cloud Workstation از منابع Google Cloud زیر برای مدیریت محیط های توسعه شما استفاده می کند:

  • خوشه های ایستگاه کاری گروهی از ایستگاه های کاری را در یک منطقه خاص و شبکه VPC که به آن متصل هستند تعریف می کنند. خوشه‌های ایستگاه کاری به خوشه‌های Google Kubernetes Engine (GKE) مرتبط نیستند.
  • پیکربندی ایستگاه های کاری به عنوان الگو برای ایستگاه های کاری عمل می کند. پیکربندی ایستگاه کاری جزئیاتی مانند نوع نمونه ماشین مجازی ایستگاه کاری (VM)، ذخیره سازی دائمی، محیط تعریف کننده تصویر ظرف، IDE یا ویرایشگر کد برای استفاده و موارد دیگر را تعریف می کند. مدیران و تیم‌های پلتفرم همچنین می‌توانند از قوانین مدیریت هویت و دسترسی (IAM) برای اعطای دسترسی به تیم‌ها یا توسعه‌دهندگان فردی استفاده کنند.
  • ایستگاه های کاری محیط های توسعه از پیش پیکربندی شده ای هستند که یک IDE ابری، ابزار زبان، کتابخانه ها و موارد دیگر را ارائه می کنند. ایستگاه‌های کاری می‌توانند در صورت تقاضا راه‌اندازی یا متوقف شوند، و در پروژه شما روی ماشین‌های مجازی موتور محاسباتی اجرا شوند، با یک دیسک دائمی که برای ذخیره داده‌ها بین جلسات متصل است.

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

810ae08acb671f4c.png

در این آزمایشگاه شما از IDE مبتنی بر مرورگر استفاده می‌کنید، اما ایستگاه‌های کاری ابری از دیگر رابط‌های توسعه رایج نیز پشتیبانی می‌کنند:

  • شما می توانید از طریق JetBrains Gateway از IDE های JetBrains محلی خود استفاده کنید
  • اگر از VSCode محلی استفاده می‌کنید، می‌توانید از طریق SSH به ایستگاه‌های کاری خود برای توسعه از راه دور نیز دسترسی داشته باشید.
  • شما همچنین می توانید تونل های SSH و حتی TCP را در ایستگاه کاری خود از دستگاه محلی خود راه اندازی کنید

fc95816682f1e3b0.png

(بخش اختیاری) خوشه ایستگاه های کاری را ایجاد کنید

این مراحل در طول راه اندازی آزمایشگاه اجرا شدند - نیازی به اجرای آنها ندارید.

این مراحل برای نشان دادن نحوه تنظیم Cloud Workstations Cluster، Configuration و Workstation گنجانده شده است.

این بخش را مرور کنید و به بخش Forge Platform بروید.

ایجاد خوشه ایستگاه های کاری:

gcloud workstations clusters create ws-cluster --region=us-central1

ایجاد تنظیمات ایستگاه های کاری

gcloud workstations configs create devai-config \
--cluster=ws-cluster \
--machine-type=e2-standard-8 \
--region=us-central1 \
--running-timeout=21600 \
--idle-timeout=1800 \
--container-predefined-image=codeoss \
--pd-disk-size=200 \
--pd-disk-type=pd-standard \
--service-account=$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com \
--pool-size=1

ایجاد ایستگاه کاری

gcloud workstations create devai-workstation \
--cluster=ws-cluster \
--config=devai-config \
--region=us-central1

ایستگاه های کاری موجود را در Cloud Console مشاهده کنید. " devai-workstation " را شروع و راه اندازی کنید.

e44784811890cfc8.png

" Gemini " را در گوشه سمت راست پایین فعال کنید، جریان ورود به سیستم را در برگه مرورگر جدید دنبال کنید و کد تولید شده را دوباره در کنسول کپی کنید تا ورود به سیستم کامل شود.

چت « Gemini » را در پنل سمت چپ باز کنید و از جمینی بپرسید:

" You are a Cloud Workstations Product Manager, tell me about Cloud Workstations ".

" You are Cloud Workstations Product Manager, Can I create my custom Cloud Workstations image with my company tools so new developers can onboard in minutes? ".

8c3af1ad4e612f15.png

(پایان بخش اختیاری)

13. سکوی فورج

Forge پلتفرمی است که به توسعه دهندگان این امکان را می دهد تا برنامه هایی بسازند که با محصولات Atlassian مانند Jira، Confluence، Compass و Bitbucket یکپارچه شوند.

eda6f59ff15df25e.png

Forge CLI را نصب کنید

دستورات زیر را در ترمینال اجرا کنید.

Node Version Manager ( nvm ) را دانلود کنید و آن را در مسیر در جلسه ترمینال فعلی در دسترس قرار دهید.

cd ~/github/genai-for-developers

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash


export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

nvm را نصب کنید.

آخرین نسخه Node.js LTS را با اجرای موارد زیر در ترمینال انتخاب کنید:

nvm install --lts
nvm use --lts

Forge CLI را با اجرای:

npm install -g @forge/cli

برای این آزمایشگاه، از متغیرهای محیطی برای ورود استفاده خواهیم کرد.

e4e4e59cf8622e3f.png

راه اندازی پروژه JIRA

از حساب شخصی خود برای ایجاد/مشاهده پروژه های JIRA استفاده کنید.

پروژه های JIRA موجود خود را مرور کنید: https://admin.atlassian.com/

با استفاده از حساب شخصی خود یک پروژه جدید JIRA ایجاد کنید.

به https://team.atlassian.com/your-work بروید و کلیک کنید 8654143154cb8665.png و سپس انتخاب کنید 47b253090a08932.png . پس از آن، "JIRA Software" - "Try it now" را انتخاب کنید. برای تکمیل ساخت پروژه/سایت، دستورات را دنبال کنید.

5bab2a96e3b81383.png

نرم افزار JIRA را انتخاب کنید.

785bc4d8bf920403.png

یک پروژه جدید ایجاد کنید.

8a6e7cdc8224ffa0.png

14. توکن Atlassian API

یک نشانه Atlassian API برای ورود به CLI ایجاد یا استفاده کنید.

CLI هنگام اجرای دستورات از رمز شما استفاده می کند.

  1. به https://id.atlassian.com/manage/api-tokens بروید.
  2. روی ایجاد نشانه API کلیک کنید.
  3. یک برچسب برای توصیف نشانه API خود وارد کنید. مثلا forge-api-token.
  4. روی ایجاد کلیک کنید.
  5. روی Copy to clipboard کلیک کنید و کادر گفتگو را ببندید.

دستور زیر را در ترمینال Cloud Workstations اجرا کنید.

برای شروع استفاده از دستورات 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

بررسی کنید که در پوشه " ~/github/genai-for-developers " هستید.

برای ایجاد یک برنامه Forge دستور را اجرا کنید.

forge create

در صورت درخواست از مقادیر زیر استفاده کنید:

  • نام برنامه: devai-jira-ui-qwiklabs
  • یک دسته را انتخاب کنید: UI Kit
  • انتخاب یک محصول: Jira
  • یک الگو را انتخاب کنید: jira-issue-panel

bc94e2da059f15cf.png

به پوشه برنامه تغییر دهید.

cd devai-jira-ui-qwiklabs/

دستور استقرار را اجرا کنید.

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 بررسی کنید.

88f6dd543827543.png

مشاهده سیاهههای مربوط به جعل باطن.

forge logs

کنسول توسعه دهنده Atlassian

همچنین می‌توانید برنامه‌های مستقر شده را در Atlassian Developer Console مشاهده و مدیریت کنید.

6a0e6ea177054fe6.png

بررسی گزارش‌ها - تغییر به محیط Development ،

56a7f74de6d2a01d.png

مانیفست برنامه Forge و کد منبع را مرور کنید

فایل " devai-jira-ui-qwiklabs/manifest.yml " را باز کنید و از Gemini Code Assist برای توضیح آن استفاده کنید.

4a4377922ab9a927.png

توضیح بررسی

5dd53138212dc686.png

فایل های زیر را باز کنید و از Gemini Code Assist بخواهید که آنها را توضیح دهد:

  • devai-jira-ui-qwiklabs/src/frontend/index.jsx
  • devai-jira-ui-qwiklabs/src/resolvers/index.js

c99f48a5bf624501.png

برنامه 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

با اجرای دستور زیر تایید کنید:

forge variables list

خروجی نمونه

fb337c19c9009ac5.png

مانیفست و کد برنامه 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/generate # replace with YOUR CLOUD RUN URL

باز کردن فایل Resolvers/index در ویرایشگر: devai-jira-ui-qwiklabs/src/resolvers/index.js

خطوط زیر را بعد از تابع getText موجود اضافه کنید.

resolver.define('getApiKey', (req) => {
  return process.env.LLM_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 apiKey = 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 genAI = new GoogleGenerativeAI(apiKey);
    // const model = genAI.getGenerativeModel({ model: "gemini-pro"});
    // const prompt = `You are principal software engineer at Google and given requirements below to implement.\nPlease provide implementation details and documentation.\n\nREQUIREMENTS:\n\n${data.fields.description}`
    // const result = await model.generateContent(prompt);
    // const text = result.response.text();
    // const jsonText = JSON.stringify(text);

    const bodyGenerateData = `{"prompt": ${JSON.stringify(data.fields.description)}}`;

    const generateRes = await api.fetch(devAIApiUrl+'/generate',
      {
        body: bodyGenerateData,
        method: 'post',
        headers: { 'Content-Type': 'application/json' },
      }
    )


    const resData = await generateRes.text();
    const jsonText = JSON.stringify(resData);

    const bodyData = `{
      "body": ${jsonText}
    }`;

    console.log("bodyData", bodyData)
    // Add Gemini response as a comment on the JIRA issue
    await requestJira(`/rest/api/2/issue/${issueId}/comment`, {
      method: 'POST',
      headers: {
        'Accept': 'application/json',
        'Content-Type': 'application/json'
      },
      body: bodyData
    });
    // 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

استقرار برنامه به روز شده:

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

ef17c7da9b2962d8.png

خروجی نمونه:

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 خود ایجاد کنید.

اگر پنل قبلی اضافه شده باشد، باید آن را حذف کنید.

روی « ... » کلیک کنید و از منوی حذف را انتخاب کنید. پس از آن، می توانید دوباره بر روی دکمه کلیک کنید.

1adca6205af0f0c6.png

نظرات جیرا را بررسی کنید

پس از دریافت پاسخ از DEVAI API، دو نظر در مورد JIRA اضافه خواهد شد.

  • درخواست ادغام GitLab
  • جزئیات پیاده سازی داستان کاربر Gemini

برای تازه کردن نما، بین برگه‌های « History » و « Comments » جابه‌جا شوید.

e3f38114330d504f.png

ایجاد درخواست ادغام GitLab را فعال کنید

فایل devai-api/app/routes.py را باز کنید و خطوط زیر را از نظر خارج کنید به روش generate_handler :

print(f"{response.text}\n")

    # resp_text = response.candidates[0].content.parts[0].text

    # pr_prompt = f"""Create GitLab merge request using provided details below.
    # Create new files, commit them and push them to opened merge request.
    # When creating new files, remove the lines that start with ``` before saving the files.

    # DETAILS: 
    # {resp_text}
    # """

    # print(pr_prompt)
    # agent.invoke(pr_prompt)

Redeploy برنامه Cloud Run

بررسی کنید که در پوشه مناسب هستید.

cd ~/github/genai-for-developers/devai-api

اگر از همان جلسه ترمینال استفاده می کنید، ممکن است همه متغیرهای محیطی هنوز تنظیم شده باشند.

با اجرای " echo $GITLAB_REPOSITORY " در ترمینال آن را بررسی کنید.

اگر جلسه ترمینال جدیدی باز شد، این مراحل را دنبال کنید تا آنها را بازنشانی کنید.

قبل از استقرار مجدد برنامه، مطمئن شوید که متغیرهای محیط مورد نیاز را بازنشانی کنید.

این دستور از شما می خواهد که نام کاربری و نام مخزن GitLab خود را به روز کنید.

export GITLAB_REPOSITORY="USERID/REPOSITORY"

بقیه متغیرهای محیط را تنظیم کنید:

export GITLAB_URL="https://gitlab.com"
export GITLAB_BRANCH="devai"
export GITLAB_BASE_BRANCH="main"

export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_ENDPOINT="https://api.smith.langchain.com"

export LOCATION=us-central1
export REPO_NAME=devai-api
export SERVICE_NAME=devai-api
export PROJECT_ID=$(gcloud config get-value project)

export JIRA_USERNAME="YOUR-EMAIL"
export JIRA_INSTANCE_URL="https://YOUR-JIRA-PROJECT.atlassian.net"
export JIRA_PROJECT_KEY="YOUR-JIRA-PROJECT-KEY"

جعبه ابزار GitLab از شاخه " devai " برای فشار دادن تغییرات برای درخواست ادغام استفاده خواهد کرد.

بررسی کنید که قبلاً آن شعبه را ایجاد کرده اید.

استقرار برنامه در Cloud Run

gcloud beta 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 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" \
  --min-instances=1 \
  --max-instances=3 \
  --service-min-instances=1

ادغام پایان به انتها را تأیید کنید

با کلیک مجدد روی دکمه، فرآیند را از کار JIRA شروع کنید و خروجی را در مخزن GitLab، در بخش درخواست Merge و LangSmith تأیید کنید.

جزئیات درخواست ادغام GitLab.

1cd438a10b4ce2b3.png

db6dc6c9a46e8f7b.png

ردیابی لانگ اسمیت LLM

پورتال LangSmith را باز کنید و ردیابی LLM را برای فراخوان ایجاد شماره JIRA بررسی کنید.

نمونه ردیابی LangSmith LLM.

1ae0f88ab885f69.png

GitLab Toolkit شاخه‌های جدیدی ایجاد نمی‌کند و اگر می‌خواهید فرآیند را دوباره اجرا کنید، باید به صورت دستی کارهای زیر را انجام دهید.

  • بستن درخواست ادغام در GitLab
  • شعبه " devai " موجود در مخزن GitLab را حذف کنید و سپس یک شاخه جدید ایجاد کنید.

(بخش اختیاری) تغییرات خود را به مخزن GitHub فشار دهید

به وب سایت GitHub بروید و یک مخزن جدید ایجاد کنید تا تغییرات مربوط به این آزمایشگاه را در مخزن شخصی خود اعمال کنید.

به نمونه Cloud Workstations برگردید و نام کاربری و ایمیل 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 ~/github/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

15. تبریک می گویم!

تبریک می گویم، شما آزمایشگاه را تمام کردید!

آنچه ما پوشش داده ایم:

  • نحوه استقرار برنامه های Cloud Run برای ادغام با API های Gemini.
  • نحوه ایجاد و استقرار برنامه Atlassian Forge برای JIRA.
  • نحوه استفاده از LangChain ReAct Agents برای اتوماسیون وظایف GitLab.
  • نحوه بررسی ردیابی های LLM در LangSmith.

بعدش چیه:

  • جلسات عملی بیشتری در راه است!

پاک کن

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

حذف پروژه

ساده ترین راه برای حذف صورتحساب، حذف پروژه ای است که برای آموزش ایجاد کرده اید.

©2024 Google LLC همه حقوق محفوظ است. Google و لوگوی Google علائم تجاری Google LLC هستند. همه نام‌های شرکت و محصولات دیگر ممکن است علائم تجاری شرکت‌های مربوطه باشند که با آنها مرتبط هستند.