Skip to content

Conversation

@enisn
Copy link
Member

@enisn enisn commented Aug 14, 2025

Description

Introduce Volo.Abp.AI with Microsoft.Extensions.AI and SemanticKernel integration by using Workspaces

Checklist

  • I fully tested it as developer / designer and created unit / integration tests
  • I documented it (or no need to document or I will create a separate documentation issue)

hikalkan and others added 30 commits April 29, 2025 15:50
…t.Extensions.AI.Abstractions package, and introduce new abstractions for AI functionality. Include FodyWeavers configuration and schema files for weaving support.
Introduced new delegates for ChatClient with system message, temperature, and tools in the Volo.Abp.AI.Abstractions project. Added corresponding extension methods in Volo.Abp.AI. Updated the solution file to include the new project and configuration platforms.
Introduced the Volo.Abp.AI.Abstractions project with a new ChatClientWithSystemMessage delegate and related extension methods. Updated the solution and AbpAIModule to include and reference the new abstractions, supporting enhanced AI chat client extensibility.
Replaces separate ChatClient and Kernel configuration dictionaries with a unified WorkspaceConfigurationDictionary. Removes related collection classes and extensions, updates service registration logic, and renames IKernel to IKernelAccessor. This change simplifies configuration and improves extensibility for managing multiple AI workspaces.
Updated WorkspaceConfiguration to include a Name property and refactored service registration to use workspaceConfig.Name instead of nested ChatClient/Kernel names. Simplified ChatClientConfiguration and KernelConfiguration by removing the Name property and constructors, and added fluent configuration methods to WorkspaceConfiguration for improved usability.
Changed ChatClient and Kernel properties in WorkspaceConfiguration to be non-nullable and initialized by default. Removed null checks and redundant instantiation logic in configuration methods for improved code clarity and safety.
Added new classes: WorkspaceConfiguration, WorkspaceConfigurationDictionary, and TypedKernelAccessor. These classes facilitate workspace-specific configurations and provide a typed access mechanism for the kernel service. Removed the previous implementation of WorkspaceConfiguration and its dictionary to streamline the configuration process.
@enisn enisn requested review from EngincanV and hikalkan September 12, 2025 13:10
@enisn enisn added this to the 10.0-preview milestone Sep 12, 2025
@enisn enisn marked this pull request as ready for review September 12, 2025 13:11
@@ -0,0 +1,311 @@
# Artificial Intelligence
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Completely review this document, maybe rewrite some parts


namespace Volo.Abp.AI;

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface | AttributeTargets.Struct)]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only class is enough.

Removed ChatClientWithSystemMessage and its extension, consolidating system message logic into user-extensible patterns. Renamed ChatClientNameAttribute to WorkspaceNameAttribute and restricted its usage to classes. Added ConfigureDefault to WorkspaceConfigurationDictionary for easier default workspace setup. Updated documentation to reflect these changes and clarify configuration patterns.
@hikalkan hikalkan merged commit f712c52 into dev Sep 23, 2025
3 checks passed
@hikalkan hikalkan deleted the ai branch September 23, 2025 12:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants