नोट
इस पेज तक पहुँच के लिए प्रमाणन की आवश्यकता होती है. आप साइन इन करने या निर्देशिकाओं को बदलने का प्रयास कर सकते हैं.
इस पेज तक पहुँच के लिए प्रमाणन की आवश्यकता होती है. आप निर्देशिकाओं को बदलने का प्रयास कर सकते हैं.
यह क्विकस्टार्ट आपको एक कस्टम इंजन एजेंट बनाने के माध्यम से मार्गदर्शन करता है जो आपके द्वारा भेजे गए किसी भी संदेश का जवाब देता है।
पूर्वावश्यकताएँ
पायथन 3.9 या नया।
- पायथन स्थापित करने के लिए, पर जाएं https://www.python.org/downloads/, और अपने ऑपरेटिंग सिस्टम के निर्देशों का पालन करें।
- संस्करण को सत्यापित करने के लिए, टर्मिनल विंडो में टाइप करें
python --version.
अपनी पसंद का एक कोड संपादक। ये निर्देश Visual Studio कोड का उपयोग करें।
यदि आप Visual Studio कोड का उपयोग करते हैं, तो Python एक्सटेंशन स्थापित करें
प्रोजेक्ट को प्रारंभ करें और SDK स्थापित करें
एक पायथन प्रोजेक्ट बनाएं और आवश्यक निर्भरताएं स्थापित करें।
एक टर्मिनल खोलें और एक नया फ़ोल्डर बनाएं
mkdir echo cd echoइस आदेश का उपयोग करके Visual Studio कोड का उपयोग कर फ़ोल्डर खोलें:
code .अपनी पसंद की विधि के साथ एक आभासी वातावरण बनाएं और इसे विजुअल स्टूडियो कोड या टर्मिनल में सक्रिय करें।
Visual Studio कोड का उपयोग करते समय, आप स्थापित पायथन एक्सटेंशन के साथ इन चरणों का उपयोग कर सकते हैं।
F1 दबाएँ, लिखें
Python: Create environment, और Enter दबाएँ.वर्तमान कार्यक्षेत्र में वर्चुअल वातावरण बनाने के लिए
.venvका चयन करें।वर्चुअल वातावरण बनाने के लिए एक पायथन इंस्टॉलेशन का चयन करें।
मान इस तरह दिख सकता है:
Python 1.13.6 ~\AppData\Local\Programs\Python\Python313\python.exe
एजेंट SDK स्थापित करें
इस कमांड के साथ microsoft-agents-hosting-aiohttp पैकेज को स्थापित करने के लिए pip का उपयोग करें:
pip install microsoft-agents-hosting-aiohttp
सर्वर अनुप्रयोग बनाएँ और आवश्यक लाइब्रेरीज़ आयात करें
नाम
start_server.pyकी एक फ़ाइल बनाएँ, निम्न कोड की प्रतिलिपि बनाएँ, और उसमें चिपकाएँ:# start_server.py from os import environ from microsoft_agents.hosting.core import AgentApplication, AgentAuthConfiguration from microsoft_agents.hosting.aiohttp import ( start_agent_process, jwt_authorization_middleware, CloudAdapter, ) from aiohttp.web import Request, Response, Application, run_app def start_server( agent_application: AgentApplication, auth_configuration: AgentAuthConfiguration ): async def entry_point(req: Request) -> Response: agent: AgentApplication = req.app["agent_app"] adapter: CloudAdapter = req.app["adapter"] return await start_agent_process( req, agent, adapter, ) APP = Application(middlewares=[jwt_authorization_middleware]) APP.router.add_post("/api/messages", entry_point) APP.router.add_get("/api/messages", lambda _: Response(status=200)) APP["agent_configuration"] = auth_configuration APP["agent_app"] = agent_application APP["adapter"] = agent_application.adapter try: run_app(APP, host="localhost", port=environ.get("PORT", 3978)) except Exception as error: raise errorयह कोड एक
start_serverफ़ंक्शन को परिभाषित करता है जिसे हम अगली फ़ाइल में उपयोग करेंगे।एक ही निर्देशिका में, निम्न कोड के साथ नामित
app.pyएक फ़ाइल बनाएँ।# app.py from microsoft_agents.hosting.core import ( AgentApplication, TurnState, TurnContext, MemoryStorage, ) from microsoft_agents.hosting.aiohttp import CloudAdapter from start_server import start_server
एजेंट एप्लिकेशन के रूप में एजेंट का एक उदाहरण बनाएं
app.py में, AGENT_APP को AgentApplication का उदाहरण के रूप में बनाने के लिए निम्नलिखित कोड जोड़ें, और तीन घटनाओं का उत्तर देने के लिए तीन मार्ग लागू करें:
- बातचीत अपडेट
- संदेश
/help - कोई अन्य गतिविधि
AGENT_APP = AgentApplication[TurnState](
storage=MemoryStorage(), adapter=CloudAdapter()
)
async def _help(context: TurnContext, _: TurnState):
await context.send_activity(
"Welcome to the Echo Agent sample 🚀. "
"Type /help for help or send a message to see the echo feature in action."
)
AGENT_APP.conversation_update("membersAdded")(_help)
AGENT_APP.message("/help")(_help)
@AGENT_APP.activity("message")
async def on_message(context: TurnContext, _):
await context.send_activity(f"you said: {context.activity.text}")
लोकलहोस्ट में सुनने के लिए वेब सर्वर प्रारंभ करें:3978
app.py के बाद, वेब सर्वर शुरू करने के लिए start_server का उपयोग करें।
if __name__ == "__main__":
try:
start_server(AGENT_APP, None)
except Exception as error:
raise error
एजेंट को स्थानीय रूप से अनाम मोड में चलाएँ
अपने टर्मिनल से, यह कमांड चलाएं:
python app.py
टर्मिनल को निम्नलिखित वापस करना चाहिए:
======== Running on http://localhost:3978 ========
(Press CTRL+C to quit)
स्थानीय रूप से एजेंट का परीक्षण करें
किसी अन्य टर्मिनल से (एजेंट को चालू रखने के लिए) इस कमांड के साथ Microsoft 365 एजेंट खेल का मैदान स्थापित करें:
npm install -g @microsoft/teams-app-test-toolनोट
यह कमांड npm का उपयोग करता है क्योंकि Microsoft 365 Agents Playground पाइप का उपयोग करके उपलब्ध नहीं है।
टर्मिनल को कुछ इस तरह वापस करना चाहिए:
added 1 package, and audited 130 packages in 1s 19 packages are looking for funding run `npm fund` for details found 0 vulnerabilitiesइस कमांड का उपयोग करके अपने एजेंट के साथ इंटरैक्ट करने के लिए परीक्षण टूल चलाएँ:
teamsapptesterटर्मिनल को कुछ इस तरह वापस करना चाहिए:
Telemetry: agents-playground-cli/serverStart {"cleanProperties":{"options":"{\"configFileOptions\":{\"path\":\"<REDACTED: user-file-path>\"},\"appConfig\":{},\"port\":56150,\"disableTelemetry\":false}"}} Telemetry: agents-playground-cli/cliStart {"cleanProperties":{"isExec":"false","argv":"<REDACTED: user-file-path>,<REDACTED: user-file-path>"}} Listening on 56150 Microsoft 365 Agents Playground is being launched for you to debug the app: http://localhost:56150 started web socket client started web socket client Waiting for connection of endpoint: http://127.0.0.1:3978/api/messages waiting for 1 resources: http://127.0.0.1:3978/api/messages wait-on(37568) complete Telemetry: agents-playground-server/getConfig {"cleanProperties":{"internalConfig":"{\"locale\":\"en-US\",\"localTimezone\":\"America/Los_Angeles\",\"channelId\":\"msteams\"}"}} Telemetry: agents-playground-server/sendActivity {"cleanProperties":{"activityType":"installationUpdate","conversationId":"5305bb42-59c9-4a4c-a2b6-e7a8f4162ede","headers":"{\"x-ms-agents-playground\":\"true\"}"}} Telemetry: agents-playground-server/sendActivity {"cleanProperties":{"activityType":"conversationUpdate","conversationId":"5305bb42-59c9-4a4c-a2b6-e7a8f4162ede","headers":"{\"x-ms-agents-playground\":\"true\"}"}}
कमांड आपके डिफ़ॉल्ट ब्राउज़र को teamsapptester खोलता है और आपके एजेंट से जुड़ता है।
अब आप प्रतिध्वनि उत्तर देखने के लिए कोई भी संदेश भेज सकते हैं, या यह देखने के लिए संदेश /help भेज सकते हैं कि वह संदेश हैंडलर को _help कैसे रूट किया गया है।
यह क्विकस्टार्ट आपको एक कस्टम इंजन एजेंट बनाने के माध्यम से मार्गदर्शन करता है जो आपके द्वारा भेजे गए किसी भी संदेश का जवाब देता है।
पूर्वावश्यकताएँ
Node.js v22 या नया
- स्थापित करने Node.js nodejs.org पर जाएँ और अपने ऑपरेटिंग सिस्टम के लिए आने वाले अनुदेशों का पालन करें.
- संस्करण को सत्यापित करने के लिए, टर्मिनल विंडो में टाइप करें
node --version.
अपनी पसंद का एक कोड संपादक। ये निर्देश Visual Studio कोड का उपयोग करें।
प्रोजेक्ट को प्रारंभ करें और SDK स्थापित करें
package.json बनाकर और आवश्यक निर्भरताएँ स्थापित करके node.js प्रोजेक्ट प्रारंभ करने के लिए उपयोग npm करें
एक टर्मिनल खोलें और एक नया फ़ोल्डर बनाएं
mkdir echo cd echonode.js प्रोजेक्ट प्रारंभ करें
npm init -yएजेंट SDK स्थापित करें
npm install @microsoft/agents-hosting-expressइस आदेश का उपयोग करके Visual Studio कोड का उपयोग कर फ़ोल्डर खोलें:
code .
आवश्यक लाइब्रेरीज़ आयात करें
फ़ाइल index.mjs बनाएं और अपने एप्लिकेशन कोड में निम्नलिखित एनपीएम पैकेज आयात करें:
// index.mjs
import { startServer } from '@microsoft/agents-hosting-express'
import { AgentApplication, MemoryStorage } from '@microsoft/agents-hosting'
EchoAgent को AgentApplication के रूप में लागू करें
मेंindex.mjs, EchoAgent का विस्तार बनाने के लिए निम्न कोड जोड़ें, और तीन घटनाओं का प्रतिसाद देने के लिए तीन मार्ग कार्यान्वित करें:
- बातचीत अपडेट
- संदेश
/help - कोई अन्य गतिविधि
class EchoAgent extends AgentApplication {
constructor (storage) {
super({ storage })
this.onConversationUpdate('membersAdded', this._help)
this.onMessage('/help', this._help)
this.onActivity('message', this._echo)
}
_help = async context =>
await context.sendActivity(`Welcome to the Echo Agent sample 🚀.
Type /help for help or send a message to see the echo feature in action.`)
_echo = async (context, state) => {
let counter= state.getValue('conversation.counter') || 0
await context.sendActivity(`[${counter++}]You said: ${context.activity.text}`)
state.setValue('conversation.counter', counter)
}
}
लोकलहोस्ट में सुनने के लिए वेब सर्वर प्रारंभ करें:3978
index.mjs के अंत में, startServer का उपयोग करके वेब सर्वर शुरू करें, जो MemoryStorage को टर्न स्टेट स्टोरेज के रूप में इस्तेमाल करता है और एक्सप्रेस पर आधारित है।
startServer(new EchoAgent(new MemoryStorage()))
एजेंट को स्थानीय रूप से अनाम मोड में चलाएँ
अपने टर्मिनल से, यह कमांड चलाएं:
node index.mjs
टर्मिनल को यह वापस करना चाहिए:
Server listening to port 3978 on sdk 0.6.18 for appId undefined debug undefined
स्थानीय रूप से एजेंट का परीक्षण करें
किसी अन्य टर्मिनल से (एजेंट को चालू रखने के लिए) इस कमांड के साथ Microsoft 365 एजेंट खेल का मैदान स्थापित करें:
npm install -D @microsoft/teams-app-test-toolटर्मिनल को कुछ इस तरह वापस करना चाहिए:
added 1 package, and audited 130 packages in 1s 19 packages are looking for funding run `npm fund` for details found 0 vulnerabilitiesइस कमांड का उपयोग करके अपने एजेंट के साथ इंटरैक्ट करने के लिए परीक्षण टूल चलाएँ:
node_modules/.bin/teamsapptesterटर्मिनल को कुछ इस तरह वापस करना चाहिए:
Telemetry: agents-playground-cli/serverStart {"cleanProperties":{"options":"{\"configFileOptions\":{\"path\":\"<REDACTED: user-file-path>\"},\"appConfig\":{},\"port\":56150,\"disableTelemetry\":false}"}} Telemetry: agents-playground-cli/cliStart {"cleanProperties":{"isExec":"false","argv":"<REDACTED: user-file-path>,<REDACTED: user-file-path>"}} Listening on 56150 Microsoft 365 Agents Playground is being launched for you to debug the app: http://localhost:56150 started web socket client started web socket client Waiting for connection of endpoint: http://127.0.0.1:3978/api/messages waiting for 1 resources: http://127.0.0.1:3978/api/messages wait-on(37568) complete Telemetry: agents-playground-server/getConfig {"cleanProperties":{"internalConfig":"{\"locale\":\"en-US\",\"localTimezone\":\"America/Los_Angeles\",\"channelId\":\"msteams\"}"}} Telemetry: agents-playground-server/sendActivity {"cleanProperties":{"activityType":"installationUpdate","conversationId":"5305bb42-59c9-4a4c-a2b6-e7a8f4162ede","headers":"{\"x-ms-agents-playground\":\"true\"}"}} Telemetry: agents-playground-server/sendActivity {"cleanProperties":{"activityType":"conversationUpdate","conversationId":"5305bb42-59c9-4a4c-a2b6-e7a8f4162ede","headers":"{\"x-ms-agents-playground\":\"true\"}"}}
कमांड आपके डिफ़ॉल्ट ब्राउज़र को teamsapptester खोलता है और आपके एजेंट से जुड़ता है।
अब आप प्रतिध्वनि उत्तर देखने के लिए कोई भी संदेश भेज सकते हैं, या यह देखने के लिए संदेश /help भेज सकते हैं कि वह संदेश हैंडलर को _help कैसे रूट किया गया है।
यह क्विकस्टार्ट आपको एक कस्टम इंजन एजेंट बनाने के माध्यम से मार्गदर्शन करता है जो आपके द्वारा भेजे गए किसी भी संदेश का जवाब देता है।
पूर्वावश्यकताएँ
.NET 8.0 SDK या उसका नवीनतम संस्करण
- .NET SDK स्थापित करने के लिए, dotnet.microsoft.com पर जाएँ और अपने ऑपरेटिंग सिस्टम के लिए निर्देशों का पालन करें.
- संस्करण को सत्यापित करने के लिए, टर्मिनल विंडो में टाइप करें
dotnet --version.
अपनी पसंद का एक कोड संपादक। ये निर्देश Visual Studio कोड का उपयोग करें।
प्रोजेक्ट को प्रारंभ करें और SDK स्थापित करें
एक नया वेब प्रोजेक्ट बनाने और आवश्यक निर्भरताएँ स्थापित करने के लिए उपयोग करें dotnet ।
एक टर्मिनल खोलें और एक नया फ़ोल्डर बनाएं
mkdir echo cd echo.NET प्रोजेक्ट को प्रारंभ करें
dotnet new webएजेंट SDK स्थापित करें
dotnet add package Microsoft.Agents.Hosting.AspNetCoreइस आदेश का उपयोग करके Visual Studio कोड का उपयोग कर फ़ोल्डर खोलें:
code .
आवश्यक लाइब्रेरीज़ आयात करें
Program.csमें, मौजूदा सामग्री को बदलें और अपने एप्लिकेशन कोड में SDK पैकेज आयात करने के लिए निम्नलिखित using कथन जोड़ें:
// Program.cs
using Microsoft.Agents.Builder;
using Microsoft.Agents.Builder.App;
using Microsoft.Agents.Builder.State;
using Microsoft.Agents.Core.Models;
using Microsoft.Agents.Hosting.AspNetCore;
using Microsoft.Agents.Storage;
using Microsoft.AspNetCore.Builder;
EchoAgent को AgentApplication के रूप में लागू करें
परProgram.cs, कथनों के बादusing, विस्तारित AgentApplication बनाने के लिए निम्नलिखित कोड जोड़ेंEchoAgent, और घटनाओं का जवाब देने के लिए मार्गों को कार्यान्वित करें:
- बातचीत अपडेट
- कोई अन्य गतिविधि
public class EchoAgent : AgentApplication
{
public EchoAgent(AgentApplicationOptions options) : base(options)
{
OnConversationUpdate(ConversationUpdateEvents.MembersAdded, WelcomeMessageAsync);
OnActivity(ActivityTypes.Message, OnMessageAsync, rank: RouteRank.Last);
}
private async Task WelcomeMessageAsync(ITurnContext turnContext, ITurnState turnState, CancellationToken cancellationToken)
{
foreach (ChannelAccount member in turnContext.Activity.MembersAdded)
{
if (member.Id != turnContext.Activity.Recipient.Id)
{
await turnContext.SendActivityAsync(MessageFactory.Text("Hello and Welcome!"), cancellationToken);
}
}
}
private async Task OnMessageAsync(ITurnContext turnContext, ITurnState turnState, CancellationToken cancellationToken)
{
await turnContext.SendActivityAsync($"You said: {turnContext.Activity.Text}", cancellationToken: cancellationToken);
}
}
वेब सर्वर सेट करें और एजेंट एप्लिकेशन को पंजीकृत करें
में Program.cs, कथनों के बाद using , वेब होस्ट को कॉन्फ़िगर करने के लिए निम्न कोड जोड़ें, एजेंट को पंजीकृत करें, और समापन बिंदु को मैप करें /api/messages :
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddHttpClient();
builder.AddAgentApplicationOptions();
builder.AddAgent<EchoAgent>();
builder.Services.AddSingleton<IStorage, MemoryStorage>();
var app = builder.Build();
app.MapPost("/api/messages", async (HttpRequest request, HttpResponse response, IAgentHttpAdapter adapter, IAgent agent, CancellationToken cancellationToken) =>
{
await adapter.ProcessAsync(request, response, agent, cancellationToken);
});
app.Run();
वेब सर्वर को लोकलहोस्ट में सुनने के लिए सेट करें: 3978
में launchSettings.json, applicationURL को http://localhost:3978 पर अपडेट करें ताकि ऐप सही पोर्ट पर सुन रहे।
एजेंट को स्थानीय रूप से अनाम मोड में चलाएँ
अपने टर्मिनल से, यह कमांड चलाएं:
dotnet run
टर्मिनल को कुछ इस तरह वापस करना चाहिए:
info: Microsoft.Hosting.Lifetime[14]
Now listening on: http://localhost:3978
स्थानीय रूप से एजेंट का परीक्षण करें
किसी अन्य टर्मिनल से (एजेंट को चालू रखने के लिए) निम्न आदेश के साथ Microsoft 365 एजेंट प्लेग्राउंड स्थापित करें:
npm install -g @microsoft/teams-app-test-toolनोट
यह आदेश npm का उपयोग करता है क्योंकि Microsoft 365 एजेंट प्लेग्राउंड एक npm पैकेज के रूप में वितरित किया जाता है।
टर्मिनल को कुछ इस तरह वापस करना चाहिए:
added 1 package, and audited 130 packages in 1s 19 packages are looking for funding run `npm fund` for details found 0 vulnerabilitiesइस कमांड का उपयोग करके अपने एजेंट के साथ इंटरैक्ट करने के लिए परीक्षण टूल चलाएँ:
teamsapptesterटर्मिनल को कुछ इस तरह वापस करना चाहिए:
Telemetry: agents-playground-cli/serverStart {"cleanProperties":{"options":"{\"configFileOptions\":{\"path\":\"<REDACTED: user-file-path>\"},\"appConfig\":{},\"port\":56150,\"disableTelemetry\":false}"}} Telemetry: agents-playground-cli/cliStart {"cleanProperties":{"isExec":"false","argv":"<REDACTED: user-file-path>,<REDACTED: user-file-path>"}} Listening on 56150 Microsoft 365 Agents Playground is being launched for you to debug the app: http://localhost:56150 started web socket client started web socket client Waiting for connection of endpoint: http://127.0.0.1:3978/api/messages waiting for 1 resources: http://127.0.0.1:3978/api/messages wait-on(37568) complete Telemetry: agents-playground-server/getConfig {"cleanProperties":{"internalConfig":"{\"locale\":\"en-US\",\"localTimezone\":\"America/Los_Angeles\",\"channelId\":\"msteams\"}"}} Telemetry: agents-playground-server/sendActivity {"cleanProperties":{"activityType":"installationUpdate","conversationId":"5305bb42-59c9-4a4c-a2b6-e7a8f4162ede","headers":"{\"x-ms-agents-playground\":\"true\"}"}} Telemetry: agents-playground-server/sendActivity {"cleanProperties":{"activityType":"conversationUpdate","conversationId":"5305bb42-59c9-4a4c-a2b6-e7a8f4162ede","headers":"{\"x-ms-agents-playground\":\"true\"}"}}
कमांड आपके डिफ़ॉल्ट ब्राउज़र को teamsapptester खोलता है और आपके एजेंट से जुड़ता है।
टेक्स्ट इनपुट में, इको रिप्लाई देखने के लिए कोई भी संदेश दर्ज करें और भेजें।
अगले कदम
- GitHub पर एजेंट SDK नमूने देखें
- गतिविधियों और गतिविधियों के साथ काम करने के बारे में अधिक जानें
- AgentApplication ईवेंट की समीक्षा करें जिनका आप क्लाइंट से जवाब दे सकते हैं
- टर्नकॉन्टेक्स्ट ईवेंट की समीक्षा करें जिन्हें आप क्लाइंट को वापस भेज सकते हैं
- एजेंट SDK के साथ उपयोग करने के लिए Azure बॉट संसाधनों का प्रावधान करें
- OAuth का उपयोग करने के लिए अपने .NET एजेंट को कॉन्फ़िगर करें
यदि आप पहले से ही Microsoft 365 एजेंट टूलकिट का उपयोग कर रहे हैं, तो एजेंट खेल का मैदान डिफ़ॉल्ट रूप से उपलब्ध है। यदि आप टूलकिट के साथ आरंभ करना चाहते हैं तो आप निम्न मार्गदर्शिकाओं में से एक का उपयोग कर सकते हैं: