জেমিনি কোড সহায়তা কোড কাস্টমাইজেশন কনফিগার করুন

এই দস্তাবেজটি বর্ণনা করে কিভাবে API কনসোলে, Google ক্লাউড CLI-এর সাথে, অথবা আপনার ব্যক্তিগত কোড সংগ্রহস্থলে Gemini Code Assist-কে সংযুক্ত করে Terraform-এর সাথে Gemini Code Assist কোড কাস্টমাইজেশন সেট আপ করতে হয়। জেমিনি কোড অ্যাসিস্ট কোড কাস্টমাইজেশন বৈশিষ্ট্য আপনাকে কোড সুপারিশগুলি পেতে দেয়, যা আপনার প্রতিষ্ঠানের অভ্যন্তরীণ লাইব্রেরি, ব্যক্তিগত API এবং কোডিং শৈলী থেকে আঁকা হয়।

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

  1. একটি এন্টারপ্রাইজ সদস্যতার সাথে জেমিনি কোড অ্যাসিস্ট সেট আপ করুন
  2. সাবস্ক্রিপশনের মালিক যে প্রকল্পে আপনার নিম্নলিখিত পরিচয় এবং অ্যাক্সেস ম্যানেজমেন্ট ভূমিকা রয়েছে তা যাচাই করুন:

    • কোড রিপোজিটরি ইনডেক্স অ্যাডমিন ( roles/cloudaicompanion.codeRepositoryIndexesAdmin )
    • Google ক্লাউড ব্যবহারকারীর জন্য মিথুন ( roles/cloudaicompanion.user )
  3. ব্যবহারকারীর অ্যাকাউন্ট তৈরি বা কনফিগার করুন। আপনার প্রতিষ্ঠানের প্রত্যেক ডেভেলপার যারা জেমিনি কোড অ্যাসিস্ট ব্যবহার করছেন তাদের অবশ্যই Google ক্লাউডে একটি ব্যবহারকারীর পরিচয় থাকতে হবে যার কাছে আপনার Google ক্লাউড প্রকল্প অ্যাক্সেস করার অনুমতি রয়েছে। আরও তথ্যের জন্য, Google ক্লাউড কনসোলে অনুদান ভূমিকা দেখুন। প্রতিটি ব্যবহারকারীর নিম্নলিখিত ভূমিকা আছে যাচাই করুন:

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

কোন সংগ্রহস্থলগুলিকে সূচিত করা হয়েছে তা চয়ন করুন৷

একটি সর্বোত্তম অনুশীলন হিসাবে, আপনার নিম্নলিখিত বৈশিষ্ট্য রয়েছে এমন ভান্ডারগুলিকে সূচী করা উচিত:

  • আপনি আপনার ডেভেলপারদের যা লিখতে চান তার অনুরূপ স্টাইল বা কাঠামোর কোড।
  • প্রাইভেট লাইব্রেরি বা API যা আপনি আপনার বর্তমান কোডবেস থেকে কল করতে চান।

ঐচ্ছিক: কোন ফাইলগুলি ইন্ডেক্স করা হয়নি তা বেছে নিন

ডিফল্টরূপে, কোড কাস্টমাইজেশন আপনার নির্দিষ্ট সংগ্রহস্থলের সমস্ত সমর্থিত কোড ফাইলকে সূচী করে।

আপনি যে কোডটি সূচক করতে চান না তার এক্সপোজার রোধ করতে, আপনি আপনার সূচকে অ্যাক্সেস নিয়ন্ত্রণ করতে শাখা প্যাটার্ন ব্যবহার করতে পারেন এবং একটি স্থিতিশীল শাখা ব্যবহার করতে পারেন, যেমন main

বিকল্পভাবে, আপনি একটি .aiexclude ফাইল তৈরি করে সূচী থেকে ফাইল বাদ দিতে পারেন।

জেমিনি কোড সহায়তা কোড কাস্টমাইজেশন কনফিগার করুন

নিম্নলিখিত বিকল্পগুলির মধ্যে একটি নির্বাচন করুন:

কনসোল

  1. API কনসোলে, কোড কাস্টমাইজেশন পৃষ্ঠায় যান।

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

    মিথুন কোড সহায়তা পৃষ্ঠা লোডের জন্য কোড কাস্টমাইজেশন

  2. একটি সূচক তৈরি করুন। কোড কাস্টমাইজেশন দ্রুত কোড তৈরির পরামর্শ এবং লুকআপের জন্য আপনার সংগ্রহস্থল বিশ্লেষণ এবং পার্স করার জন্য একটি সূচকের উপর নির্ভর করে।

    1. সূচকের বিবরণ তৈরি করুন এবং কনফিগার করুন ক্লিক করুন:

      • আপনার ক্লাউড প্রকল্পে বিকাশকারী সংযোগে কনফিগার করা অঞ্চলটি নির্বাচন করুন৷
      • আপনার সূচকের জন্য একটি নাম লিখুন। আপনার সূচক নাম নোট করুন. এই নথিতে বেশ কয়েকটি ধাপের জন্য আপনার এটি প্রয়োজন।
    2. তৈরি করুন ক্লিক করুন।

    সূচক তৈরি করতে সাধারণত 30 মিনিট সময় লাগে, তবে এটি এক ঘন্টা পর্যন্ত সময় নিতে পারে। ইন্ডেক্সিং সম্পূর্ণ হলে, আপনি Google API কনসোলে একটি বিজ্ঞপ্তি পাবেন।

    Google প্রতিটি প্রকল্প এবং সংস্থার জন্য কোড সংগ্রহস্থলের সূচকের সংখ্যা সীমিত করে।

  3. সংগ্রহস্থল গোষ্ঠী ব্যবহার করে আপনার সূচকে অ্যাক্সেস নিয়ন্ত্রণ করুন।

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

    রিপোজিটরি গ্রুপে একই প্রকল্প এবং অবস্থান থেকে ডেভেলপার কানেক্ট রিপোজিটরি বা লিঙ্ক থাকে।

  4. Gemini Code Assist পৃষ্ঠার কোড কাস্টমাইজেশনে , রিপোজিটরি যোগ করুন ক্লিক করুন এবং তারপরে উৎস সংগ্রহস্থল যোগ করুন নির্বাচন করুন।

    সূচক তৈরি করার জন্য আপনি পূর্ববর্তী ধাপে যে অঞ্চলটি কনফিগার করেছেন তার জন্য বিকাশকারী সংযোগে বিদ্যমান সংগ্রহস্থলগুলির একটি তালিকা প্রদর্শন করে৷

    আপনার যদি রিপোজিটরি গ্রুপে নতুন রিপোজিটরি যোগ করতে হয়, তাহলে লিঙ্ক রিপোজিটরিতে ক্লিক করুন এবং Google API কনসোলের ধাপগুলি অনুসরণ করুন।

    অতিরিক্তভাবে, আপনি একটি নতুন শাখা যোগ করতে এক বা একাধিক সংগ্রহস্থল নির্বাচন এবং সম্পাদনা করতে পারেন।

  5. আপনি নতুন সংগ্রহস্থল যোগ করতে চান যে সংগ্রহস্থল গ্রুপ নির্বাচন করুন. বিকল্পভাবে, একটি নতুন সংগ্রহস্থল গোষ্ঠী তৈরি এবং কনফিগার করতে ক্লিক করুন।

  6. নির্বাচিত সংগ্রহস্থলগুলির সূচীকরণ শুরু করতে, সূচীতে ক্লিক করুন।

    ইনডেক্সিং সময় ভান্ডারের আকারের উপর নির্ভর করে পরিবর্তিত হয়।

সিএলআই

  1. আপনি ডেভেলপার কানেক্ট কনফিগার করেছেন এবং আপনার সংগ্রহস্থলের সাথে সংযুক্ত করেছেন তা যাচাই করুন:
  2. একটি শেল পরিবেশে, আপনি সর্বশেষ সংস্করণে gcloud- এর সমস্ত ইনস্টল করা উপাদান আপডেট করেছেন তা যাচাই করতে gcloud components update কমান্ডটি চালান। এই ধাপের জন্য, আপনি gcloud ইনস্টল এবং আরম্ভ করতে পারেন, অথবা আপনি Cloud Shell Editor ব্যবহার করতে পারেন।

    gcloud components update
    
  3. একটি সূচক তৈরি করুন। কোড কাস্টমাইজেশন দ্রুত কোড তৈরির পরামর্শ এবং লুকআপের জন্য আপনার সংগ্রহস্থল বিশ্লেষণ এবং পার্স করার জন্য একটি সূচকের উপর নির্ভর করে।

    1. সূচী তৈরি করতে, শেল পরিবেশে, gemini code-repository-indexes create কমান্ডটি ব্যবহার করুন:

      gcloud gemini code-repository-indexes create INDEX_NAME \
          --project=PROJECT_ID \
          --location=REGION
      

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

      • INDEX_NAME : আপনার ইন্ডেক্স নাম। গুরুত্বপূর্ণ : আপনার সূচক নাম নোট করুন। এই নথিতে বেশ কয়েকটি ধাপের জন্য আপনার এটি প্রয়োজন।
      • PROJECT_ID : আপনার Google ক্লাউড প্রকল্প আইডি।
      • REGION : আপনার ক্লাউড প্রকল্পে বিকাশকারী সংযোগে কনফিগার করা অঞ্চল।

      সূচক তৈরি করতে সাধারণত 30 মিনিট সময় লাগে, তবে এটি এক ঘন্টা পর্যন্ত সময় নিতে পারে।

      Google প্রতিটি প্রকল্প এবং সংস্থার জন্য কোড সংগ্রহস্থলের সূচকের সংখ্যা সীমিত করে।

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

    রিপোজিটরি গ্রুপে একই প্রকল্প এবং অবস্থান থেকে ডেভেলপার কানেক্ট রিপোজিটরি বা লিঙ্ক থাকে।

    প্রশাসকরা নিম্নলিখিত ক্রিয়াগুলি সম্পাদন করে:

    • কোড রিপোজিটরি ইনডেক্স রিসোর্স তৈরি করুন।
    • একই প্রকল্প এবং অবস্থানে, একটি নতুন বিকাশকারী সংযোগ সংযোগ কনফিগার করুন৷
    • সংযোগে গিট রিপোজ লিঙ্ক করুন।
    • লিঙ্কগুলির সম্পদের নাম পান, প্রতিটি লিঙ্কের জন্য সূচীতে শাখা প্যাটার্ন বেছে নিন এবং এটি এক বা একাধিক সংগ্রহস্থলের গ্রুপে রাখুন।

    একটি রিপোজিটরি গ্রুপ তৈরি করতে, শেল পরিবেশে, gemini code-repository-indexes repository-groups create কমান্ড ব্যবহার করুন:

    gcloud gemini code-repository-indexes repository-groups create REPOSITORY_GROUP \
        --project=PROJECT_ID \
        --location=REGION \
        --code-repository-index=INDEX_NAME \
        --repositories='[{"resource": "REPOSITORY_RESOURCE_NAME", "branchPattern": "BRANCH_NAMES"}]'
    

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

    • REPOSITORY_GROUP : রিপোজিটরি গ্রুপের নাম, যেমন default
    • REPOSITORY_RESOURCE_NAME : ডেভেলপার কানেক্ট সংযোগের ভিতরে থাকা সংগ্রহস্থলের নাম। সংগ্রহস্থলের নাম খুঁজতে, Google ক্লাউড কনসোলে গিট রিপোজিটরি পৃষ্ঠাতে যান এবং সংগ্রহস্থল ট্যাবে, টেবিলের সংযোগ কলামের অধীনে সংযোগ আইডিটি সন্ধান করুন৷ রিসোর্সের নাম কপি করতে, আরো বিকল্পের জন্য more_vert মেনুতে ক্লিক করুন এবং রিসোর্স পাথ কপি করুন নির্বাচন করুন।
    • BRANCH_NAMES : আপনি যে শাখাগুলিকে সূচিত করতে চান তার নাম, যেমন main|dev

    আপনি একটি JSON (বা YAML) ফাইলে সংজ্ঞায়িত সংগ্রহস্থলগুলির সাথে একটি সংগ্রহস্থল গোষ্ঠীও তৈরি করতে পারেন, নিম্নরূপ বিন্যাসিত:

    JSON

    [
      {
          "resource": "REPOSITORY_RESOURCE_NAME", "branchPattern": "main|dev"
      },
      {
          "resource": "REPOSITORY_RESOURCE_NAME", "branchPattern": "dev"
      }
    ]
    

    YAML

    - resource: REPOSITORY_RESOURCE_NAME
      branchPattern: main|dev
    
    - resource: REPOSITORY_RESOURCE_NAME
      branchPattern: dev
    

    একটি শেল পরিবেশে JSON বা YAML ফাইলের উপর ভিত্তি করে একটি সংগ্রহস্থল গোষ্ঠী তৈরি করতে, gemini code-repository-indexes repository-groups create কমান্ড ব্যবহার করুন:

    JSON

    gcloud gemini code-repository-indexes repository-groups create REPOSITORY_GROUP \
        --project=PROJECT_ID \
        --location=REGION \
        --code-repository-index=INDEX_NAME \
        --repositories=FILEPATH.json
    

    YAML

    gcloud gemini code-repository-indexes repository-groups create REPOSITORY_GROUP \
        --project=PROJECT_ID \
        --location=REGION \
        --code-repository-index=INDEX_NAME \
        --repositories=FILEPATH.yaml
    

    পছন্দ হলে, আপনি ক্লাউড কী ম্যানেজমেন্ট সার্ভিসের মাধ্যমে গ্রাহক-পরিচালিত এনক্রিপশন কী (CMEK) দিয়ে আপনার ডেটা এনক্রিপ্ট এবং নিয়ন্ত্রণ করতে পারেন। একটি CMEK ব্যবহার সম্পর্কে আরও জানতে, গ্রাহক-পরিচালিত এনক্রিপশন কীগুলির সাথে ডেটা এনক্রিপ্ট করুন দেখুন।

  5. একটি প্রকল্পে সংগ্রহস্থল গ্রুপকে IAM ভূমিকা প্রদান করুন।

    আপনি শুধুমাত্র ইনডেক্সের সংগ্রহস্থল থেকে পরামর্শ পাবেন। প্রতিটি সংগ্রহস্থল এক বা একাধিক সংগ্রহস্থল গ্রুপের অন্তর্গত। পরামর্শগুলি অ্যাক্সেস করার জন্য, আপনাকে অবশ্যই ক্লাউড এআই কম্প্যানিয়ন রিপোজিটরি গ্রুপ ব্যবহারকারী IAM ভূমিকা ( roles/cloudaicompanion.repositoryGroupsUser )-কে মঞ্জুর করতে হবে—যাতে প্রয়োজনীয় cloudaicompanion.repositoryGroups.user IAM অনুমতি রয়েছে—নিম্নলিখিত উপায়গুলির মধ্যে একটি দ্বারা সংগ্রহস্থল গোষ্ঠীকে:

    • পুরো সূচক অ্যাক্সেস করার জন্য অধ্যক্ষদের অনুমতি দিন।
    • সূচকের একটি উপসেটে অধ্যক্ষদের অ্যাক্সেস দিন।

    সম্পূর্ণ সূচক

    1. একটি প্রকল্পের জন্য একটি IAM নীতি আবদ্ধ করতে, একটি শেল পরিবেশে, projects add-iam-policy-binding কমান্ড ব্যবহার করুন:

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

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

      • PRINCIPAL : প্রিন্সিপালের ইমেল ঠিকানা যার অ্যাক্সেস প্রয়োজন—উদাহরণস্বরূপ, একজন ব্যক্তির জন্য user:test-user@gmail.com , অথবা একটি গ্রুপের জন্য group:admins@example.com

      আরও তথ্যের জন্য, gcloud projects set-iam-policy দেখুন।

    2. একটি শর্ত উল্লেখ করার জন্য অনুরোধ করা হলে, None লিখুন।

    সূচকের উপসেট

    আপনি একাধিক রিপোজিটরি গ্রুপ তৈরি করতে পারেন এবং বিভিন্ন IAM অধ্যক্ষকে IAM ভূমিকা বরাদ্দ করতে পারেন।

    একটি IAM নীতি সেট আপ করার জন্য, আপনাকে অবশ্যই IAM নীতি JSON বা YAML ফাইল প্রস্তুত করতে হবে, যাতে IAM গোষ্ঠীগুলির একটি তালিকা এবং নির্ধারিত ভূমিকা থাকবে৷ যেমন:

      bindings:
      - members:
        - group:my-group@example.com
        - user:test-user@example.com
        role: roles/cloudaicompanion.repositoryGroupsUser
    

    অতিরিক্ত বিবরণ এবং সিনট্যাক্সের জন্য, নীতিগুলি বোঝার অনুমতি দেখুন।

    IAM নীতি সেট করতে, শেল পরিবেশে, gemini code-repository-indexes repository-groups set-iam-policy কমান্ডটি ব্যবহার করুন:

      gcloud gemini code-repository-indexes repository-groups set-iam-policy GROUP_NAMEPOLICY_FILE \
          --project=PROJECT_ID \
          --location=REGION \
          --code-repository-index=INDEX_NAME
    

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

    • GROUP_NAME : রিপোজিটরি গ্রুপের নাম আপনি সংগ্রহস্থল গোষ্ঠী ব্যবহার করে আপনার সূচীতে অ্যাক্সেস নিয়ন্ত্রণ করার জন্য একটি পূর্ববর্তী ধাপে তৈরি করেছেন।
    • POLICY_FILE : IAM নীতি।

      আরও তথ্যের জন্য, gcloud gemini code-repository-indexes repository-groups set-iam-policy দেখুন।

টেরাফর্ম

  1. আপনি ডেভেলপার কানেক্ট কনফিগার করেছেন এবং আপনার সংগ্রহস্থলের সাথে সংযুক্ত করেছেন তা যাচাই করুন:

  2. একটি সূচক তৈরি করুন। কোড কাস্টমাইজেশন দ্রুত কোড তৈরির পরামর্শ এবং লুকআপের জন্য আপনার সংগ্রহস্থল বিশ্লেষণ এবং পার্স করার জন্য একটি সূচকের উপর নির্ভর করে।

    resource "google_gemini_code_repository_index" "example" {
      location = "REGION"
      code_repository_index_id = "INDEX_NAME"
    }
    

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

    • INDEX_NAME : আপনার ইন্ডেক্স নাম। গুরুত্বপূর্ণ : আপনার সূচক নাম নোট করুন। এই নথিতে বেশ কয়েকটি ধাপের জন্য আপনার এটি প্রয়োজন।
    • PROJECT_ID : আপনার Google ক্লাউড প্রকল্প আইডি।
    • REGION : আপনার ক্লাউড প্রকল্পে বিকাশকারী সংযোগে কনফিগার করা অঞ্চল।

    সূচক তৈরি করতে সাধারণত 30 মিনিট সময় লাগে তবে এটি এক ঘন্টা পর্যন্ত সময় নিতে পারে।

    Google প্রতিটি প্রকল্প এবং সংস্থার জন্য কোড সংগ্রহস্থলের সূচকের সংখ্যা সীমিত করে।

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

    রিপোজিটরি গ্রুপে একই প্রকল্প এবং অবস্থান থেকে ডেভেলপার কানেক্ট রিপোজিটরি বা লিঙ্ক থাকে।

    প্রশাসকরা নিম্নলিখিত ক্রিয়াগুলি সম্পাদন করে:

    • কোড রিপোজিটরি ইনডেক্স রিসোর্স তৈরি করুন।
    • একই প্রকল্প এবং অবস্থানে, একটি নতুন বিকাশকারী সংযোগ সংযোগ কনফিগার করুন৷
    • সংযোগে গিট রিপোজ লিঙ্ক করুন।
    • লিঙ্কগুলির সম্পদের নাম পান, প্রতিটি লিঙ্কের জন্য সূচীতে শাখা প্যাটার্ন বেছে নিন এবং এটি এক বা একাধিক সংগ্রহস্থলের গ্রুপে রাখুন।
    resource "google_gemini_repository_group" "example" {
      location = "REGION"
      code_repository_index = "INDEX_NAME"
      repository_group_id = "REPOSITORY_GROUP"
      repositories {
        resource = "REPOSITORY_RESOURCE_NAME"
        branch_pattern = "BRANCH_NAMES"
      }
    }
    

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

    • REPOSITORY_GROUP : রিপোজিটরি গ্রুপের নাম, যেমন default
    • REPOSITORY_RESOURCE_NAME : ডেভেলপার কানেক্ট সংযোগের ভিতরে থাকা সংগ্রহস্থলের নাম। সংগ্রহস্থলের নাম খুঁজতে, Google ক্লাউড কনসোলে গিট রিপোজিটরি পৃষ্ঠাতে যান এবং সংগ্রহস্থল ট্যাবে, টেবিলের সংযোগ কলামের অধীনে সংযোগ আইডিটি সন্ধান করুন৷ রিসোর্সের নাম কপি করতে, আরো বিকল্পের জন্য more_vert মেনুতে ক্লিক করুন এবং রিসোর্স পাথ কপি করুন নির্বাচন করুন।
    • BRANCH_NAMES : আপনি যে শাখাগুলিকে সূচিত করতে চান তার নাম, যেমন main|dev

    আপনি একটি JSON (বা YAML) ফাইলে সংজ্ঞায়িত সংগ্রহস্থলগুলির সাথে একটি সংগ্রহস্থল গোষ্ঠীও তৈরি করতে পারেন, নিম্নরূপ বিন্যাসিত:

    JSON

    [
      {
          "resource": "REPOSITORY_RESOURCE_NAME", "branchPattern": "main|dev"
      },
      {
          "resource": "REPOSITORY_RESOURCE_NAME", "branchPattern": "dev"
      }
    ]
    

    YAML

    - resource: REPOSITORY_RESOURCE_NAME
      branchPattern: main|dev
    
    - resource: REPOSITORY_RESOURCE_NAME
      branchPattern: dev
    

    একটি শেল পরিবেশে JSON বা YAML ফাইলের উপর ভিত্তি করে একটি সংগ্রহস্থল গোষ্ঠী তৈরি করতে, gemini code-repository-indexes repository-groups create কমান্ড ব্যবহার করুন:

    JSON

    gcloud gemini code-repository-indexes repository-groups create REPOSITORY_GROUP \
        --project=PROJECT_ID \
        --location=REGION \
        --code-repository-index=INDEX_NAME \
        --repositories=FILEPATH.json
    

    YAML

    gcloud gemini code-repository-indexes repository-groups create REPOSITORY_GROUP \
        --project=PROJECT_ID \
        --location=REGION \
        --code-repository-index=INDEX_NAME \
        --repositories=FILEPATH.yaml
    

    পছন্দ হলে, আপনি ক্লাউড কী ম্যানেজমেন্ট সার্ভিসের মাধ্যমে গ্রাহক-পরিচালিত এনক্রিপশন কী (CMEK) দিয়ে আপনার ডেটা এনক্রিপ্ট এবং নিয়ন্ত্রণ করতে পারেন। একটি CMEK ব্যবহার সম্পর্কে আরও জানতে, গ্রাহক-পরিচালিত এনক্রিপশন কীগুলির সাথে ডেটা এনক্রিপ্ট করুন দেখুন।

  4. একটি প্রকল্পে সংগ্রহস্থল গ্রুপকে IAM ভূমিকা প্রদান করুন।

    আপনি শুধুমাত্র ইনডেক্সের সংগ্রহস্থল থেকে পরামর্শ পাবেন। প্রতিটি সংগ্রহস্থল এক বা একাধিক সংগ্রহস্থল গ্রুপের অন্তর্গত। পরামর্শগুলি অ্যাক্সেস করার জন্য, আপনাকে অবশ্যই ক্লাউড এআই কম্প্যানিয়ন রিপোজিটরি গ্রুপ ব্যবহারকারী IAM ভূমিকা ( roles/cloudaicompanion.repositoryGroupsUser )-কে মঞ্জুর করতে হবে—যাতে প্রয়োজনীয় cloudaicompanion.repositoryGroups.user IAM অনুমতি রয়েছে—নিম্নলিখিত উপায়গুলির মধ্যে একটি দ্বারা সংগ্রহস্থল গোষ্ঠীকে:

    • পুরো সূচক অ্যাক্সেস করার জন্য অধ্যক্ষদের অনুমতি দিন।
    • সূচকের একটি উপসেটে অধ্যক্ষদের অ্যাক্সেস দিন।

    সম্পূর্ণ সূচক

    1. একটি প্রকল্পের জন্য একটি IAM নীতি আবদ্ধ করতে, একটি শেল পরিবেশে, projects add-iam-policy-binding কমান্ড ব্যবহার করুন:

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

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

      • PRINCIPAL : প্রিন্সিপালের ইমেল ঠিকানা যার অ্যাক্সেস প্রয়োজন—উদাহরণস্বরূপ, একজন ব্যক্তির জন্য user:test-user@gmail.com , অথবা একটি গ্রুপের জন্য group:admins@example.com

        আরও তথ্যের জন্য, gcloud projects set-iam-policy দেখুন।

    2. একটি শর্ত উল্লেখ করার জন্য অনুরোধ করা হলে, None লিখুন।

    সূচকের উপসেট

    আপনি একাধিক রিপোজিটরি গ্রুপ তৈরি করতে পারেন এবং বিভিন্ন IAM অধ্যক্ষকে IAM ভূমিকা বরাদ্দ করতে পারেন।

      data "google_iam_policy" "foo" {
        binding {
          role = "roles/cloudaicompanion.repositoryGroupsUser"
          members = ["test-user@example.com"]
        }
      }
    
      resource "google_gemini_repository_group_iam_policy" "foo" {
        project = "PROJECT_ID"
        location = "REGION"
        code_repository_index_id = "INDEX_NAME"
        repository_group_id = "GROUP_NAME"
        policy_data = data.google_iam_policy.foo.policy_data
      }
    
      data "google_gemini_repository_group_iam_policy" "foo" {
        project = "PROJECT_ID"
        location = "REGION"
        code_repository_index_id = "INDEX_NAME"
        repository_group_id = "GROUP_NAME"
        depends_on = [
          google_gemini_repository_group_iam_policy.foo
        ]
      }
    

    আপনি একটি বাঁধাই তৈরি করতে পারেন:

      resource "google_gemini_repository_group_iam_binding" "foo" {
        project = "PROJECT_ID"
        location = "REGION"
        code_repository_index_id = "INDEX_NAME"
        repository_group_id = "GROUP_NAME"
        role = "roles/cloudaicompanion.repositoryGroupsUser"
        members = ["test-user@example.com"]
      }
    

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

    • GROUP_NAME : রিপোজিটরি গ্রুপের নাম আপনি সংগ্রহস্থল গোষ্ঠী ব্যবহার করে আপনার সূচীতে অ্যাক্সেস নিয়ন্ত্রণ করার জন্য একটি পূর্ববর্তী ধাপে তৈরি করেছেন।

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

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

  1. indexing লগ অনুসন্ধান করুন. আরও তথ্যের জন্য, লগিং ক্যোয়ারী ভাষা দেখুন।

    কনসোল

    1. Google API কনসোলে, লগ এক্সপ্লোরার- এ যান।

      লগ এক্সপ্লোরার এ যান

    2. indexing লগ দেখতে লগ নেম ফিল্টার ব্যবহার করুন।

    সিএলআই

    একটি শেল পরিবেশে ইনডেক্সিং লগগুলি অনুসন্ধান করতে, logging read কমান্ডটি ব্যবহার করুন:

    gcloud logging read "logName="projects/PROJECT_ID/logs/indexing""
    

    PROJECT_ID প্রকল্প আইডি দিয়ে প্রতিস্থাপন করুন যেখানে রিপোজিটরি গ্রুপটি অবস্থিত।

    উদাহরণস্বরূপ, indexing লগগুলিতে ত্রুটিগুলি দেখতে, নিম্নলিখিত কমান্ডটি চালান:

    gcloud logging read "logName="projects/PROJECT_ID/logs/indexing" AND severity>=ERROR"
    
  2. সম্পর্কিত ইন্ডেক্সিং স্ট্যাটাস পর্যালোচনা করুন, যেমন নিম্নলিখিত:

    • রিপোজিটরি ইন্ডেক্সিং এর শুরু-উদাহরণস্বরূপ, Indexing repository REPOSITORY_NAME . Total number of repositories: 10, succeeded: 6, failed: 0.
    • পৃথক সংগ্রহস্থল সূচীকরণের সমাপ্তি-উদাহরণস্বরূপ:
      • সাফল্য: Successfully finished indexing repository REPOSITORY_NAME . Total number of repositories: 10, succeeded: 7, failed: 0.
      • ব্যর্থতা: Failed to index repository REPOSITORY_NAME . Error: [<error message>]. Total number of repositories: 10, succeeded: 7, failed: 1.
    • সংগ্রহস্থল সূচীকরণের সমাপ্তি-উদাহরণস্বরূপ:
      • সাফল্য: Finished indexing process. Repositories attempted: 10. Repositories successfully indexed: 9. Repositories unsuccessfully fetched: 0.
      • ব্যর্থতা: Finished indexing process. Repositories attempted: 10. Repositories successfully indexed: 9. Repositories unsuccessfully fetched: 1. Repositories that were not successfully fetched will be retried in the next run.

    ইনডেক্স স্ট্যাটাসে, REPOSITORY_NAME হল সেই রিপোজিটরি যা আপনি পর্যালোচনা করতে চান৷

  3. সংশ্লিষ্ট ইন্ডেক্সিং ত্রুটি পর্যালোচনা করুন, যেমন নিম্নলিখিত:

    • সংগ্রহস্থল আনা ব্যর্থ হয়েছে.
    • সংগ্রহস্থল ফাইল তালিকা করতে ব্যর্থ.
    • সূচী থেকে সংগ্রহস্থল তথ্য পুনরুদ্ধার করতে ব্যর্থ হয়েছে.
    • সূচী থেকে ফাইল পুনরুদ্ধার করতে ব্যর্থ হয়েছে.
    • অভ্যন্তরীণ ত্রুটি।

কোড কাস্টমাইজেশন ব্যবহার করুন

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

কোড কাস্টমাইজেশন এবং সর্বোত্তম অনুশীলন ব্যবহার সম্পর্কে আরও জানতে, কোড কাস্টমাইজেশন ব্যবহার করুন দেখুন।

কোড কাস্টমাইজেশন বন্ধ করুন

নিম্নলিখিত বিকল্পগুলির মধ্যে একটি নির্বাচন করুন:

কনসোল

  1. API কনসোলে, Gemini Products পৃষ্ঠায় যান।

    মিথুন পণ্যে যান

    মিথুন পণ্য পৃষ্ঠা লোড হয়৷

  2. নেভিগেশন মেনুতে, কোড কাস্টমাইজেশন ক্লিক করুন।

    কোড কাস্টমাইজেশন পৃষ্ঠা লোড হয়।

  3. সূচী মুছে ফেলতে, সূচী মুছুন ক্লিক করুন।

    একটি সতর্কতা বার্তা প্রদর্শিত হয়। আপনি যদি এগিয়ে যেতে চান এবং সূচীটি মুছতে চান, তাহলে সূচীর নাম লিখুন এবং তারপরে মুছুন ক্লিক করুন।

সিএলআই

  1. একটি শেল পরিবেশে বর্তমান সূচকের জন্য সমস্ত সংগ্রহস্থলের গ্রুপ তালিকাভুক্ত করতে, gemini code-repository-indexes repository-groups list কমান্ডটি ব্যবহার করুন:

    gcloud gemini code-repository-indexes repository-groups list --location=REGION \
        --project=PROJECT_ID \
        --code-repository-index=INDEX_NAME --uri
    

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

    • REGION : আপনার ক্লাউড প্রকল্পে বিকাশকারী সংযোগে কনফিগার করা অঞ্চল। মনে রাখবেন যে আপনি যদি একটি অসমর্থিত অঞ্চল নির্দিষ্ট করেন তাহলে কমান্ডগুলি ব্যর্থ হবে৷ সমর্থিত অঞ্চলের তালিকার জন্য কোড কাস্টমাইজেশন সীমাবদ্ধতা দেখুন।
    • PROJECT_ID : আপনার Google ক্লাউড প্রকল্প আইডি।
    • INDEX_NAME : একটি সূচী তৈরি করার পূর্ববর্তী ধাপে আপনি যে সূচি তৈরি করেছেন তার নাম।
  2. বর্তমান সূচক থেকে একটি সংগ্রহস্থল গোষ্ঠী মুছে ফেলতে, gemini code-repository-indexes repository-groups delete কমান্ডটি ব্যবহার করুন:

    gcloud gemini code-repository-indexes repository-groups delete REPOSITORY_GROUP \
        --location=REGION \
        --project=PROJECT_ID \
        --code-repository-index=INDEX_NAME
    
  3. প্রতিটি সংগ্রহস্থল গোষ্ঠীর জন্য পূর্ববর্তী পদক্ষেপগুলি পুনরাবৃত্তি করুন যতক্ষণ না আপনি সূচী থেকে সমস্ত সংগ্রহস্থল গোষ্ঠী মুছে ফেলছেন।

  4. ঐচ্ছিক: একটি শেল পরিবেশে সূচী মুছে ফেলার জন্য, gemini code-repository-indexes delete কমান্ডটি ব্যবহার করুন :

    gcloud gemini code-repository-indexes delete INDEX_NAME \
        --location=REGION \
        --project=PROJECT_ID
    

এরপর কি