SciSharp / BotSharp

The AI Agent Framework in .NET
https://botsharp.readthedocs.io
Apache License 2.0
2.01k stars 419 forks source link

Integrate with Semantic Kernel #183

Open xbotter opened 7 months ago

xbotter commented 7 months ago

Semantic Kernel as an integrated SDK provides a large number of basic components, which can serve as the basic access infrastructure for BotSharp.

For example, using SK ITextCompletion to adapt to BotSharp ITextCompletion, we can easily apply any LLM integrated into SK.

Using SK MemoryStore to adapt to BotSharp IKnowledgeService, we can also easily access the corresponding service.

In addition, SK's Plugin will provide a large number of available functions. If it is possible to implement SK Plugin to adapt to BotSharp Agent, it will bring more abundant extension solutions to BotSharp.

Oceania2018 commented 7 months ago

Is it possible to integrate with SK Planner. Let’s say, BotSharp’s Router can use 3rd Planner for reasoning if user wants to. We know currently BotSharp has a feedback based planning process. I’m thinking of it can also have capability to switch to other approach of planning. In the other words we need to design a new architecture to abstract the Planning interface. Router can use different IPlanning approach.

xbotter commented 7 months ago

Is it possible to integrate with SK Planner. Let’s say, BotSharp’s Router can use 3rd Planner for reasoning if user wants to. We know currently BotSharp has a feedback based planning process. I’m thinking of it can also have capability to switch to other approach of planning. In the other words we need to design a new architecture to abstract the Planning interface. Router can use different IPlanning approach.

BotSharp's Router is similar to SK Planner, providing the ability of functional planning. There are multiple types of Planner in SK, including ActionPlanner, SequentialPlanner, and StepwisePlanner. Different Planners have slightly different usage scenarios and are not suitable for BotSharp's Router. Providing IPlanning for self-implementation is a good choice for planning process. Most of the planning process based on LLM is the content of prompt engineering. Perhaps IPlanning can be used to optimize planning through different fine-tuned models?