Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Szemantikus Kernel
Fontos
Ez a funkció a kísérleti fázisban van. Az ebben a szakaszban található funkciók fejlesztés alatt állnak, és változhatnak, mielőtt továbblépnek az előzetes verzióra vagy a kiadásra jelölt fázisra.
A jelen vitafórumhoz kapcsolódó részletes API-dokumentáció a következő címen érhető el:
A .NET-hez készült CopilotStudioAgent hamarosan megjelenik.
Hamarosan frissülnek az API-dokumentumok.
A funkció jelenleg nem érhető el a Javában.
Mi az a CopilotStudioAgent?
Az A CopilotStudioAgent egy integrációs pont a Szemantikus Kernel keretrendszeren belül, amely lehetővé teszi a Microsoft Copilot Studio-ügynökökkel való zökkenőmentes interakciót programozott API-k használatával. Ez az ügynök a következőt teszi lehetővé:
- Beszélgetések automatizálása és meglévő Copilot Studio-ügynökök meghívása Python-kódból.
- A beszélgetések részletes előzményeit szálak használatával tarthatja karban, így megőrizve a kontextust az üzenetek között.
- A Microsoft Copilot Studióban elérhető fejlett tudáslekérési, webes keresési és adatintegrációs képességek kihasználása.
Megjegyzés:
A tudásforrásokat/eszközöket konfigurálni kell a Microsoft Copilot Studióban, mielőtt az ügynökön keresztül hozzáférhetnének.
A fejlesztési környezet előkészítése
A fejlesztéshez megfelelően be kell állítania a CopilotStudioAgent környezetet és a hitelesítést.
A .NET-hez készült CopilotStudioAgent hamarosan megjelenik.
Előfeltételek
- Python 3.10 vagy újabb
- Szemantikus kernel a Copilot Studio függőségeivel:
pip install semantic-kernel[copilotstudio]
Microsoft Copilot Studio-ügynök :
- Hozzon létre egy ügynököt a Microsoft Copilot Studióban.
- Tegye közzé az ügynökét, majd szerezze be a következőt:
Settings → Advanced → Metadata-
Schema Name(használvaagent_identifier) Environment ID
-
Azure Entra ID-alkalmazásregisztráció ("natív alkalmazás", interaktív bejelentkezéshez),
CopilotStudio.Copilots.Invokedelegált engedéllyel.
Környezeti változók
Állítsa be a következő változókat a környezetben vagy .env a fájlban:
COPILOT_STUDIO_AGENT_APP_CLIENT_ID=<your-app-client-id>
COPILOT_STUDIO_AGENT_TENANT_ID=<your-tenant-id>
COPILOT_STUDIO_AGENT_ENVIRONMENT_ID=<your-env-id>
COPILOT_STUDIO_AGENT_AGENT_IDENTIFIER=<your-agent-id>
COPILOT_STUDIO_AGENT_AUTH_MODE=interactive
Jótanács
Az engedélyekkel kapcsolatos segítségért tekintse meg a Power Platform API-hitelesítést .
A funkció jelenleg nem érhető el a Javában.
Ügyfél létrehozása és konfigurálása CopilotStudioAgent
A legtöbb konfiguráció környezeti változóira támaszkodhat, de szükség szerint explicit módon létrehozhatja és testre szabhatja az ügynökügyfélt.
A .NET-hez készült CopilotStudioAgent hamarosan megjelenik.
Alapszintű használat – Környezeti változók által vezérelt
from semantic_kernel.agents import CopilotStudioAgent
agent = CopilotStudioAgent(
name="PhysicsAgent",
instructions="You help answer questions about physics.",
)
Nincs szükség explicit ügyfélbeállításra, ha a környezeti változók be vannak állítva.
Kifejezett ügyfélkialakítás
Konfiguráció felülbírálása vagy egyéni identitás használata:
from semantic_kernel.agents import CopilotStudioAgent
client = CopilotStudioAgent.create_client(
auth_mode="interactive", # or use CopilotStudioAgentAuthMode.INTERACTIVE
agent_identifier="<schema-name>",
app_client_id="<client-id>",
tenant_id="<tenant-id>",
environment_id="<env-id>",
)
agent = CopilotStudioAgent(
client=client,
name="CustomAgent",
instructions="You help answer custom questions.",
)
A funkció jelenleg nem érhető el a Javában.
Interakció egy CopilotStudioAgent
Az alapvető munkafolyamat hasonló a többi Szemantikus Kernel-ügynökhöz: felhasználói bemenet(ek) biztosítása, válaszok fogadása, környezet fenntartása szálakon keresztül.
A .NET-hez készült CopilotStudioAgent hamarosan megjelenik.
Egyszerű példa
import asyncio
from semantic_kernel.agents import CopilotStudioAgent
async def main():
agent = CopilotStudioAgent(
name="PhysicsAgent",
instructions="You help answer questions about physics.",
)
USER_INPUTS = [
"Why is the sky blue?",
"What is the speed of light?",
]
for user_input in USER_INPUTS:
print(f"# User: {user_input}")
response = await agent.get_response(messages=user_input)
print(f"# {response.name}: {response}")
asyncio.run(main())
Kontextus fenntartása szálakkal
A beszélgetés folytonosságának fenntartása:
import asyncio
from semantic_kernel.agents import CopilotStudioAgent, CopilotStudioAgentThread
async def main():
agent = CopilotStudioAgent(
name="PhysicsAgent",
instructions="You help answer questions about physics.",
)
USER_INPUTS = [
"Hello! Who are you? My name is John Doe.",
"What is the speed of light?",
"What have we been talking about?",
"What is my name?",
]
thread: CopilotStudioAgentThread | None = None
for user_input in USER_INPUTS:
print(f"# User: {user_input}")
response = await agent.get_response(messages=user_input, thread=thread)
print(f"# {response.name}: {response}")
thread = response.thread
if thread:
await thread.delete()
asyncio.run(main())
Argumentumok és parancssori sablonok használata
import asyncio
from semantic_kernel.agents import CopilotStudioAgent, CopilotStudioAgentThread
from semantic_kernel.contents import ChatMessageContent
from semantic_kernel.functions import KernelArguments
from semantic_kernel.prompt_template import PromptTemplateConfig
async def main():
agent = CopilotStudioAgent(
name="JokeAgent",
instructions="You are a joker. Tell kid-friendly jokes.",
prompt_template_config=PromptTemplateConfig(template="Craft jokes about {{$topic}}"),
)
USER_INPUTS = [
ChatMessageContent(role="user", content="Tell me a joke to make me laugh.")
]
thread: CopilotStudioAgentThread | None = None
for user_input in USER_INPUTS:
print(f"# User: {user_input}")
response = await agent.get_response(
messages=user_input,
thread=thread,
arguments=KernelArguments(topic="pirate"),
)
print(f"# {response.name}: {response}")
thread = response.thread
if thread:
await thread.delete()
asyncio.run(main())
Iterálás streamelésen keresztül (nem támogatott)
Megjegyzés:
A streamelési válaszokat jelenleg nem támogatja a CopilotStudioAgentrendszer.
A beépülő modulok használata CopilotStudioAgent
A Szemantic Kernel lehetővé teszi az ügynökök és beépülő modulok összetételét. Bár a Copilot Studio elsődleges bővíthetősége magában a Studióban érhető el, ugyanúgy írhat beépülő modulokat, mint más ügynökök esetében.
A .NET-hez készült CopilotStudioAgent hamarosan megjelenik.
from semantic_kernel.functions import kernel_function
from semantic_kernel.agents import CopilotStudioAgent
class SamplePlugin:
@kernel_function(description="Provides sample data.")
def get_data(self) -> str:
return "Sample data from custom plugin"
agent = CopilotStudioAgent(
name="PluggedInAgent",
instructions="Demonstrate plugins.",
plugins=[SamplePlugin()],
)
A funkció jelenleg nem érhető el a Javában.
Speciális funkciók
CopilotStudioAgent kihasználhatja a Copilot Studio fejlett képességeit, attól függően, hogyan van a célügynök konfigurálva a Studio-környezetben.
- Tudáslekérés – a Studióban előre konfigurált tudásbázisok alapján válaszol.
- Webes keresés – ha a Studio-ügynökben engedélyezve van a webes keresés, a lekérdezések a Bing Search szolgáltatást fogják használni.
- Egyéni hitelesítés vagy API-k – Power Platform és Studio beépülő modulokon keresztül; A közvetlen OpenAPI-kötés jelenleg nem első osztályú az SK-integrációban.
A .NET-hez készült CopilotStudioAgent hamarosan megjelenik.
Tudás visszakeresése
Nincs szükség konkrét Python-kódra; a tudásforrásokat a Copilot Studióban kell konfigurálni. Ha a felhasználói üzenetekhez tényekre van szükség ezekből a forrásokból, az ügynök a megfelelő módon adja vissza az adatokat.
Web Search
Konfigurálja a Copilotot a Studióban a Bing Search engedélyezéséhez. Ezután használja a fenti módon. A Bing Search konfigurálásával kapcsolatos további információkért tekintse meg az alábbi útmutatót.
from semantic_kernel.agents import CopilotStudioAgent, CopilotStudioAgentThread
agent = CopilotStudioAgent(
name="WebSearchAgent",
instructions="Help answer the user's questions by searching the web.",
)
USER_INPUTS = ["Which team won the 2025 NCAA Basketball championship?"]
thread: CopilotStudioAgentThread | None = None
for user_input in USER_INPUTS:
print(f"# User: {user_input}")
# Note: Only non-streamed responses are supported
response = await agent.get_response(messages=user_input, thread=thread)
print(f"# {response.name}: {response}")
thread = response.thread
if thread:
await thread.delete()
A funkció jelenleg nem érhető el a Javában.
Útmutató
Gyakorlati példákért a CopilotStudioAgent használatára, tekintse meg a GitHubon található kódmintáinkat:
A .NET-hez készült CopilotStudioAgent hamarosan megjelenik.
A funkció jelenleg nem érhető el a Javában.
Megjegyzések:
- További információkért vagy hibaelhárításért tekintse meg a Microsoft Copilot Studio dokumentációját.
- Csak a Studio-ügynökben külön engedélyezett és közzétett funkciók és eszközök lesznek elérhetők a Szemantic Kernel felületén keresztül.
- A streamelést, a beépülő modul üzembe helyezését és a programozott eszközök hozzáadását a jövőbeli kiadásokra terveztük.