Aracıları Anlam Çekirdeği Eklentileri ile Yapılandırma (Deneysel)
Uyarı
Semantik Çekirdek Aracısı Çerçevesi deneyseldir, hala geliştirme aşamasındadır ve değiştirilebilir.
Anlam Çekirdeğindeki İşlevler ve Eklentiler
İşlev çağrısı, geliştiricilerin özel işlevler eklemesine ve yapay zeka uygulamalarının özelliklerini genişletmesine olanak tanıyan güçlü bir araçtır. Semantik Çekirdek Eklentisi mimarisi, İşlev Çağırmayı desteklemek için esnek bir çerçeve sunar. Bir Aracı için Eklentiler ve İşlev Çağrısı tümleştirmesi bu temel Anlam Çekirdeği özelliği üzerine kuruludur.
Yapılandırıldıktan sonra aracı, Aracı Çerçevesi dışındaki tüm kullanımlarda olduğu gibi kullanılabilir bir işlevin ne zaman ve nasıl çağrılacağını seçer.
Aracılar şu anda Java'da kullanılamıyor.
Aracıya Eklenti Ekleme
Bir Aracı için kullanılabilen tüm eklentiler ilgili Çekirdek örneği içinde yönetilir. Bu kurulum, her Aracı'nın kendi rolüne göre farklı işlevlere erişmesini sağlar.
Eklentiler, Aracı oluşturulmadan önce veya oluşturulduktan sonra Çekirdek'e eklenebilir. Eklentileri başlatma işlemi, herhangi bir Anlam Çekirdeği uygulaması için kullanılan desenleri izler ve yapay zeka özelliklerini yönetirken tutarlılık ve kullanım kolaylığı sağlar.
Not: Sohbet Tamamlama Aracısı için işlev çağırma modu açıkça etkinleştirilmelidir. Açık AI Yardımcısı aracısı her zaman otomatik işlev çağrılarını temel alır.
// Factory method to product an agent with a specific role.
// Could be incorporated into DI initialization.
ChatCompletionAgent CreateSpecificAgent(Kernel kernel, string credentials)
{
// Clone kernel instance to allow for agent specific plug-in definition
Kernel agentKernel = kernel.Clone();
// Initialize plug-in from type
agentKernel.CreatePluginFromType<StatelessPlugin>();
// Initialize plug-in from object
agentKernel.CreatePluginFromObject(new StatefulPlugin(credentials));
// Create the agent
return
new ChatCompletionAgent()
{
Name = "<agent name>",
Instructions = "<agent instructions>",
Kernel = agentKernel,
Arguments = new KernelArguments(
new OpenAIPromptExecutionSettings()
{
FunctionChoiceBehavior = FunctionChoiceBehavior.Auto()
})
};
}
# Create the instance of the Kernel
kernel = Kernel()
# Define the service ID
service_id = "<service ID>"
# Add the chat completion service to the Kernel
kernel.add_service(AzureChatCompletion(service_id=service_id))
# Get the AI Service settings for the specified service_id
settings = kernel.get_prompt_execution_settings_from_service_id(service_id=service_id)
# Configure the function choice behavior to auto invoke kernel functions
settings.function_choice_behavior = FunctionChoiceBehavior.Auto()
# Add the Plugin to the Kernel
kernel.add_plugin(SamplePlugin(), plugin_name="<plugin name>")
# Create the agent
agent = ChatCompletionAgent(
service_id=service_id,
kernel=kernel,
name=<agent name>,
instructions=<agent instructions>,
execution_settings=settings,
)
Aracılar şu anda Java'da kullanılamıyor.
Aracıya İşlev Ekleme
Eklenti, İşlev Çağrısını yapılandırmaya yönelik en yaygın yaklaşımdır. Ancak tek tek işlevler, istem işlevleri de dahil olmak üzere bağımsız olarak sağlanabilir.
// Factory method to product an agent with a specific role.
// Could be incorporated into DI initialization.
ChatCompletionAgent CreateSpecificAgent(Kernel kernel)
{
// Clone kernel instance to allow for agent specific plug-in definition
Kernel agentKernel = kernel.Clone();
// Initialize plug-in from a static function
agentKernel.CreateFunctionFromMethod(StatelessPlugin.AStaticMethod);
// Initialize plug-in from a prompt
agentKernel.CreateFunctionFromPrompt("<your prompt instructiosn>");
// Create the agent
return
new ChatCompletionAgent()
{
Name = "<agent name>",
Instructions = "<agent instructions>",
Kernel = agentKernel,
Arguments = new KernelArguments(
new OpenAIPromptExecutionSettings()
{
FunctionChoiceBehavior = FunctionChoiceBehavior.Auto()
})
};
}
# Create the instance of the Kernel
kernel = Kernel()
# Define the service ID
service_id = "<service ID>"
# Add the chat completion service to the Kernel
kernel.add_service(AzureChatCompletion(service_id=service_id))
# Get the AI Service settings for the specified service_id
settings = kernel.get_prompt_execution_settings_from_service_id(service_id=service_id)
# Configure the function choice behavior to auto invoke kernel functions
settings.function_choice_behavior = FunctionChoiceBehavior.Auto()
# Add the Plugin to the Kernel
kernel.add_plugin(SamplePlugin(), plugin_name="<plugin name>")
# Create the agent
agent = ChatCompletionAgent(
service_id=service_id,
kernel=kernel,
name=<agent name>,
instructions=<agent instructions>,
execution_settings=settings,
)
Aracılar şu anda Java'da kullanılamıyor.
Aracı İşlev Çağrısı için Sınırlamalar
Bir Sohbet Tamamlama Aracısı doğrudan çağrılırken, tüm İşlev Seçimi Davranışları desteklenir. Ancak, Açık AI Yardımcısı veya Aracı Sohbeti kullanırken şu anda yalnızca Otomatik İşlev Çağrısı kullanılabilir.
Nasıl Yapılır
İşlev çağrısını kullanmaya yönelik uçtan uca bir örnek için bkz: