Vytvoření robota konverzace na podnikové úrovni

Azure Active Directory
App Service
Application Insights
Blob Storage
Bot Service
Cognitive Services
Cosmos DB
Data Factory
Functions
Key Vault
Logic Apps
Hledat

Tato referenční architektura popisuje, jak vytvořit robota konverzací na podnikové úrovni (chatovací robot) pomocí rozhraní Azure bot Framework.This reference architecture describes how to build an enterprise-grade conversational bot (chatbot) using the Azure Bot Framework. Každá robotka je odlišná, ale existuje několik běžných vzorů, pracovních postupů a technologií, o kterých je potřeba vědět.Each bot is different, but there are some common patterns, workflows, and technologies to be aware of. Hlavně v případě, že robot pracuje na podnikových úlohách, existuje mnoho nejdůležitějších otázek, které přesahují jenom základní funkce.Especially for a bot to serve enterprise workloads, there are many design considerations beyond just the core functionality. Tento článek se zabývá základními aspekty návrhu a zavádí nástroje potřebné k vytvoření robustního, zabezpečeného a aktivně se učí.This article covers the most essential design aspects, and introduces the tools needed to build a robust, secure, and actively learning bot.

Diagram architekturyDiagram of the architecture

Stáhněte si soubor aplikace Visio s touto architekturou.Download a Visio file of this architecture.

Ukázky nástrojů pro osvědčené postupy použité v této architektuře jsou plně otevřené a dostupné na GitHubu.The best practice utility samples used in this architecture are fully open-sourced and available on GitHub.

ArchitekturaArchitecture

Zde uvedená architektura používá následující služby Azure.The architecture shown here uses the following Azure services. Vaše vlastní robot nemusí používat všechny tyto služby nebo může zahrnovat další služby.Your own bot may not use all of these services, or may incorporate additional services.

Logika robota a činnost koncového uživateleBot logic and user experience

  • Služba bot Framework (BFS).Bot Framework Service (BFS). Tato služba připojuje robota k komunikační aplikaci, jako je Cortana, Kurýrní služba Facebook nebo časová rezerva.This service connects your bot to a communication app such as Cortana, Facebook Messenger, or Slack. Usnadňuje komunikaci mezi robotem a uživatelem.It facilitates communication between your bot and the user.
  • Azure App Service.Azure App Service. Aplikační logika robota je hostovaná v Azure App Service.The bot application logic is hosted in Azure App Service.

Robot Cognition a inteligentní funkceBot cognition and intelligence

  • Language Understanding (Luis).Language Understanding (LUIS). V rámci Azure Cognitive ServicesLuis umožňuje vašim robotům pochopit přirozený jazyk tím, že identifikuje uživatelské záměry a entity.Part of Azure Cognitive Services, LUIS enables your bot to understand natural language by identifying user intents and entities.
  • Azure Search.Azure Search. Hledání je spravovaná služba, která poskytuje rychlý prohledávatelný index dokumentu.Search is a managed service that provides a quick searchable document index.
  • QnA maker.QnA Maker. QnA Maker je cloudová služba API, která nad vašimi daty vytváří konverzační vrstvu otázek a odpovědí.QnA Maker is a cloud-based API service that creates a conversational, question-and-answer layer over your data. Obvykle se načítají s částečně strukturovaným obsahem, jako jsou nejčastější dotazy.Typically, it's loaded with semi-structured content such as FAQs. Použijte ho k vytvoření znalostní báze pro zodpovězení otázek v přirozeném jazyce.Use it to create a knowledge base for answering natural-language questions.
  • Webová aplikaceWeb app. Pokud robot potřebuje řešení AI, která nejsou součástí existující služby, můžete implementovat vlastní AI a hostovat ho jako webovou aplikaci.If your bot needs AI solutions not provided by an existing service, you can implement your own custom AI and host it as a web app. To poskytuje webový koncový bod pro volání robota.This provides a web endpoint for your bot to call.

Přijímání datData ingestion

Robot bude spoléhat na nezpracovaná data, která je třeba ingestovat a připravit.The bot will rely on raw data that must be ingested and prepared. Pro orchestraci tohoto procesu Vezměte v úvahu některé z následujících možností:Consider any of the following options to orchestrate this process:

  • Azure Data Factory.Azure Data Factory. Data Factory orchestruje a automatizuje přesun dat a transformaci dat.Data Factory orchestrates and automates data movement and data transformation.
  • Logic Apps.Logic Apps. Logic Apps je platforma bez serveru pro vytváření pracovních postupů, které integrují aplikace, data a služby.Logic Apps is a serverless platform for building workflows that integrate applications, data, and services. Logic Apps poskytuje datové konektory pro mnoho aplikací, včetně sady Office 365.Logic Apps provides data connectors for many applications, including Office 365.
  • Azure Functions.Azure Functions. Pomocí Azure Functions můžete napsat vlastní kód bez serveru, který je vyvolán triggerem — , například pokaždé, když se do úložiště objektů BLOB nebo Cosmos DB přidá dokument.You can use Azure Functions to write custom serverless code that is invoked by a trigger — for example, whenever a document is added to blob storage or Cosmos DB.

Protokolování a monitorováníLogging and monitoring

  • Application Insights.Application Insights. Pomocí Application Insights můžete protokolovat metriky aplikací robota pro účely monitorování, diagnostiky a analýzy.Use Application Insights to log the bot's application metrics for monitoring, diagnostic, and analytical purposes.
  • BLOB Storage Azure.Azure Blob Storage. Služba Blob Storage je optimalizovaná pro ukládání velkých objemů nestrukturovaných dat.Blob storage is optimized for storing massive amounts of unstructured data.
  • Cosmos DB.Cosmos DB. Cosmos DB je vhodný pro ukládání částečně strukturovaných dat protokolů, jako jsou konverzace.Cosmos DB is well-suited for storing semi-structured log data such as conversations.
  • Power BI.Power BI. Pomocí Power BI můžete pro robota vytvářet řídicí panely pro monitorování.Use Power BI to create monitoring dashboards for your bot.

Zabezpečení a zásady správného řízeníSecurity and governance

Zabezpečování a vylepšení kvalityQuality assurance and enhancements

  • DevOps Azure.Azure DevOps. Poskytuje mnoho služeb pro správu aplikací, včetně správy zdrojového kódu, sestavování, testování, nasazení a sledování projektu.Provides many services for app management, including source control, building, testing, deployment, and project tracking.
  • Vs Code Zjednodušený Editor kódu pro vývoj aplikací.VS Code A lightweight code editor for app development. Můžete použít jakékoli jiné integrované vývojové prostředí s podobnými funkcemi.You can use any other IDE with similar features.

Na co dát pozor při navrhováníDesign considerations

Na vysoké úrovni se může v konverzaci robot rozdělit do funkce robota ("mozek") a sady okolních požadavků ("tělo").At a high level, a conversational bot can be divided into the bot functionality (the "brain") and a set of surrounding requirements (the "body"). Mozek zahrnuje součásti pracující s doménami, včetně logiky bot a funkcí ML.The brain includes the domain-aware components, including the bot logic and ML capabilities. Další součásti jsou nezávislá domény a řeší nefunkční požadavky, jako je CI/CD, zabezpečování kvality a zabezpečení.Other components are domain agnostic and address non-functional requirements such as CI/CD, quality assurance, and security.

Logický diagram funkcí robota

Než se pustíte do konkrétních prvků této architektury, začněte s tokem dat prostřednictvím každé dílčí komponenty návrhu.Before getting into the specifics of this architecture, let's start with the data flow through each subcomponent of the design. Tok dat zahrnuje datové toky iniciované uživatelem a systémem.The data flow includes user-initiated and system-initiated data flows.

Tok zprávy uživateleUser message flow

Ověřování.Authentication. Uživatelé začínají ověřováním pomocí jakéhokoliv mechanismu, který je poskytován pomocí kanálu komunikace s robotem.Users start by authenticating themselves using whatever mechanism is provided by their channel of communication with the bot. Rozhraní bot Framework podporuje řadu komunikačních kanálů, včetně Cortany, Microsoft teams, Facebooku Messenger, Kik a časové rezervy.The bot framework supports many communication channels, including Cortana, Microsoft Teams, Facebook Messenger, Kik, and Slack. Seznam kanálů najdete v tématu věnovaném připojení robota k kanálům.For a list of channels, see Connect a bot to channels. Když vytvoříte robota s Azure Bot Service, kanál webového chatu se automaticky nakonfiguruje.When you create a bot with Azure Bot Service, the Web Chat channel is automatically configured. Tento kanál umožňuje uživatelům pracovat s robotem přímo na webové stránce.This channel allows users to interact with your bot directly in a web page. Robot můžete také připojit k vlastní aplikaci pomocí přímého kanálu čáry .You can also connect the bot to a custom app by using the Direct Line channel. Identita uživatele slouží k poskytování řízení přístupu na základě role a také k obsluze přizpůsobeného obsahu.The user's identity is used to provide role-based access control, as well as to serve personalized content.

Zpráva uživateleUser message. Po ověření uživatel pošle na robota zprávu.Once authenticated, the user sends a message to the bot. Robot přečte zprávu a směruje ji do přirozeného jazyka, jako je Luis.The bot reads the message and routes it to a natural language understanding service such as LUIS. Tento krok získá záměry (co chce uživatel udělat) a entity (k čemu uživatel zajímá).This step gets the intents (what the user wants to do) and entities (what things the user is interested in). Robot pak vytvoří dotaz, který předává službě, která poskytuje informace, jako je například Azure Search pro načítání dokumentů, QnA maker pro nejčastější dotazy nebo vlastní znalostní bázi.The bot then builds a query that it passes to a service that serves information, such as Azure Search for document retrieval, QnA Maker for FAQs, or a custom knowledge base. Robot pomocí těchto výsledků sestaví odpověď.The bot uses these results to construct a response. Aby bylo možné poskytnout nejlepší výsledek pro daný dotaz, robot může pro tyto vzdálené služby provést několik volání zpět.To give the best result for a given query, the bot might make several back-and-forth calls to these remote services.

Odpověď:Response. V tomto okamžiku robot určil nejlepší odpověď a pošle ji uživateli.At this point, the bot has determined the best response and sends it to the user. Pokud je v závislosti na nejvhodnějším zodpovězení reakce nízká přesnost, může se jednat o odpověď na nejednoznačnost nebo potvrzení, že robot nemohl odpovědět odpovídajícím způsobem.If the confidence score of the best-matched answer is low, the response might be a disambiguation question or an acknowledgment that the bot could not reply adequately.

Protokolování.Logging. Když se přijme požadavek uživatele nebo se pošle odpověď, všechny akce konverzace by se měly protokolovat do úložiště protokolování, a to spolu se metrikami výkonu a obecnými chybami z externích služeb.When a user request is received or a response is sent, all conversation actions should be logged to a logging store, along with performance metrics and general errors from external services. Tyto protokoly budou užitečné později při diagnostikování problémů a zlepšování systému.These logs will be useful later when diagnosing issues and improving the system.

Váš názor.Feedback. Dalším osvědčeným postupem je shromažďování názorů uživatelů a hodnocení spokojenosti.Another good practice is to collect user feedback and satisfaction scores. Jako reakci na konečnou odpověď robota by měl robot požádat uživatele, aby si vyžádal svoji spokojenost s odpovědí.As a follow up to the bot's final response, the bot should ask the user to rate their satisfaction with the reply. Zpětná vazba vám může pomoci vyřešit problém s studeným zahájením porozumění přirozenému jazyku a průběžně zlepšovat přesnost odpovědí.Feedback can help you to solve the cold start problem of natural language understanding, and continually improve the accuracy of responses.

Tok systémových datSystem Data Flow

ETL.ETL. Robot spoléhá na informace a znalosti extrahované z nezpracovaných dat procesem ETL v back-endu.The bot relies on information and knowledge extracted from the raw data by an ETL process in the backend. Tato data můžou být strukturovaná (SQL Database), částečně strukturovaná (systém CRM, nejčastější dotazy) nebo nestrukturovaná (dokumenty aplikace Word, soubory PDF, webové protokoly).This data might be structured (SQL database), semi-structured (CRM system, FAQs), or unstructured (Word documents, PDFs, web logs). Podsystém ETL extrahuje data podle pevného plánu.An ETL subsystem extracts the data on a fixed schedule. Obsah se transformuje a rozšiřuje a pak se načte do zprostředkujícího úložiště dat, jako je Cosmos DB nebo Azure Blob Storage.The content is transformed and enriched, then loaded into an intermediary data store, such as Cosmos DB or Azure Blob Storage.

Data ve zprostředkujícím úložišti se pak indexují do Azure Search pro načítání dokumentů, načtená do QnA Maker, aby se vytvořily páry otázek a odpovědí, nebo se načetly do vlastní webové aplikace pro zpracování nestrukturovaných textů.Data in the intermediary store is then indexed into Azure Search for document retrieval, loaded into QnA Maker to create question and answer pairs, or loaded into a custom web app for unstructured text processing. Data se také používají ke školení modelu LUIS pro extrakci záměrů a entit.The data is also used to train a LUIS model for intent and entity extraction.

Zabezpečování kvality.Quality assurance. Protokoly konverzace slouží k diagnostice a opravě chyb, poskytují přehled o tom, jak se robot používá, a sleduje celkový výkon.The conversation logs are used to diagnose and fix bugs, provide insight into how the bot is being used, and track overall performance. Data zpětné vazby jsou užitečná pro přeškolení modelů AI pro zlepšení výkonu robota.Feedback data is useful for retraining the AI models to improve bot performance.

Vytvoření robotaBuilding a bot

Předtím, než zapíšete jeden řádek kódu, je důležité napsat funkční specifikaci, aby vývojový tým měl jasný nápad na to, co by měl robot.Before you even write a single line of code, it's important to write a functional specification so the development team has a clear idea of what the bot is expected to do. Specifikace by měla zahrnovat rozumně vyčerpávající seznam vstupů uživatele a očekávané odezvy robota v různých doménách znalostní báze.The specification should include a reasonably comprehensive list of user inputs and expected bot responses in various knowledge domains. Tento živý dokument bude nehodnotným průvodcem pro vývoj a testování robota.This living document will be an invaluable guide for developing and testing your bot.

Ingestace datIngest data

V dalším kroku Identifikujte zdroje dat, které umožní robotům inteligentně pracovat s uživateli.Next, identify the data sources that will enable the bot to interact intelligently with users. Jak už bylo zmíněno dříve, tyto zdroje dat můžou obsahovat strukturované, částečně strukturované nebo nestrukturované datové sady.As mentioned earlier, these data sources could contain structured, semi-structured, or unstructured data sets. Když začínáte, dobrým přístupem je vytvořit jednorázovou kopii dat do centrálního úložiště, například Cosmos DB nebo Azure Storage.When you're getting started, a good approach is to make a one-off copy of the data to a central store, such as Cosmos DB or Azure Storage. Jak budete postupovat, měli byste vytvořit kanál automatizovaného příjmu dat, aby tato data zůstala aktuální.As you progress, you should create an automated data ingestion pipeline to keep this data current. Mezi možnosti pro kanál automatizovaného přijímání patří Data Factory, funkce a Logic Apps.Options for an automated ingestion pipeline include Data Factory, Functions, and Logic Apps. V závislosti na úložištích a schématech dat můžete použít kombinaci těchto přístupů.Depending on the data stores and the schemas, you might use a combination of these approaches.

Jak začít, je vhodné použít Azure Portal k ručnímu vytvoření prostředků Azure.As you get started, it's reasonable to use the Azure portal to manually create Azure resources. Později byste měli pohlížet na automatizaci nasazení těchto prostředků.Later on, you should put more thought into automating the deployment of these resources.

Core robot Logic and UXCore bot logic and UX

Jakmile budete mít specifikaci a nějaká data, je čas začít vytvářet roboty ve realitě.Once you have a specification and some data, it's time to start making your bot into reality. Pojďme se zaměřit na základní logiku robota.Let's focus on the core bot logic. Toto je kód, který zpracovává konverzaci s uživatelem, včetně logiky směrování, logiky pro nejednoznačnosti a protokolování.This is the code that handles the conversation with the user, including the routing logic, disambiguation logic, and logging. Začněte tím, že familiarizing sami s architekturou bot, včetně:Start by familiarizing yourself with the Bot Framework, including:

  • Základní koncepty a terminologie používané v rozhraní, zejména [konverzace], [aplikace a] [aktivity].Basic concepts and terminology used in the framework, especially conversations, turns, and activities.
  • Služba robot Connector, která zpracovává síť mezi robotem a vašimi kanály.The Bot Connector service, which handles the networking between the bot and your channels.
  • Jak se udržuje stav konverzace, a to buď v paměti, nebo ještě lépe v úložišti, jako je například Azure Blob Storage nebo Azure Cosmos DB.How conversation state is maintained, either in memory or better yet in a store such as Azure Blob Storage or Azure Cosmos DB.
  • Middlewarea jak se dá použít k připojení robota k externím službám, jako je Cognitive Services.Middleware, and how it can be used to hook up your bot with external services, such as Cognitive Services.

Pro bohatou činnost koncového uživateleexistuje celá řada možností.For a rich user experience, there are many options.

  • Karty můžete použít k zahrnutí tlačítek, obrázků, karuselů a nabídek.You can use cards to include buttons, images, carousels, and menus.
  • Robot může podporovat řeč.A bot can support speech.
  • Můžete dokonce vložit robota do aplikace nebo webu a použít možnosti hostování aplikace.You can even embed your bot in an app or website and use the capabilities of the app hosting it.

Chcete-li začít, můžete vytvořit robota online pomocí Azure bot Servicea vybírat z dostupných šablon C# a Node.js.To get started, you can build your bot online using the Azure Bot Service, selecting from the available C# and Node.js templates. I když je robotější, budete muset vytvořit robot místně a pak ho nasadit na web.As your bot gets more sophisticated, however, you will need to create your bot locally then deploy it to the web. Vyberte integrované vývojové prostředí (IDE), jako je například Visual Studio nebo Visual Studio Code, a programovací jazyk.Choose an IDE, such as Visual Studio or Visual Studio Code, and a programming language. Sady SDK jsou k dispozici v následujících jazycích:SDKs are available for the following languages:

Jako výchozí bod můžete stáhnout zdrojový kód pro robota, který jste vytvořili, pomocí Azure Bot Service.As a starting point, you can download the source code for the bot you created using the Azure Bot Service. Vzorový kódmůžete najít také z jednoduchého robotyu echo až po složitější roboty, které se integrují s různými službami AI.You can also find sample code, from simple echo bots to more sophisticated bots that integrate with various AI services.

Přidat inteligentní doplňky ke robotuAdd smarts to your bot

Pro jednoduchou robota s dobře definovaným seznamem příkazů můžete použít přístup založený na pravidlech k analýze vstupu uživatele pomocí regulárního výrazu.For a simple bot with a well-defined list of commands, you might be able to use a rules-based approach to parse the user input via regex. To má výhodu, že je deterministické a srozumitelnější.This has the advantage of being deterministic and understandable. Nicméně, když robot potřebuje pochopit záměry a entity více zpráv přirozeného jazyka, jsou k dispozici služby AI, které vám pomůžou.However, when your bot needs to understand the intents and entities of a more natural-language message, there are AI services that can help.

  • LUIS je speciálně navržena pro pochopení záměrů a entit uživatelů.LUIS is specifically designed to understand user intents and entities. Můžete ji vyškolit pomocí středně velké kolekce relevantního vstupu uživatele a požadovaných odpovědí a vrátíte záměry a entity pro danou zprávu uživatele.You train it with a moderately sized collection of relevant user input and desired responses, and it returns the intents and entities for a user's given message.

  • Azure Search může pracovat společně s LUIS.Azure Search can work alongside LUIS. Pomocí vyhledávání můžete vytvořit indexy s možností vyhledávání u všech relevantních dat.Using Search, you create searchable indexes over all relevant data. Robot se dotazuje na tyto indexy pro entity extrahované pomocí LUIS.The bot queries these indexes for the entities extracted by LUIS. Azure Search také podporuje synonyma, která mohou rozšířit síť správného mapování slov.Azure Search also supports synonyms, which can widen the net of correct word mappings.

  • QnA Maker je další služba navržená tak, aby vracela odpovědi na dané otázky.QnA Maker is another service that is designed to return answers for given questions. Je obvykle vyškolená pro částečně strukturovaná data, jako jsou nejčastější dotazy.It's typically trained over semi-structured data such as FAQs.

Robot může využít jiné služby AI k dalšímu obohacení uživatelského prostředí.Your bot can use other AI services to further enrich the user experience. Cognitive Services sada předem připravených služeb AI (zahrnující LUIS a QnA maker) obsahuje služby pro vize, rozpoznávání řeči, jazyky, hledání a umístění.The Cognitive Services suite of pre-built AI services (which includes LUIS and QnA Maker) has services for vision, speech, language, search, and location. Můžete rychle přidat funkce, jako je například překlad jazyka, kontrolu pravopisu, analýzu mínění, rozpoznávání OCR, povědomí o poloze a Moderování obsahu.You can quickly add functionality such as language translation, spell checking, sentiment analysis, OCR, location awareness, and content moderation. Tyto služby můžou být v robotu kabelové, aby se uživateli lépe a inteligentně spolupracovali s ním.These services can be wired up as middleware modules in your bot to interact more naturally and intelligently with the user.

Další možností je integrovat vlastní službu AI.Another option is to integrate your own custom AI service. Tento přístup je složitější, ale poskytuje kompletní flexibilitu v souvislosti s algoritmem, školením a modelem strojového učení.This approach is more complex, but gives you complete flexibility in terms of the machine learning algorithm, training, and model. Můžete například implementovat vlastní modelování tématu a použít algoritmus, jako je například LDA , k nalezení podobných nebo relevantních dokumentů.For example, you could implement your own topic modeling and use algorithm such as LDA to find similar or relevant documents. Dobrým přístupem je vystavení vlastního řešení AI jako koncového bodu webové služby a volání koncového bodu z základní logiky bot.A good approach is to expose your custom AI solution as a web service endpoint, and call the endpoint from the core bot logic. Webová služba může být hostována v App Service nebo v clusteru virtuálních počítačů.The web service could be hosted in App Service or in a cluster of VMs. Azure Machine Learning poskytuje řadu služeb a knihoven, které vám pomůžou při školení a nasazení vašich modelů.Azure Machine Learning provides a number of services and libraries to assist you in training and deploying your models.

Zabezpečování kvality a vylepšeníQuality assurance and enhancement

Protokolování.Logging. Protokolujte konverzace uživatelů s robotem, včetně základní metriky výkonu a všech chyb.Log user conversations with the bot, including the underlying performance metrics and any errors. Tyto protokoly se ukážou jako nevýznamné pro ladění problémů, porozumění interakcím uživatelů a vylepšení systému.These logs will prove invaluable for debugging issues, understanding user interactions, and improving the system. Různá úložiště dat můžou být vhodná pro různé typy protokolů.Different data stores might be appropriate for different types of logs. Zvažte například Application Insights pro webové protokoly, Cosmos DB pro konverzace a Azure Storage pro velké datové části.For example, consider Application Insights for web logs, Cosmos DB for conversations, and Azure Storage for large payloads. Viz zápis přímo do Azure Storage.See Write directly to Azure Storage.

Váš názor.Feedback. Je také důležité pochopit, jak jsou spokojení uživatelé s interakcemi robota.It's also important to understand how satisfied users are with their bot interactions. Pokud máte záznam zpětné vazby od uživatele, můžete tato data využít k tomu, abyste se mohli zaměřit na vylepšení určitých interakcí a přeškolování modelů AI, aby se zlepšil výkon.If you have a record of user feedback, you can use this data to focus your efforts on improving certain interactions and retraining the AI models for improved performance. Použijte zpětnou vazbu k reučení modelů, jako je například LUIS, ve vašem systému.Use the feedback to retrain the models, such as LUIS, in your system.

Testování.Testing. Testování robota zahrnuje testy jednotek, testy integrace, regresní testy a funkční testy.Testing a bot involves unit tests, integration tests, regression tests, and functional tests. Pro účely testování doporučujeme nahrávat skutečné odpovědi HTTP z externích služeb, jako je Azure Search nebo QnA Maker, aby se mohly přehrát během testování částí, aniž by bylo potřeba provádět skutečná síťová volání externích služeb.For testing, we recommend recording real HTTP responses from external services, such as Azure Search or QnA Maker, so they can be played back during unit testing without needing to make real network calls to external services.

Poznámka

Pokud chcete začít s vývojem v těchto oblastech, podívejte se na Botbuilder pro JavaScript.To jump-start your development in these areas, look at the Botbuilder Utils for JavaScript. Toto úložiště obsahuje ukázkový kód nástrojů pro roboty sestavený s Microsoft bot Framework v4 a běžícím Node.js.This repo contains sample utility code for bots built with Microsoft Bot Framework v4 and running Node.js. Zahrnuje tyto balíčky:It includes the following packages:

Tyto balíčky jsou k dispozici jako ukázkový kód pro nástroj a neposkytují žádnou záruku podpory nebo aktualizací.These packages are provided as utility sample code, and come with no guarantee of support or updates.

Aspekty dostupnostiAvailability considerations

Při zavádění nových funkcí nebo oprav chyb na robota je nejvhodnější použít několik prostředí nasazení, například pracovní a produkční.As you roll out new features or bug fixes to your bot, it's best to use multiple deployment environments, such as staging and production. Díky slotům pro nasazení z Azure DevOps to můžete udělat s nulovými výpadky.Using deployment slots from Azure DevOps allows you to do this with zero downtime. Před výměnou v produkčním prostředí můžete testovat své nejnovější upgrady v přípravném prostředí.You can test your latest upgrades in the staging environment before swapping them to the production environment. Z pohledu na zatížení je App Service určena pro ruční nebo automatické horizontální navýšení nebo automatické navýšení kapacity.In terms of handling load, App Service is designed to scale up or out manually or automatically. Vzhledem k tomu, že vaše robot je hostovaný v globální infrastruktuře datacenter Microsoftu, App Service vysoká dostupnost příslibů SLA.Because your bot is hosted in Microsoft's global datacenter infrastructure, the App Service SLA promises high availability.

Důležité informace o zabezpečeníSecurity considerations

Stejně jako u jakékoli jiné aplikace může být robot navržený tak, aby zpracovávala citlivá data.As with any other application, the bot can be designed to handle sensitive data. Proto omezte, kdo se může přihlásit a používat robota.Therefore, restrict who can sign in and use the bot. Také můžete omezit, která data budou k dispozici, na základě identity nebo role uživatele.Also limit which data can be accessed, based on the user's identity or role. Využijte Azure AD k řízení identit a přístupu a Key Vault ke správě klíčů a tajných kódů.Use Azure AD for identity and access control and Key Vault to manage keys and secrets.

Důležité informace o DevOpsDevOps considerations

Monitorování a vytváření sestavMonitoring and reporting

Po spuštění robota v produkčním prostředí budete potřebovat tým DevOps, který tak bude mít za následek.Once your bot is running in production, you will need a DevOps team to keep it that way. Nepřetržitě monitorujte systém, abyste zajistili, že robot funguje na špičkovém výkonu.Continually monitor the system to ensure the bot operates at peak performance. Pomocí protokolů odeslaných do Application Insights nebo Cosmos DB můžete vytvořit řídicí panely monitorování, a to buď pomocí Application Insights samotného, Power BI nebo vlastního řídicího panelu webové aplikace.Use the logs sent to Application Insights or Cosmos DB to create monitoring dashboards, either using Application Insights itself, Power BI, or a custom web app dashboard. Pokud dojde k kritickým chybám nebo výkon dosahuje přijatelné prahové hodnoty, odešlete výstrahy týmu DevOps.Send alerts to the DevOps team if critical errors occur or performance falls below an acceptable threshold.

Automatizované nasazení prostředkůAutomated resource deployment

Robot sám sebe je jenom součástí většího systému, který jim poskytuje nejnovější data a zajišťuje jeho správnou operaci.The bot itself is only part of a larger system that provides it with the latest data and ensures its proper operation. Všechny tyto další služby Azure Resource — orchestrace dat, jako jsou data Factory, služby úložiště, jako je například Cosmos DB a tak dále, — musí být nasazeny.All of these other Azure resources — data orchestration services such as Data Factory, storage services such as Cosmos DB, and so forth — must be deployed. Azure Resource Manager poskytuje konzistentní vrstvu správy, ke které máte přístup prostřednictvím Azure Portal, PowerShellu nebo rozhraní příkazového řádku Azure.Azure Resource Manager provides a consistent management layer that you can access through the Azure portal, PowerShell, or the Azure CLI. Pro rychlost a konzistenci je nejlepší automatizovat nasazení pomocí jednoho z těchto přístupů.For speed and consistency, it's best to automate your deployment using one of these approaches.

Průběžné nasazování robotaContinuous bot deployment

Logiku robota můžete nasadit přímo z integrovaného vývojového prostředí (IDE) nebo z příkazového řádku, jako je Azure CLI.You can deploy the bot logic directly from your IDE or from a command line, such as the Azure CLI. V případě, že vaše robota ještě není k dispozici, je ale vhodné použít nepřetržitý proces nasazení pomocí řešení CI/CD, jako je například Azure DevOps, jak je popsáno v článku Nastavení průběžného nasazování.As your bot matures, however, it's best to use a continual deployment process using a CI/CD solution such as Azure DevOps, as described in the article Set up continuous deployment. To je dobrý způsob, jak zjednodušit testování nových funkcí a oprav v robotu v blízké provozním prostředí.This is a good way to ease the friction in testing new features and fixes in your bot in a near-production environment. Je také vhodné mít několik prostředí pro nasazení, obvykle alespoň pracovní a produkční.It's also a good idea to have multiple deployment environments, typically at least staging and production. Azure DevOps podporuje tento přístup.Azure DevOps supports this approach.

Důležité informace o nákladechCost considerations

K odhadu nákladů použijte cenovou kalkulačku Azure.Use the Azure pricing calculator to estimate costs. Tady jsou některé další okolnosti.Here are some other considerations.

Aplikace botBot application

V této architektuře je hlavní nákladový ovladač Azure App Service, ve kterém je logika aplikace bot hostovaná.In this architecture, the main cost driver is the Azure App Service in which the bot application logic is hosted. Vyberte vrstvu plánu App Service, která nejlépe vyhovuje vašim potřebám.Choose an App Service plan tier that best suits your needs. Tady je několik doporučení:Here are some recommendations:

  • Pro účely testování používejte úrovně Free a Shared (Preview), protože sdílené prostředky nelze škálovat.Use Free and Shared (preview) tiers for testing purposes because the shared resources cannot scale out.
  • Provozní úlohy můžete spouštět na úrovních Basic, Standard a Premium , protože aplikace běží na vyhrazených instancích virtuálních počítačů a má přidělené prostředky, které se můžou škálovat. Plány App Service se účtují za sekundu.Run your production workload on Basic, Standard, and Premium tiers because the app runs on dedicated virtual machine instances and has allocated resources that can scale out. App Service plans are billed on a per second basis.

Účtují se vám za instance v plánu App Service, a to i v případě, že se aplikace zastaví.You are charged for the instances in the App Service plan, even when the app is stopped. Odstraňte plány, které nechcete použít dlouhodobě, například testovací nasazení.Delete plans that you don't intend to use long term, such as test deployments.

Další informace najdete v článku o tom, kolik stojí App Service plán?.For more information, see How much does my App Service plan cost?.

Přijímání datData ingestion

  • Azure Data FactoryAzure Data Factory

    V této architektuře Data Factory automatizuje kanál pro přijímání dat.In this architecture, Data Factory automates the data ingestion pipeline. Prozkoumejte celou řadu možností integrace dat, které odpovídají vašim požadavkům na rozpočet, ze spravovaných služba SSIS (SQL Server Integration Services) pro bezproblémové migrace SQL Server projektů do cloudu (cenově výhodná možnost) až po rozsáhlé kanály datových kanálů bez serveru pro integraci dat všech tvarů a velikostí.Explore a range of data integration capabilities to fit your budget needs, from managed SQL Server Integration Services for seamless migration of SQL Server projects to the cloud (cost effective option), to large-scale, serverless data pipelines for integrating data of all shapes and sizes.

    Příklad naleznete v tématu Azure Data Factory – příklad analýzy nákladů.For an example, see Azure Data Factory - example cost analysis.

  • Azure FunctionsAzure Functions

    V této referenční architektuře se Azure Functions účtuje podle plánu spotřeby.In this reference architecture, Azure Functions is billed as per the Consumption plan. Účtují se vám poplatky za využití prostředků za sekundu a pokaždé, když událost aktivuje provádění funkce.You are charged based on per-second resource consumption and each time an event triggers the execution of the function. Zpracování několika událostí v jednom provedení nebo dávkách může snížit náklady.Processing several events in a single execution or batches can reduce cost.

    Azure škáluje infrastrukturu potřebnou ke spouštění funkcí podle potřeby.Azure scales the infrastructure required to run functions as needed. V případě nízkého zatížení je infrastruktura škálovaná až nula bez přidružených nákladů.When workload is low, the infrastructure is scaled down up to zero with no associated cost. Pokaždé, když se zatížení rozroste, Azure používá dostatečnou kapacitu k obsluze všech požadavků.Whenever the workload grows, Azure uses enough capacity to serve all the demand. Vzhledem k tomu, že platíte za skutečné použití, spravujte přesné náklady na jednotlivé komponenty.Because you pay per actual use, manage the exact cost of each component.

Logic AppsLogic Apps

Ceny Logic Apps fungují na modelu průběžných plateb.Logic apps pricing works on the pay-as-you-go model. Logic Apps mají cenový model průběžných plateb.Logic apps have a pay-as-you-go pricing model. Triggery, akce a spuštění konektoru jsou měřeny pokaždé, když se spustí aplikace logiky.Triggers, actions, and connector executions are metered each time a logic app runs. Všechny úspěšné a neúspěšné akce, včetně triggerů, se považují za spuštění.All successful and unsuccessful actions, including triggers, are considered as executions.

Například vaše aplikace logiky zpracovává 1000 zpráv denně od Azure Service Bus.For instance, your logic app processes 1000 messages a day from Azure Service Bus. Pracovní postup s pěti akcemi bude nižší než $6.A workflow of five actions will cost less than $6. Další informace najdete v tématu Logic Apps ceny.For more information, see Logic Apps pricing.

Další informace najdete v části s náklady v Microsoft Azure Well-Architected Framework.For other cost considerations, see the Cost section in Microsoft Azure Well-Architected Framework.

Další krokyNext Steps

  • Seznamte se s šablonou virtuálního asistenta , abyste mohli rychle začít vytvářet robotyy konverzace.Review the Virtual Assistant template to quickly get started building conversational bots.