Udostępnij za pośrednictwem


Tworzenie uzupełniania czatów przy użyciu szablonów monitów w standardowych przepływach pracy dla usługi Azure Logic Apps (wersja zapoznawcza)

Dotyczy: Azure Logic Apps (Standard)

Uwaga / Notatka

Ta funkcja jest dostępna w wersji zapoznawczej i podlega dodatkowym warunkom użytkowania wersji zapoznawczej platformy Microsoft Azure.

Załóżmy, że chcesz zautomatyzować sposób, w jaki przedsiębiorstwo lub organizacja odpowiada na pytania różnych grup osób, takich jak pracownicy, klienci, inwestorzy lub media. Możesz dodać interakcje czatu, które odpowiadają na pytania, korzystając z akcji usługi Azure OpenAI o nazwie Uzyskaj kompletacje czatu przy użyciu szablonu monitu i danych z twojego przedsiębiorstwa lub organizacji.

Jeśli używasz własnych danych z modelami w usłudze Azure OpenAI Service, tworzysz platformę konwersacji opartej na sztucznej inteligencji, która zapewnia szybszą komunikację i czerpie kontekst z konkretnej wiedzy o domenie. Aby utworzyć proces, który obsługuje każde pytanie, uzyskuje dostęp do źródła danych i zwraca odpowiedź, utwórz standardowy przepływ pracy w usłudze Azure Logic Apps, aby zautomatyzować niezbędne kroki — wszystko bez konieczności pisania kodu.

W tym przewodniku pokazano, jak dodać interakcje czatu do standardowego przepływu pracy przy użyciu szablonu monitu jako punktu początkowego. Ten szablon jest wstępnie utworzoną strukturą opartą na tekście, wielokrotnie używaną i prowadzącą interakcje między modelem AI a pytającymi.

Na poniższym diagramie przedstawiono przykładowy przepływ pracy tworzony przez ten przewodnik:

Zrzut ekranu przedstawia portal Azure, projektant przepływu pracy Standard oraz operacje, które tworzą przykładowego asystenta czatu.

Aby uzyskać więcej informacji na temat operacji w tym przepływie pracy, zobacz Przeglądanie przykładowego scenariusza.

Szablony zapewniają następujące korzyści w zakresie tworzenia efektywnych, przydatnych i przejrzystych monitów, które są zgodne z określonymi przypadkami użycia:

Korzyść Opis
Spójność Scentralizowanie logiki monitu, a nie osadzanie tekstu monitu w każdej akcji.
Możliwość ponownego zastosowania Zastosuj ten sam monit w wielu przepływach pracy.
Łatwość konserwacji Dostosuj logikę monitu w jednym miejscu bez edytowania całego przepływu.
Kontrolka dynamiczna Dane wejściowe przepływu pracy są przekazywane bezpośrednio do szablonu, na przykład wartości z formularza, bazy danych lub interfejsu API.

Wszystkie te korzyści ułatwiają tworzenie dostosowanych przepływów opartych na sztucznej inteligencji, które są odpowiednie dla skalowalnej automatyzacji przedsiębiorstwa — bez duplikowania wysiłku.

Więcej informacji można znaleźć w następującej dokumentacji:

Zapoznaj się z przykładowym scenariuszem

W tym przewodniku użyto przykładowego scenariusza, który tworzy asystenta czatu dla zespołu IT. Oprócz innych obowiązków zespół nabywa sprzęt, taki jak laptopy dla pracowników firmy. Wymagania dotyczące tego asystenta obejmują następujące zadania:

  • Zaakceptuj pytanie, które używa języka naturalnego i rozumie kontekst.
  • Odczytywanie i wyszukiwanie danych strukturalnych, takich jak wcześniejsze zamówienia i szczegóły wykazu.
  • Przekazywanie wyników do szablonu monitu przy użyciu składni Jinja2 w celu dynamicznego wstrzykiwania danych w czasie wykonywania.
  • Wygeneruj dopracowaną i profesjonalną odpowiedź.

Przykładowy przepływ pracy używa następujących operacji:

Operacja Opis
Wbudowany wyzwalacz o nazwie Gdy dostępne jest żądanie HTTP Czeka na odebranie żądania HTTPS z zewnętrznego obiektu wywołującego. W wyniku tego żądania zostaje uruchomiony wyzwalacz, zostaje uruchomiony przepływ pracy i jest przekazywany zserializowany ciąg znaków tokenu zawierający dane wejściowe do użycia przez akcje przepływu pracy.
Trzy wbudowane akcje redagowania Te akcje przechowują następujące dane testowe:

- Pracownik: profil pracownika i wcześniejsze zamówienia zakupu.

- Pytanie: Pytanie zadane.

- Produkty: Wpisy w wewnętrznym katalogu produktów.
Wbudowana akcja o nazwie Ukończenia czatu przy użyciu szablonu promptu Pobiera wyniki czatu dla określonego szablonu zapytania. Aby uzyskać więcej informacji, zobacz Pobieranie uzupełniania czatu przy użyciu szablonu monitu.

Wskazówka

Jeśli masz wybór, zawsze wybieraj operację wbudowaną ("w aplikacji") nad zarządzaną ("udostępnioną") wersją. Wbudowana wersja działa wewnątrz środowiska uruchomieniowego usługi Azure Logic Apps, aby zmniejszyć opóźnienie i zapewnić lepszą wydajność i kontrolę nad uwierzytelnianiem.

W tym przykładzie jest tworzony i używany szablon monitu, który umożliwia przepływowi pracy wykonywanie następujących zadań:

  • Zdefiniuj monit z symbolami zastępczymi, takimi jak {{ Employee.orders }}.
  • Automatycznie wypełnij szablon danymi wyjściowymi z wcześniejszych akcji w przepływie pracy.
  • Generowanie spójnych i ustrukturyzowanych monitów przy minimalnym nakładzie pracy.

Aby postępować zgodnie z przykładem, pobierz przykładowy szablon monitu i dane wejściowe z repozytorium GitHub usługi Azure Logic Apps. W tym przykładzie przyjęto założenie, że symulujesz dane zaopatrzenia przy użyciu danych wejściowych testów.

Wymagania wstępne

  • Zainstaluj lub użyj narzędzia, które może wysyłać żądania HTTP w celu przetestowania rozwiązania, na przykład:

    Ostrzeżenie

    W przypadku scenariuszy, w których masz poufne dane, takie jak poświadczenia, wpisy tajne, tokeny dostępu, klucze interfejsu API i inne podobne informacje, upewnij się, że używasz narzędzia chroniącego dane przy użyciu niezbędnych funkcji zabezpieczeń. Narzędzie powinno działać w trybie offline lub lokalnie, a nie wymagać logowania się do konta online lub synchronizowania danych z chmurą. W przypadku używania narzędzia z tymi cechami można zmniejszyć ryzyko ujawnienia poufnych danych publicznie.

Dodawanie wyzwalacza

Przepływ pracy wymaga wyzwalacza, aby określić moment rozpoczęcia działania. Możesz użyć dowolnego wyzwalacza, który pasuje do danego scenariusza. Aby uzyskać więcej informacji, zobacz Wyzwalacze.

Dodaj wyzwalacz, wykonując następujące kroki:

  1. W witrynie Azure Portal otwórz zasób standardowej aplikacji logiki i pusty przepływ pracy w projektancie.

  2. Wykonaj ogólne kroki, aby dodać odpowiedni wyzwalacz.

    W tym przykładzie użyto wyzwalacza żądania o nazwie Gdy jest dostępne żądanie HTTP. Aby uzyskać więcej informacji na temat tego wyzwalacza, zobacz Odbieranie i odpowiadanie na przychodzące wywołania HTTPS.

  3. Zapisz przepływ pracy. Na pasku narzędzi projektanta wybierz pozycję Zapisz.

    Po zapisaniu przepływu pracy adres URL zostanie wyświetlony w parametrze HTTP URL dla wyzwalacza żądania. Ten adres URL należy do punktu końcowego utworzonego dla wyzwalacza żądania . Aby uruchomić wyzwalacz i rozpocząć przepływ pracy, osoby wywołujące spoza przepływu pracy mogą wysyłać żądania HTTPS na adres URL, włączając dane wejściowe, które wyzwalacz przekazuje dalej do przepływu pracy.

    Ostrzeżenie

    Adres URL punktu końcowego zawiera klucz sygnatury dostępu współdzielonego (SAS), który zapewnia każdemu, kto ma adres URL, możliwość wyzwalania przepływu pracy i przekazywania dowolnych danych. Aby uzyskać informacje na temat ochrony i zabezpieczania przepływu pracy, zobacz Bezpieczny dostęp i dane w przepływach pracy.

Po zakończeniu przepływ pracy wygląda jak w poniższym przykładzie:

Zrzut ekranu przedstawia projektanta przepływu pracy Standard oraz wyzwalacz Request.

Dodaj akcje komponowania

Aby dodać operacje, które przechowują dane wyjściowe wyzwalacza dla kolejnych akcji do użycia jako dane wejściowe, wykonaj następujące kroki:

  1. Pod wyzwalaczem, wykonaj ogólne kroki do dodania operacji danych o nazwie Redagowanie.

    W przykładzie dodano trzy akcje Redagowanie i użyto następujących danych testowych jako danych wejściowych:

    1. Zmień nazwę pierwszej akcji Utwórz jako Pracownik i wprowadź następujące dane w polu Dane wejściowe :

      {
          "firstName": "Alex",
          "lastName": "Taylor",
          "department": "IT",
          "employeeId": "E12345",
          "orders": [
              { 
                  "name": "Adatum Streamline 5540 Laptop",
                  "description": "Ordered 15 units for Q1 IT onboarding",
                  "date": "2024/02/20"
              },
              {
                  "name": "Docking Station",
                  "description": "Bulk purchase of 20 Adatum AB99Z docking stations",
                  "date": "2024/01/10"
              }
          ]
      }
      
    2. Zmień nazwę następnej akcji Utwórz jako Pytanie i wprowadź następujące dane w polu Dane wejściowe :

      [
          {
              "role": "user",
              "content": "When did we last order laptops for new hires in IT?"
          }
      ]
      
    3. Zmień nazwę następnej akcji Utwórz jako Produkty i wprowadź następujące dane w polu Dane wejściowe :

      [
          {
              "id": "1",
              "title": "Adatum Streamline 5540 Laptop",
              "content": "i7, 16GB RAM, 512GB SSD, standard issue for IT new hire onboarding" 
          },
          {
              "id": "2",
              "title": "Docking Station",
              "content": "Adatum AB99Z docking stations for dual monitor setup"
          }
      ]
      

Po zakończeniu przepływ pracy wygląda jak w poniższym przykładzie:

Zrzut ekranu przedstawiający projektanta przepływu pracy w standardowym trybie, wyzwalacz żądania oraz trzy przemianowane akcje Komponuj.

Teraz dodaj akcję Azure OpenAI do przepływu pracy.

Dodawanie akcji Azure OpenAI

  1. W ramach ostatniej akcji Twórz wykonaj ogólne kroki, aby dodać akcję Azure OpenAI o nazwie Pobierz wynik czatu przy użyciu szablonu zapytania.

  2. Po pojawieniu się akcji na powierzchni projektanta zostanie otwarte okienko połączenia, dzięki czemu można podać następujące informacje:

    Parametr Wymagane Wartość Opis
    Nazwa połączenia Tak < nazwa połączenia> Nazwa połączenia z zasobem usługi Azure OpenAI.
    Typ uwierzytelnienia Tak Zobacz następujące sekcje:

    - Warunki wstępne
    - Wbudowany łącznik uwierzytelniania usługi Azure OpenAI
    Typ uwierzytelniania do użycia z połączeniem.
    Adres URL punktu końcowego usługi Azure OpenAI Tak < endpoint-URL-Azure-OpenAI-resource> Adres URL punktu końcowego zasobu usługi Azure OpenAI. Aby uzyskać więcej informacji, zobacz Wymagania wstępne.
    Klucz uwierzytelniania Wymagane tylko w przypadku uwierzytelniania opartego na adresach URL i kluczach < access-key> Zobacz następujące sekcje:

    - Warunki wstępne
    - Wbudowany łącznik uwierzytelniania usługi Azure OpenAI
  3. Po zakończeniu wybierz pozycję Utwórz nową.

  4. Po otworze okienka akcji na karcie Parametry podaj następujące informacje do użycia dla szablonu monitu:

    Parametr Wartość Opis
    Identyfikator wdrożenia - gpt-4o
    - gpt-35
    Nazwa wdrożonego modelu usługi Azure OpenAI, która powinna być zgodna z nazwą użytą dla zasobu usługi Azure OpenAI.
    Szablon monitu < tekst szablonu> Szablon monitu. Aby uzyskać więcej informacji, zobacz Uzyskiwanie uzupełnień czatu przy użyciu szablonu monitu.

    W tym przykładzie zastąp przykładowy tekst szablonu następującym przykładowym tekstem:

    system:
    You are an AI assistant for Contoso's internal procurement team. You help employees get quick answers about previous orders and product catalog details. Be brief, professional, and use markdown formatting when appropriate. Include the employee’s name in your response for a personal touch.
    
    # Employee info
    Name: {{Employee.firstName}} {{Employee.lastName}}
    Department: {{Employee.department}}
    Employee ID: {{Employee.employeeId}}
    
    # Question
    The employee asked the following:
    
    {% for item in question %}
    {{item.role}}:
    {{item.content}}
    {% endfor %}
    
    # Product catalog
    Use this documentation to guide your response. Include specific item names and any relevant descriptions.
    
    {% for item in Products %}
    Catalog item ID: {{item.id}}
    Name: {{item.title}}
    Description: {{item.content}}
    {% endfor %}
    
    # Order history
    Here is the employee's procurement history to use as context when answering their question.
    
    {% for item in Employee.orders %}
    Order Item: {{item.name}}
    Details: {{item.description}} — Ordered on {{item.date}}
    {% endfor %}
    
    Based on the product documentation and order history above, provide a concise and helpful answer to their question. Don't fabricate information beyond the provided inputs.
    

    W poniższej tabeli opisano sposób działania przykładowego szablonu:

    Element szablonu Zadanie
    {{ Employee.firstName }} {{ Employee.lastName }} Wyświetla nazwę pracownika.
    {{ Employee.department }} Dodaje kontekst działu.
    {{ Question[0].content }} Wprowadza pytanie pracownika z akcji Utwórz o nazwie Pytanie.
    {% for doc in Products %} Przegląda dane katalogowe z akcji Compose nazwanej Products.
    {% for order in Employee.orders %} Przechodzi przez historię zamówień pracownika z akcji Redaguj o nazwie Employee.

    Każda wartość elementu jest dynamicznie pobierana z akcji Redagowanie przepływu pracy — wszystkie bez konieczności używania kodu lub usług zewnętrznych. Możesz zastosować to samo podejście, aby odwoływać się do danych wyjściowych z innych operacji, na przykład listy programu SharePoint, wiersza programu SQL Server, treści wiadomości e-mail, a nawet wyników wyszukiwania sztucznej inteligencji. Wystarczy przypisać dane wyjściowe do szablonu monitu i pozwolić procesowi pracy wykonać resztę.

  5. Z listy Parametry zaawansowane wybierz pozycję Zmienna szablonu monitu, która jest teraz wyświetlana na karcie Parametry.

  6. W tabeli klucz-wartość wyświetlanej na karcie Parametry, wprowadź następujące nazwy zmiennych szablonu oraz dane wyjściowe wybrane z poprzednich akcji Utwórz w przepływie pracy, na przykład:

    1. W pierwszym wierszu w pierwszej kolumnie wprowadź Employee jako nazwę zmiennej.

    2. W tym samym wierszu, w następnej kolumnie, kliknij wewnątrz pola edycji, a następnie wybierz ikonę pioruna, aby otworzyć listę zawartości dynamicznej.

    3. Z listy zawartości dynamicznej w obszarze Pracownik wybierz pozycję Dane wyjściowe.

      Zrzut ekranu przedstawia akcję o nazwie Uzyskaj odpowiedzi na czacie przy użyciu Szablonu Monitu, tabeli zmiennych Szablonu Monitu, otwartą listę zawartości dynamicznej i wybraną wartość 'Rezultaty' w sekcji Pytanie.

    4. Powtórz te same kroki w następnym wierszu i w następującym wierszu w obszarze Pytania i produkty.

    Gdy wszystko będzie gotowe, tabela będzie wyglądać podobnie do poniższego przykładu:

    Zrzut ekranu przedstawia ukończoną tabelę zmienna szablonu monitu z wynikami Pytanie, katalog produktów i Pracownik.

  7. Aby zapoznać się z innymi parametrami, zobacz Uzyskiwanie uzupełnień czatu za pomocą szablonu monitu.

Po zakończeniu przepływ pracy wygląda jak w poniższym przykładzie:

Zrzut ekranu przedstawia standardowego projektanta przepływu pracy, wyzwalacz żądania, trzy przemianowane akcje Komponuj oraz wbudowaną akcję Azure OpenAI, pobierz zakończenia czatu z wykorzystaniem szablonu monitu.

Testowanie przepływu pracy

  1. Aby uruchomić przepływ pracy, wyślij żądanie HTTPS do adresu URL wywołania zwrotnego wyzwalacza Request, uwzględniając metodę, którą oczekuje wyzwalacz Request, używając swojego narzędzia do żądań HTTP zgodnie z instrukcjami.

    Aby uzyskać więcej informacji na temat podstawowej definicji JSON wyzwalacza i sposobu wywoływania tego wyzwalacza, zobacz następującą dokumentację:

    Po zakończeniu wykonywania przepływu pracy otwiera się strona historii uruchamiania, aby pokazać status każdej akcji.

    Zrzut ekranu pokazuje historię uruchamiania dla ostatnio zakończonego przepływu pracy ze statusem każdej operacji.

    1. Aby znaleźć stronę historii uruchamiania dla określonego przebiegu przepływu pracy w późniejszym czasie, wykonaj następujące kroki:

      1. W menu przepływu pracy w obszarze Narzędzia wybierz pozycję Historia uruchamiania.

      2. Na karcie Historia uruchamiania wybierz przebieg przepływu pracy, aby przeprowadzić inspekcję.

  2. Aby znaleźć odpowiedź na czat, na stronie historii uruchamiania wybierz akcję Azure OpenAI.

    Zostanie otwarte okienko pokazujące dane wejściowe i wyjściowe wybranej akcji.

  3. W otwartym okienku przewiń do sekcji Dane wyjściowe .

    Zrzut ekranu przedstawia historię uruchamiania dla ostatnio ukończonego przepływu pracy z informacją o stanie każdej operacji oraz wybraną akcję Azure OpenAI z danymi wejściowymi i wyjściowymi.

    Odpowiedź jest całkowicie oparta na kontekście ustrukturyzowanym przekazywanym do przepływu pracy — nie jest wymagane dodatkowe dostrajanie.

Uprzątnij zasoby

Jeśli nie potrzebujesz zasobów, które utworzyłeś(-aś) w tym przewodniku, nie zapomnij ich usunąć, aby nie ponosić dalszych kosztów. Możesz wykonać te kroki, aby usunąć grupę zasobów zawierającą te zasoby lub usunąć każdy zasób osobno.

  1. W polu wyszukiwania platformy Azure wprowadź grupy zasobów i wybierz pozycję Grupy zasobów.

  2. Znajdź i wybierz grupy zasobów, które zawierają zasoby na potrzeby tego przykładu.

  3. Na stronie Przegląd wybierz pozycję Usuń grupę zasobów.

  4. Po wyświetleniu okienka potwierdzenia wprowadź nazwę grupy zasobów i wybierz pozycję Usuń.