Agent2Agent এজেন্ট ব্যবহার করে Google Chat অ্যাপ তৈরি করা

এই পৃষ্ঠায় ব্যাখ্যা করা হয়েছে যে কীভাবে এমন একটি Google Chat অ্যাপ তৈরি করতে হয় যা এজেন্ট-টু-এজেন্ট (A2A) প্রোটোকল ব্যবহার করে এমন একটি AI এজেন্টের সাথে ইন্টারফেস করে। আপনি Agent Development Kit (ADK) ব্যবহার করে এজেন্ট ডেভেলপ করেন এবং Vertex AI Agent Engine-এ এটি হোস্ট করেন।

AI এজেন্টরা তাদের পরিবেশ, যুক্তি ও জটিল, একাধিক ধাপের অ্যাকশনকে স্বতন্ত্রভাবে উপলব্ধি করে এবং একটি নির্দিষ্ট লক্ষ্য অর্জন করে। এই টিউটোরিয়ালে, আপনি LLM অডিটর মাল্টি-এজেন্ট স্যাম্পেল ডেপ্লয় করবেন যা Gemini ও Google Search গ্রাউন্ডিং ব্যবহার করে ফ্যাক্ট মূল্যায়ন ও সংশোধন করে।

চ্যাট অ্যাপ হিসেবে LLM অডিটর মাল্টি-এজেন্ট স্যাম্পেল।

নিচের ডায়াগ্রামে আর্কিটেকচার ও মেসেজিং প্যাটার্ন দেখানো হয়েছে:

A2A AI এজেন্ট প্রয়োগ করা চ্যাট অ্যাপের আর্কিটেকচার।

ডায়াগ্রামে, A2A এজেন্ট প্রয়োগ করা চ্যাট অ্যাপের সাথে ইন্টার‍্যাক্ট করা ব্যবহারকারীর কাছে তথ্যের নিম্নলিখিত ফ্লো থাকে:

  1. কোনও ব্যবহারকারী Chat অ্যাপে মেসেজ পাঠান, সেটি সরাসরি মেসেজ বা Chat স্পেস হতে পারে।
  2. Apps Script-এ অথবা HTTP এন্ডপয়েন্ট সহ ওয়েব সার্ভার হিসেবে ইমপ্লিমেন্ট করা Chat অ্যাপের লজিক মেসেজ পায় ও প্রসেস করে।
  3. Vertex AI Agent Engine-এ হোস্ট করা A2A এজেন্ট ইন্টার‍্যাকশন গ্রহণ ও প্রসেস করে।
  4. ঐচ্ছিকভাবে, Chat অ্যাপ বা AI এজেন্ট Google Workspace পরিষেবার সাথে ইন্টিগ্রেট করতে পারে, যেমন Calendar বা Sheets অথবা অন্যান্য Google পরিষেবা, যেমন Google Maps বা YouTube.
  5. AI এজেন্টের প্রগ্রেস সম্পর্কে জানাতে, Google Chat API ব্যবহার করে Chat অ্যাপ অ্যাসিঙ্ক্রোনাস উত্তর পাঠায়।
  6. উত্তর ব্যবহারকারীকে ডেলিভার করা হয়।

উদ্দেশ্য

  • আপনার এনভায়রনমেন্ট সেট-আপ করুন।
  • A2A এজেন্ট ডিপ্লয় করুন।
  • Chat অ্যাপ ডেপ্লয় করুন।
  • Chat অ্যাপ কনফিগার করুন।
  • Chat অ্যাপ পরীক্ষা করুন।

পূর্বশর্ত

আপনার পরিবেশ সেট-আপ করা

Google Cloud API চালু করুন

Google API ব্যবহার করার আগে, আপনাকে Google Cloud প্রোজেক্টে সেগুলি চালু করতে হবে। আপনি একটি Google Cloud প্রোজেক্টে এক বা একাধিক API চালু করতে পারবেন।
  • Google Cloud কনসোলে, Google Chat, Vertex AI এবং Cloud Resource Manager API চালু করুন।

    API চালু করুন

OAuth-এর সম্মতি সংক্রান্ত স্ক্রিন কনফিগার করা

OAuth 2.0 ব্যবহার করা সব অ্যাপের জন্য সম্মতি স্ক্রিন কনফিগারেশন প্রয়োজন। আপনার অ্যাপের OAuth সম্মতি স্ক্রিন কনফিগার করা হলে, ব্যবহারকারী ও অ্যাপ পর্যালোচকদের কী দেখানো হবে তা নির্ধারণ করা হয় এবং আপনার অ্যাপ রেজিস্টার করা হয় যাতে আপনি পরে এটি প্রকাশ করতে পারেন।

  1. Google API Console-এ, 'মেনু > Google Auth প্ল্যাটফর্ম > ব্র্যান্ডিং' বিকল্পে যান।

    ব্র্যান্ডিংয়ে যান

  2. আপনি যদি আগে থেকেই Google Auth প্ল্যাটফর্ম কনফিগার করে থাকেন, তাহলে ব্র্যান্ডিং, দর্শক এবং ডেটা অ্যাক্সেস বিকল্পে গিয়ে নিম্নলিখিত OAuth-এর সম্মতি সংক্রান্ত স্ক্রিন সেটিংস কনফিগার করতে পারবেন। আপনি যদি Google Auth প্ল্যাটফর্ম এখনও কনফিগার করা হয়নি লেখা মেসেজ দেখতে পান, তাহলে শুরু করুন বিকল্পে ক্লিক করুন:
    1. অ্যাপ সম্পর্কিত তথ্য বিকল্পের মধ্যে, অ্যাপের নাম বিকল্পে অ্যাপের নাম লিখুন।
    2. ব্যবহারকারীর সহায়তা সংক্রান্ত ইমেল বিকল্পে, এমন একটি সহায়তা ইমেল আইডি বেছে নিন যেখানে ব্যবহারকারীরা তাদের সম্মতি সম্পর্কে প্রশ্ন থাকলে আপনার সাথে যোগাযোগ করতে পারবেন।
    3. পরবর্তী বিকল্পে ক্লিক করুন।
    4. দর্শক বিকল্পের মধ্যে, ইন্টার্নাল বিকল্প বেছে নিন।
    5. পরবর্তী বিকল্পে ক্লিক করুন।
    6. যোগাযোগের তথ্য বিকল্পের মধ্যে, এমন একটি ইমেল আইডি লিখুন যেখানে আপনার প্রোজেক্টে কোনও পরিবর্তন হলে আপনাকে জানানো যাবে।
    7. পরবর্তী বিকল্পে ক্লিক করুন।
    8. সম্পূর্ণ করুন বিকল্পের মধ্যে, Google API পরিষেবা সংক্রান্ত ব্যবহারকারীর ডেটা নীতি পর্যালোচনা করুন এবং আপনি সম্মতি জানালে, আমি Google API পরিষেবা সংক্রান্ত ব্যবহারকারীর ডেটা নীতিতে সম্মতি জানাচ্ছি বিকল্প বেছে নিন।
    9. চালিয়ে যান বিকল্পে ক্লিক করুন।
    10. তৈরি করুন বিকল্পে ক্লিক করুন।
  3. আপাতত, আপনি স্কোপ যোগ করা এড়িয়ে যেতে পারেন। ভবিষ্যতে, আপনার Google Workspace সংস্থার বাইরে ব্যবহারের জন্য কোনও অ্যাপ তৈরি করলে, আপনাকে অবশ্যই ব্যবহারকারীর ধরন পরিবর্তন করে এক্সটার্নাল করতে হবে। তারপরে আপনার অ্যাপের প্রয়োজনীয় অনুমোদনের স্কোপ যোগ করুন। আরও জানতে, সম্পূর্ণ OAuth সম্মতি কনফিগার করুন গাইড দেখুন।

Google Cloud Console-এ পরিষেবা অ্যাকাউন্ট তৈরি করা

এইসব ধাপ অনুসরণ করে Vertex AI User ভূমিকা সহ একটি নতুন পরিষেবা অ্যাকাউন্ট তৈরি করুন:

Google Cloud Console

  1. Google Cloud Console-এ, 'মেনু > IAM ও অ্যাডমিন > পরিষেবা অ্যাকাউন্ট' বিকল্পে যান।

    পরিষেবা অ্যাকাউন্টে যান

    বাকি ধাপগুলি Google Cloud Console-এ দেখা যাবে।

  2. Google Cloud প্রোজেক্ট বেছে নিন।
  3. পরিষেবার অ্যাকাউন্ট তৈরি করুন-এ ক্লিক করুন।
  4. Google Cloud Console-এ দেখানোর জন্য একটি পরিষেবা অ্যাকাউন্টের নাম লিখুন।
  5. আপনি এখন অ্যাক্সেস কন্ট্রোল সেট করতে না চাইলে, পরিষেবা অ্যাকাউন্ট তৈরি করা সম্পূর্ণ করতে হয়ে গেছে বিকল্পে ক্লিক করুন। এখনই অ্যাক্সেস কন্ট্রোল সেট করতে, তৈরি করুন ও চালিয়ে যান বিকল্পে ক্লিক করে পরবর্তী ধাপে যান।
  6. ঐচ্ছিক: Google Workspace রিসোর্স ছাড়াও আপনার Google Cloud প্রোজেক্টের রিসোর্সে অ্যাক্সেস দিতে, আপনার পরিষেবা অ্যাকাউন্টে ভূমিকা অ্যাসাইন করুন। আরও বিবরণের জন্য, প্রোজেক্ট, ফোল্ডার ও সংস্থার অ্যাক্সেস ম্যানেজ করা দেখুন।
  7. চালিয়ে যান বিকল্পে ক্লিক করুন।
  8. ঐচ্ছিক: এই পরিষেবা অ্যাকাউন্ট ম্যানেজ করতে ও অ্যাকশন পারফর্ম করতে পারবেন এমন ব্যবহারকারী বা গ্রুপ লিখুন। আরও বিবরণের জন্য, পরিষেবা অ্যাকাউন্টের ছদ্মবেশীতা দেখুন।
  9. পরিষেবা অ্যাকাউন্ট তৈরি করা সম্পূর্ণ করতে হয়ে গেছে বিকল্পে ক্লিক করুন।

    পরিষেবা অ্যাকাউন্টের ইমেল আইডি লিখে রাখুন।

gcloud CLI

  1. পরিষেবা অ্যাকাউন্ট তৈরি করুন:
    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
      --display-name="SERVICE_ACCOUNT_NAME"
  2. ঐচ্ছিক: Google Workspace রিসোর্স ছাড়াও আপনার Google Cloud প্রোজেক্টের রিসোর্সে অ্যাক্সেস দিতে, আপনার পরিষেবা অ্যাকাউন্টে ভূমিকা অ্যাসাইন করুন। আরও বিবরণের জন্য, প্রোজেক্ট, ফোল্ডার ও সংস্থার অ্যাক্সেস ম্যানেজ করা দেখুন।

পরিষেবা অ্যাকাউন্টের পৃষ্ঠায় পরিষেবা অ্যাকাউন্টটি দেখা যাবে।

প্রাইভেট কী তৈরি করা

পরিষেবা অ্যাকাউন্টের জন্য ব্যক্তিগত কী তৈরি ও ডাউনলোড করতে, এইসব ধাপ অনুসরণ করুন:

  1. Google Cloud Console-এ, 'মেনু > IAM ও অ্যাডমিন > পরিষেবা অ্যাকাউন্ট' বিকল্পে যান।

    পরিষেবা অ্যাকাউন্টে যান

    বাকি ধাপগুলি Google Cloud Console-এ দেখা যাবে।

  2. Google Cloud প্রোজেক্ট বেছে নিন।
  3. আপনি যে পরিষেবা অ্যাকাউন্টের জন্য কী তৈরি করতে চান সেটির ইমেল আইডিতে ক্লিক করুন।
  4. কী ট্যাবে ক্লিক করুন।
  5. কী যোগ করুন ড্রপ-ডাউন মেনুতে ক্লিক করে নতুন কী তৈরি করুন বিকল্প বেছে নিন।
  6. কীয়ের ধরন হিসেবে JSON বেছে নিন এবং তৈরি করুন বিকল্পে ক্লিক করুন।

    আপনার নতুন পাবলিক/প্রাইভেট কী পেয়ার তৈরি করা হয় এবং আপনার মেশিনে পরিষেবা অ্যাকাউন্ট কী ফাইল হিসেবে ডাউনলোড করা হয়। ডাউনলোড করা JSON ফাইলটি আপনার ওয়ার্কিং ডিরেক্টরিতে credentials.json হিসেবে সেভ করুন। এই ফাইলটিই হল এই কী-এর একমাত্র কপি। আপনি কী ফাইল ডাউনলোড করার পরে সেটি আর ডাউনলোড করতে পারবেন না। আপনার কী নিরাপদে স্টোর করার পদ্ধতি সম্পর্কে তথ্য পেতে, পরিষেবা অ্যাকাউন্টের কী ম্যানেজ করার পেশাদার পদ্ধতি দেখুন।

পরিষেবা অ্যাকাউন্ট সম্পর্কে আরও জানতে, Google Cloud IAM ডকুমেন্টেশনে পরিষেবা অ্যাকাউন্ট দেখুন।

A2A এজেন্ট ডিপ্লয় করা

  1. আপনি এটি না করে থাকলে, আপনার Google Cloud অ্যাকাউন্টের মাধ্যমে যাচাই করিয়ে নিন এবং আপনার Google Cloud প্রোজেক্ট ব্যবহার করার জন্য Google Cloud CLI কনফিগার করুন।

    gcloud auth application-default login
    gcloud config set project PROJECT_ID
    gcloud auth application-default set-quota-project PROJECT_ID

    আপনার Cloud প্রোজেক্টের আইডি দিয়ে PROJECT_ID পাল্টে দিন।

  2. এই বোতামটি ব্যবহার করে ADK স্যাম্পেল GitHub রিপোজিটরি ডাউনলোড করুন:

    adk-samples ডাউনলোড করুন

  3. আপনার পছন্দের লোকাল ডেভেলপমেন্ট এনভায়রনমেন্টে, ডাউনলোড করা আর্কাইভ ফাইল এক্সট্র্যাক্ট করুন এবং adk-samples/python/agents/llm-auditor ডিরেক্টরি খুলুন।

    unzip adk-samples-main.zip
    cd adk-samples-main/python/agents/llm-auditor
  4. A2A রিমোট এজেন্ট হিসেবে ADK এজেন্ট ডিপ্লয় করতে ইমপ্লিমেন্টেশন আপডেট করুন:

    1. pyproject.toml: ডিপ্লয়মেন্ট গ্রুপে ADK ও A2A SDK নির্ভরতা যোগ করুন।

      apps-script/chat/a2a-ai-agent/llm-auditor/pyproject.toml
      [project]
      name = "llm-auditor"
      version = "0.1.0"
      description = "The LLM Auditor evaluates LLM-generated answers, verifies actual accuracy using the web, and refines the response to ensure alignment with real-world knowledge."
      authors = [
          { name = "Chun-Sung Ferng", email = "csferng@google.com" },
          { name = "Cyrus Rashtchian", email = "cyroid@google.com" },
          { name = "Da-Cheng Juan", email = "dacheng@google.com" },
          { name = "Ivan Kuznetsov", email = "ivanku@google.com" },
      ]
      license = "Apache License 2.0"
      readme = "README.md"
      
      [tool.poetry.dependencies]
      python = "^3.10"
      google-adk = "^1.0.0"
      google-cloud-aiplatform = { extras = [
          "adk",
          "agent-engines",
      ], version = "^1.93.0" }
      google-genai = "^1.9.0"
      pydantic = "^2.10.6"
      python-dotenv = "^1.0.1"
      
      [tool.poetry.group.dev]
      optional = true
      
      [tool.poetry.group.dev.dependencies]
      google-adk = { version = "^1.0.0", extras = ["eval"] }
      pytest = "^8.3.5"
      pytest-asyncio = "^0.26.0"
      
      [tool.poetry.group.deployment]
      optional = true
      
      [tool.poetry.group.deployment.dependencies]
      absl-py = "^2.2.1"
      google-adk = "^1.0.0"
      a2a-sdk = "^0.3.0"
      
      [build-system]
      requires = ["poetry-core>=2.0.0,<3.0.0"]
      build-backend = "poetry.core.masonry.api"
    2. deployment/deploy.py: ADK অ্যাপ ডিপ্লয়মেন্টের জায়গায় A2A এজেন্ট ও কার্ড ব্যবহার করুন।

      apps-script/chat/a2a-ai-agent/llm-auditor/deployment/deploy.py
      # Copyright 2025 Google LLC
      #
      # Licensed under the Apache License, Version 2.0 (the "License");
      # you may not use this file except in compliance with the License.
      # You may obtain a copy of the License at
      #
      #     http://www.apache.org/licenses/LICENSE-2.0
      #
      # Unless required by applicable law or agreed to in writing, software
      # distributed under the License is distributed on an "AS IS" BASIS,
      # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      # See the License for the specific language governing permissions and
      # limitations under the License.
      
      """Deployment script for LLM Auditor."""
      
      import os
      
      from absl import app
      from absl import flags
      from dotenv import load_dotenv
      from llm_auditor.agent import root_agent
      import vertexai
      from vertexai import agent_engines
      
      # A2A wrapping
      from a2a.types import AgentSkill
      from google.adk.a2a.executor.a2a_agent_executor import A2aAgentExecutor
      from google.adk.runners import InMemoryRunner
      from vertexai.preview.reasoning_engines.templates.a2a import create_agent_card
      from vertexai.preview.reasoning_engines import A2aAgent
      
      FLAGS = flags.FLAGS
      flags.DEFINE_string("project_id", None, "GCP project ID.")
      flags.DEFINE_string("location", None, "GCP location.")
      flags.DEFINE_string("bucket", None, "GCP bucket.")
      flags.DEFINE_string("resource_id", None, "ReasoningEngine resource ID.")
      
      flags.DEFINE_bool("list", False, "List all agents.")
      flags.DEFINE_bool("create", False, "Creates a new agent.")
      flags.DEFINE_bool("delete", False, "Deletes an existing agent.")
      flags.mark_bool_flags_as_mutual_exclusive(["create", "delete"])
      
      
      def create() -> None:
          """Creates an agent engine for LLM Auditor."""
          agent_card = create_agent_card(
              agent_name=root_agent.name,
              description=root_agent.description,
              skills=[AgentSkill(
                  id='audit_llm_output',
                  name='Audit LLM Output',
                  description='Critiques and revises outputs from large language models.',
                  tags=['LLM', 'Audit', 'Revision'],
                  examples=[
                      'The earth is flat.',
                      'The capital of France is Berlin.',
                      'The last winner of the Super Bowl was the New England Patriots in 2020.',
                  ],
              )]
          )
          a2a_agent = A2aAgent(
              agent_card=agent_card,
              agent_executor_builder=lambda: A2aAgentExecutor(
                  runner=InMemoryRunner(
                      app_name=root_agent.name,
                      agent=root_agent,
                  )
              )
          )
          a2a_agent.set_up()
      
          remote_agent = agent_engines.create(
              a2a_agent,
              display_name=root_agent.name,
              requirements=[
                      "google-adk (>=0.0.2)",
                      "google-cloud-aiplatform[agent_engines] (>=1.88.0,<2.0.0)",
                      "google-genai (>=1.5.0,<2.0.0)",
                      "pydantic (>=2.10.6,<3.0.0)",
                      "absl-py (>=2.2.1,<3.0.0)",
                      "a2a-sdk>=0.3.22",
                      "uvicorn",
              ],
              # In-memory runner
              max_instances=1,
              env_vars ={
                  "NUM_WORKERS": "1"
              },
              extra_packages=["./llm_auditor"],
          )
          print(f"Created remote agent: {remote_agent.resource_name}")
      
      
      def delete(resource_id: str) -> None:
          remote_agent = agent_engines.get(resource_id)
          remote_agent.delete(force=True)
          print(f"Deleted remote agent: {resource_id}")
      
      
      def list_agents() -> None:
          remote_agents = agent_engines.list()
          TEMPLATE = '''
      {agent.name} ("{agent.display_name}")
      - Create time: {agent.create_time}
      - Update time: {agent.update_time}
      '''
          remote_agents_string = '\n'.join(TEMPLATE.format(agent=agent) for agent in remote_agents)
          print(f"All remote agents:\n{remote_agents_string}")
      
      def main(argv: list[str]) -> None:
          del argv  # unused
          load_dotenv()
      
          project_id = (
              FLAGS.project_id
              if FLAGS.project_id
              else os.getenv("GOOGLE_CLOUD_PROJECT")
          )
          location = (
              FLAGS.location if FLAGS.location else os.getenv("GOOGLE_CLOUD_LOCATION")
          )
          bucket = (
              FLAGS.bucket if FLAGS.bucket
              else os.getenv("GOOGLE_CLOUD_STORAGE_BUCKET")
          )
      
          print(f"PROJECT: {project_id}")
          print(f"LOCATION: {location}")
          print(f"BUCKET: {bucket}")
      
          if not project_id:
              print("Missing required environment variable: GOOGLE_CLOUD_PROJECT")
              return
          elif not location:
              print("Missing required environment variable: GOOGLE_CLOUD_LOCATION")
              return
          elif not bucket:
              print(
                  "Missing required environment variable: GOOGLE_CLOUD_STORAGE_BUCKET"
              )
              return
      
          vertexai.init(
              project=project_id,
              location=location,
              staging_bucket=f"gs://{bucket}",
          )
      
          if FLAGS.list:
              list_agents()
          elif FLAGS.create:
              create()
          elif FLAGS.delete:
              if not FLAGS.resource_id:
                  print("resource_id is required for delete")
                  return
              delete(FLAGS.resource_id)
          else:
              print("Unknown command")
      
      
      if __name__ == "__main__":
          app.run(main)
  5. ADK এজেন্টের জন্য একটি নতুন Cloud Storage বাকেট তৈরি করুন।

    gcloud storage buckets create gs://CLOUD_STORAGE_BUCKET_NAME --project=PROJECT_ID --location=PROJECT_LOCATION

    নিম্নলিখিত বিষয়গুলি পরিবর্তন করুন:

    1. CLOUD_STORAGE_BUCKET_NAME অনন্য বাকেট নামের সাথে যা আপনি ব্যবহার করতে চান।
    2. PROJECT_ID আপনার ক্লাউড প্রোজেক্টের আইডি সহ।
    3. আপনার Cloud প্রোজেক্টের লোকেশন সহ PROJECT_LOCATION।
  6. নিম্নলিখিত এনভায়রনমেন্ট ভেরিয়েবল সেট করুন:

    export GOOGLE_GENAI_USE_VERTEXAI=true
    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    export GOOGLE_CLOUD_LOCATION=PROJECT_LOCATION
    export GOOGLE_CLOUD_STORAGE_BUCKET=CLOUD_STORAGE_BUCKET_NAME

    নিম্নলিখিত বিষয়গুলি পরিবর্তন করুন:

    1. CLOUD_STORAGE_BUCKET_NAME আপনার তৈরি করা বাকেটের নাম সহ।
    2. PROJECT_ID আপনার ক্লাউড প্রোজেক্টের আইডি সহ।
    3. আপনার Cloud প্রোজেক্টের লোকেশন সহ PROJECT_LOCATION।
  7. ভার্চুয়াল এনভায়রনমেন্ট থেকে ADK এজেন্ট ইনস্টল ও ডিপ্লয় করুন।

    python3 -m venv myenv
    source myenv/bin/activate
    poetry install --with deployment
    python3 deployment/deploy.py --create
  8. এজেন্ট আইডি রিট্রিভ করুন। আপনি পরে এটি ব্যবহার করতে পারবেন, যখন Chat অ্যাপ কনফিগার করবেন।

    python3 deployment/deploy.py --list

Chat অ্যাপ প্রোজেক্ট তৈরি ও কনফিগার করা

  1. A2A AI এজেন্ট কুইকস্টার্ট অ্যাপ স্ক্রিপ্ট প্রজেক্ট খুলতে, নিম্নলিখিত বোতামে ক্লিক করুন।

    প্রোজেক্ট খুলুন

  2. ওভারভিউ > কপি তৈরি করার আইকন কপি তৈরি করুন বিকল্পে ক্লিক করুন।

  3. আপনার Apps স্ক্রিপ্ট প্রোজেক্টে, নিম্নলিখিত স্ক্রিপ্ট প্রপার্টি যোগ করতে, প্রোজেক্ট সেটিংসের আইকন প্রোজেক্ট সেটিংস > স্ক্রিপ্ট প্রপার্টি এডিট করুন > স্ক্রিপ্ট প্রপার্টি যোগ করুন বিকল্পে ক্লিক করুন:

    1. REASONING_ENGINE_RESOURCE_NAME Vertex AI এজেন্ট রিসোর্স নামের সাথে যা আগের ধাপে কপি করা হয়েছে।
    2. SERVICE_ACCOUNT_KEY-এর সাথে পরিষেবা অ্যাকাউন্ট থেকে JSON কী ডাউনলোড করা হয়েছে, যেমন { ... }।
  4. স্ক্রিপ্ট প্রপার্টি সেভ করুন বিকল্পে ক্লিক করুন।

  5. Google API কনসোলে, 'মেনু > IAM ও অ্যাডমিন > সেটিংস' বিকল্পে যান।

    IAM ও অ্যাডমিন সেটিংসে যান

  6. প্রোজেক্ট নম্বর ফিল্ডে, ভ্যালু কপি করুন।

  7. আপনার Apps স্ক্রিপ্ট প্রোজেক্টে, প্রোজেক্ট সেটিংসের আইকন প্রোজেক্ট সেটিংস বিকল্পে ক্লিক করুন।

  8. Google Cloud Platform (GCP) প্রোজেক্ট বিকল্পের মধ্যে, প্রোজেক্ট পরিবর্তন করুন বিকল্পে ক্লিক করুন।

  9. GCP প্রোজেক্ট নম্বরে, আগের ধাপে কপি করা Google Cloud প্রোজেক্ট নম্বর পেস্ট করুন।

  10. প্রোজেক্ট সেট করুন বিকল্পে ক্লিক করুন। Cloud প্রোজেক্ট ও Apps Script প্রোজেক্ট এখন কানেক্ট করা হয়েছে।

টেস্ট ডিপ্লয়মেন্ট তৈরি করা

এই Apps Script প্রোজেক্টের জন্য আপনার একটি ডিপ্লয়মেন্ট আইডি প্রয়োজন, যাতে আপনি এটি পরবর্তী ধাপে ব্যবহার করতে পারেন।

হেড ডিপ্লয়মেন্ট আইডি পেতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:

  1. Chat অ্যাপের Apps স্ক্রিপ্ট প্রোজেক্টে, ডিপ্লয় করুন > ডিপ্লয়মেন্ট পরীক্ষা করুন বিকল্পে ক্লিক করুন।
  2. হেড ডিপ্লয়মেন্ট ID-এর অধীনে, কপি তৈরি করার আইকন কপি করুন বিকল্পে ক্লিক করুন।
  3. হয়ে গেছে বিকল্পে ক্লিক করুন।

Chat অ্যাপ কনফিগার করা

আপনার Apps Script ডিপ্লয়মেন্ট ব্যবহার করে, পরীক্ষা করার জন্য Google Chat অ্যাপ ডিপ্লয় করতে এইসব ধাপ অনুসরণ করুন:

  1. API কনসোলে, Google Chat API-এর জন্য সার্চ করুন এবং Google Chat API-তে ক্লিক করুন।
  2. ম্যানেজ করুন বিকল্পে ক্লিক করুন।
  3. কনফিগারেশন বিকল্পে ক্লিক করে Chat অ্যাপ সেট-আপ করুন:

    1. অ্যাপের নাম ফিল্ডে, A2A Quickstart লিখুন।
    2. অবতার URL ফিল্ডে, https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png লিখুন।
    3. বিবরণ ফিল্ডে, A2A Quickstart লিখুন।
    4. কার্যকারিতা বিকল্পের মধ্যে, স্পেস ও গ্রুপ কথোপকথনে যোগ দিন বিকল্প বেছে নিন।
    5. কানেকশন সেটিংসের মধ্যে, Apps Script প্রোজেক্ট বিকল্প বেছে নিন।
    6. ডেপ্লয়মেন্ট আইডি ফিল্ডে, হেড ডেপ্লয়মেন্ট আইডি পেস্ট করুন যেটি আপনি আগে কপি করেছিলেন।
    7. দৃশ্যমানতা বিকল্পের মধ্যে, আপনার ডোমেনের নির্দিষ্ট লোকজন ও গ্রুপ বিকল্প বেছে নিন এবং আপনার ইমেল আইডি লিখুন।
  4. সেভ করুন বিকল্পে ক্লিক করুন।

Chat অ্যাপ মেসেজের উত্তর দেওয়ার জন্য প্রস্তুত।

Chat অ্যাপ পরীক্ষা করা

আপনার Chat অ্যাপ পরীক্ষা করতে, Chat অ্যাপের মাধ্যমে সরাসরি মেসেজ স্পেস খুলুন এবং একটি মেসেজ পাঠান:

  1. আপনি বিশ্বস্ত পরীক্ষক হিসেবে নিজেকে যোগ করার সময় যে Google Workspace অ্যাকাউন্ট প্রদান করেছিলেন সেটি ব্যবহার করে Google Chat খুলুন।

    Google Chat-এ যান

  2. নতুন চ্যাট বিকল্পে ক্লিক করুন।
  3. ১ বা একাধিক লোকজনকে যোগ করুন ফিল্ডে, আপনার Chat অ্যাপের নাম টাইপ করুন।
  4. ফলাফল থেকে আপনার Chat অ্যাপ বেছে নিন। সরাসরি মেসেজ খুলে যায়।

  5. অ্যাপের সাথে নতুন সরাসরি মেসেজে, The Eiffel Tower was completed in 1900 টাইপ করেenter প্রেস করুন।

    Chat অ্যাপ সমালোচক ও সংশোধনকারী সাব-এজেন্টের উত্তর দেয়।

বিশ্বস্ত পরীক্ষক যোগ করতে এবং ইন্ট্যার‍্যাক্টিভ ফিচার পরীক্ষা করা সম্পর্কে আরও জানতে, Google Chat অ্যাপের জন্য ইন্ট্যার‍্যাক্টিভ ফিচার পরীক্ষা করুন দেখুন।

সমস্যার সমাধান করুন

Google Chat অ্যাপ বা কার্ড কোনও সমস্যার মেসেজ দেখালে, Chat ইন্টারফেস "কিছু সমস্যা হয়েছে" লেখা মেসেজ দেখায়। অথবা "আপনার অনুরোধ প্রসেস করা যায়নি" কখনও কখনও Chat UI কোনও সমস্যার মেসেজ না দেখালেও, Chat অ্যাপ বা কার্ড অপ্রত্যাশিত ফলাফল দেয়; যেমন, কার্ড মেসেজ দেখানো নাও হতে পারে।

যদিও Chat UI-তে কোনও সমস্যার মেসেজ নাও দেখাতে পারে, Chat অ্যাপের জন্য সমস্যা লগ করার সুবিধা চালু করা থাকলে, সমস্যার বিবরণ সহ মেসেজ ও লগ ডেটা আপনাকে সমস্যা সমাধান করতে সাহায্য করার জন্য উপলভ্য থাকে। দেখতে, ডিবাগ করতে এবং সমস্যার সমাধান করতে সাহায্য পেতে, Google Chat সংক্রান্ত সমস্যার সমাধান ও তা ঠিক করা দেখুন।

অপ্রয়োজনীয়গুলি মুছুন

এই টিউটোরিয়ালে ব্যবহৃত রিসোর্সের জন্য আপনার Google Cloud অ্যাকাউন্টে চার্জ যাতে না লাগে, তার জন্য আমরা Cloud প্রোজেক্টটি মুছে দেওয়ার সাজেস্ট করি।

  1. Google API কনসোলে, রিসোর্স ম্যানেজ করুন পৃষ্ঠায় যান। মেনু > IAM ও অ্যাডমিন > রিসোর্স ম্যানেজ করুন বিকল্পে ক্লিক করুন।

    রিসোর্স ম্যানেজারে যান

  2. প্রোজেক্টের তালিকা থেকে, যে প্রোজেক্টটি মুছতে চান সেটি বেছে নিন এবং তারপরে মুছুন বিকল্পে ক্লিক করুন।
  3. ডায়ালগে, প্রোজেক্ট আইডি টাইপ করুন এবং তারপর প্রোজেক্ট মুছে দিতে বন্ধ করুন বিকল্পে ক্লিক করুন ।