توسعه سریع داده محور با جعبه ابزار MCP برای AlloyDB با استفاده از Gemini CLI در Cloud Run

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

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

راه حل

این دقیقاً همان جایی است که قدرت توسعه برنامه‌های کاربردی سریع می‌درخشد، و به همین دلیل است که من بسیار هیجان‌زده هستم که چگونه جعبه ابزار MCP (پلتفرم ابری مدرن) که از طریق Gemini CLI قابل دسترسی است، به بخشی ضروری از جعبه ابزار من تبدیل شده است. تصور کنید که به طور یکپارچه با نمونه AlloyDB خود تعامل داشته باشید، پرس و جوها را بنویسید و مجموعه داده خود را درک کنید - همه مستقیماً در محیط توسعه یکپارچه (IDE) شما. این فقط در مورد راحتی نیست. این در مورد کاهش اساسی اصطکاک در چرخه عمر توسعه است، که به شما امکان می دهد به جای مبارزه با ابزارهای خارجی، بر ساخت ویژگی های نوآورانه تمرکز کنید.

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

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

یک برنامه جستجوی خرده فروشی با استفاده از جعبه ابزار MCP در IDE، که توسط Gemini CLI طراحی شده است. پوشش خواهیم داد:

  1. نحوه ادغام جعبه ابزار MCP به طور مستقیم در IDE خود برای تعامل بدون درز AlloyDB.
  2. نمونه های عملی استفاده از Gemini CLI برای نوشتن و اجرای پرس و جوهای SQL در برابر داده های خرده فروشی شما.
  3. از Gemini CLI برای تعامل با مجموعه داده‌های تجارت الکترونیک خرده‌فروشی ما، نوشتن پرس و جوهایی که معمولاً به ابزارهای جداگانه نیاز دارند و فوراً نتایج را مشاهده می‌کنید، استفاده کنید.
  4. راه‌های جدیدی برای بررسی و درک داده‌ها - از بررسی ساختارهای جدول گرفته تا انجام بررسی‌های سریع سلامت داده‌ها - از طریق رابط‌های خط فرمان آشنا در IDE ما کشف کنید.
  5. چگونه این گردش کار پایگاه داده شتاب یافته به طور مستقیم به چرخه های توسعه سریعتر فول استک کمک می کند و امکان نمونه سازی و تکرار سریع را فراهم می کند.

Techstack

ما استفاده می کنیم:

  • AlloyDB برای پایگاه داده
  • جعبه ابزار MCP برای انتزاع ویژگی های پیشرفته تولیدی و هوش مصنوعی پایگاه های داده از برنامه
  • Cloud Run برای استقرار بدون سرور.
  • Gemini CLI برای درک و تجزیه و تحلیل مجموعه داده ها و ساخت بخش پایگاه داده از برنامه تجارت الکترونیک خرده فروشی.

الزامات

  • مرورگری مانند کروم یا فایرفاکس
  • یک پروژه Google Cloud با فعال کردن صورت‌حساب.

2. قبل از شروع

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

  1. در Google Cloud Console ، در صفحه انتخاب پروژه، یک پروژه Google Cloud را انتخاب یا ایجاد کنید.
  2. مطمئن شوید که صورتحساب برای پروژه Cloud شما فعال است. با نحوه بررسی فعال بودن صورت‌حساب در پروژه آشنا شوید.

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

  1. شما از Cloud Shell ، یک محیط خط فرمان که در Google Cloud اجرا می شود، استفاده خواهید کرد. روی Activate Cloud Shell در بالای کنسول Google Cloud کلیک کنید.

تصویر دکمه Cloud Shell را فعال کنید

  1. پس از اتصال به Cloud Shell، با استفاده از دستور زیر بررسی می‌کنید که قبلاً احراز هویت شده‌اید و پروژه به ID پروژه شما تنظیم شده است:
gcloud auth list
  1. دستور زیر را در Cloud Shell اجرا کنید تا تأیید کنید که دستور gcloud از پروژه شما اطلاع دارد.
gcloud config list project
  1. اگر پروژه شما تنظیم نشده است، از دستور زیر برای تنظیم آن استفاده کنید:
gcloud config set project <YOUR_PROJECT_ID>
  1. فعال کردن API های مورد نیاز: پیوند را دنبال کنید و API ها را فعال کنید.

همچنین می توانید از دستور gcloud برای این کار استفاده کنید. برای دستورات و استفاده از gcloud به اسناد مراجعه کنید.

3. راه اندازی پایگاه داده

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

بیایید یک خوشه، نمونه و جدول AlloyDB ایجاد کنیم که مجموعه داده تجارت الکترونیک در آن بارگذاری شود.

یک خوشه و نمونه ایجاد کنید

  1. صفحه AlloyDB را در Cloud Console پیمایش کنید. یک راه آسان برای یافتن بیشتر صفحات در Cloud Console این است که آنها را با استفاده از نوار جستجوی کنسول جستجو کنید.
  2. CREATE CLUSTER را از آن صفحه انتخاب کنید:

f76ff480c8c889aa.png

  1. صفحه ای مانند تصویر زیر خواهید دید. یک خوشه و نمونه با مقادیر زیر ایجاد کنید (مطمئن شوید که مقادیر مطابقت دارند در صورتی که کد برنامه را از مخزن شبیه سازی می کنید):
  • cluster id : " vector-cluster "
  • رمز عبور : " alloydb "
  • PostgreSQL 15 / آخرین توصیه شده است
  • منطقه : " us-central1 "
  • شبکه سازی : " default "

538dba58908162fb.png

  1. وقتی شبکه پیش‌فرض را انتخاب می‌کنید، صفحه‌ای مانند تصویر زیر خواهید دید.

SET UP CONECTION را انتخاب کنید.

7939bbb6802a91bf.png

  1. از آنجا، « استفاده از محدوده IP خودکار اختصاص داده شده » را انتخاب کنید و ادامه دهید. پس از بررسی اطلاعات، CREATE CONNECTION را انتخاب کنید. 768ff5210e79676f.png
  2. هنگامی که شبکه شما راه اندازی شد، می توانید به ایجاد خوشه خود ادامه دهید. روی CREATE CLUSTER کلیک کنید تا راه اندازی خوشه مطابق شکل زیر کامل شود:

e06623e55195e16e.png

نکته مهم:

  1. مطمئن شوید که شناسه نمونه (که می توانید در زمان پیکربندی خوشه / نمونه پیدا کنید) را به ** vector-instance ** تغییر دهید. اگر نمی توانید آن را تغییر دهید، به یاد داشته باشید که **از شناسه نمونه خود** در همه مراجع بعدی استفاده کنید.
  2. توجه داشته باشید که ایجاد Cluster حدود 10 دقیقه طول خواهد کشید. پس از موفقیت آمیز بودن، باید صفحه ای را ببینید که نمای کلی خوشه شما را که به تازگی ایجاد کرده اید نشان می دهد.

4. بلع داده ها

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

847e35f1bf8a8bd8.png

ممکن است لازم باشد منتظر بمانید تا ایجاد نمونه شما به پایان برسد. پس از آن، با استفاده از اعتبارنامه هایی که هنگام ایجاد کلاستر ایجاد کردید، وارد AlloyDB شوید. از داده های زیر برای احراز هویت در PostgreSQL استفاده کنید:

  • نام کاربری: " postgres "
  • پایگاه داده: " postgres "
  • رمز عبور: " alloydb "

هنگامی که با موفقیت در AlloyDB Studio احراز هویت شدید، دستورات SQL در ویرایشگر وارد می شوند. می‌توانید چندین پنجره ویرایشگر را با استفاده از علامت مثبت در سمت راست آخرین پنجره اضافه کنید.

91a86d9469d499c4.png

در صورت لزوم با استفاده از گزینه‌های Run، Format و Clear، دستورات AlloyDB را در پنجره‌های ویرایشگر وارد می‌کنید.

برنامه های افزودنی را فعال کنید

برای ساخت این برنامه از پسوندهای pgvector و google_ml_integration استفاده خواهیم کرد. پسوند pgvector به شما امکان می دهد جاسازی های برداری را ذخیره و جستجو کنید. پسوند google_ml_integration توابعی را ارائه می دهد که شما برای دسترسی به نقاط پایانی پیش بینی هوش مصنوعی Vertex برای دریافت پیش بینی در SQL استفاده می کنید. با اجرای DDL های زیر این افزونه ها را فعال کنید :

CREATE EXTENSION IF NOT EXISTS google_ml_integration CASCADE;
CREATE EXTENSION IF NOT EXISTS vector;

اگر می خواهید افزونه هایی را که در پایگاه داده شما فعال شده اند بررسی کنید، این دستور SQL را اجرا کنید:

select extname, extversion from pg_extension;

یک جدول ایجاد کنید

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

CREATE TABLE apparels ( 
  id BIGINT, 
  category VARCHAR(100), 
  sub_category VARCHAR(50), 
  uri VARCHAR(200), 
  gsutil_uri VARCHAR(200),
  image VARCHAR(100), 
  content VARCHAR(2000), 
  pdt_desc VARCHAR(5000), 
  color VARCHAR(2000),
  gender VARCHAR(200),
  embedding vector(768),
  img_embeddings vector(1408),
  additional_specification VARCHAR(100000));

ستون جاسازی اجازه ذخیره سازی مقادیر برداری متن را می دهد.

اعطای مجوز

دستور زیر را اجرا کنید تا در تابع "embedding" اجرا شود:

GRANT EXECUTE ON FUNCTION embedding TO postgres;

ROLE کاربر Vertex AI را به حساب سرویس AlloyDB اعطا کنید

از کنسول Google Cloud IAM ، به حساب سرویس AlloyDB (که به نظر می رسد: service-<<PROJECT_NUMBER>>@gcp-sa-alloydb.iam.gserviceaccount.com) به نقش "کاربر Vertex AI" اجازه دسترسی دهید. PROJECT_NUMBER شماره پروژه شما را خواهد داشت.

یا می توانید دستور زیر را از ترمینال Cloud Shell اجرا کنید:

PROJECT_ID=$(gcloud config get-value project)


gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:service-$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")@gcp-sa-alloydb.iam.gserviceaccount.com" \
--role="roles/aiplatform.user"

بارگذاری داده ها در پایگاه داده

  1. عبارات insert query را از insert scripts sql در برگه به ​​موارد ذکر شده در بالا در ویرایشگر کپی کنید. شما می توانید 10-50 عبارت insert را برای نمایش سریع این مورد استفاده کپی کنید. یک لیست انتخاب شده از درج ها در این برگه "درج های انتخابی 25-30 ردیف" وجود دارد .
  2. روی Run کلیک کنید. نتایج جستجوی شما در جدول نتایج ظاهر می شود.

نکته مهم:

مطمئن شوید که فقط 25 تا 50 رکورد را برای درج کپی کنید و مطمئن شوید که از طیفی از دسته، زیر دسته، رنگ، انواع جنسیت است.

5. برای داده ها Embeddings ایجاد کنید

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

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

ستون جاسازی اجازه ذخیره سازی مقادیر برداری متن توضیحات محصول را می دهد. ستون img_embeddings امکان ذخیره سازی جاسازی های تصویر (چند وجهی) را فراهم می کند. به این ترتیب شما همچنین می توانید از متن در برابر جستجو بر اساس فاصله تصویر استفاده کنید. اما ما فقط از جاسازی متن در این آزمایشگاه استفاده خواهیم کرد.

SELECT embedding('text-embedding-005', 'AlloyDB is a managed, cloud-hosted SQL database service.');

این باید بردار embeddings را که شبیه آرایه ای از شناورها است، برای متن نمونه در پرس و جو برگرداند. به نظر می رسد این است:

25a1d7ef0e49e91e.png

فیلد abstract_embeddings Vector را به روز کنید

DML زیر را برای به روز رسانی توضیحات محتوا در جدول با جاسازی های مربوطه اجرا کنید:

UPDATE apparels SET embedding = embedding('text-embedding-005',pdt_desc)::vector 
WHERE pdt_desc IS NOT NULL;

اگر از یک حساب صورت‌حساب اعتبار آزمایشی برای Google Cloud استفاده می‌کنید، ممکن است در ایجاد بیش از چند جاسازی (مثلاً حداکثر 20 تا 25) مشکل داشته باشید. بنابراین تعداد ردیف ها را در اسکریپت درج محدود کنید.

اگر می‌خواهید جاسازی‌های تصویری (برای انجام جستجوی متنی چندوجهی) ایجاد کنید، به‌روزرسانی زیر را نیز اجرا کنید:

update apparels set img_embeddings = ai.image_embedding(
  model_id => 'multimodalembedding@001',
  image => gsutil_uri,
  mimetype => 'image/jpg')       
where gsutil_uri is not null

6. جعبه ابزار MCP برای پایگاه های داده (AlloyDB)

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

جعبه ابزار MCP (Model Context Protocol) برای پایگاه‌های داده، ادغام ابزارهای Generative AI و Agentic با AlloyDB را ساده می‌کند. این به عنوان یک سرور منبع باز عمل می کند که ادغام اتصال، احراز هویت، و قرار گرفتن در معرض امن عملکردهای پایگاه داده را در برابر عوامل هوش مصنوعی یا سایر برنامه ها ساده می کند.

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

مراحل زیر را برای راه‌اندازی دنبال کنید، جعبه ابزار را برای مورد استفاده ما مستقر کنید:

می بینید که یکی از پایگاه های داده پشتیبانی شده توسط MCP Toolbox for Databases، AlloyDB است و از آنجایی که قبلاً در قسمت قبل آن را ارائه کرده ایم، بیایید جلو برویم و Toolbox را راه اندازی کنیم.

  1. به ترمینال Cloud Shell خود بروید و مطمئن شوید که پروژه شما انتخاب شده و در اعلان ترمینال نشان داده شده است. دستور زیر را از ترمینال Cloud Shell خود اجرا کنید تا به فهرست پروژه خود بروید:
mkdir gemini-cli-project

cd gemini-cli-project
  1. دستور زیر را برای دانلود و نصب جعبه ابزار در پوشه جدید خود اجرا کنید:
# see releases page for other versions
export VERSION=0.7.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox

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

  1. به ویرایشگر پوسته ابری (برای حالت ویرایش کد) بروید و در پوشه ریشه پروژه "gemini-cli-project"، فایلی به نام "tools.yaml" اضافه کنید.
sources:
    alloydb:
        kind: "alloydb-postgres"
        project: "<<YOUR_PROJECT_ID>>"
        region: "us-central1"
        cluster: "vector-cluster"
        instance: "vector-instance"
        database: "postgres"
        user: "postgres"
        password: "alloydb"


tools:
   get-apparels:
    kind: postgres-sql
    source: alloydb
    description: Get all apparel data.
    statement: |
      select id, content, uri, category, sub_category,color,gender from apparels;

بیایید tools.yaml را بفهمیم:

منابع نشان دهنده منابع داده های مختلف شما هستند که یک ابزار می تواند با آنها تعامل داشته باشد. یک منبع منبع داده ای را نشان می دهد که یک ابزار می تواند با آن تعامل داشته باشد. می توانید Sources را به عنوان نقشه در قسمت sources فایل tools.yaml خود تعریف کنید. به طور معمول، یک پیکربندی منبع حاوی اطلاعات مورد نیاز برای اتصال و تعامل با پایگاه داده است.

ابزارها اقداماتی را که یک عامل می تواند انجام دهد را تعریف می کند - مانند خواندن و نوشتن برای یک منبع. یک ابزار عملکردی را نشان می دهد که نماینده شما می تواند انجام دهد، مانند اجرای یک دستور SQL. می توانید Tools را به عنوان نقشه در قسمت tools فایل tools.yaml خود تعریف کنید. به طور معمول، یک ابزار برای عمل کردن به یک منبع نیاز دارد.

برای جزئیات بیشتر در مورد پیکربندی tools.yaml خود، به این مستندات مراجعه کنید.

همانطور که در فایل Tools.yaml بالا می بینید، ابزار "get-apparels" تمام جزئیات پوشاک را از پایگاه داده فهرست می کند.

7. Gemini CLI را راه اندازی کنید

از Cloud Shell Editor، یک پوشه جدید به نام .gemini در داخل پوشه gemini-cli-project ایجاد کنید و یک فایل جدید به نام settings.json در آن ایجاد کنید.

{
  "mcpServers": {
"AlloyDBServer": {
  "command": "/home/user/gemini-cli-project/toolbox",
  "args": ["--tools-file", "tools.yaml", "--stdio"]
}
  }
}

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

Gemini CLI را نصب کنید

در نهایت از Cloud Shell Terminal، بیایید Gemini CLI را در همان دایرکتوری gemini-cli-project با اجرای دستور نصب کنیم:

sudo npm install -g @google/gemini-cli

شناسه پروژه خود را تنظیم کنید

مطمئن شوید که شناسه پروژه فعال در محیط تنظیم شده است:

export GOOGLE_CLOUD_PROJECT=<<YOUR_PROJECT_ID>>

با Gemini CLI شروع کنید

از خط فرمان، دستور را وارد کنید:

gemini

شما باید بتوانید پاسخی شبیه به زیر ببینید:

94f16dd7b5e2ca77.png

احراز هویت و به مرحله بعد ادامه دهید.

8. شروع به تعامل با Gemini CLI کنید

از دستور /mcp برای فهرست کردن سرورهای MCP پیکربندی شده استفاده کنید.

83e1c54ec68add5c.png

شما باید بتوانید 2 سرور MCP را که ما پیکربندی کرده ایم مشاهده کنید: GitHub و جعبه ابزار MCP برای پایگاه های داده همراه با ابزارهای آنها فهرست شده اند.

84b59c3027d370e2.png

در مورد من ابزارهای بیشتری دارم. پس فعلاً آن را نادیده بگیرید. باید ابزار get-apparels را در سرور AlloyDB MCP خود ببینید.

پرس و جو از پایگاه داده را از طریق جعبه ابزار MCP شروع کنید

اکنون برای واکشی پاسخ‌ها و پرسش‌های مربوط به مجموعه داده‌ای که با آن کار می‌کنیم، سؤالات زبان طبیعی بپرسید:

> How many types of genders the apparel dataset has?

ae24caa625ef871b.png

> Give me the SQL that I can use to find the number of apparels that are footwear 

b75da65679031c7.png

> What are the unique sub categories that are there?
that I can use to find the number of apparels that are footwear 

c04fd9e113a4ed95.png

حالا بیایید بگوییم بر اساس بینش من و بسیاری از سؤالات این چنینی، من به یک سؤال دقیق رسیدم و می خواهم آن را آزمایش کنم. یا فرض کنید مهندسان پایگاه داده قبلاً Tools.yaml را به صورت زیر برای شما ساخته اند:

sources:
    alloydb:
        kind: "alloydb-postgres"
        project: "<<YOUR_PROJECT_ID>>"
        region: "us-central1"
        cluster: "vector-cluster"
        instance: "vector-instance"
        database: "postgres"
        user: "postgres"
        password: "alloydb"

tools:
   get-apparels:
    kind: postgres-sql
    source: alloydb
    description: Get all apparel data.
    statement: |
      select id, content, uri, category, sub_category,color,gender from apparels;

   filtered-vector-search:
    kind: postgres-sql
    source: alloydb
    description: Get the list of facet filter values from the retail dataset.
    parameters:
      - name: categories
        type: array
        description: List of categories preferred by the user.
        items:
          name: category 
          type: string
          description: Category value. 
      - name: subCategories
        type: array
        description: List of sub-categories preferred by the user.
        items:
          name: subCategory 
          type: string
          description: Sub-Category value.
      - name: colors
        type: array
        description: List of colors preferred by the user.
        items:
          name: color 
          type: string
          description: Color value.
      - name: genders
        type: array
        description: List of genders preferred by the user for apparel fitting.
        items:
          name: gender 
          type: string
          description: Gender name.
      - name: searchtext
        type: string
        description: Description of the product that the user wants to find database matches for.    
    statement: |
      SELECT id, content, uri, category, sub_category,color,gender FROM apparels 
      where category = ANY($1) and sub_Category = ANY($2) and color = ANY($3) and gender = ANY($4)
      order by embedding <=> embedding('text-embedding-005',$5)::vector limit 10

حالا بیایید جستجوی زبان طبیعی را امتحان کنیم:

> How many yellow shirts are there for boys?

5c3890cf69e3dacb.png

4ec79f49b2eaebbd.png

خیلی باحاله نه؟ اکنون می‌توانم فایل yaml را برای پیشرفت‌های بیشتر در جست‌وجوها تعمیر کنم، در حالی که به ارائه عملکردهای جدید در برنامه خود در یک جدول زمانی تسریع شده ادامه می‌دهم.

9. توسعه سریع برنامه

زیبایی وارد کردن قابلیت های پایگاه داده به طور مستقیم به IDE شما از طریق Gemini CLI و جعبه ابزار MCP فقط تئوری نیست. این به جریان‌های کاری ملموس و افزایش‌دهنده سرعت تبدیل می‌شود، به‌ویژه برای یک برنامه پیچیده مانند تجربه خرده‌فروشی ترکیبی ما. بیایید به چند سناریو نگاه کنیم:

1. تکرار سریع در منطق فیلتر کردن محصول

تصور کنید ما به تازگی یک تبلیغ جدید برای "لباس فعال تابستانی" راه اندازی کرده ایم. ما می خواهیم نحوه تعامل فیلترهای وجهی ما (به عنوان مثال، بر اساس مارک، اندازه، رنگ، محدوده قیمت) را با این دسته جدید آزمایش کنیم.

بدون ادغام IDE:

احتمالاً به یک کلاینت SQL جداگانه سوئیچ می‌کنم، درخواست خود را می‌نویسم، آن را اجرا می‌کنم، نتایج را تجزیه و تحلیل می‌کنم، برای تنظیم کد برنامه به IDE خود بازمی‌گردم، به کلاینت برمی‌گردم و تکرار می‌کنم. این تغییر متن یک مشکل بزرگ است.

با Gemini CLI & MCP:

من می توانم در IDE و موارد دیگر بمانم:

  • پرس و جو: من می توانم به سرعت پرس و جو را در yaml با (داده داده فرضی) "SELECT DISTINCT brand FROM products WHERE دسته = "پوشش فعال" و فصل = "تابستان"" به روز کنم و آن را مستقیماً در ترمینال خود امتحان کنم.
  • کاوش داده ها: مارک های بازگشتی را فوراً مشاهده کنید. اگر لازم است در دسترس بودن محصول را برای یک مارک و اندازه خاص ببینم، یک پرس و جو سریع دیگر است: "انتخاب تعداد(*) از محصولات WHERE brand = 'SummitGear' AND size = 'M' AND دسته = 'پوشاک فعال' و فصل = 'تابستان'"
  • یکپارچه‌سازی کد: سپس می‌توانم فوراً منطق فیلتر جلویی یا تماس‌های API پشتیبان را بر اساس این بینش‌های سریع داده درون IDE تنظیم کنم و حلقه بازخورد را به طور قابل توجهی کاهش دهم.

2. جستجوی بردار تنظیم دقیق برای توصیه های محصول

جستجوی ترکیبی ما برای توصیه‌های محصول مرتبط به جاسازی‌های برداری متکی است. فرض کنید شاهد کاهش نرخ کلیک برای توصیه‌های «کفش دویدن مردانه» هستیم.

بدون ادغام IDE:

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

با Gemini CLI & MCP:

  • تجزیه و تحلیل جاسازی‌ها: من می‌توانم مستقیماً برای جاسازی‌های محصول و فراداده‌های مرتبط با آن پرس و جو کنم: "شناسه محصول، نام، vector_embedding را از محصولات انتخاب کنید WHERE دسته = "کفش دویدن" و جنسیت = "مذکر" LIMIT 10"
  • ارجاع متقابل: من همچنین می‌توانم یک بررسی سریع از شباهت برداری واقعی بین یک محصول انتخابی و توصیه‌های آن در همانجا انجام دهم. به عنوان مثال، اگر محصول A به کاربرانی که محصول B را نگاه کرده اند توصیه می شود، می توانم یک پرس و جو برای بازیابی و مقایسه جاسازی های برداری آنها انجام دهم.
  • اشکال زدایی: این امکان را برای اشکال زدایی سریعتر و آزمایش فرضیه ها فراهم می کند. آیا مدل تعبیه شده مطابق انتظار رفتار می کند؟ آیا ناهنجاری هایی در داده ها وجود دارد که بر کیفیت توصیه تأثیر می گذارد؟ من می توانم پاسخ های اولیه را بدون ترک محیط برنامه نویسی خود دریافت کنم.

3. درک طرحواره و توزیع داده برای ویژگی های جدید

فرض کنید در حال برنامه ریزی برای اضافه کردن ویژگی "بررسی مشتریان" هستیم. قبل از نوشتن API پشتیبان، باید داده‌های مشتری موجود و نحوه ساختار بررسی‌ها را درک کنیم.

بدون ادغام IDE:

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

با Gemini CLI & MCP:

  • کاوش طرحواره: من به سادگی می توانم جدول موجود در فایل yaml را پرس و جو کنم و آن را مستقیماً در ترمینال اجرا کنم.
  • نمونه‌گیری داده: سپس می‌توانم داده‌های نمونه را برای درک اطلاعات جمعیتی مشتری و تاریخچه خرید جمع‌آوری کنم: "SELECT customer_id، نام، signup_date، total_orders FROM customers ORDER BY signup_date DESC LIMIT 5"
  • برنامه‌ریزی: این دسترسی سریع به طرح‌واره و توزیع داده‌ها به ما کمک می‌کند تا قبل از نوشتن یک خط کد برنامه برای ویژگی جدید، درباره نحوه طراحی جدول بررسی‌های جدید، چه کلیدهای خارجی و نحوه پیوند مؤثر نظرات به مشتریان و محصولات، تصمیم‌گیری آگاهانه بگیریم.

اینها فقط چند نمونه هستند، اما مزیت اصلی را برجسته می کنند: کاهش اصطکاک و افزایش سرعت توسعه دهنده. با وارد کردن تعامل AlloyDB به طور مستقیم به IDE، جعبه ابزار Gemini CLI و MCP به ما قدرت می‌دهد تا برنامه‌های بهتر و پاسخگوتر را سریع‌تر بسازیم.

10. پاکسازی کنید

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

  1. در کنسول Google Cloud، به صفحه مدیریت منابع بروید.
  2. در لیست پروژه، پروژه ای را که می خواهید حذف کنید انتخاب کنید و سپس روی Delete کلیک کنید.
  3. در محاوره، شناسه پروژه را تایپ کنید و سپس روی Shut down کلیک کنید تا پروژه حذف شود.
  4. از طرف دیگر، می‌توانید فقط خوشه AlloyDB را حذف کنید (اگر در زمان پیکربندی us-central1 را برای خوشه انتخاب نکرده‌اید، مکان را در این لینک تغییر دهید) که ما برای این پروژه با کلیک روی دکمه DELETE CLUSTER ایجاد کردیم.

11. تبریک می گویم

تبریک می گویم! شما با موفقیت جعبه ابزار MCP را مستقیماً در IDE خود برای تعامل یکپارچه AlloyDB ادغام کرده اید و از Gemini CLI برای تعامل با مجموعه داده های تجارت الکترونیک خرده فروشی ما برای نوشتن پرس و جوهایی استفاده کرده اید که معمولاً به ابزارهای جداگانه نیاز دارند. شما روش‌های جدیدی برای بررسی و درک داده‌ها - از بررسی ساختارهای جدول گرفته تا انجام بررسی‌های سریع سلامت داده‌ها - از طریق رابط‌های خط فرمان آشنا در IDE ما یاد گرفته‌اید.

ادامه دهید و مخزن را شبیه سازی کنید، تجزیه و تحلیل کنید و به من اطلاع دهید که آیا برنامه را با استفاده از Gemini CLI و جعبه ابزار MCP برای پایگاه داده بهبود داده اید.

برای اطلاعات بیشتر از این دست برنامه‌های مبتنی بر داده که با Gemini CLI، MCP ساخته شده‌اند و در زمان‌های اجرا بدون سرور مستقر شده‌اند، در فصل آینده Code Vipassana ما ثبت‌نام کنید، جایی که جلسات عملی مربی و آزمایشگاه‌های کد بیشتری را دریافت می‌کنید!!!