Agent2Agent এজেন্ট দিয়ে একটি Google Chat অ্যাপ তৈরি করুন

এই পৃষ্ঠায় ব্যাখ্যা করা হয়েছে কীভাবে একটি গুগল ওয়ার্কস্পেস অ্যাড-অন তৈরি করতে হয়, যা গুগল চ্যাটে কাজ করে এবং এজেন্টটুএজেন্ট (A2A) প্রোটোকল ব্যবহারকারী একটি এআই এজেন্টের সাথে ইন্টারফেস করে। আপনি এজেন্ট ডেভেলপমেন্ট কিট (ADK) ব্যবহার করে এজেন্টটি তৈরি করবেন এবং এটিকে ভার্টেক্স এআই এজেন্ট ইঞ্জিনে হোস্ট করবেন।

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

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

নিম্নলিখিত ডায়াগ্রামটি আর্কিটেকচার এবং মেসেজিং প্যাটার্ন দেখায়:

একটি A2A এআই এজেন্ট দ্বারা বাস্তবায়িত চ্যাট অ্যাপের স্থাপত্য।

ডায়াগ্রামটিতে, একটি A2A এজেন্ট দ্বারা বাস্তবায়িত চ্যাট অ্যাপের সাথে মিথস্ক্রিয়াকারী একজন ব্যবহারকারীর তথ্যের প্রবাহ নিম্নরূপ:

  1. একজন ব্যবহারকারী কোনো চ্যাট অ্যাপে সরাসরি বার্তা অথবা চ্যাট স্পেসে বার্তা পাঠান।
  2. চ্যাট অ্যাপের লজিক, যা অ্যাপস স্ক্রিপ্টে অথবা HTTP এন্ডপয়েন্টসহ একটি ওয়েব সার্ভার হিসেবে বাস্তবায়িত হয়, সেটি বার্তা গ্রহণ ও প্রক্রিয়াকরণ করে।
  3. Vertex AI Agent Engine-এ হোস্ট করা A2A এজেন্টটি ইন্টারঅ্যাকশনটি গ্রহণ ও প্রসেস করে।
  4. ঐচ্ছিকভাবে, চ্যাট অ্যাপ বা এআই এজেন্টটি গুগল ওয়ার্কস্পেস পরিষেবা, যেমন ক্যালেন্ডার বা শিটস, অথবা অন্যান্য গুগল পরিষেবা, যেমন গুগল ম্যাপস বা ইউটিউবের সাথে সংযুক্ত হতে পারে।
  5. চ্যাট অ্যাপটি এআই এজেন্টের অগ্রগতি জানানোর জন্য গুগল চ্যাট এপিআই ব্যবহার করে অ্যাসিঙ্ক্রোনাসভাবে উত্তর পাঠায়।
  6. প্রতিক্রিয়াগুলো ব্যবহারকারীর কাছে পৌঁছে দেওয়া হয়।

উদ্দেশ্য

  • আপনার পরিবেশ প্রস্তুত করুন।
  • A2A এজেন্টটি স্থাপন করুন।
  • চ্যাট অ্যাপটি স্থাপন করুন।
  • চ্যাট অ্যাপটি কনফিগার করুন।
  • চ্যাট অ্যাপটি পরীক্ষা করুন।

পূর্বশর্ত

আপনার পরিবেশ তৈরি করুন

গুগল ক্লাউড এপিআই সক্রিয় করুন

গুগল এপিআই ব্যবহার করার আগে, আপনাকে একটি গুগল ক্লাউড প্রজেক্টে সেগুলি চালু করতে হবে। আপনি একটি একক গুগল ক্লাউড প্রজেক্টে এক বা একাধিক এপিআই চালু করতে পারেন।

OAuth সম্মতি স্ক্রিন কনফিগার করুন

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

  1. গুগল ক্লাউড কনসোলে, মেনু যান >Google Auth platform ব্র্যান্ডিং

    ব্র্যান্ডিং-এ যান

  2. যদি আপনি ইতিমধ্যে কনফিগার করে থাকেন Google Auth platformআপনি ব্র্যান্ডিং , অডিয়েন্স এবং ডেটা অ্যাক্সেস- এ নিম্নলিখিত OAuth কনসেন্ট স্ক্রিন সেটিংস কনফিগার করতে পারেন। যদি আপনি এমন একটি বার্তা দেখেন যাতে বলা আছে Google Auth platform এখনো কনফিগার করা হয়নি , 'শুরু করুন'-এ ক্লিক করুন:
    1. 'অ্যাপ ইনফরমেশন'- এর অধীনে 'অ্যাপ নেম' -এ অ্যাপটির জন্য একটি নাম লিখুন।
    2. ব্যবহারকারী সহায়তা ইমেল- এ, এমন একটি সহায়তা ইমেল ঠিকানা বেছে নিন যেখানে ব্যবহারকারীরা তাদের সম্মতি সম্পর্কে কোনো প্রশ্ন থাকলে আপনার সাথে যোগাযোগ করতে পারে।
    3. পরবর্তী ধাপে যান।
    4. Audience-এর অধীনে Internal নির্বাচন করুন।
    5. পরবর্তী ধাপে যান।
    6. যোগাযোগের তথ্যের অধীনে, একটি ইমেল ঠিকানা লিখুন যেখানে আপনার প্রকল্পের যেকোনো পরিবর্তন সম্পর্কে আপনাকে জানানো যাবে।
    7. পরবর্তী ধাপে যান।
    8. Finish-এর অধীনে, Google API Services ব্যবহারকারীর ডেটা নীতি পর্যালোচনা করুন এবং যদি আপনি সম্মত হন, তাহলে I agree to the Google API Services: User Data Policy নির্বাচন করুন।
    9. চালিয়ে যান-এ ক্লিক করুন।
    10. তৈরি করুন- এ ক্লিক করুন।
  3. আপাতত, আপনি স্কোপ যোগ করা এড়িয়ে যেতে পারেন। ভবিষ্যতে, যখন আপনি আপনার Google Workspace অর্গানাইজেশনের বাইরে ব্যবহারের জন্য কোনো অ্যাপ তৈরি করবেন, তখন আপনাকে অবশ্যই ইউজার টাইপ (User type) পরিবর্তন করে ‘এক্সটার্নাল’ ( External ) করতে হবে। এরপর আপনার অ্যাপের জন্য প্রয়োজনীয় অথরাইজেশন স্কোপগুলো যোগ করুন। আরও জানতে, সম্পূর্ণ ‘কনফিগার OAuth কনসেন্ট’ (Configure OAuth consent) গাইডটি দেখুন।

গুগল ক্লাউড কনসোলে একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন

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

গুগল ক্লাউড কনসোল

  1. গুগল ক্লাউড কনসোলে, > আইএএম ও অ্যাডমিন > সার্ভিস অ্যাকাউন্টস- এ যান।

    পরিষেবা অ্যাকাউন্টগুলিতে যান

  2. সার্ভিস অ্যাকাউন্ট তৈরি করুন -এ ক্লিক করুন।
  3. সার্ভিস অ্যাকাউন্টের বিবরণ পূরণ করুন, তারপর 'তৈরি করুন এবং চালিয়ে যান' -এ ক্লিক করুন।
  4. ঐচ্ছিক: আপনার গুগল ক্লাউড প্রোজেক্টের রিসোর্সগুলিতে অ্যাক্সেস দেওয়ার জন্য আপনার সার্ভিস অ্যাকাউন্টে রোল নির্ধারণ করুন। আরও বিস্তারিত জানতে, “রিসোর্সগুলিতে অ্যাক্সেস প্রদান, পরিবর্তন এবং প্রত্যাহার” দেখুন।
  5. চালিয়ে যান-এ ক্লিক করুন।
  6. ঐচ্ছিক: সেইসব ব্যবহারকারী বা গোষ্ঠীর নাম লিখুন যারা এই পরিষেবা অ্যাকাউন্টটি দিয়ে পরিচালনা ও কার্যকলাপ সম্পাদন করতে পারবে। আরও বিস্তারিত জানতে, ‘পরিষেবা অ্যাকাউন্টের ছদ্মবেশ ব্যবস্থাপনা’ দেখুন।
  7. Done-এ ক্লিক করুন। সার্ভিস অ্যাকাউন্টের ইমেল ঠিকানাটি লিখে রাখুন।

gcloud CLI

  1. পরিষেবা অ্যাকাউন্ট তৈরি করুন:
    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
      --display-name="SERVICE_ACCOUNT_NAME"
  2. ঐচ্ছিক: আপনার গুগল ক্লাউড প্রোজেক্টের রিসোর্সগুলিতে অ্যাক্সেস দেওয়ার জন্য আপনার সার্ভিস অ্যাকাউন্টে রোল নির্ধারণ করুন। আরও বিস্তারিত জানতে, “রিসোর্সগুলিতে অ্যাক্সেস প্রদান, পরিবর্তন এবং প্রত্যাহার” দেখুন।

সার্ভিস অ্যাকাউন্টটি সার্ভিস অ্যাকাউন্ট পেজে দেখা যায়।

একটি ব্যক্তিগত কী তৈরি করুন

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

  1. গুগল ক্লাউড কনসোলে, > আইএএম ও অ্যাডমিন > সার্ভিস অ্যাকাউন্টস- এ যান।

    পরিষেবা অ্যাকাউন্টগুলিতে যান

  2. আপনার পরিষেবা অ্যাকাউন্ট নির্বাচন করুন।
  3. Keys > Add key > Create new key-তে ক্লিক করুন।
  4. JSON নির্বাচন করুন, তারপর Create-এ ক্লিক করুন।

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

  5. বন্ধ করুন-এ ক্লিক করুন।

সার্ভিস অ্যাকাউন্ট সম্পর্কে আরও তথ্যের জন্য, 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

    PROJECT_ID জায়গায় আপনার ক্লাউড প্রজেক্টের আইডি বসান।

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

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

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

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

    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 এজেন্টের জন্য একটি নতুন ক্লাউড স্টোরেজ বাকেট তৈরি করুন।

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

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

    1. CLOUD_STORAGE_BUCKET_NAME এ আপনার পছন্দের একটি অনন্য বাকেট নাম দিন।
    2. PROJECT_ID হলো আপনার ক্লাউড প্রজেক্টের আইডি।
    3. 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. PROJECT_LOCATION এ আপনার ক্লাউড প্রজেক্টের অবস্থান উল্লেখ করুন।
  7. ভার্চুয়াল পরিবেশ থেকে ADK এজেন্ট ইনস্টল ও স্থাপন করুন।

    python3 -m venv myenv
    source myenv/bin/activate
    poetry install --with deployment
    python3 deployment/deploy.py --create
  8. এজেন্ট আইডিটি সংগ্রহ করুন। চ্যাট অ্যাপটি কনফিগার করার সময় পরে আপনার এটি প্রয়োজন হবে।

    python3 deployment/deploy.py --list

চ্যাট অ্যাপ প্রজেক্ট তৈরি এবং কনফিগার করুন

  1. A2A AI Agent Quickstart Apps Script প্রজেক্টটি খুলতে নিচের বাটনটিতে ক্লিক করুন।

    প্রকল্পটি খুলুন

  2. Overview-তে ক্লিক করুন > অনুলিপি তৈরির আইকন একটি অনুলিপি তৈরি করুন

  3. আপনার অ্যাপস স্ক্রিপ্ট প্রজেক্টে ক্লিক করুন প্রজেক্ট সেটিংসের জন্য আইকন প্রজেক্ট সেটিংস > স্ক্রিপ্ট প্রোপার্টি সম্পাদনা করুন > স্ক্রিপ্ট প্রোপার্টি যোগ করুন -এ গিয়ে নিম্নলিখিত স্ক্রিপ্ট প্রোপার্টিগুলো যোগ করুন:

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

  5. Google Cloud কনসোলে, > IAM ও অ্যাডমিন > সেটিংস- এ যান।

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

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

  7. আপনার অ্যাপস স্ক্রিপ্ট প্রজেক্টে ক্লিক করুন প্রজেক্ট সেটিংসের জন্য আইকন প্রকল্প সেটিংস

  8. Google Cloud Platform (GCP) Project- এর অধীনে, Change project-এ ক্লিক করুন।

  9. GCP প্রজেক্ট নম্বরের ক্ষেত্রে, পূর্ববর্তী ধাপগুলোতে কপি করা গুগল ক্লাউড প্রজেক্ট নম্বরটি পেস্ট করুন।

  10. 'সেট প্রজেক্ট'-এ ক্লিক করুন। ক্লাউড প্রজেক্ট এবং অ্যাপস স্ক্রিপ্ট প্রজেক্ট এখন সংযুক্ত হয়েছে।

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

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

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

  1. চ্যাট অ্যাপ অ্যাপস স্ক্রিপ্ট প্রজেক্টে, Deploy > Test deployments-এ ক্লিক করুন।
  2. হেড ডিপ্লয়মেন্ট আইডি- এর অধীনে, ক্লিক করুন অনুলিপি তৈরির আইকন অনুলিপি করুন
  3. সম্পন্ন ক্লিক করুন।

চ্যাট অ্যাপটি কনফিগার করুন

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

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

    1. অ্যাপের নামের ফিল্ডে A2A Quickstart লিখুন।
    2. Avatar URL ফিল্ডে https://developers.google.com/workspace/add-ons/images/quickstart-app-avatar.png লিখুন।
    3. Description ফিল্ডে A2A Quickstart লিখুন।
    4. Functionality-এর অধীনে, Join spaces and group conversations নির্বাচন করুন।
    5. সংযোগ সেটিংসের অধীনে, অ্যাপস স্ক্রিপ্ট প্রজেক্ট নির্বাচন করুন।
    6. Deployment ID ফিল্ডে, পূর্বে কপি করা Head deployment ID-টি পেস্ট করুন।
    7. ভিজিবিলিটি-এর অধীনে, আপনার ডোমেইনের নির্দিষ্ট ব্যক্তি ও গোষ্ঠীসমূহ নির্বাচন করুন এবং আপনার ইমেল লিখুন।
  4. সংরক্ষণ করুন- এ ক্লিক করুন।

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

চ্যাট অ্যাপটি পরীক্ষা করুন

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

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

    গুগল চ্যাটে যান

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

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

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

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

সমস্যা সমাধান

যখন কোনো গুগল চ্যাট অ্যাপ বা কার্ডে ত্রুটি দেখা দেয়, তখন চ্যাট ইন্টারফেসে "কিছু একটা ভুল হয়েছে" বা "আপনার অনুরোধটি প্রক্রিয়া করা সম্ভব হয়নি" লেখা একটি বার্তা প্রদর্শিত হয়। কখনও কখনও চ্যাট UI কোনো ত্রুটির বার্তা প্রদর্শন করে না, কিন্তু চ্যাট অ্যাপ বা কার্ডটি একটি অপ্রত্যাশিত ফলাফল দেয়; উদাহরণস্বরূপ, কার্ডের বার্তাটি হয়তো দেখা যায় না।

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

পরিষ্কার করা

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

  1. Google Cloud কনসোলে, Manage resources পেজে যান। Menu > IAM & Admin > Manage Resources- ক্লিক করুন।

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

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