জেমিনি কোড অ্যাসিস্ট এন্টারপ্রাইজের সাথে কোড কাস্টমাইজেশন

1. আপনি শুরু করার আগে

এই কোডল্যাবটি দেখায় কিভাবে জেমিনি কোড অ্যাসিস্ট প্রস্তুত করতে হয় যাতে আপনার ব্যক্তিগত সংগ্রহস্থলের জন্য তৈরি করা কোড কাস্টমাইজেশন পরামর্শ প্রদান করা যায়। এটি কোড অ্যাসিস্টের ফলাফলগুলিকে উল্লেখযোগ্যভাবে আরও বেশি উপযোগী করে তুলতে পারে, বিশেষ করে সেই দলগুলির জন্য যাদের একই ধরনের কাজের জন্য নির্দিষ্ট নিয়ম রয়েছে যা প্রায়শই পুনরাবৃত্তি হয়। নিশ্চিন্ত থাকুন যে এই বৈশিষ্ট্যের জন্য আপনার ব্যক্তিগত কোডবেসগুলিকে সূচী করার অনুমতি দেওয়া জেমিনিকে আপনার ব্যক্তিগত কোডে ব্যাপকভাবে প্রশিক্ষণ দিতে সক্ষম করে না৷

একটি .aiexclude ফাইলের সাথে কোড কাস্টমাইজেশনের জন্য বিবেচনা থেকে সংবেদনশীল বা অপ্রাসঙ্গিক ফাইলগুলিকে কীভাবে বাদ দেওয়া যায় তাও আমরা আলোচনা করব৷

পূর্বশর্ত

  • জেমিনি কোড অ্যাসিস্টের একটি প্রাথমিক বোধগম্যতা, এবং এটি সক্ষম করা আছে এমন একটি প্রকল্পে অ্যাক্সেস
  • কোড কাস্টমাইজেশনের জন্য একটি সমর্থিত কোডিং ভাষার সাথে পরিচিতি
  • us-central1 বা europe-west1 এ সংস্থান তৈরি করার ক্ষমতা, কারণ কোড কাস্টমাইজেশনের জন্য সেই অবস্থানগুলিতে বিকাশকারী সংযোগের সংযোগ প্রয়োজন৷
  • একটি আপ টু ডেট, প্রমাণীকৃত Google Cloud CLI

আপনি কি শিখুন

  • জেমিনি কোড অ্যাসিস্ট এন্টারপ্রাইজে কোড কাস্টমাইজেশন কীভাবে ব্যবহার করবেন
  • অনেক ব্যবহারের ক্ষেত্রে একটি যেখানে কোড কাস্টমাইজেশন আপনার দলের সময় বাঁচাতে পারে

আপনার যা প্রয়োজন

  • একটি Google ক্লাউড প্রকল্প জেমিনি কোড সহায়তা সক্ষম করা হয়েছে৷
  • কাস্টমাইজেশন অনুরোধের জন্য সূচীতে একটি ব্যক্তিগত সংগ্রহস্থল
  • কাস্টমাইজেশন অনুরোধের জন্য কোড সূচী করার সময়। এটি 24 ঘন্টা পর্যন্ত সময় নিতে পারে
  • জেমিনি কোড অ্যাসিস্ট সহ একটি IDE ইনস্টল করা হয়েছে৷

2. প্রসঙ্গ

কোড কাস্টমাইজেশন চেষ্টা করার জন্য দুটি জিনিস প্রয়োজন:

  1. Gemini সক্ষম করে একটি Google ক্লাউড প্রকল্পে অ্যাক্সেস
  2. এবং মিথুনের প্রতিক্রিয়া জানাতে একটি ব্যক্তিগত সংগ্রহস্থল।

মিথুন সক্রিয় করা

সূচীতে মিথুনের জন্য সেরা প্রার্থী সংগ্রহস্থলগুলিতে এমন কোড থাকবে যা প্রায়শই আপনার সংস্থা জুড়ে পুনরায় ব্যবহার করা হয়। এই কোডল্যাবের জন্য প্রদত্ত নমুনা সংগ্রহস্থলে একটি স্ট্যান্ডার্ড স্প্রিং বুট ওয়েব পরিষেবা রয়েছে, যেখানে ডেটা ট্রান্সফার অবজেক্টের একটি ফোল্ডার রয়েছে যা এই মানদণ্ড পূরণ করে, যেহেতু একটি ডাটাবেসের প্রতিটি সত্তাকে উপস্থাপনা স্তরে স্থানান্তরিত করার জন্য একটি অনুরূপ শ্রেণী তৈরি করা হবে।

3. (ঐচ্ছিক) সংগ্রহস্থল সেটআপ

আপনি যদি নিজের ব্যক্তিগত একটির পরিবর্তে একটি উদাহরণ সংগ্রহস্থল ব্যবহার করতে চান, তাহলে আপনার পছন্দের টার্মিনাল সম্পাদক বা ক্লাউড শেল- এ নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করা যেতে পারে। কোড কাস্টমাইজেশনকে কার্যে দেখতে আমাদের সাহায্য করার জন্য একটি ব্যক্তিগত সংগ্রহস্থল তৈরি করে শুরু করুন:

mkdir customization-starter
cd customization-starter
curl https://start.spring.io/starter.zip -d dependencies=web,lombok \
           -d javaVersion=21 \
           -d type=maven-project \
           -d bootVersion=3.3.4 -o cc-starter.zip
unzip cc-starter.zip
rm cc-starter.zip
pushd src/main/java/com/example/demo
mkdir dtos
touch dtos/LedgerDTO.java

লেজারডিটিও ফাইলে নিম্নলিখিত যোগ করুন:

package com.example.demo.dtos;

import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

@Getter
@Setter
@Accessors(chain = true)
public class LedgerEntryDto {
    private Long id;
    private String accountName;
    private double amount;
    private String transactionType; 
    private String description;
    private java.util.Date transactionDate;
}

এটি দেখানোর জন্য যথেষ্ট হবে যে এই কোডবেসের অন্যান্য অবদানকারীরা যে অ্যাক্সেসরগুলি ব্যবহার করার আশা করবে সেগুলি কোড কাস্টমাইজেশন সক্ষম করে সঠিকভাবে তৈরি করা হবে৷

একটি নতুন সংগ্রহস্থল তৈরি করুন , এটি ব্যক্তিগত রেখে দেওয়ার যত্ন নিন। স্টার্টারটিকে আপনার নতুন সংগ্রহস্থলে পুশ করতে নীচের পদক্ষেপগুলি অনুসরণ করুন:

popd
gh auth login
git init
git add .
git commit -m "code customization starter"
git remote add origin git@github.com:<YOUR_GITHUB_ID>/customization-starter.git
git branch -M main
git push -u origin main

4. ফাইল বাদ

আপনার ব্যক্তিগত সংগ্রহস্থলগুলিতে জেমিনি অ্যাক্সেস দেওয়ার আগে, আপনার দল সূচীবদ্ধ হতে চায় না এমন অপ্রাসঙ্গিক বা সংবেদনশীল ফাইলগুলিকে কীভাবে বাদ দেওয়া যায় তা বোঝা গুরুত্বপূর্ণ৷ এটি অর্জনের জন্য একটি .aiexclude ফাইল ব্যবহার করা হয়, যা কিছু মূল পার্থক্য সহ একটি .gitignore এর মতো:

  • একটি খালি .aiexclude ফাইল তার ডিরেক্টরি এবং সমস্ত সাব-ডিরেক্টরির সমস্ত ফাইল ব্লক করে।
    • এটি একটি ফাইলের মতো যা **/* রয়েছে।
  • .aiexclude ফাইলগুলি নেগেটিভ সমর্থন করে না (এর সাথে প্রিফিক্সিং প্যাটার্ন ! )

এটি মাথায় রেখে, ফাইলের ধরন বা ডিরেক্টরিগুলি বিবেচনা করার চেষ্টা করুন যা আপনার দল বিবেচনা থেকে বাদ দিতে চায় এবং সেগুলিকে আলাদা লাইনে তালিকাভুক্ত করুন:

#Block all files with .key extensions
*.key

#Block all files under sensitive/dir
my/sensitive/dir/

#Block all .key files under sensitive/dir
my/sensitive/dir/ /.key

5. বিকাশকারী সংযোগ কনফিগার করুন

ডেভেলপার কানেক্ট হল সেই পরিষেবা যা গিটহাব বা গিটল্যাবে আপনার ব্যক্তিগত কোড রিপোজিটরিগুলিতে সংযোগ এবং লিঙ্কগুলিকে সহজতর করে৷ এটি সেই পদ্ধতি যা জেমিনি কোড অ্যাসিস্টকে আপনার ব্যক্তিগত সংগ্রহস্থলের সাথে নিরাপদে সংযোগ করতে, সূচক তৈরি করতে দেয় যা প্রতিক্রিয়াগুলি উন্নত করতে ব্যবহার করা হবে।

বিকাশকারী সংযোগ কীভাবে আপনার কোডে নিরাপদে অ্যাক্সেস প্রদান করে তা বুঝতে এই দুটি ধারণা সহায়ক:

সংযোগ

  • Google এবং তৃতীয় পক্ষের সোর্স কোড ম্যানেজমেন্ট প্ল্যাটফর্মের মধ্যে সেতুর প্রতিনিধিত্ব করে।

লিঙ্ক

  • একটি সংযুক্ত সোর্স কোড ম্যানেজমেন্ট প্ল্যাটফর্মের মধ্যে আপনি নির্বাচন করেন এমন একটি পৃথক সোর্স কোড সংগ্রহস্থলের সাথে অ্যাসোসিয়েশনের প্রতিনিধিত্ব করে৷

এই ধারণাগুলি মাথায় রেখে, আপনার প্রকল্পের জন্য API সক্ষম করতে বিকাশকারী সংযোগ পৃষ্ঠাতে নেভিগেট করে শুরু করুন৷

বিকাশকারী সংযোগ সক্ষম করা হচ্ছে৷

এরপরে, GitHub বা GitLab- এর জন্য একটি সংযোগ এবং লিঙ্ক তৈরি করতে উপযুক্ত পদক্ষেপগুলি অনুসরণ করুন। উইজার্ড প্রক্রিয়া চলাকালীন উভয় সংস্থান তৈরি করা হবে।

সংযোগ এবং লিঙ্ক তৈরি করা

প্রতিটি সংগ্রহস্থলের জন্য একটি লিঙ্ক তৈরি করতে এই পদক্ষেপগুলি পুনরাবৃত্তি করুন যা আপনি জেমিনির কোড কাস্টমাইজেশন বৈশিষ্ট্যটিকে এর প্রতিক্রিয়াগুলিতে বিবেচনা করতে চান৷ একাধিক সংগ্রহস্থল একই প্ল্যাটফর্ম থেকে আসলে আপনি বিদ্যমান সংযোগ পুনরায় ব্যবহার করতে পারেন।

6. সূচক তৈরি করুন এবং সংযুক্ত করুন

আপনার সংগ্রহস্থলগুলিকে দ্রুত পার্স এবং বিশ্লেষণ করার জন্য, কোড কাস্টমাইজেশন একটি সূচকের উপর নির্ভর করে। আপনি যে INDEX_NAME ব্যবহার করেন তা নোট করুন, যেহেতু একটি অগ্রগতির ধাপে আপনার এটির প্রয়োজন হবে৷

একটি সূচক তৈরি করতে, নিম্নলিখিত কমান্ডটি চালান:

gcloud gemini code-repository-indexes create <INDEX_NAME> \
    --project=<YOUR_PROJECT_ID> \
    --location=<REGION>

আপনি যদি কোন Invalid choice: ... ত্রুটি, নিশ্চিত করুন যে আপনার Google ক্লাউড CLI আপ টু ডেট আছে নিম্নলিখিত কমান্ডটি চালিয়ে:

gcloud components update

এর পরে, একটি সংগ্রহস্থল গোষ্ঠী তৈরি করে আপনার সূচকে অ্যাক্সেসের অনুমতি দিন:

gcloud gemini code-repository-indexes repository-groups create REPOSITORY_GROUP \
    --project=PROJECT_ID \
    --location=REGION \
    --code-repository-index=INDEX_NAME \
    --repositories='[{"resource": "projects/PROJECT_ID/locations/REGION/connections/INDEX_CONNECTION/gitRepositoryLinks/REPOSITORY", "branch_pattern": "BRANCH_NAMES"}]'

নিম্নলিখিত মান প্রতিস্থাপন:

  • REPOSITORY_GROUP: আপনি যে সংগ্রহস্থল গোষ্ঠীটি তৈরি করতে চলেছেন তার নাম৷
  • PROJECT_ID: আপনার Google ক্লাউড প্রকল্প আইডি।
  • INDEX_NAME: একটি সূচী তৈরি করার পূর্ববর্তী ধাপে আপনি যে সূচীর সংজ্ঞায়িত করেছেন তার নাম।
  • অঞ্চল: ডকুমেন্টেশনের তালিকা থেকে একটি সমর্থিত অঞ্চল, যা আপনি আপনার Google ক্লাউড প্রকল্পে বিকাশকারী সংযোগে কনফিগার করেছেন৷
  • INDEX_CONNECTION: একটি সূচী তৈরি করার জন্য একটি পূর্ববর্তী ধাপে আপনি যে সূচকটি তৈরি করেছেন তার সংযোগ৷
  • ভাণ্ডার: আপনি যে সংগ্রহস্থলটি সূচক করতে চান। আপনাকে অবশ্যই অন্তত একটি সংগ্রহস্থল নির্দিষ্ট করতে হবে, এবং প্রয়োজন অনুসারে আপনি একাধিক সংগ্রহস্থল নির্দিষ্ট করতে পারেন।
  • BRANCH_NAMES: আপনি যে শাখাগুলিকে সূচিত করতে চান তার নাম, যেমন প্রধান বা ডেভ।

আপনি যে রিপোজিটরিগুলিকে সূচীকরণ করতে চান এবং তাদের আকারের উপর নির্ভর করে, সামগ্রীর সূচীকরণে 24 ঘন্টা পর্যন্ত সময় লাগতে পারে৷ সূচীকরণ প্রতি 24 ঘন্টায় একবার হয়, সংগ্রহস্থলে করা যেকোন পরিবর্তনগুলি তুলে ধরে। আপনার সূচক তৈরির স্থিতি পরীক্ষা করতে আপনি এই পদক্ষেপগুলি উল্লেখ করতে পারেন:

ইনডেক্সিং স্ট্যাটাস সার্চ করা হচ্ছে

এবং অবশেষে, গ্রুপে পছন্দসই প্রধান অ্যাক্সেস মঞ্জুর করুন:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='PRINCIPAL' \
    --role='roles/cloudaicompanion.repositoryGroupsUser'

7. কাস্টমাইজড কোড তৈরি করুন

এখন যেহেতু মিথুনের আপনার ব্যক্তিগত সংগ্রহস্থলে কোডের অ্যাক্সেস রয়েছে, আমরা আমাদের কোড সমাপ্তির অনুরোধগুলিতে প্রাসঙ্গিক স্নিপেটগুলি দেখতে পাওয়ার আশা করতে পারি। আমাদের উদাহরণ সংগ্রহস্থলে, আমরা আমাদের ডিটিও ফোল্ডারে নেভিগেট করতে পারি, এবং যখন আমরা একটি নতুন অবজেক্টের প্রতিনিধিত্ব করার জন্য একটি নতুন ক্লাস তৈরি করি, আমরা টাইপ করার সাথে সাথে আপনি প্রত্যাশিত টীকাগুলি উপস্থিত হতে দেখতে পারেন:

তৈরি নমুনা

8. উপসংহার

এই কোডল্যাব সম্পূর্ণ করার জন্য অভিনন্দন! আপনি জেনেছেন কিভাবে Gemini Code Assist-এর কোড কাস্টমাইজেশন ফিচার ব্যবহার করতে হয়। এখন যেহেতু আপনার প্রতিক্রিয়াগুলি আপনার টিমের নির্দিষ্ট, ব্যক্তিগত কোডবেসের সাথে মানানসই করা যেতে পারে, প্রতিটি প্রম্পট এবং কোড সমাপ্তি আপনার দলের বিকাশকারীদের কাছে আরও মূল্যবান হবে।

আরও পড়ার জন্য এই অন্যান্য নথি এবং উপকরণগুলি নির্দ্বিধায় পর্যালোচনা করুন এবং IAM ভূমিকা সেট আপ করার মতো জিনিসগুলির জন্য সমর্থন করুন:

,

1. আপনি শুরু করার আগে

এই কোডল্যাবটি দেখায় কিভাবে জেমিনি কোড অ্যাসিস্ট প্রস্তুত করতে হয় যাতে আপনার ব্যক্তিগত সংগ্রহস্থলের জন্য তৈরি করা কোড কাস্টমাইজেশন পরামর্শ প্রদান করা যায়। এটি কোড অ্যাসিস্টের ফলাফলগুলিকে উল্লেখযোগ্যভাবে আরও বেশি উপযোগী করে তুলতে পারে, বিশেষ করে সেই দলগুলির জন্য যাদের একই ধরনের কাজের জন্য নির্দিষ্ট নিয়ম রয়েছে যা প্রায়শই পুনরাবৃত্তি হয়। নিশ্চিন্ত থাকুন যে এই বৈশিষ্ট্যের জন্য আপনার ব্যক্তিগত কোডবেসগুলিকে সূচী করার অনুমতি দেওয়া জেমিনিকে আপনার ব্যক্তিগত কোডে ব্যাপকভাবে প্রশিক্ষণ দিতে সক্ষম করে না৷

একটি .aiexclude ফাইলের সাথে কোড কাস্টমাইজেশনের জন্য বিবেচনা থেকে সংবেদনশীল বা অপ্রাসঙ্গিক ফাইলগুলিকে কীভাবে বাদ দেওয়া যায় তাও আমরা আলোচনা করব৷

পূর্বশর্ত

  • জেমিনি কোড অ্যাসিস্টের একটি প্রাথমিক বোধগম্যতা, এবং এটি সক্ষম করা আছে এমন একটি প্রকল্পে অ্যাক্সেস
  • কোড কাস্টমাইজেশনের জন্য একটি সমর্থিত কোডিং ভাষার সাথে পরিচিতি
  • us-central1 বা europe-west1 এ সংস্থান তৈরি করার ক্ষমতা, কারণ কোড কাস্টমাইজেশনের জন্য সেই অবস্থানগুলিতে বিকাশকারী সংযোগের সংযোগ প্রয়োজন৷
  • একটি আপ টু ডেট, প্রমাণীকৃত Google Cloud CLI

আপনি কি শিখুন

  • জেমিনি কোড অ্যাসিস্ট এন্টারপ্রাইজে কোড কাস্টমাইজেশন কীভাবে ব্যবহার করবেন
  • অনেক ব্যবহারের ক্ষেত্রে একটি যেখানে কোড কাস্টমাইজেশন আপনার দলের সময় বাঁচাতে পারে

আপনার যা প্রয়োজন

  • একটি Google ক্লাউড প্রকল্প জেমিনি কোড সহায়তা সক্ষম করা হয়েছে৷
  • কাস্টমাইজেশন অনুরোধের জন্য সূচীতে একটি ব্যক্তিগত সংগ্রহস্থল
  • কাস্টমাইজেশন অনুরোধের জন্য কোড সূচী করার সময়। এটি 24 ঘন্টা পর্যন্ত সময় নিতে পারে
  • জেমিনি কোড অ্যাসিস্ট সহ একটি IDE ইনস্টল করা হয়েছে৷

2. প্রসঙ্গ

কোড কাস্টমাইজেশন চেষ্টা করার জন্য দুটি জিনিস প্রয়োজন:

  1. Gemini সক্ষম করে একটি Google ক্লাউড প্রকল্পে অ্যাক্সেস
  2. এবং মিথুনের প্রতিক্রিয়া জানাতে একটি ব্যক্তিগত সংগ্রহস্থল।

মিথুন সক্রিয় করা

সূচীতে মিথুনের জন্য সেরা প্রার্থী সংগ্রহস্থলগুলিতে এমন কোড থাকবে যা প্রায়শই আপনার সংস্থা জুড়ে পুনরায় ব্যবহার করা হয়। এই কোডল্যাবের জন্য প্রদত্ত নমুনা সংগ্রহস্থলে একটি স্ট্যান্ডার্ড স্প্রিং বুট ওয়েব পরিষেবা রয়েছে, যেখানে ডেটা ট্রান্সফার অবজেক্টের একটি ফোল্ডার রয়েছে যা এই মানদণ্ড পূরণ করে, যেহেতু একটি ডাটাবেসের প্রতিটি সত্তাকে উপস্থাপনা স্তরে স্থানান্তরিত করার জন্য একটি অনুরূপ শ্রেণী তৈরি করা হবে।

3. (ঐচ্ছিক) সংগ্রহস্থল সেটআপ

আপনি যদি নিজের ব্যক্তিগত একটির পরিবর্তে একটি উদাহরণ সংগ্রহস্থল ব্যবহার করতে চান, তাহলে আপনার পছন্দের টার্মিনাল সম্পাদক বা ক্লাউড শেল- এ নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করা যেতে পারে। কোড কাস্টমাইজেশনকে কার্যে দেখতে আমাদের সাহায্য করার জন্য একটি ব্যক্তিগত সংগ্রহস্থল তৈরি করে শুরু করুন:

mkdir customization-starter
cd customization-starter
curl https://start.spring.io/starter.zip -d dependencies=web,lombok \
           -d javaVersion=21 \
           -d type=maven-project \
           -d bootVersion=3.3.4 -o cc-starter.zip
unzip cc-starter.zip
rm cc-starter.zip
pushd src/main/java/com/example/demo
mkdir dtos
touch dtos/LedgerDTO.java

লেজারডিটিও ফাইলে নিম্নলিখিত যোগ করুন:

package com.example.demo.dtos;

import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

@Getter
@Setter
@Accessors(chain = true)
public class LedgerEntryDto {
    private Long id;
    private String accountName;
    private double amount;
    private String transactionType; 
    private String description;
    private java.util.Date transactionDate;
}

এটি দেখানোর জন্য যথেষ্ট হবে যে এই কোডবেসের অন্যান্য অবদানকারীরা যে অ্যাক্সেসরগুলি ব্যবহার করার আশা করবে সেগুলি কোড কাস্টমাইজেশন সক্ষম করে সঠিকভাবে তৈরি করা হবে৷

একটি নতুন সংগ্রহস্থল তৈরি করুন , এটি ব্যক্তিগত রেখে দেওয়ার যত্ন নিন। স্টার্টারটিকে আপনার নতুন সংগ্রহস্থলে পুশ করতে নীচের পদক্ষেপগুলি অনুসরণ করুন:

popd
gh auth login
git init
git add .
git commit -m "code customization starter"
git remote add origin git@github.com:<YOUR_GITHUB_ID>/customization-starter.git
git branch -M main
git push -u origin main

4. ফাইল বাদ

আপনার ব্যক্তিগত সংগ্রহস্থলগুলিতে জেমিনি অ্যাক্সেস দেওয়ার আগে, আপনার দল সূচীবদ্ধ হতে চায় না এমন অপ্রাসঙ্গিক বা সংবেদনশীল ফাইলগুলিকে কীভাবে বাদ দেওয়া যায় তা বোঝা গুরুত্বপূর্ণ৷ এটি অর্জনের জন্য একটি .aiexclude ফাইল ব্যবহার করা হয়, যা কিছু মূল পার্থক্য সহ একটি .gitignore এর মতো:

  • একটি খালি .aiexclude ফাইল তার ডিরেক্টরি এবং সমস্ত সাব-ডিরেক্টরির সমস্ত ফাইল ব্লক করে।
    • এটি একটি ফাইলের মতো যা **/* রয়েছে।
  • .aiexclude ফাইলগুলি নেগেটিভ সমর্থন করে না (এর সাথে প্রিফিক্সিং প্যাটার্ন ! )

এটি মাথায় রেখে, ফাইলের ধরন বা ডিরেক্টরিগুলি বিবেচনা করার চেষ্টা করুন যা আপনার দল বিবেচনা থেকে বাদ দিতে চায় এবং সেগুলিকে আলাদা লাইনে তালিকাভুক্ত করুন:

#Block all files with .key extensions
*.key

#Block all files under sensitive/dir
my/sensitive/dir/

#Block all .key files under sensitive/dir
my/sensitive/dir/ /.key

5. বিকাশকারী সংযোগ কনফিগার করুন

ডেভেলপার কানেক্ট হল সেই পরিষেবা যা গিটহাব বা গিটল্যাবে আপনার ব্যক্তিগত কোড রিপোজিটরিগুলিতে সংযোগ এবং লিঙ্কগুলিকে সহজতর করে৷ এটি সেই পদ্ধতি যা জেমিনি কোড অ্যাসিস্টকে আপনার ব্যক্তিগত সংগ্রহস্থলের সাথে নিরাপদে সংযোগ করতে, সূচক তৈরি করতে দেয় যা প্রতিক্রিয়াগুলি উন্নত করতে ব্যবহার করা হবে।

বিকাশকারী সংযোগ কীভাবে আপনার কোডে নিরাপদে অ্যাক্সেস প্রদান করে তা বুঝতে এই দুটি ধারণা সহায়ক:

সংযোগ

  • Google এবং তৃতীয় পক্ষের সোর্স কোড ম্যানেজমেন্ট প্ল্যাটফর্মের মধ্যে সেতুর প্রতিনিধিত্ব করে।

লিঙ্ক

  • একটি সংযুক্ত সোর্স কোড ম্যানেজমেন্ট প্ল্যাটফর্মের মধ্যে আপনি নির্বাচন করেন এমন একটি পৃথক সোর্স কোড সংগ্রহস্থলের সাথে অ্যাসোসিয়েশনের প্রতিনিধিত্ব করে৷

এই ধারণাগুলি মাথায় রেখে, আপনার প্রকল্পের জন্য API সক্ষম করতে বিকাশকারী সংযোগ পৃষ্ঠাতে নেভিগেট করে শুরু করুন৷

বিকাশকারী সংযোগ সক্ষম করা হচ্ছে৷

এরপরে, GitHub বা GitLab- এর জন্য একটি সংযোগ এবং লিঙ্ক তৈরি করতে উপযুক্ত পদক্ষেপগুলি অনুসরণ করুন। উইজার্ড প্রক্রিয়া চলাকালীন উভয় সংস্থান তৈরি করা হবে।

সংযোগ এবং লিঙ্ক তৈরি করা

প্রতিটি সংগ্রহস্থলের জন্য একটি লিঙ্ক তৈরি করতে এই পদক্ষেপগুলি পুনরাবৃত্তি করুন যা আপনি জেমিনির কোড কাস্টমাইজেশন বৈশিষ্ট্যটিকে এর প্রতিক্রিয়াগুলিতে বিবেচনা করতে চান৷ একাধিক সংগ্রহস্থল একই প্ল্যাটফর্ম থেকে আসলে আপনি বিদ্যমান সংযোগ পুনরায় ব্যবহার করতে পারেন।

6. সূচক তৈরি করুন এবং সংযুক্ত করুন

আপনার সংগ্রহস্থলগুলিকে দ্রুত পার্স এবং বিশ্লেষণ করার জন্য, কোড কাস্টমাইজেশন একটি সূচকের উপর নির্ভর করে। আপনি যে INDEX_NAME ব্যবহার করেন তা নোট করুন, যেহেতু একটি অগ্রগতির ধাপে আপনার এটির প্রয়োজন হবে৷

একটি সূচক তৈরি করতে, নিম্নলিখিত কমান্ডটি চালান:

gcloud gemini code-repository-indexes create <INDEX_NAME> \
    --project=<YOUR_PROJECT_ID> \
    --location=<REGION>

আপনি যদি কোন Invalid choice: ... ত্রুটি, নিশ্চিত করুন যে আপনার Google ক্লাউড CLI আপ টু ডেট আছে নিম্নলিখিত কমান্ডটি চালিয়ে:

gcloud components update

এর পরে, একটি সংগ্রহস্থল গোষ্ঠী তৈরি করে আপনার সূচকে অ্যাক্সেসের অনুমতি দিন:

gcloud gemini code-repository-indexes repository-groups create REPOSITORY_GROUP \
    --project=PROJECT_ID \
    --location=REGION \
    --code-repository-index=INDEX_NAME \
    --repositories='[{"resource": "projects/PROJECT_ID/locations/REGION/connections/INDEX_CONNECTION/gitRepositoryLinks/REPOSITORY", "branch_pattern": "BRANCH_NAMES"}]'

নিম্নলিখিত মান প্রতিস্থাপন:

  • REPOSITORY_GROUP: আপনি যে সংগ্রহস্থল গোষ্ঠীটি তৈরি করতে চলেছেন তার নাম৷
  • PROJECT_ID: আপনার Google ক্লাউড প্রকল্প আইডি।
  • INDEX_NAME: একটি সূচী তৈরি করার পূর্ববর্তী ধাপে আপনি যে সূচীর সংজ্ঞায়িত করেছেন তার নাম।
  • অঞ্চল: ডকুমেন্টেশনের তালিকা থেকে একটি সমর্থিত অঞ্চল, যা আপনি আপনার Google ক্লাউড প্রকল্পে বিকাশকারী সংযোগে কনফিগার করেছেন৷
  • INDEX_CONNECTION: একটি সূচী তৈরি করার জন্য একটি পূর্ববর্তী ধাপে আপনি যে সূচকটি তৈরি করেছেন তার সংযোগ৷
  • ভাণ্ডার: আপনি যে সংগ্রহস্থলটি সূচক করতে চান। আপনাকে অবশ্যই অন্তত একটি সংগ্রহস্থল নির্দিষ্ট করতে হবে, এবং প্রয়োজন অনুসারে আপনি একাধিক সংগ্রহস্থল নির্দিষ্ট করতে পারেন।
  • BRANCH_NAMES: আপনি যে শাখাগুলিকে সূচিত করতে চান তার নাম, যেমন প্রধান বা ডেভ।

আপনি যে রিপোজিটরিগুলিকে সূচীকরণ করতে চান এবং তাদের আকারের উপর নির্ভর করে, সামগ্রীর সূচীকরণে 24 ঘন্টা পর্যন্ত সময় লাগতে পারে৷ সূচীকরণ প্রতি 24 ঘন্টায় একবার হয়, সংগ্রহস্থলে করা যেকোন পরিবর্তনগুলি তুলে ধরে। আপনার সূচক তৈরির স্থিতি পরীক্ষা করতে আপনি এই পদক্ষেপগুলি উল্লেখ করতে পারেন:

ইনডেক্সিং স্ট্যাটাস সার্চ করা হচ্ছে

এবং অবশেষে, গ্রুপে পছন্দসই প্রধান অ্যাক্সেস মঞ্জুর করুন:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='PRINCIPAL' \
    --role='roles/cloudaicompanion.repositoryGroupsUser'

7. কাস্টমাইজড কোড তৈরি করুন

এখন যেহেতু মিথুনের আপনার ব্যক্তিগত সংগ্রহস্থলে কোডের অ্যাক্সেস রয়েছে, আমরা আমাদের কোড সমাপ্তির অনুরোধগুলিতে প্রাসঙ্গিক স্নিপেটগুলি দেখতে পাওয়ার আশা করতে পারি। আমাদের উদাহরণ সংগ্রহস্থলে, আমরা আমাদের ডিটিও ফোল্ডারে নেভিগেট করতে পারি, এবং যখন আমরা একটি নতুন অবজেক্টের প্রতিনিধিত্ব করার জন্য একটি নতুন ক্লাস তৈরি করি, আমরা টাইপ করার সাথে সাথে আপনি প্রত্যাশিত টীকাগুলি উপস্থিত হতে দেখতে পারেন:

তৈরি নমুনা

8. উপসংহার

এই কোডল্যাব সম্পূর্ণ করার জন্য অভিনন্দন! আপনি জেনেছেন কিভাবে Gemini Code Assist-এর কোড কাস্টমাইজেশন ফিচার ব্যবহার করতে হয়। এখন যেহেতু আপনার প্রতিক্রিয়াগুলি আপনার টিমের নির্দিষ্ট, ব্যক্তিগত কোডবেসের সাথে মানানসই করা যেতে পারে, প্রতিটি প্রম্পট এবং কোড সমাপ্তি আপনার দলের বিকাশকারীদের কাছে আরও মূল্যবান হবে।

আরও পড়ার জন্য এই অন্যান্য নথি এবং উপকরণগুলি নির্দ্বিধায় পর্যালোচনা করুন এবং IAM ভূমিকা সেট আপ করার মতো জিনিসগুলির জন্য সমর্থন করুন: