ساختن برنامه Google Chat با عامل Agent2Agent

این صفحه توضیح می‌دهد که چگونه برنامه Google Chat بسازید که با عامل هوشواره‌ای که از پروتکل Agent2Agent (A2A) استفاده می‌کند میانای کاربری داشته باشد. عامل را بااستفاده از کیت توسعه عامل (ADK) توسعه می‌دهید و آن را در موتور عامل Vertex AI میزبانی می‌کنید.

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

نمونه چندعاملی LLM Auditor به‌عنوان برنامه Chat.

نمودار زیر معماری و الگوی پیام‌رسانی را نشان می‌دهد:

معماری برنامه Chat که با عامل هوش مصنوعی A2A پیاده‌سازی شده است.

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

  1. کاربری پیامی را به برنامه Chat ارسال می‌کند، چه در پیام مستقیم و چه در فضای Chat.
  2. منطق برنامه Chat که در Apps Script یا به‌عنوان سرور وب با نقاط پایانی HTTP پیاده‌سازی شده است، پیام را دریافت و پردازش می‌کند.
  3. عامل A2A میزبانی‌شده با Vertex AI Agent Engine تعامل را دریافت و پردازش می‌کند.
  4. به‌صورت اختیاری، برنامه Chat یا عامل هوش مصنوعی می‌تواند با سرویس‌های Google Workspace، مثل «تقویم» یا «کاربرگ‌نگار»، یا سرویس‌های دیگر Google، مثل Google Maps یا YouTube، ادغام شود.
  5. برنامه Chat پاسخ‌ها را به‌صورت ناهم‌زمان ارسال می‌کند و از «میانای برنامه‌سازی کاربردی Google Chat» برای اطلاع‌رسانی درباره پیشرفت کارگزار هوش مصنوعی استفاده می‌کند.
  6. پاسخ‌ها به کاربر ارائه می‌شود.

اهداف

  • محیط خود را راه‌اندازی کنید.
  • عامل A2A را مستقر کنید.
  • برنامه Chat را مستقر کنید.
  • برنامه Chat را پیکربندی کنید.
  • برنامه Chat را آزمایش کنید.

پیش‌نیازها

راه‌اندازی محیط

فعال کردن Google Cloud APIs

قبل‌از استفاده از «میاناهای برنامه‌سازی کاربردی Google»، باید آن‌ها را در پروژه Google Cloud روشن کنید. می‌توانید یک یا چند API را در یک پروژه Google Cloud روشن کنید.

پیکربندی صفحه کسب رضایت OAuth

همه برنامه‌هایی که از OAuth 2.0 استفاده می‌کنند به پیکربندی صفحه کسب رضایت نیاز دارند. پیکربندی صفحه موافقت OAuth برنامه‌تان مشخص می‌کند چه چیزی به کاربران و بازبینان برنامه نمایش داده شود و برنامه‌تان را ثبت می‌کند تا بتوانید آن را بعداً منتشر کنید.

  1. در «کنسول Google API»، به «منو» > پلاتفرم «احراز هویت Google» > نمانام‌سازی بروید.

    رفتن به نمانام‌سازی

  2. اگر قبلاً پلاتفرم «احراز هویت Google» را پیکربندی کرده‌اید، می‌توانید تنظیمات «صفحه موافقت OAuth» زیر را در نمانام‌سازی، مخاطب، و دسترسی به داده‌ها پیکربندی کنید. اگر پیامی با این مضمون دیدید: پلاتفرم «احراز هویت Google» هنوز پیکربندی نشده است، روی شروع به کار کلیک کنید:
    1. در بخش اطلاعات برنامه، در نام برنامه، نامی برای برنامه وارد کنید.
    2. در ایمیل پشتیبانی کاربر، نشانی ایمیل پشتیبانی را انتخاب کنید که کاربران بتوانند درصورت داشتن سؤال درباره رضایتشان با شما تماس بگیرند.
    3. روی بعدی کلیک کنید.
    4. در بخش مخاطبان، داخلی را انتخاب کنید.
    5. روی بعدی کلیک کنید.
    6. در بخش اطلاعات تماس، نشانی ایمیلی وارد کنید که ازطریق آن بتوانید از هرگونه تغییر در پروژه خود مطلع شوید.
    7. روی بعدی کلیک کنید.
    8. در بخش تکمیل، خط‌مشی داده‌های کاربر سرویس‌های Google API را مرور کنید و درصورت موافقت، با «خط‌مشی داده‌های کاربر سرویس‌های Google API» موافقم را انتخاب کنید.
    9. روی ادامه کلیک کنید.
    10. روی ایجاد کردن کلیک کنید.
  3. درحال‌حاضر می‌توانید از افزودن محدوده‌ها رد شوید. در آینده، وقتی برنامه‌ای برای استفاده در خارج از سازمان Google Workspace خودتان ایجاد می‌کنید، باید نوع کاربر را به خارجی تغییر دهید. سپس محدوده‌های مجوز موردنیاز برنامه‌تان را اضافه کنید. برای کسب اطلاعات بیشتر، راهنمای کامل پیکربندی موافقت OAuth را ببینید.

ایجاد حساب خدمات در کنسول Google Cloud

با دنبال کردن این مراحل، حساب سرویس جدیدی با نقش Vertex AI User ایجاد کنید:

Google Cloud Console

  1. در «کنسول Google Cloud»، به «منو» > IAM و سرپرست > حساب‌های سرویس بروید.

    رفتن به «حساب‌های سرویس»

    مراحل باقی‌مانده در «کنسول Google Cloud» نشان داده می‌شود.

  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»، به «منو» > IAM و سرپرست > حساب‌های سرویس بروید.

    رفتن به «حساب‌های سرویس»

    مراحل باقی‌مانده در «کنسول Google Cloud» نشان داده می‌شود.

  2. پروژه Google Cloud را انتخاب کنید.
  3. روی نشانی ایمیل حساب سرویسی که می‌خواهید کلید برای آن ایجاد کنید کلیک کنید.
  4. روی برگه کلیدها کلیک کنید.
  5. روی منوِ کرکره‌ای افزودن کلید کلیک کنید، سپس ایجاد کلید جدید را انتخاب کنید.
  6. JSON را به‌عنوان نوع کلید انتخاب کنید و روی ایجاد کلیک کنید.

    جفت کلید عمومی/خصوصی جدید شما تولید می‌شود و به‌عنوان فایل کلید حساب خدماتی در ماشین شما بارگیری می‌شود. فایل JSON بارگیری‌شده را به‌عنوان credentials.json در دایرکتوری کاری‌تان ذخیره کنید. این فایل تنها نسخه این کلید است. پس‌از بارگیری فایل کلید، نمی‌توانید آن را دوباره بارگیری کنید. برای کسب اطلاعات درباره نحوه ذخیره ایمن کلید، روال‌های مطلوب برای مدیریت کلیدهای حساب سرویس را ببینید.

برای کسب اطلاعات بیشتر درباره حساب‌های خدمات، به حساب‌های خدمات در اسناد Google Cloud IAM مراجعه کنید.

عامل A2A را مستقر کنید

  1. اگر این کار را انجام نداده‌اید، با حساب Google Cloud خود اصالت‌سنجی کنید و «رابط خط فرمان Google Cloud» را برای استفاده از پروژه Google Cloud خود پیکربندی کنید.

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

    PROJECT_ID را با شناسه پروژه Cloud خودتان جایگزین کنید.

  2. بااستفاده از این دکمه، مخزن GitHub نمونه‌های 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. باکت Cloud Storage جدیدی اختصاص‌داده‌شده به عامل ADK ایجاد کنید.

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

    جایگزین کردن موارد زیر:

    1. CLOUD_STORAGE_BUCKET_NAME با نام باکت یکتایی که می‌خواهید استفاده کنید.
    2. PROJECT_ID با شناسه پروژه Cloud شما.
    3. PROJECT_LOCATION را با مکان پروژه Cloud خود جایگزین کنید.
  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 با شناسه پروژه Cloud شما.
    3. ‫PROJECT_LOCATION با مکان پروژه Cloud شما.
  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 Agent Quickstart Apps Script، روی دکمه زیر کلیک کنید.

    باز کردن پروژه

  2. روی نمای کلی > نماد تهیه کپی تهیه رونوشت کلیک کنید.

  3. در پروژه Apps Script خود، روی نماد تنظیمات پروژه تنظیمات پروژه > ویرایش دارایی‌های نوشتار > افزودن دارایی نوشتار کلیک کنید تا دارایی‌های نوشتار زیر را اضافه کنید:

    1. REASONING_ENGINE_RESOURCE_NAME با نام منبع عامل Vertex AI کپی‌شده در مراحل قبلی.
    2. ‫SERVICE_ACCOUNT_KEY با کلید JSON از حساب سرویس بارگیری‌شده در مراحل قبلی مثل { ... }.
  4. روی ذخیره کردن دارایی‌های نوشتار کلیک کنید.

  5. در «کنسول Google API»، به «منو» > IAM و سرپرست > تنظیمات بروید.

    به «تنظیمات IAM و سرپرست» بروید

  6. در فیلد شماره پروژه، مقدار را کپی کنید.

  7. در پروژه Apps Script خود، روی نماد تنظیمات پروژه تنظیمات پروژه کلیک کنید.

  8. در بخش پروژه Google Cloud Platform (GCP)، روی تغییر پروژه کلیک کنید.

  9. در شماره پروژه GCP، شماره پروژه Google Cloud را که در مراحل قبلی کپی کرده‌اید جای‌گذاری کنید.

  10. روی تنظیم پروژه کلیک کنید. پروژه Cloud و پروژه Apps Script اکنون متصل هستند.

ایجاد استقرار آزمایشی

برای این پروژه «دستورگان برنامه‌ها» به شناسه استقرار نیاز دارید تا بتوانید از آن در مرحله بعد استفاده کنید.

برای دریافت شناسه استقرار سر، کارهای زیر را انجام دهید:

  1. در پروژه برنامه Chat در Apps Script، روی پیاده‌سازی > آزمایش پیاده‌سازی‌ها کلیک کنید.
  2. در بخش شناسه استقرار سر، روی نماد تهیه کپی کپی کردن کلیک کنید.
  3. روی تمام کلیک کنید.

پیکربندی برنامه Chat

بااستفاده از پیاده‌سازی Apps Script، این مراحل را برای پیاده‌سازی برنامه Google Chat برای آزمایش دنبال کنید:

  1. در API Console، Google Chat API را جستجو کنید، و روی Google Chat API کلیک کنید.
  2. روی مدیریت کلیک کنید.
  3. روی پیکربندی کلیک کنید و برنامه Chat را راه‌اندازی کنید:

    1. در فیلد نام برنامه، A2A Quickstart را وارد کنید.
    2. در فیلد نشانی وب چهرک، 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» هیچ پیام خطایی نمایش نمی‌دهد، اما برنامه Chat یا کارت نتیجه غیرمنتظره‌ای تولید می‌کند؛ برای مثال، ممکن است پیام کارت ظاهر نشود.

اگرچه ممکن است پیام خطا در واسط کاربر Chat نمایش داده نشود، پیام‌های خطای توصیفی و داده‌های گزارش برای کمک به شما در رفع خطاها وقتی گزارش خطا برای برنامه‌های Chat روشن باشد دردسترس است. برای دریافت راهنمایی درباره مشاهده، اشکال‌زدایی، و رفع خطاها، عیب‌یابی و رفع خطاهای Google Chat را ببینید.

مرتب‌سازی

برای اینکه هزینه منابع استفاده‌شده در این آموزش به حساب Google Cloud شما اضافه نشود، توصیه می‌کنیم پروژه Cloud را حذف کنید.

  1. در «کنسول Google API»، به صفحه مدیریت منابع بروید. روی منو > IAM و سرپرست > مدیریت منابع کلیک کنید.

    به «مدیر منابع» بروید

  2. در فهرست پروژه، پروژه‌ای را که می‌خواهید حذف کنید انتخاب کنید و سپس روی حذف کلیک کنید.
  3. در چارگوش گفتگو، شناسه پروژه را تایپ کنید و سپس روی خاموش کردن کلیک کنید تا پروژه حذف شود.