Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Anlam Çekirdeği Keşfi
Önemli
Bu özellik deneysel aşamadadır. Bu aşamadaki özellikler geliştirme aşamasındadır ve önizleme veya sürüm adayı aşamasına geçmeden önce değiştirilebilir.
Bu tartışmayla ilgili ayrıntılı API belgelerine şu adreste ulaşabilirsiniz:
.NET için CopilotStudioAgent yakında kullanıma sunulacaktır.
Güncelleştirilmiş API belgeleri yakında kullanıma sunulacaktır.
Özellik şu anda Java'da kullanılamıyor.
CopilotStudioAgentnedir?
A CopilotStudioAgent , Programlı API'leri kullanarak Microsoft Copilot Studio aracılarıyla sorunsuz etkileşime olanak tanıyan Anlam Çekirdeği çerçevesi içinde bir tümleştirme noktasıdır. Bu aracı kullanarak şunları yapmanızı sağlar:
- Konuşmaları otomatikleştirin ve Python kodundan mevcut Copilot Studio aracılarını çağırun.
- Konular kullanarak zengin konuşma geçmişini sürdürün ve iletiler arasında bağlamı koruyun.
- Microsoft Copilot Studio'da kullanıma sunulan gelişmiş bilgi alma, web araması ve veri tümleştirme özelliklerinden yararlanın.
Uyarı
Bilgi kaynaklarının/araçlarının aracı aracılığıyla erişilebilmesi için önce Microsoft Copilot Studio'da yapılandırılması gerekir.
Geliştirme Ortamınızı Hazırlama
ile CopilotStudioAgentgeliştirmek için ortamınızın ve kimlik doğrulamanızın doğru şekilde ayarlanmış olması gerekir.
.NET için CopilotStudioAgent yakında kullanıma sunulacaktır.
Önkoşullar
- Python 3.10 veya üzeri
- Copilot Studio bağımlılıkları ile Anlam Çekirdeği:
pip install semantic-kernel[copilotstudio]
Microsoft Copilot Studio aracısı:
- Microsoft Copilot Studio'da bir aracı oluşturun.
- Aracınızı yayınlayın ve
Settings → Advanced → Metadataaltında elde edin:-
Schema Name(olarakagent_identifierkullanılır) Environment ID
-
Azure Entra Id Uygulama Kaydı ("Yerel uygulama", etkileşimli oturum açma için), temsilci izniyle
CopilotStudio.Copilots.Invoke.
Ortam Değişkenleri
Ortamınızda veya .env dosyanızda aşağıdaki değişkenleri ayarlayın:
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
Tavsiye
İzinlerle ilgili yardım için bkz. Power Platform API Kimlik Doğrulaması .
Özellik şu anda Java'da kullanılamıyor.
İstemci Oluşturma ve Yapılandırma CopilotStudioAgent
Çoğu yapılandırma için ortam değişkenlerini kullanabilirsiniz, ancak aracı istemcisini gerektiği gibi açıkça oluşturup özelleştirebilirsiniz.
.NET için CopilotStudioAgent yakında kullanıma sunulacaktır.
Temel Kullanım — Ortam Değişkeni ile Yönlendirilen
from semantic_kernel.agents import CopilotStudioAgent
agent = CopilotStudioAgent(
name="PhysicsAgent",
instructions="You help answer questions about physics.",
)
Ortam değişkenleriniz ayarlandıysa açık istemci kurulumu gerekmez.
Belirgin İstemci Oluşturma
Yapılandırmayı geçersiz kıl veya özel kimlik kullan:
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.",
)
Özellik şu anda Java'da kullanılamıyor.
Bir CopilotStudioAgent ile etkileşim kurma
Çekirdek iş akışı diğer AnlamSal Çekirdek aracılarına benzer: kullanıcı girişleri sağlayın, yanıtları alın, iş parçacıkları aracılığıyla bağlamı koruyun.
.NET için CopilotStudioAgent yakında kullanıma sunulacaktır.
Temel Örnek
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())
İş Parçacıklarıyla Bağlamı Sürdürme
Konuşmanın sürekliliğini sağlamak için:
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())
Argümanları ve Komut İstem Şablonlarını Kullanma
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())
Akış Üzerinden Yineleme (Desteklenmez)
Uyarı
Akış yanıtları şu anda CopilotStudioAgent tarafından desteklenmemektedir.
Bir CopilotStudioAgent ile Eklentileri Kullanma
Semantik Çekirdek, aracıların ve eklentilerin bileşimine izin verir. Copilot Studio'ya yönelik birincil genişletilebilirlik Studio üzerinden gelse de, diğer aracılarda olduğu gibi eklentiler oluşturabilirsiniz.
.NET için CopilotStudioAgent yakında kullanıma sunulacaktır.
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()],
)
Özellik şu anda Java'da kullanılamıyor.
Gelişmiş Özellikler
Studio ortamında hedef aracının nasıl yapılandırıldığına bağlı olarak, bir CopilotStudioAgent gelişmiş Copilot Studio yeteneklerinden yararlanabilir.
- Bilgi Alma — Studio'da önceden yapılandırılmış bilgi kaynaklarına göre yanıt verir.
- Web Araması — Studio aracınızda web araması etkinleştirildiyse sorgular Bing Arama'yı kullanır.
- Power Platform ve Studio eklentileri aracılığıyla Özel Kimlik Doğrulaması veya API'ler; doğrudan OpenAPI bağlaması şu anda SK tümleştirmesinde birinci sınıf bir destek değildir.
.NET için CopilotStudioAgent yakında kullanıma sunulacaktır.
Bilgi Erişimi
Belirli bir Python kodu gerekmez; bilgi kaynaklarının Copilot Studio'da yapılandırılması gerekir. Kullanıcı iletileri bu kaynaklardan bilgi gerektirdiğinde, aracı bilgileri uygun şekilde döndürür.
Web Araması
Bing Arama'ya izin vermek için Studio'da Copilot'ınızı yapılandırın. Ardından yukarıdaki gibi kullanın. Bing Arama'yı yapılandırma hakkında daha fazla bilgi için aşağıdaki kılavuza bakın.
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()
Özellik şu anda Java'da kullanılamıyor.
Nasıl Yapılır
CopilotStudioAgent kullanımıyla ilgili pratik örnekler için GitHub'daki kod örneklerimize bakın:
.NET için CopilotStudioAgent yakında kullanıma sunulacaktır.
Özellik şu anda Java'da kullanılamıyor.
Notlar:
- Daha fazla bilgi veya sorun giderme için Microsoft Copilot Studio belgelerine bakın.
- Yalnızca Studio aracınızda ayrı olarak etkinleştirilen ve yayımlanan özellikler ve araçlar Anlam Çekirdeği arabirimi aracılığıyla kullanılabilir.
- Gelecekteki sürümler için akış, eklenti dağıtımı ve programatik araç ekleme planlanıyor.