Bantuan pengetahuan generatif

Bantuan pengetahuan generatif memberikan jawaban atas pertanyaan agen Anda berdasarkan informasi dalam dokumen yang Anda berikan. Anda dapat menentukan nama domain atau mengupload dokumen untuk diindeks oleh agen penyimpanan data. Bantuan pengetahuan generatif menyintesis informasi tersebut dengan percakapan yang sedang berlangsung dan metadata pelanggan yang tersedia untuk memberikan jawaban yang lebih relevan dan tepat waktu kepada agen Anda.

Bantuan pengetahuan generatif proaktif mengikuti percakapan yang sedang berlangsung antara agen dan pelanggan. Fitur ini secara proaktif memberikan saran kueri penelusuran berdasarkan konteks percakapan dan jawaban saat ini.

Membuat agen penyimpanan data

  1. Kecuali jika Anda adalah pemilik project, Anda memerlukan peran berikut untuk membuat agen penyimpanan data:

    • Dialogflow API Admin
    • Discovery Engine Admin
  2. Aktifkan Vertex AI Agent Builder API di konsol Vertex AI.

  3. Untuk membuat agen, ikuti langkah-langkah di Agen penyimpanan data.

Menjawab pertanyaan dari agen manusia

Agen penyimpanan data dapat menjawab pertanyaan dari agen manusia Anda berdasarkan dokumen yang Anda berikan.

Langkah 1: Buat profil percakapan

Buat profil percakapan menggunakan konsol Agent Assist atau API.

Membuat dari konsol

  1. Anda harus mengaktifkan jenis saran bantuan pengetahuan generatif dan menautkannya ke agen penyimpanan data dari langkah sebelumnya.
  2. Opsional: Gunakan kotak centang Nonaktifkan logging kueri penelusuran agen untuk menunjukkan apakah Anda ingin Google mengumpulkan dan menyimpan kueri penelusuran yang disamarkan untuk potensi peningkatan kualitas.
  3. Anda dapat menggunakan kotak centang Aktifkan kueri augmented percakapan untuk menunjukkan apakah Anda ingin mempertimbangkan konteks percakapan antara agen manusia dan pengguna saat membuat jawaban untuk kueri penelusuran.

Membuat dari API

Langkah-langkah berikut menggambarkan cara membuat ConversationProfile dengan objek HumanAgentAssistantConfig. Anda juga dapat melakukan tindakan ini menggunakan konsol Agent Assist.

Untuk membuat profil percakapan, panggil metode create pada resource ConversationProfile.

Sebelum menggunakan data permintaan apa pun, lakukan penggantian berikut:
  • PROJECT_ID: project ID Anda
  • LOCATION_ID: ID untuk lokasi Anda
  • AGENT_ID: ID agen penyimpanan data Anda dari langkah sebelumnya
Berikut adalah contoh JSON:
  {
    "displayName": "my-conversation-profile-display-name",
    "humanAgentAssistantConfig": {
      "humanAgentSuggestionConfig": {
        "featureConfigs": [
          {
            "suggestionFeature": {
              "type": "KNOWLEDGE_SEARCH"
            },
            "queryConfig": {
              "dialogflowQuerySource": {
                "humanAgentSideConfig": {
                  "agent": "projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID"
                }
              }
            },
            "disableAgentQueryLogging": false,
            "enableConversationAugmentedQuery": false,
          }
        ]
      }
    }
  }
      

Saat Anda membuat profil percakapan di konsol Agent Assist, Agent Assist akan otomatis mengaktifkan bantuan pengetahuan generatif dan bantuan pengetahuan generatif proaktif. Untuk menonaktifkan bantuan pengetahuan generatif proaktif, Anda harus membuat profil percakapan menggunakan API.

Langkah 2: Gunakan agen penyimpanan data

Atau, gunakan SearchKnowledge API untuk mendapatkan jawaban dari agen penyimpanan data. Anda juga dapat menggunakan konfigurasi berikut sebagai bagian dari permintaan SearchKnowledge:

  • querySource: Tetapkan kolom ini untuk menunjukkan apakah agen mengetik kueri atau bantuan pengetahuan generatif proaktif secara otomatis menyarankannya.
  • exactSearch: Tetapkan kolom ini untuk menunjukkan apakah akan menelusuri kueri input yang tepat tanpa penulisan ulang kueri.
  • endUserMetadata: Tetapkan kolom ini untuk menyertakan informasi tambahan tentang pengguna akhir yang meningkatkan kualitas jawaban yang dihasilkan. Untuk mengetahui detail selengkapnya, lihat halaman Personalisasi performa agen Penyimpanan Data.
  • searchConfig: Tetapkan kolom ini untuk kontrol tambahan guna meningkatkan dan memfilter dokumen pengetahuan. Untuk mengetahui detail selengkapnya, lihat halaman konfigurasi penelusuran performa agen Data Store.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID Anda
  • LOCATION_ID: ID untuk lokasi Anda
  • CONVERSATION_PROFILE_ID: ID profil percakapan Anda dari langkah sebelumnya
  • SESSION_ID: ID sesi penelusuran Anda
  • Histori penelusuran dari sesi yang sama dapat memengaruhi hasil penelusuran. Anda dapat menggunakan ID percakapan di bawah untuk ID sesi.
  • CONVERSATION_ID: percakapan (antara agen manusia dan pengguna akhir) tempat permintaan penelusuran dipicu
  • MESSAGE_ID: pesan percakapan terbaru saat permintaan penelusuran dipicu

Berikut adalah contoh permintaan JSON:

{
  "parent": "projects/PROJECT_ID/locations/LOCATION_ID"
  "query": {
    "text": "What is the return policy?"
  }
  "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID"
  "sessionId": "SESSION_ID
  "conversation": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID"
  "latestMessage": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID
  "querySource": AGENT_QUERY
  "exactSearch": false
  "searchConfig": {
    "filterSpecs": {
      "filter": "category: ANY(\"persona_B\")"
    }
  }
  "endUserMetadata": {
    "deviceOwned": "Google Pixel 7"
  }
}

Secara opsional, berikan nama resource conversation dan latest_message jika penelusuran agen terjadi selama percakapan dengan pengguna. Kedua kolom ini diperlukan jika Anda mengaktifkan opsi enable_conversation_augmented_query dan lebih memilih untuk meningkatkan pengalaman jawaban kueri dengan konteks percakapan antara agen dan pengguna.

Simulator

Uji agen penyimpanan data Anda di simulator Agent Assist.

Pada contoh sebelumnya, agen penyimpanan data menjawab kueri pengguna What is the refund processing time? dengan informasi berikut:

  • Jawaban yang dibuat AI Generatif: Saat paket yang berisi pengembalian Anda tiba di pusat pengembalian penjual, mungkin perlu waktu hingga 7 hari kerja tambahan untuk memprosesnya. Periksa status pengembalian dana Anda dengan nomor pelacakan pengembalian yang ada di halaman pesanan Anda.
  • Judul dokumen pengetahuan yang relevan: Pengembalian pesanan & pengembalian dana.

Menyarankan Tanya Jawab secara proaktif untuk agen Anda

Generative Knowledge Assist proaktif mengikuti percakapan yang sedang berlangsung dan secara proaktif memberikan saran dan jawaban kueri penelusuran.

Langkah 1: Buat profil percakapan

Buat profil percakapan menggunakan konsol Agent Assist atau API. Sebaiknya buat profil percakapan menggunakan konsol Agent Assist.

Membuat dari konsol

  1. Aktifkan jenis saran Bantuan pengetahuan generatif dan tautkan ke agen penyimpanan data dari langkah sebelumnya. Hal ini memungkinkan agen penyimpanan data secara proaktif memberikan saran kueri dan jawaban serta menjawab kueri penelusuran manual dari agen manusia Anda.
  2. Opsional: Gunakan kotak centang Tampilkan semua kueri yang disarankan untuk percakapan agar agen penyimpanan data menampilkan semua kueri ini, meskipun tidak ada jawaban yang ditemukan dari dokumen pengetahuan Anda. Ini dimaksudkan untuk menguji kueri mana yang dapat diambil dari percakapan yang sedang berlangsung.
  3. Opsional: Gunakan kotak centang Muat jawaban proaktif secara asinkron untuk hanya mendapatkan saran kueri. Anda dapat mengirimkan kueri yang disarankan secara manual ke SearchKnowledge API dan mengirimkannya secara otomatis di simulator konsol dan modul UI Agent Assist.

Membuat dari API

Langkah-langkah berikut membuat ConversationProfile dengan objek HumanAgentAssistantConfig. Anda juga dapat melakukan tindakan ini menggunakan konsol Agent Assist.

Untuk membuat profil percakapan, panggil metode create pada resource ConversationProfile.

Sebelum menggunakan data permintaan apa pun, buat penggantian berikut:
  • PROJECT_ID: project ID Anda
  • LOCATION_ID: ID untuk lokasi Anda
  • AGENT_ID: ID agen penyimpanan data Anda dari langkah sebelumnya
Berikut adalah contoh JSON:
  {
    "displayName": "my-conversation-profile-display-name",
    "humanAgentAssistantConfig": {
      "humanAgentSuggestionConfig": {
        "featureConfigs": [
          {
            "suggestionFeature": {
              "type": "KNOWLEDGE_ASSIST"
            },
            "queryConfig": {
              "dialogflowQuerySource": {
                "agent": "projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID"
              }
            },
            "enableQuerySuggestionWhenNoAnswer": false,
          }
        ]
      }
    }
  }
      

Langkah 2: Menangani percakapan saat runtime

Bantuan pengetahuan generatif proaktif memproses percakapan saat runtime untuk secara proaktif memberikan saran kueri penelusuran berdasarkan konteks percakapan dan jawaban saat ini.

Membuat percakapan

Pertama, Anda harus membuat percakapan:

REST

Untuk membuat percakapan, panggil metode create pada resource Conversation.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID Cloud Anda
  • LOCATION_ID: ID lokasi Anda
  • CONVERSATION_PROFILE_ID: ID yang Anda terima saat membuat profil percakapan

Metode HTTP dan URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations

Meminta isi JSON:

{
  "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID",
  "lifecycleState": "IN_PROGRESS",
  "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
  "startTime": "2018-11-05T21:05:45.622Z"
}

Segmen jalur setelah conversations berisi ID percakapan baru Anda.

Python

Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Agent Builder Vertex AI.

Untuk melakukan autentikasi ke Vertex AI Agent Builder, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

def create_conversation(project_id, conversation_profile_id):
    """Creates a conversation with given values

    Args:
        project_id:  The GCP project linked with the conversation.
        conversation_profile_id: The conversation profile id used to create
        conversation."""

    client = dialogflow.ConversationsClient()
    conversation_profile_client = dialogflow.ConversationProfilesClient()
    project_path = client.common_project_path(project_id)
    conversation_profile_path = conversation_profile_client.conversation_profile_path(
        project_id, conversation_profile_id
    )
    conversation = {"conversation_profile": conversation_profile_path}
    response = client.create_conversation(
        parent=project_path, conversation=conversation
    )

    print("Life Cycle State: {}".format(response.lifecycle_state))
    print("Conversation Profile Name: {}".format(response.conversation_profile))
    print("Name: {}".format(response.name))
    return response

Membuat peserta pengguna

Tambahkan peserta pengguna dan agen ke percakapan untuk melihat saran. Pertama, tambahkan peserta pengguna ke percakapan:

REST

Untuk membuat peserta pengguna, panggil metode create pada resource Participant.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID Cloud Anda
  • LOCATION_ID: ID lokasi Anda
  • CONVERSATION_ID: ID percakapan Anda

Metode HTTP dan URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants

Meminta isi JSON:

{
  "role": "END_USER",
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID",
  "role": "END_USER"
}

Segmen jalur setelah participants berisi ID peserta pengguna baru Anda.

Python

Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Agent Builder Vertex AI.

Untuk melakukan autentikasi ke Vertex AI Agent Builder, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

def create_participant(project_id: str, conversation_id: str, role: str):
    from google.cloud import dialogflow_v2beta1 as dialogflow

    """Creates a participant in a given conversation.

    Args:
        project_id: The GCP project linked with the conversation profile.
        conversation_id: Id of the conversation.
        participant: participant to be created."""

    client = dialogflow.ParticipantsClient()
    conversation_path = dialogflow.ConversationsClient.conversation_path(
        project_id, conversation_id
    )
    if role in ROLES:
        response = client.create_participant(
            parent=conversation_path, participant={"role": role}, timeout=600
        )
        print("Participant Created.")
        print(f"Role: {response.role}")
        print(f"Name: {response.name}")

        return response

Membuat peserta agen

Menambahkan peserta agen ke percakapan:

REST

Untuk membuat peserta agen, panggil metode create pada resource Participant.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID Cloud Anda
  • LOCATION_ID: ID lokasi Anda
  • CONVERSATION_ID: ID percakapan Anda

Metode HTTP dan URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants

Meminta isi JSON:

{
  "role": "HUMAN_AGENT",
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID",
  "role": "HUMAN_AGENT"
}

Segmen jalur setelah participants berisi ID peserta agen manusia baru Anda.

Python

Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Agent Builder Vertex AI.

Untuk melakukan autentikasi ke Vertex AI Agent Builder, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

def create_participant(project_id: str, conversation_id: str, role: str):
    from google.cloud import dialogflow_v2beta1 as dialogflow

    """Creates a participant in a given conversation.

    Args:
        project_id: The GCP project linked with the conversation profile.
        conversation_id: Id of the conversation.
        participant: participant to be created."""

    client = dialogflow.ParticipantsClient()
    conversation_path = dialogflow.ConversationsClient.conversation_path(
        project_id, conversation_id
    )
    if role in ROLES:
        response = client.create_participant(
            parent=conversation_path, participant={"role": role}, timeout=600
        )
        print("Participant Created.")
        print(f"Role: {response.role}")
        print(f"Name: {response.name}")

        return response

Menambahkan dan menganalisis pesan dari agen

Setiap kali salah satu peserta mengetik pesan dalam percakapan, Anda harus mengirim pesan tersebut ke API untuk diproses. Agen penyimpanan data mendasarkan saran pada analisis pesan pengguna dan agen manusia. Dalam contoh berikut, agen manusia memulai percakapan dengan bertanya "Bagaimana saya dapat membantu Anda?"

Belum ada saran yang ditampilkan dalam respons.

REST

Untuk menambahkan dan menganalisis pesan agen manusia dalam percakapan, panggil metode analyzeContent pada resource Participant.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID Anda
  • CONVERSATION_ID: ID percakapan Anda
  • PARTICIPANT_ID: ID peserta agen manusia Anda

Metode HTTP dan URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID:analyzeContent

Meminta isi JSON:

{
  "textInput": {
    "text": "How may I help you?",
    "languageCode": "en-US"
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "message": {
    "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID",
    "content": "How may I help you?",
    "languageCode": "en-US",
    "participant": "PARTICIPANT_ID",
    "participantRole": "HUMAN_AGENT",
    "createTime": "2020-02-13T00:01:30.683Z"
  }
}

Python

Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Agent Builder Vertex AI.

Untuk melakukan autentikasi ke Vertex AI Agent Builder, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

def analyze_content_text(
    project_id: str, conversation_id: str, participant_id: str, text: str
):
    from google.cloud import dialogflow_v2beta1 as dialogflow

    """Analyze text message content from a participant.

    Args:
        project_id: The GCP project linked with the conversation profile.
        conversation_id: Id of the conversation.
        participant_id: Id of the participant.
        text: the text message that participant typed."""

    client = dialogflow.ParticipantsClient()
    participant_path = client.participant_path(
        project_id, conversation_id, participant_id
    )
    text_input = {"text": text, "language_code": "en-US"}
    response = client.analyze_content(
        participant=participant_path, text_input=text_input
    )
    print("AnalyzeContent Response:")
    print(f"Reply Text: {response.reply_text}")

    for suggestion_result in response.human_agent_suggestion_results:
        if suggestion_result.error is not None:
            print(f"Error: {suggestion_result.error.message}")
        if suggestion_result.suggest_articles_response:
            for answer in suggestion_result.suggest_articles_response.article_answers:
                print(f"Article Suggestion Answer: {answer.title}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_faq_answers_response:
            for answer in suggestion_result.suggest_faq_answers_response.faq_answers:
                print(f"Faq Answer: {answer.answer}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_smart_replies_response:
            for (
                answer
            ) in suggestion_result.suggest_smart_replies_response.smart_reply_answers:
                print(f"Smart Reply: {answer.reply}")
                print(f"Answer Record: {answer.answer_record}")

    for suggestion_result in response.end_user_suggestion_results:
        if suggestion_result.error:
            print(f"Error: {suggestion_result.error.message}")
        if suggestion_result.suggest_articles_response:
            for answer in suggestion_result.suggest_articles_response.article_answers:
                print(f"Article Suggestion Answer: {answer.title}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_faq_answers_response:
            for answer in suggestion_result.suggest_faq_answers_response.faq_answers:
                print(f"Faq Answer: {answer.answer}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_smart_replies_response:
            for (
                answer
            ) in suggestion_result.suggest_smart_replies_response.smart_reply_answers:
                print(f"Smart Reply: {answer.reply}")
                print(f"Answer Record: {answer.answer_record}")

    return response

Menambahkan pesan dari pengguna untuk saran

Sebagai respons terhadap agen, pengguna mengatakan "Kapan saya bisa mendapatkan pengembalian dana?" Kali ini, respons API berisi kueri yang disarankan dan jawaban AI generatif berdasarkan dokumen pengetahuan.

REST

Untuk menambahkan dan menganalisis pesan pengguna untuk percakapan, panggil metode analyzeContent pada resource Participant.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID Anda
  • CONVERSATION_ID: ID percakapan Anda
  • PARTICIPANT_ID: ID peserta pengguna akhir Anda

Metode HTTP dan URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID:analyzeContent

Meminta isi JSON:

{
  "textInput": {
    "text": "When can I get my return refund?",
    "languageCode": "en-US"
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "message": {
    "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID",
    "content": "When can I get my return refund?",
    "languageCode": "en-US",
    "participant": "PARTICIPANT_ID",
    "participantRole": "END_USER",
    "createTime": "2020-02-13T00:07:35.925Z"
  },
  "humanAgentSuggestionResults": [
    {
      "suggestKnowledgeAssistResponse": {
        "knowledgeAssistAnswer": {
          "suggestedQuery": {
            "queryText": "Refund processing time"
          },
          "suggestedQueryAnswer": {
            "answerText": "After your return is processed, you receive your refund in 7 days. The refund amount should be for the full value of the items returned, but doesn't include shipping & service fees.",
            "generativeSource": {
              "snippets": [
                {
                  "title": "Returns & refunds - Help",
                  "uri": "https://example.com/",
                  "text": "When the package with your return arrives at the seller's return center, it may take up to 7 additional business days to process. Check the status of your refund with the return tracking number found on your orders page."
                }
              ]
            },
          },
          "answerRecord": "projects/PROJECT_ID/answerRecords/ANSWER_RECORD_ID"
        },
      }
    }
  ]
}

Python

Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Agent Builder Vertex AI.

Untuk melakukan autentikasi ke Vertex AI Agent Builder, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

def analyze_content_text(
    project_id: str, conversation_id: str, participant_id: str, text: str
):
    from google.cloud import dialogflow_v2beta1 as dialogflow

    """Analyze text message content from a participant.

    Args:
        project_id: The GCP project linked with the conversation profile.
        conversation_id: Id of the conversation.
        participant_id: Id of the participant.
        text: the text message that participant typed."""

    client = dialogflow.ParticipantsClient()
    participant_path = client.participant_path(
        project_id, conversation_id, participant_id
    )
    text_input = {"text": text, "language_code": "en-US"}
    response = client.analyze_content(
        participant=participant_path, text_input=text_input
    )
    print("AnalyzeContent Response:")
    print(f"Reply Text: {response.reply_text}")

    for suggestion_result in response.human_agent_suggestion_results:
        if suggestion_result.error is not None:
            print(f"Error: {suggestion_result.error.message}")
        if suggestion_result.suggest_articles_response:
            for answer in suggestion_result.suggest_articles_response.article_answers:
                print(f"Article Suggestion Answer: {answer.title}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_faq_answers_response:
            for answer in suggestion_result.suggest_faq_answers_response.faq_answers:
                print(f"Faq Answer: {answer.answer}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_smart_replies_response:
            for (
                answer
            ) in suggestion_result.suggest_smart_replies_response.smart_reply_answers:
                print(f"Smart Reply: {answer.reply}")
                print(f"Answer Record: {answer.answer_record}")

    for suggestion_result in response.end_user_suggestion_results:
        if suggestion_result.error:
            print(f"Error: {suggestion_result.error.message}")
        if suggestion_result.suggest_articles_response:
            for answer in suggestion_result.suggest_articles_response.article_answers:
                print(f"Article Suggestion Answer: {answer.title}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_faq_answers_response:
            for answer in suggestion_result.suggest_faq_answers_response.faq_answers:
                print(f"Faq Answer: {answer.answer}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_smart_replies_response:
            for (
                answer
            ) in suggestion_result.suggest_smart_replies_response.smart_reply_answers:
                print(f"Smart Reply: {answer.reply}")
                print(f"Answer Record: {answer.answer_record}")

    return response

Menyelesaikan percakapan

Saat percakapan berakhir, gunakan API untuk menyelesaikan percakapan.

REST

Untuk menyelesaikan percakapan, panggil metode complete pada resource conversations.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID GCP Anda
  • CONVERSATION_ID: ID yang Anda terima saat membuat percakapan

Metode HTTP dan URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID:complete

Untuk mengirim permintaan, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID",
  "lifecycleState": "COMPLETED",
  "conversationProfile": "projects/PROJECT_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
  "startTime": "2018-11-05T21:05:45.622Z",
  "endTime": "2018-11-06T03:50:26.930Z"
}

Python

Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Agent Builder Vertex AI.

Untuk melakukan autentikasi ke Vertex AI Agent Builder, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

def complete_conversation(project_id, conversation_id):
    """Completes the specified conversation. Finished conversations are purged from the database after 30 days.

    Args:
        project_id: The GCP project linked with the conversation.
        conversation_id: Id of the conversation."""

    client = dialogflow.ConversationsClient()
    conversation_path = client.conversation_path(project_id, conversation_id)
    conversation = client.complete_conversation(name=conversation_path)
    print("Completed Conversation.")
    print("Life Cycle State: {}".format(conversation.lifecycle_state))
    print("Conversation Profile Name: {}".format(conversation.conversation_profile))
    print("Name: {}".format(conversation.name))
    return conversation

Simulator

Anda dapat menguji agen penyimpanan data di simulator Agent Assist.

Pada contoh sebelumnya, agen penyimpanan data memberikan saran berikut:

  • Kueri yang disarankan: Waktu pemrosesan pengembalian dana.
  • Jawaban yang dibuat AI generatif: Setelah pengembalian diproses, Anda akan menerima pengembalian dana dalam 7 hari. Jumlah pengembalian dana harus sesuai dengan nilai penuh item yang dikembalikan, tetapi tidak termasuk biaya pengiriman & layanan.
  • Judul dokumen pengetahuan yang relevan: Pengembalian pesanan & pengembalian dana - Bantuan.

Langkah 3: Notifikasi saran Pub/Sub

Anda dapat menetapkan kolom notificationConfig saat membuat profil percakapan untuk menerima notifikasi saran. Opsi ini menggunakan Pub/Sub untuk mengirim notifikasi saran ke aplikasi Anda saat percakapan berlangsung dan saran baru tersedia.

Jika melakukan integrasi melalui AnalyzeContent API, Anda memiliki opsi untuk mengaktifkan konfigurasi disable_high_latency_features_sync_delivery di ConversationProfile untuk memastikan bahwa AnalyzeContent API akan merespons, tanpa menunggu saran bantuan pengetahuan generatif proaktif, dan mengirimkan saran melalui Pub/Sub.

Anda juga dapat mengaktifkan konfigurasi ini dari konsol Agent Assist.

Mengakses data melalui Insight Berbasis Percakapan

Atau, kueri dan jawaban yang dihasilkan oleh bantuan pengetahuan generatif proaktif Anda akan otomatis diisi ke Insight Percakapan. Untuk mengakses data ini di sana, ikuti petunjuk di Mengaktifkan integrasi runtime Dialogflow.

Kirim masukan

Untuk mengetahui langkah-langkah mengirim masukan, buka Mengirim masukan ke Agent Assist.

Menjawab pertanyaan agen

Berikut adalah contoh permintaan JSON untuk mengirim masukan tentang menjawab pertanyaan agen.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/answerRecords/ANSWER_RECORD_ID",
  "answerFeedback": {
    "displayed": true
    "clicked": true
    "correctnessLevel": "FULLY_CORRECT"
    "agentAssistantDetailFeedback": {
      "knowledgeSearchFeedback": {
        "answerCopied": true
        "clickedUris": [
          "url_1",
          "url_2",
          "url_3",
        ]
      }
    }
  }
}

Menyarankan Tanya Jawab secara proaktif

Berikut adalah contoh permintaan JSON untuk mengirim masukan tentang saran proaktif.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/answerRecords/ANSWER_RECORD_ID",
  "answerFeedback": {
    "displayed": true
    "clicked": true
    "correctnessLevel": "FULLY_CORRECT"
    "agentAssistantDetailFeedback": {
      "knowledgeAssistFeedback": {
        "answerCopied": true
        "clickedUris": [
          "url_1",
          "url_2",
          "url_3",
        ]
      }
    }
  }
}

Metadata

Jika Anda mengonfigurasi metadata untuk dokumen pengetahuan, bantuan pengetahuan generatif dan bantuan pengetahuan generatif proaktif akan menampilkan metadata dokumen beserta responsnya.

Misalnya, Anda dapat menggunakan metadata untuk menandai apakah dokumen pengetahuan adalah artikel pribadi internal atau artikel publik eksternal. Dalam simulator Agent Assist dan modul UI, bantuan pengetahuan generatif dan bantuan pengetahuan generatif proaktif akan otomatis menampilkan nilai metadata dokumen untuk kunci tertentu.

  • gka_source_label: Nilai ditampilkan langsung di kartu saran.
  • gka_source_tooltip: Jika nilainya adalah jenis struct, menahan kursor di atas link sumber akan meluas dan menampilkan nilai dalam tooltip.

Jika Anda memiliki metadata berikut untuk dokumen pengetahuan, kartu saran akan mencantumkan sumber sebagai External Doc dan tooltip akan menambahkan doc_visibility: public doc.

Metadata: None { "title": "Public Sample Doc", "gka_source_label": "External Doc", "gka_source_tooltip": { "doc_visibility": "public doc" } }

Dukungan bahasa

Lihat daftar lengkap bahasa yang didukung.