अंग्रेज़ी में पढ़ें

इसके माध्यम से साझा किया गया


मोबाइल या कस्टम ऐप्स पर एजेंट प्रकाशित करें

आप अपने एजेंट को एक कस्टम ऐप से कनेक्ट कर सकते हैं ताकि ऐप के उपयोगकर्ता सीधे आपके ऐप के भीतर से एजेंट के साथ बातचीत कर सकें।

अधिकांश मामलों में, आपका कस्टम ऐप एक मोबाइल-डिवाइस ऐप होता है जो या तो वेब-आधारित ऐप होता है या आपके व्यवसाय के लिए आवश्यक अन्य सेवाओं के लिए एक मूल ऐप या एडेप्टर होता है।

आपके मोबाइल अनुप्रयोग से जुड़ने के लिए अलग-अलग प्रक्रियाएँ हैं, जो इस बात पर निर्भर करती है कि आपका अनुप्रयोग वेब-आधारित अनुप्रयोग है या नेटिव अनुप्रयोग.

अपने एजेंट को वेब-आधारित ऐप से कनेक्ट करना अपेक्षाकृत सरल है क्योंकि इसमें आपके ऐप में कोड स्निपेट को कॉपी करना शामिल है। हालाँकि, वेब-आधारित ऐप्स और मूल या कस्टम ऐप्स दोनों को आपके ऐप में एजेंट को पूरी तरह से एकीकृत करने के लिए अभी भी काफी डेवलपर विशेषज्ञता की आवश्यकता होती है। इस लेख में दोनों प्रक्रियाओं का वर्णन किया गया है.

पूर्वावश्यकताएँ

  • .NET कोर SDK संस्करण 2.1.
  • नुगेट पैकेज Microsoft.Bot.Connector.DirectLine.
  • एक एजेंट बनाया गया है जिसे आप अपने ऐप से कनेक्ट करना चाहते हैं। Copilot Studio

अपने एजेंट को वेब-आधारित ऐप से कनेक्ट करें

  1. Copilot Studioमें, नेविगेशन मेनू में, चैनल चुनें।

  2. कॉन्फ़िगरेशन विंडो खोलने के लिए मोबाइल ऐप टाइल का चयन करें.

  3. वेब-आधारित ऐप्स अनुभाग के अंतर्गत कोड को कॉपी करें और इसे अपने ऐप डेवलपर्स को अपने वेब-आधारित ऐप में जोड़ने के लिए प्रदान करें।

    एजेंट को वेब-आधारित अनुप्रयोग में जोड़ें।

अपने एजेंट को किसी मूल या कस्टम ऐप से कनेक्ट करें

युक्ति

जबकि यह अनुभाग बताता है कि मोबाइल अनुप्रयोग से कैसे कनेक्ट किया जाए, उसी प्रक्रिया को कस्टम या देशी अनुप्रयोग के लिए लागू किया जा सकता है, जैसे कि IoT (इंटरनेट ऑफ़ थिंग्स) अनुप्रयोग.

यदि आपका लक्ष्य Azure बॉट सेवा चैनलों से कनेक्ट करना है, तो यहां दिए गए निर्देशों का पालन करने के अलावा, आपके डेवलपर्स अधिक जानकारी के लिए Azure बॉट सेवा चैनलों पर एजेंट प्रकाशित करें पर जा सकते हैं।

महत्वपूर्ण

इस खंड में दिये गए निर्देशों को आपके या आपके डेवलपर्स से सॉफ़्टवेयर विकसन की आवश्यकता होती है. यह अनुभवी IT पेशेवरों के लिए है, जैसे कि IT व्यवस्थापक या डेवलपर जिनके पास डेवलपर टूल, उपयोगिता और IDEs की ठोस समझ है.

कोड के नमूने

इस दस्तावेज़ में उपयोग किए गए कोड स्निपेट निम्न हैं:

संदर्भ

इस दस्तावेज़ में दिए गए निर्देश निम्नलिखित स्रोत सामग्री का संदर्भ देते हैं:

अपने Copilot Studio एजेंट पैरामीटर पुनः प्राप्त करें

आपके द्वारा निर्मित एजेंट से कनेक्ट करने के लिए, आपको इसे पहचानने के लिए अपने एजेंट का नाम और टोकन एंडपॉइंट प्राप्त करना होगा।

  1. Copilot Studioमें, अपने एजेंट के अवलोकन पृष्ठ पर जाएँ, और अपने एजेंट का नाम कॉपी करें।

  2. चैनल>मोबाइल ऐप चुनें.

  3. मोबाइल ऐप पृष्ठ पर, टोकन एंडपॉइंट के आगे, कॉपी करें चुनें. आपको Get Direct Line token चरण के लिए इस एंडपॉइंट की आवश्यकता है।

    एजेंट पैरामीटर प्राप्त करें.

Direct Line टोकन प्राप्त करें

अपने एजेंट के साथ बातचीत शुरू करने के लिए, आपको एक Direct Line टोकन की आवश्यकता है। यह टोकन Copilot Studio स्क्रीन में दर्शाए गए एंडपॉइंट पर GET अनुरोध करके प्राप्त किया जा सकता है। इस टोकन का उपयोग डायरेक्टलाइन API के आगामी कॉल के लिए हेडर के रूप में किया जाना चाहिए।

उदाहरण:

rest-api
GET <BOT TOKEN ENDPOINT>

यदि अनुरोध सफल होता है, तो अनुरोधित एजेंट के लिए एक टोकन, समाप्ति समय और एक वार्तालाप आईडी लौटा दी जाएगी। Direct Line उदाहरण:

Json
{
    "token": "RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn",
    "expires_in": 3600,
    "conversationId": "abc123"
}

नमूना कोड उदाहरण

निम्न उदाहरण कनेक्टर नमूना कोड से नमूनों का उपयोग करके Direct Line एजेंट के लिए टोकन प्राप्त करता है। Copilot Studio

C#
/// <summary>
/// Get directline token for connecting bot
/// </summary>
/// <returns>directline token as string</returns>
public async Task<DirectLineToken> GetTokenAsync(string url)
{
    try
    {
        return await _httpClient.GetFromJsonAsync<DirectLineToken>(url);
    }
    catch (HttpRequestException ex)
    {
        throw ex;
    }        
}
C#
/// <summary>
/// class for serialization/deserialization DirectLineToken
/// </summary>
public class DirectLineToken
{
  public string Token { get; set; }
  public int Expires_in { get; set; }
  public string ConversationId { get; set; }
}

प्रत्युत्तर ऑब्जेक्ट उस GET अनुरोध के समान है जिसे हमने पहले देखा था।

JSON
{
  "token": "RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn",
  "expires_in": 3600,
  "conversationId": "abc123"
}

एजेंट के साथ संवाद करने के लिए Direct Line का उपयोग करें

Direct Line टोकन प्राप्त करने के बाद, आप अपने Copilot Studio एजेंट के साथ बातचीत करने के लिए तैयार हैं। Direct Line बातचीत शुरू करने और संदेश भेजने और प्राप्त करने के लिए, Bot Framework Direct Line API पर दिए गए निर्देशों का पालन करें।

निम्न उदाहरण वार्तालाप आरंभ करने और एजेंट से संदेश भेजने और प्राप्त करने के लिए कनेक्टर नमूना कोड से नमूनों का उपयोग करता है। Copilot Studio

  1. Direct Line टोकन के साथ DirectLineClient इंस्टैंस आरंभ करें और वार्तालाप प्रारंभ करें:

    C#
       // Use the retrieved token to create a DirectLineClient instance
       using (var directLineClient = new DirectLineClient(token))
       {
           var conversation = await directLineClient.Conversations.StartConversationAsync();
           string conversationtId = conversation.ConversationId;
       }
    
  2. एक बार शुरू होने के बाद, प्रत्येक वार्तालाप को token और conversationtId के संयोजन का उपयोग करके पहचाना और जोड़ा जा सकता है। मौजूदा वार्तालाप के लिए उपयोगकर्ता संदेश भेजें:

    C#
       // Use the retrieved token to create a DirectLineClient instance
       // Use the conversationId from above step
       // endConversationMessage is your predefined message indicating that user wants to quit the chat
       while (!string.Equals(inputMessage = /*Get_User_Input()*/, endConversationMessage, StringComparison.OrdinalIgnoreCase))
       {
           using (var directLineClient = new DirectLineClient(token))
           {
               // Send user message using directlineClient
               // Payload is a Microsoft.Bot.Connector.DirectLine.Activity
               await directLineClient.Conversations.PostActivityAsync(conversationtId, new Activity()
               {
                   Type = ActivityTypes.Message,
                   From = new ChannelAccount { Id = "userId", Name = "userName" },
                   Text = inputMessage,
                   TextFormat = "plain",
                   Locale = "en-Us",
               });
           }
       }
    
  3. समान token और conversationId का उपयोग करके एजेंट's प्रत्युत्तर को पुनः प्राप्त करें। प्राप्त Direct Line प्रत्युत्तर गतिविधियों में उपयोगकर्ता और एजेंट दोनों के संदेश शामिल हैं। आप केवल एजेंट's प्रत्युत्तर संदेश प्राप्त करने के लिए अपने एजेंट के नाम से प्रत्युत्तर गतिविधियों को फ़िल्टर कर सकते हैं।

    C#
       // Use the same token to create a directLineClient
       using (var directLineClient = new DirectLineClient(token))
       {
           // To get the first response set string watermark = null
           // More information about watermark is available at
           // https://learn.microsoft.com/azure/bot-service/rest-api/bot-framework-rest-direct-line-1-1-receive-messages?view=azure-bot-service-4.0
    
           // response from bot is of type Microsoft.Bot.Connector.DirectLine.ActivitySet
           ActivitySet response = await directLineClient.Conversations.GetActivitiesAsync(conversationtId, watermark);
    
           // update watermark from response
           watermark = response?.Watermark;
    
           // response contains set of Activity from both user and bot
           // To display bot response only, filter Activity.From.Name equals to your bot name
           List<Activity> botResponses = response?.Activities?.Where(x =>
                     x.Type == ActivityTypes.Message &&
                       string.Equals(x.From.Name, /*Bot_Name*/, StringComparison.Ordinal)).ToList();
    
           // Display botResponses
       }
    

Direct Line टोकन रीफ़्रेश करें

यदि आपके एप्लिकेशन में एजेंट के साथ लंबी बातचीत है, तो आपको टोकन को रीफ्रेश करने के लिए कोड जोड़ने की आवश्यकता हो सकती है। Direct Line टोकन की समयसीमा समाप्त हो जाती है, लेकिन इसे समाप्त होने से पहले ताज़ा किया जा सकता है; अधिक जानकारी के लिए Direct Line प्रमाणीकरण पर जाएँ।

निम्न उदाहरण मौजूदा वार्तालाप के लिए टोकन को ताज़ा करने के लिए कनेक्टर नमूना कोड से नमूने का उपयोग करता है: Copilot Studio

C#
  // DirectLine provides a token refresh method
  // Requires the currentToken valid when refreshing
  string refreshToken = new DirectLineClient(currentToken).Tokens.RefreshToken().Token;
  // create a new directline client with refreshToken
  directLineClient = new DirectLineClient(refreshToken);
  // use new directLineClient to communicate to your bot

एजेंट से वार्तालाप पेलोड पार्स करें

जब आप एजेंट के साथ वार्तालाप प्रारंभ करते हैं, तो वार्तालाप JSON पेलोड मानक Microsoft Bot Framework Direct Line गतिविधि का उपयोग करता है। आप Bot Framework Direct Line API पर अधिक जानकारी प्राप्त कर सकते हैं।

हैंडऑफ़ गतिविधि संभालें

यदि आपके एप्लिकेशन को लाइव एजेंट प्रदाता को सौंपने की आवश्यकता है, तो आपको हैंडऑफ़ गतिविधि को संभालना होगा। हैंडऑफ़ गतिविधि तब भेजी जाती है जब "एजेंट को ट्रांसफ़र करें" नोड हिट होता है। आप हैंडऑफ़ गतिविधि के पेलोड पर अधिक जान सकते हैं

ट्रिगर एक स्वागत योग्य संदेश है

यदि आप चाहते हैं कि जब कोई उपयोगकर्ता बातचीत शुरू करे तो आपका एजेंट स्वचालित रूप से ग्रीटिंग सिस्टम विषय भेजे, तो आप Type=event और Name=startConversation के साथ एक गतिविधि भेज सकते हैं।