实例介绍
【实例简介】
BotSharp是一个开放源代码的AI代理应用程序框架,专为.NET开发者设计,通过BotSharp AI BOT平台构建器,使开发者能够构建以对话为平台(CaaP)的应用。它提供了丰富的机器学习算法,支持自然语言理解、计算机视觉和音频处理技术,旨在推动智能机器人助理在信息系统中的开发和应用。
BotSharp基于.Net Core编写,支持全平台运行,采用插件和流水线执行设计,实现了插件的完全解耦。C#作为一种企业级编程语言,在信息管理相关系统中广泛用于编写业务逻辑,对企业开发者更为友好。BotSharp直接采用C#编写机器学习算法,便于利用C#语言的特性,并在系统范围内重构代码时更加容易。
BotSharp严格遵循组件原则,解耦了平台构建器中所需的每个部分。因此,您可以选择不同的UI/UX,或选择不同的LLM提供商。所有这些都基于统一接口进行模块化。BotSharp提供了一个高级代理抽象层,有效管理企业中复杂的应用场景,允许企业开发者高效地将AI集成到业务系统中。
主要特性:
【实例截图】
【核心代码】
文件清单
└── BotSharp-1d69fe1ebe39dc3352b27ca3228ac79b5b9b513c
├── arts
│ ├── BotSharp.gif
│ ├── Icon.png
│ └── Logo.png
├── BotSharp.sln
├── CONTRIBUTING.md
├── Directory.Build.props
├── dockerfiles
│ ├── ARTICULATE.Dockerfile
│ ├── DIALOGFLOW.Dockerfile
│ ├── docker-compose-articulateui-0.1.0.yml
│ ├── docker-compose-articulateui.yml
│ ├── docker-compose-core.yml
│ ├── docker-compose-rasaui.yml
│ └── RASA.Dockerfile
├── docs
│ ├── agent
│ │ ├── assets
│ │ │ ├── agent-creation.png
│ │ │ ├── agent-update.png
│ │ │ ├── conversation-creation.png
│ │ │ ├── conversation-send-message.png
│ │ │ └── routing-calling-stack.png
│ │ ├── hook.md
│ │ ├── intro.md
│ │ └── router.md
│ ├── architecture
│ │ ├── assets
│ │ │ ├── account-creation.png
│ │ │ ├── account-token.png
│ │ │ ├── architecture.drawio
│ │ │ ├── botsharp_diagram.png
│ │ │ ├── llm_diagram.png
│ │ │ ├── overview.drawio
│ │ │ ├── routing.drawio
│ │ │ ├── routing-reasoner.png
│ │ │ ├── routing-reasoning.drawio
│ │ │ ├── routing-redirection.drawio
│ │ │ └── routing-redirection.png
│ │ ├── authentication.md
│ │ ├── data-persistence.md
│ │ ├── hooks.md
│ │ ├── logging.md
│ │ ├── plugin.md
│ │ └── routing.md
│ ├── channels
│ │ ├── components.md
│ │ ├── intro.md
│ │ ├── messenger.rst
│ │ └── wechat.md
│ ├── conf.py
│ ├── conversation
│ │ ├── hook.md
│ │ ├── intro.md
│ │ └── state.md
│ ├── index.rst
│ ├── knowledge-base
│ │ ├── assets
│ │ │ ├── feed_knowledge_answer.png
│ │ │ └── feed_knowledge_pdf.png
│ │ ├── build-qa-bot.md
│ │ ├── similarity-search.md
│ │ ├── text-embedding.md
│ │ └── vector-database.md
│ ├── llm
│ │ ├── few-shot-learning.md
│ │ ├── function.md
│ │ ├── prompt.md
│ │ ├── provider.md
│ │ └── template.md
│ ├── make.bat
│ ├── Makefile
│ ├── Name-Entity Recognition(NER) Comparation.pdf
│ ├── quick-start
│ │ ├── assets
│ │ │ ├── APIHome.png
│ │ │ ├── APIPostman.png
│ │ │ ├── BackendServiceHomeScreenshot.png
│ │ │ ├── BotSharp-UI-Router.png
│ │ │ ├── ChatbotUIHome.png
│ │ │ ├── overview.png
│ │ │ ├── PizzaBotSample1.png
│ │ │ ├── PizzaBotSample2.png
│ │ │ ├── PizzaBotSample3.png
│ │ │ └── PizzaBotSample4.png
│ │ ├── get-started.md
│ │ ├── installation.md
│ │ └── overview.md
│ ├── README.md
│ ├── requirements.txt
│ └── static
│ ├── logos
│ │ ├── BotSharpEngine.jpg
│ │ └── Logo.png
│ └── screenshots
│ ├── agent-builder-agents.png
│ ├── agent-builder-conversations.png
│ ├── BotSharp_arch.png
│ └── web-live-chat.png
├── LICENSE
├── PizzaBot.sln
├── README.md
├── src
│ ├── Infrastructure
│ │ ├── BotSharp.Abstraction
│ │ │ ├── Agents
│ │ │ │ ├── AgentHookBase.cs
│ │ │ │ ├── Enums
│ │ │ │ │ ├── AgentField.cs
│ │ │ │ │ ├── AgentRole.cs
│ │ │ │ │ └── AgentType.cs
│ │ │ │ ├── IAgentHook.cs
│ │ │ │ ├── IAgentService.cs
│ │ │ │ ├── Models
│ │ │ │ │ ├── Agent.cs
│ │ │ │ │ ├── AgentLlmConfig.cs
│ │ │ │ │ ├── AgentResponse.cs
│ │ │ │ │ ├── AgentTemplate.cs
│ │ │ │ │ └── UserAgent.cs
│ │ │ │ └── Settings
│ │ │ │ └── AgentSettings.cs
│ │ │ ├── BotSharp.Abstraction.csproj
│ │ │ ├── Conversations
│ │ │ │ ├── ConversationHookBase.cs
│ │ │ │ ├── Enums
│ │ │ │ │ ├── ConversationChannel.cs
│ │ │ │ │ └── ConversationStatus.cs
│ │ │ │ ├── IConversationAttachmentService.cs
│ │ │ │ ├── IConversationHook.cs
│ │ │ │ ├── IConversationService.cs
│ │ │ │ ├── IConversationStateService.cs
│ │ │ │ ├── IConversationStorage.cs
│ │ │ │ ├── ITokenStatistics.cs
│ │ │ │ ├── Models
│ │ │ │ │ ├── Attachment.cs
│ │ │ │ │ ├── Conversation.cs
│ │ │ │ │ ├── ConversationState.cs
│ │ │ │ │ ├── ConversationStateLogModel.cs
│ │ │ │ │ ├── IncomingMessageModel.cs
│ │ │ │ │ ├── LlmCompletionLog.cs
│ │ │ │ │ ├── RoleDialogModel.cs
│ │ │ │ │ ├── StateKeyValue.cs
│ │ │ │ │ ├── TokenStatsModel.cs
│ │ │ │ │ └── TruncateMessageRequest.cs
│ │ │ │ └── Settings
│ │ │ │ └── ConversationSetting.cs
│ │ │ ├── Evaluations
│ │ │ │ ├── IEvaluatingService.cs
│ │ │ │ ├── IExecutionLogger.cs
│ │ │ │ ├── Models
│ │ │ │ │ ├── EvaluationRequest.cs
│ │ │ │ │ └── EvaluationResult.cs
│ │ │ │ └── Settings
│ │ │ │ └── EvaluatorSetting.cs
│ │ │ ├── Functions
│ │ │ │ ├── IFunctionCallback.cs
│ │ │ │ └── Models
│ │ │ │ ├── FunctionCallFromLlm.cs
│ │ │ │ ├── FunctionCallingResponse.cs
│ │ │ │ ├── FunctionDef.cs
│ │ │ │ ├── FunctionParametersDef.cs
│ │ │ │ └── ParameterPropertyDef.cs
│ │ │ ├── Instructs
│ │ │ │ ├── IInstructHook.cs
│ │ │ │ ├── IInstructService.cs
│ │ │ │ ├── InstructHookBase.cs
│ │ │ │ └── Models
│ │ │ │ └── InstructResult.cs
│ │ │ ├── Knowledges
│ │ │ │ ├── IKnowledgeService.cs
│ │ │ │ ├── IPaddleOcrConverter.cs
│ │ │ │ ├── IPdf2TextConverter.cs
│ │ │ │ ├── ITextChopper.cs
│ │ │ │ ├── Models
│ │ │ │ │ ├── ChunkOption.cs
│ │ │ │ │ ├── KnowledgeCreationModel.cs
│ │ │ │ │ ├── KnowledgeFeedModel.cs
│ │ │ │ │ ├── KnowledgeRetrievalModel.cs
│ │ │ │ │ └── RetrievedResult.cs
│ │ │ │ └── Settings
│ │ │ │ └── KnowledgeBaseSettings.cs
│ │ │ ├── Loggers
│ │ │ │ ├── IContentGeneratingHook.cs
│ │ │ │ └── Models
│ │ │ │ └── StreamingLogModel.cs
│ │ │ ├── Messaging
│ │ │ │ ├── IRichContentService.cs
│ │ │ │ ├── IRichMessage.cs
│ │ │ │ ├── ITemplateMessage.cs
│ │ │ │ ├── JsonConverters
│ │ │ │ │ ├── RichContentJsonConverter .cs
│ │ │ │ │ └── TemplateMessageJsonConverter.cs
│ │ │ │ └── Models
│ │ │ │ └── RichContent
│ │ │ │ ├── ElementAction.cs
│ │ │ │ ├── ElementButton.cs
│ │ │ │ ├── QuickReplyElement.cs
│ │ │ │ ├── QuickReplyMessage.cs
│ │ │ │ ├── Recipient.cs
│ │ │ │ ├── RichContent.cs
│ │ │ │ ├── SenderActionMessage.cs
│ │ │ │ ├── Template
│ │ │ │ │ ├── ButtonTemplateMessage.cs
│ │ │ │ │ ├── CouponTemplateMessage.cs
│ │ │ │ │ ├── GenericTemplateMessage.cs
│ │ │ │ │ ├── MultiSelectTemplateMessage.cs
│ │ │ │ │ └── ProductTemplateMessage.cs
│ │ │ │ └── TextMessage.cs
│ │ │ ├── MLTasks
│ │ │ │ ├── IChatCompletion.cs
│ │ │ │ ├── ILlmProviderService.cs
│ │ │ │ ├── ITextCompletion.cs
│ │ │ │ ├── ITextEmbedding.cs
│ │ │ │ └── Settings
│ │ │ │ ├── LlmModelSetting.cs
│ │ │ │ └── LlmProviderSetting.cs
│ │ │ ├── Models
│ │ │ │ ├── AiModel.cs
│ │ │ │ ├── ITrackableMessage.cs
│ │ │ │ ├── MessageConfig.cs
│ │ │ │ └── NameDesc.cs
│ │ │ ├── Plugins
│ │ │ │ ├── IBotSharpAppPlugin.cs
│ │ │ │ ├── IBotSharpPlugin.cs
│ │ │ │ ├── Models
│ │ │ │ │ ├── PluginConfig.cs
│ │ │ │ │ ├── PluginDef.cs
│ │ │ │ │ ├── PluginFilter.cs
│ │ │ │ │ └── PluginMenuDef.cs
│ │ │ │ ├── PluginDependencyAttribute.cs
│ │ │ │ └── PluginLoaderSettings.cs
│ │ │ ├── Repositories
│ │ │ │ ├── BotSharpDatabaseSettings.cs
│ │ │ │ ├── Filters
│ │ │ │ │ ├── AgentFilter.cs
│ │ │ │ │ ├── AgentTaskFilter.cs
│ │ │ │ │ └── ConversationFilter.cs
│ │ │ │ ├── IBotSharpRepository.cs
│ │ │ │ ├── IBotSharpTable.cs
│ │ │ │ ├── Models
│ │ │ │ │ └── DialogContentUpdateModel.cs
│ │ │ │ └── Records
│ │ │ │ ├── AgentRecord.cs
│ │ │ │ ├── ConversationRecord.cs
│ │ │ │ ├── RecordBase.cs
│ │ │ │ ├── RoutingItemRecord.cs
│ │ │ │ ├── RoutingProfileRecord.cs
│ │ │ │ ├── UserAgentRecord.cs
│ │ │ │ └── UserRecord.cs
│ │ │ ├── Routing
│ │ │ │ ├── Enums
│ │ │ │ │ └── RuleType.cs
│ │ │ │ ├── IRoutingHandler.cs
│ │ │ │ ├── IRoutingService.cs
│ │ │ │ ├── Models
│ │ │ │ │ ├── DecomposedStep.cs
│ │ │ │ │ ├── RoutableAgent.cs
│ │ │ │ │ ├── RoutingArgs.cs
│ │ │ │ │ ├── RoutingContext.cs
│ │ │ │ │ ├── RoutingHandlerDef.cs
│ │ │ │ │ └── RoutingRule.cs
│ │ │ │ ├── Planning
│ │ │ │ │ ├── IExecutor.cs
│ │ │ │ │ └── IPlaner.cs
│ │ │ │ ├── RoutingHandlerBase.cs
│ │ │ │ └── Settings
│ │ │ │ └── RoutingSettings.cs
│ │ │ ├── Settings
│ │ │ │ ├── ISettingService.cs
│ │ │ │ └── SettingsMeta.cs
│ │ │ ├── Statistics
│ │ │ │ ├── Model
│ │ │ │ │ └── Statistics.cs
│ │ │ │ └── Settings
│ │ │ │ └── StatisticsSettings.cs
│ │ │ ├── Tasks
│ │ │ │ ├── Enums
│ │ │ │ │ └── TaskExecutionStatus.cs
│ │ │ │ ├── IAgentTaskService.cs
│ │ │ │ └── Models
│ │ │ │ └── AgentTask.cs
│ │ │ ├── Templating
│ │ │ │ ├── IResponseTemplateService.cs
│ │ │ │ └── ITemplateRender.cs
│ │ │ ├── Users
│ │ │ │ ├── Enums
│ │ │ │ │ └── UserRole.cs
│ │ │ │ ├── IAuthenticationHook.cs
│ │ │ │ ├── IUserIdentity.cs
│ │ │ │ ├── IUserService.cs
│ │ │ │ └── Models
│ │ │ │ ├── Token.cs
│ │ │ │ └── User.cs
│ │ │ ├── Using.cs
│ │ │ ├── Utilities
│ │ │ │ ├── GuidExtensitions.cs
│ │ │ │ ├── ListExtenstions.cs
│ │ │ │ ├── Pagination.cs
│ │ │ │ └── StringExtensions.cs
│ │ │ └── VectorStorage
│ │ │ └── IVectorDb.cs
│ │ ├── BotSharp.Core
│ │ │ ├── Agents
│ │ │ │ ├── AgentPlugin.cs
│ │ │ │ └── Services
│ │ │ │ ├── AgentService.CreateAgent.cs
│ │ │ │ ├── AgentService.cs
│ │ │ │ ├── AgentService.DeleteAgent.cs
│ │ │ │ ├── AgentService.GetAgents.cs
│ │ │ │ ├── AgentService.GetPlugin.cs
│ │ │ │ ├── AgentService.LoadAgent.cs
│ │ │ │ ├── AgentService.RefreshAgents.cs
│ │ │ │ └── AgentService.UpdateAgent.cs
│ │ │ ├── BotSharp.Core.csproj
│ │ │ ├── BotSharp.Core.csproj.user
│ │ │ ├── BotSharpCoreExtensions.cs
│ │ │ ├── Conversations
│ │ │ │ ├── ConversationPlugin.cs
│ │ │ │ └── Services
│ │ │ │ ├── ConversationAttachmentService.cs
│ │ │ │ ├── ConversationService.CallFunctions.cs
│ │ │ │ ├── ConversationService.cs
│ │ │ │ ├── ConversationService.SendMessage.cs
│ │ │ │ ├── ConversationService.TruncateMessage.cs
│ │ │ │ ├── ConversationStateService.cs
│ │ │ │ ├── ConversationStorage.cs
│ │ │ │ └── TokenStatistics.cs
│ │ │ ├── data
│ │ │ │ ├── agents
│ │ │ │ │ ├── 01e2fc5c-2c89-4ec7-8470-7688608b496c
│ │ │ │ │ │ ├── agent.json
│ │ │ │ │ │ └── instruction.liquid
│ │ │ │ │ ├── 01fcc3e5-9af7-49e6-ad7a-a760bd12dc4a
│ │ │ │ │ │ ├── agent.json
│ │ │ │ │ │ ├── instruction.liquid
│ │ │ │ │ │ └── templates
│ │ │ │ │ │ ├── planner_prompt.hf.liquid
│ │ │ │ │ │ ├── planner_prompt.naive.liquid
│ │ │ │ │ │ ├── planner_prompt.sequential.get_remaining_task.liquid
│ │ │ │ │ │ ├── planner_prompt.sequential.liquid
│ │ │ │ │ │ └── response_with_function.liquid
│ │ │ │ │ └── dfd9b46d-d00c-40af-8a75-3fbdc2b89869
│ │ │ │ │ ├── agent.json
│ │ │ │ │ ├── instruction.liquid
│ │ │ │ │ └── templates
│ │ │ │ │ ├── instruction.executor.liquid
│ │ │ │ │ └── instruction.reviewer.liquid
│ │ │ │ └── plugins
│ │ │ │ └── config.json
│ │ │ ├── Evaluations
│ │ │ │ ├── EvaluatingService.cs
│ │ │ │ ├── EvaluationConversationHook.cs
│ │ │ │ ├── EvaluationPlugin.cs
│ │ │ │ └── ExecutionLogger.cs
│ │ │ ├── Infrastructures
│ │ │ │ ├── CompletionProvider.cs
│ │ │ │ ├── LlmProviderPlugin.cs
│ │ │ │ ├── LlmProviderService.cs
│ │ │ │ ├── SettingService.cs
│ │ │ │ └── Utilities.cs
│ │ │ ├── Instructs
│ │ │ │ ├── InstructService.CallFunctions.cs
│ │ │ │ └── InstructService.cs
│ │ │ ├── Messaging
│ │ │ │ └── RichContentService.cs
│ │ │ ├── Plugins
│ │ │ │ └── PluginLoader.cs
│ │ │ ├── Repository
│ │ │ │ ├── BotSharpDbContext.cs
│ │ │ │ ├── DataContextHelper.cs
│ │ │ │ ├── FileRepository
│ │ │ │ │ ├── FileRepository.Agent.cs
│ │ │ │ │ ├── FileRepository.AgentTask.cs
│ │ │ │ │ ├── FileRepository.Conversation.cs
│ │ │ │ │ ├── FileRepository.cs
│ │ │ │ │ ├── FileRepository.Log.cs
│ │ │ │ │ ├── FileRepository.Plugin.cs
│ │ │ │ │ ├── FileRepository.Stats.cs
│ │ │ │ │ ├── FileRepository.Transaction.cs
│ │ │ │ │ └── FileRepository.User.cs
│ │ │ │ └── RepositoryPlugin.cs
│ │ │ ├── Routing
│ │ │ │ ├── Functions
│ │ │ │ │ ├── FallbackToRouterFn.cs
│ │ │ │ │ └── RouteToAgentFn.cs
│ │ │ │ ├── Handlers
│ │ │ │ │ ├── ContinueExecuteTaskRoutingHandler.cs
│ │ │ │ │ ├── ConversationEndRoutingHandler.cs
│ │ │ │ │ ├── HumanInterventionNeededHandler.cs
│ │ │ │ │ ├── InterruptTaskExecutionRoutingHandler.cs
│ │ │ │ │ ├── ResponseToUserRoutingHandler.cs
│ │ │ │ │ ├── RetrieveDataFromAgentRoutingHandler.cs
│ │ │ │ │ ├── RouteToAgentRoutingHandler.cs
│ │ │ │ │ └── TaskEndRoutingHandler.cs
│ │ │ │ ├── Hooks
│ │ │ │ │ └── RoutingAgentHook.cs
│ │ │ │ ├── Planning
│ │ │ │ │ ├── HFPlanner.cs
│ │ │ │ │ ├── InstructExecutor.cs
│ │ │ │ │ ├── NaivePlanner.cs
│ │ │ │ │ └── SequentialPlanner.cs
│ │ │ │ ├── RoutingPlugin.cs
│ │ │ │ ├── RoutingService.cs
│ │ │ │ ├── RoutingService.GetConversationContent.cs
│ │ │ │ ├── RoutingService.GetPlanner.cs
│ │ │ │ ├── RoutingService.InvokeAgent.cs
│ │ │ │ └── RoutingService.InvokeFunction.cs
│ │ │ ├── Tasks
│ │ │ │ ├── Services
│ │ │ │ │ └── AgentTaskService.cs
│ │ │ │ └── TaskPlugin.cs
│ │ │ ├── Templating
│ │ │ │ ├── ResponseTemplateService.cs
│ │ │ │ └── TemplateRender.cs
│ │ │ ├── Users
│ │ │ │ └── Services
│ │ │ │ ├── UserIdentity.cs
│ │ │ │ └── UserService.cs
│ │ │ └── Using.cs
│ │ ├── BotSharp.Logger
│ │ │ ├── BotSharp.Logger.csproj
│ │ │ ├── BotSharpLoggerExtensions.cs
│ │ │ ├── Hooks
│ │ │ │ ├── CommonContentGeneratingHook.cs
│ │ │ │ ├── TokenStatsConversationHook.cs
│ │ │ │ └── VerboseLogHook.cs
│ │ │ └── Using.cs
│ │ └── BotSharp.OpenAPI
│ │ ├── BackgroundServices
│ │ │ └── ConversationTimeoutService.cs
│ │ ├── BotSharp.OpenAPI.csproj
│ │ ├── BotSharpOpenApiExtensions.cs
│ │ ├── Controllers
│ │ │ ├── AgentController.cs
│ │ │ ├── AgentTaskController.cs
│ │ │ ├── ApplicationController.cs
│ │ │ ├── ConversationController.cs
│ │ │ ├── EvaluatorController.cs
│ │ │ ├── InstructModeController.cs
│ │ │ ├── KnowledgeBaseController.cs
│ │ │ ├── LlmProviderController.cs
│ │ │ ├── LoggerController.cs
│ │ │ ├── PluginController.cs
│ │ │ ├── RouterController.cs
│ │ │ ├── SettingController.cs
│ │ │ └── UserController.cs
│ │ ├── Using.cs
│ │ └── ViewModels
│ │ ├── Agents
│ │ │ ├── AgentCreationModel.cs
│ │ │ ├── AgentTaskCreateModel.cs
│ │ │ ├── AgentTaskUpdateModel.cs
│ │ │ ├── AgentTaskViewModel.cs
│ │ │ ├── AgentUpdateModel.cs
│ │ │ ├── AgentViewModel.cs
│ │ │ └── RoutingRuleUpdateModel.cs
│ │ ├── Conversations
│ │ │ ├── ChatResponseModel.cs
│ │ │ ├── ConversationCreationModel.cs
│ │ │ ├── ConversationViewModel.cs
│ │ │ └── NewMessageModel.cs
│ │ ├── Instructs
│ │ │ └── InstructMessageModel.cs
│ │ └── Users
│ │ ├── UserCreationModel.cs
│ │ └── UserViewModel.cs
│ ├── Plugins
│ │ ├── BotSharp.Plugin.AzureOpenAI
│ │ │ ├── AzureOpenAiPlugin.cs
│ │ │ ├── BotSharp.Plugin.AzureOpenAI.csproj
│ │ │ ├── Providers
│ │ │ │ ├── ChatCompletionProvider.cs
│ │ │ │ ├── ProviderHelper.cs
│ │ │ │ └── TextCompletionProvider.cs
│ │ │ └── Settings
│ │ │ └── AzureOpenAiSettings.cs
│ │ ├── BotSharp.Plugin.ChatbotUI
│ │ │ ├── BotSharp.Plugin.ChatbotUI.csproj
│ │ │ ├── ChatbotUiController.cs
│ │ │ ├── Chatbot-UI.md
│ │ │ └── ViewModels
│ │ │ ├── OpenAiChatOutput.cs
│ │ │ ├── OpenAiChoice.cs
│ │ │ ├── OpenAiMessageBody.cs
│ │ │ ├── OpenAiMessageInput.cs
│ │ │ └── OpenAiModels.cs
│ │ ├── BotSharp.Plugin.ChatHub
│ │ │ ├── BotSharp.Plugin.ChatHub.csproj
│ │ │ ├── ChatHubPlugin.cs
│ │ │ ├── Controllers
│ │ │ │ └── ChatHubController.cs
│ │ │ ├── Hooks
│ │ │ │ ├── ChatHubConversationHook.cs
│ │ │ │ └── StreamingLogHook.cs
│ │ │ ├── SignalRHub.cs
│ │ │ ├── Using.cs
│ │ │ └── WebSocketsMiddleware.cs
│ │ ├── BotSharp.Plugin.Dashboard
│ │ │ ├── BotSharp.Plugin.Dashboard.csproj
│ │ │ ├── DashboardPlugin.cs
│ │ │ ├── Hooks
│ │ │ │ └── StatsConversationHook.cs
│ │ │ └── Using.cs
│ │ ├── BotSharp.Plugin.GoogleAI
│ │ │ ├── BotSharp.Plugin.GoogleAI.csproj
│ │ │ ├── GoogleAiPlugin.cs
│ │ │ ├── Providers
│ │ │ │ ├── ChatCompletionProvider.cs
│ │ │ │ └── TextCompletionProvider.cs
│ │ │ ├── Settings
│ │ │ │ ├── GoogleAiSettings.cs
│ │ │ │ └── PaLMSetting.cs
│ │ │ └── Using.cs
│ │ ├── BotSharp.Plugin.HttpHandler
│ │ │ ├── BotSharp.Plugin.HttpHandler.csproj
│ │ │ ├── data
│ │ │ │ └── agents
│ │ │ │ └── 87c458fc-ec5f-40ae-8ed6-05dda8a07523
│ │ │ │ ├── agent.json
│ │ │ │ ├── functions.json
│ │ │ │ └── instruction.liquid
│ │ │ ├── HttpHandlerPlugin.cs
│ │ │ └── Using.cs
│ │ ├── BotSharp.Plugin.HuggingFace
│ │ │ ├── BotSharp.Plugin.HuggingFace.csproj
│ │ │ ├── DataModels
│ │ │ │ ├── InferenceInput.cs
│ │ │ │ ├── InferenceInputOptions.cs
│ │ │ │ ├── InferenceInputParameters.cs
│ │ │ │ └── TextGenResponse.cs
│ │ │ ├── HuggingChat
│ │ │ │ ├── HuggingChatController.cs
│ │ │ │ ├── TextToken.cs
│ │ │ │ └── ViewModels
│ │ │ │ ├── ChatInput.cs
│ │ │ │ ├── ChatResponse.cs
│ │ │ │ ├── ConversationCreationModel.cs
│ │ │ │ └── ConversationViewModel.cs
│ │ │ ├── HuggingChat-UI.md
│ │ │ ├── HuggingFacePlugin.cs
│ │ │ ├── Providers
│ │ │ │ └── ChatCompletionProvider.cs
│ │ │ ├── Services
│ │ │ │ ├── AuthHeaderHandler.cs
│ │ │ │ └── IInferenceApi.cs
│ │ │ ├── Settings
│ │ │ │ └── HuggingFaceSettings.cs
│ │ │ └── Using.cs
│ │ ├── BotSharp.Plugin.KnowledgeBase
│ │ │ ├── BotSharp.Plugin.KnowledgeBase.csproj
│ │ │ ├── data
│ │ │ │ └── agents
│ │ │ │ └── f5679799-ba89-4fef-936a-bcc311e5f14d
│ │ │ │ ├── agent.json
│ │ │ │ ├── functions.json
│ │ │ │ └── instruction.liquid
│ │ │ ├── Functions
│ │ │ │ └── SearchKnowledgesFn.cs
│ │ │ ├── KnowledgeBasePlugin.cs
│ │ │ ├── LlmContexts
│ │ │ │ └── KnowledgeContextIn.cs
│ │ │ ├── MemVecDb
│ │ │ │ ├── MemVecDbPlugin.cs
│ │ │ │ ├── MemVectorDatabase.cs
│ │ │ │ └── VecRecord.cs
│ │ │ ├── Services
│ │ │ │ ├── KnowledgeService.cs
│ │ │ │ ├── PigPdf2TextConverter.cs
│ │ │ │ └── TextChopperService.cs
│ │ │ └── Using.cs
│ │ ├── BotSharp.Plugin.LLamaSharp
│ │ │ ├── BotSharp.Plugin.LLamaSharp.csproj
│ │ │ ├── LlamaAiModel.cs
│ │ │ ├── LLamaSharpPlugin.cs
│ │ │ ├── Providers
│ │ │ │ ├── ChatCompletionProvider.cs
│ │ │ │ ├── TextCompletionProvider.cs
│ │ │ │ └── TextEmbeddingProvider.cs
│ │ │ ├── Settings
│ │ │ │ └── LlamaSharpSettings.cs
│ │ │ └── Using.cs
│ │ ├── BotSharp.Plugin.MetaAI
│ │ │ ├── BotSharp.Plugin.MetaAI.csproj
│ │ │ ├── MetaAiPlugin.cs
│ │ │ ├── Providers
│ │ │ │ ├── FaissDb.cs
│ │ │ │ └── fastTextEmbeddingProvider.cs
│ │ │ └── Settings
│ │ │ ├── fastTextSetting.cs
│ │ │ └── MetaAiSettings.cs
│ │ ├── BotSharp.Plugin.MetaMessenger
│ │ │ ├── BotSharp.Plugin.MetaMessenger.csproj
│ │ │ ├── Controllers
│ │ │ │ └── WebhookController.cs
│ │ │ ├── GraphAPIs
│ │ │ │ ├── AuthHeaderHandler.cs
│ │ │ │ └── IMessengerGraphAPI.cs
│ │ │ ├── MessagingModels
│ │ │ │ ├── AttachmentBody.cs
│ │ │ │ ├── AttachmentMessage.cs
│ │ │ │ ├── ButtonItem.cs
│ │ │ │ ├── SenderActionEnum.cs
│ │ │ │ ├── SendingMessageRequest.cs
│ │ │ │ └── SendingMessageResponse.cs
│ │ │ ├── MetaMessengerPlugin.cs
│ │ │ ├── Services
│ │ │ │ ├── ConditionalSerialization.cs
│ │ │ │ └── MessageHandleService.cs
│ │ │ ├── Settings
│ │ │ │ └── MetaMessengerSetting.cs
│ │ │ ├── Using.cs
│ │ │ └── WebhookModels
│ │ │ ├── WebhookMessageBody.cs
│ │ │ ├── WebhookMessage.cs
│ │ │ ├── WebhookMessagePostback.cs
│ │ │ ├── WebhookMessageUser.cs
│ │ │ ├── WebhookObject.cs
│ │ │ ├── WebhookRequest.cs
│ │ │ └── WebhookResponse.cs
│ │ ├── BotSharp.Plugin.MongoStorage
│ │ │ ├── BotSharp.Plugin.MongoStorage.csproj
│ │ │ ├── Collections
│ │ │ │ ├── AgentDocument.cs
│ │ │ │ ├── AgentTaskDocument.cs
│ │ │ │ ├── ConversationDialogDocument.cs
│ │ │ │ ├── ConversationDocument.cs
│ │ │ │ ├── ConversationStateDocument.cs
│ │ │ │ ├── ExecutionLogDocument.cs
│ │ │ │ ├── LlmCompletionLogDocument.cs
│ │ │ │ ├── PluginDocument.cs
│ │ │ │ ├── UserAgentDocument.cs
│ │ │ │ └── UserDocument.cs
│ │ │ ├── Models
│ │ │ │ ├── AgentLlmConfigMongoElement.cs
│ │ │ │ ├── AgentResponseMongoElement.cs
│ │ │ │ ├── AgentTemplateMongoElement.cs
│ │ │ │ ├── DialogMongoElement.cs
│ │ │ │ ├── FunctionDefMongoElement.cs
│ │ │ │ ├── PromptLogMongoElement.cs
│ │ │ │ ├── RoutingRuleMongoElement.cs
│ │ │ │ └── StateMongoElement.cs
│ │ │ ├── MongoBase.cs
│ │ │ ├── MongoDbContext.cs
│ │ │ ├── MongoStoragePlugin.cs
│ │ │ ├── Repository
│ │ │ │ ├── MongoRepository.Agent.cs
│ │ │ │ ├── MongoRepository.AgentTask.cs
│ │ │ │ ├── MongoRepository.Conversation.cs
│ │ │ │ ├── MongoRepository.cs
│ │ │ │ ├── MongoRepository.Log.cs
│ │ │ │ ├── MongoRepository.Plugin.cs
│ │ │ │ ├── MongoRepository.Stats.cs
│ │ │ │ ├── MongoRepository.Transaction.cs
│ │ │ │ └── MongoRepository.User.cs
│ │ │ ├── StringGuidIdGenerator.cs
│ │ │ └── Using.cs
│ │ ├── BotSharp.Plugin.PaddleSharp
│ │ │ ├── BotSharp.Plugin.PaddleSharp.csproj
│ │ │ ├── PaddleSharpPlugin.cs
│ │ │ ├── Providers
│ │ │ │ ├── PaddleOcrConverter.cs
│ │ │ │ └── Pdf2TextConverter.cs
│ │ │ └── Settings
│ │ │ └── PaddleSharpSettings.cs
│ │ ├── BotSharp.Plugin.Qdrant
│ │ │ ├── BotSharp.Plugin.Qdrant.csproj
│ │ │ ├── QdrantDb.cs
│ │ │ ├── QdrantPlugin.cs
│ │ │ └── QdrantSetting.cs
│ │ ├── BotSharp.Plugin.RoutingSpeeder
│ │ │ ├── BotSharp.Plugin.RoutingSpeeder.csproj
│ │ │ ├── Controllers
│ │ │ │ └── RoutingSpeederController.cs
│ │ │ ├── data
│ │ │ │ └── models
│ │ │ │ ├── dbpedia.ftz
│ │ │ │ ├── intent-classifier.h5
│ │ │ │ └── label.txt
│ │ │ ├── Providers
│ │ │ │ ├── IntentClassifier.cs
│ │ │ │ └── Models
│ │ │ │ ├── DialoguePredictionModel.cs
│ │ │ │ └── TrainingParams.cs
│ │ │ ├── RoutingConversationHook.cs
│ │ │ ├── RoutingSpeederPlugin.cs
│ │ │ └── Settings
│ │ │ ├── classifierSetting.cs
│ │ │ └── routerSpeedSettings.cs
│ │ ├── BotSharp.Plugin.SemanticKernel
│ │ │ ├── BotSharp.Plugin.SemanticKernel.csproj
│ │ │ ├── readme.md
│ │ │ ├── SemanticKernelChatCompletionProvider.cs
│ │ │ ├── SemanticKernelMemoryStoreProvider.cs
│ │ │ ├── SemanticKernelPlugin.cs
│ │ │ ├── SemanticKernelTextCompletionProvider.cs
│ │ │ └── SemanticKernelTextEmbeddingProvider.cs
│ │ ├── BotSharp.Plugin.SqlDriver
│ │ │ ├── Actions
│ │ │ │ └── ExecuteQueryAction.cs
│ │ │ ├── BotSharp.Plugin.SqlDriver.csproj
│ │ │ ├── data
│ │ │ │ └── agents
│ │ │ │ └── beda4c12-e1ec-4b4b-b328-3df4a6687c4f
│ │ │ │ ├── agent.json
│ │ │ │ ├── functions.json
│ │ │ │ └── instruction.liquid
│ │ │ ├── Models
│ │ │ │ └── LlmInputArgs.cs
│ │ │ ├── Settings
│ │ │ │ └── SqlDriverSetting.cs
│ │ │ └── SqlDriverPlugin.cs
│ │ ├── BotSharp.Plugin.TelegramBots
│ │ │ ├── BotSharp.Plugin.TelegramBots.csproj
│ │ │ └── TelegramBotsPlugin.cs
│ │ ├── BotSharp.Plugin.Twilio
│ │ │ ├── BotSharp.Plugin.Twilio.csproj
│ │ │ ├── Controllers
│ │ │ │ ├── TwilioEmailController.cs
│ │ │ │ └── TwilioVoiceController.cs
│ │ │ ├── Services
│ │ │ │ └── TwilioService.cs
│ │ │ ├── Settings
│ │ │ │ └── TwilioSetting.cs
│ │ │ ├── TwilioPlugin.cs
│ │ │ └── Using.cs
│ │ ├── BotSharp.Plugin.WebDriver
│ │ │ ├── BotSharp.Plugin.WebDriver.csproj
│ │ │ ├── data
│ │ │ │ └── agents
│ │ │ │ └── f3ae2a0f-e6ba-4ee1-a0b9-75d7431ff32b
│ │ │ │ ├── agent.json
│ │ │ │ ├── functions.json
│ │ │ │ ├── instruction.liquid
│ │ │ │ └── templates
│ │ │ │ ├── extract_data.liquid
│ │ │ │ └── html_parser.liquid
│ │ │ ├── Drivers
│ │ │ │ ├── IWebBrowser.cs
│ │ │ │ └── PlaywrightDriver
│ │ │ │ ├── PlaywrightInstance.cs
│ │ │ │ ├── PlaywrightWebDriver.ChangeCheckbox.cs
│ │ │ │ ├── PlaywrightWebDriver.ChangeListValue.cs
│ │ │ │ ├── PlaywrightWebDriver.CheckRadioButton.cs
│ │ │ │ ├── PlaywrightWebDriver.ClickButton.cs
│ │ │ │ ├── PlaywrightWebDriver.ClickElement.cs
│ │ │ │ ├── PlaywrightWebDriver.CloseBrowser.cs
│ │ │ │ ├── PlaywrightWebDriver.cs
│ │ │ │ ├── PlaywrightWebDriver.EvaluateScript.cs
│ │ │ │ ├── PlaywrightWebDriver.ExtractData.cs
│ │ │ │ ├── PlaywrightWebDriver.GoToPage.cs
│ │ │ │ ├── PlaywrightWebDriver.InputUserPassword.cs
│ │ │ │ ├── PlaywrightWebDriver.InputUserText.cs
│ │ │ │ ├── PlaywrightWebDriver.LaunchBrowser.cs
│ │ │ │ └── PlaywrightWebDriver.Screenshot.cs
│ │ │ ├── Functions
│ │ │ │ ├── ChangeCheckboxFn.cs
│ │ │ │ ├── ChangeListValueFn.cs
│ │ │ │ ├── CheckRadioButtonFn.cs
│ │ │ │ ├── ClickButtonFn.cs
│ │ │ │ ├── ClickElementFn.cs
│ │ │ │ ├── CloseBrowserFn.cs
│ │ │ │ ├── EvaluateScriptFn.cs
│ │ │ │ ├── ExtractDataFn.cs
│ │ │ │ ├── GoToPageFn.cs
│ │ │ │ ├── InputUserPasswordFn.cs
│ │ │ │ ├── InputUserTextFn.cs
│ │ │ │ └── OpenBrowserFn.cs
│ │ │ ├── LlmContexts
│ │ │ │ ├── BrowsingContextIn.cs
│ │ │ │ └── HtmlElementContextOut.cs
│ │ │ ├── Models
│ │ │ │ ├── BrowserActionParams.cs
│ │ │ │ └── MarkupProperties.cs
│ │ │ ├── README.md
│ │ │ ├── Services
│ │ │ │ ├── WebDriverService.AssembleMarkup.cs
│ │ │ │ ├── WebDriverService.cs
│ │ │ │ ├── WebDriverService.ExtraData.cs
│ │ │ │ ├── WebDriverService.InferElement.cs
│ │ │ │ └── WebDriverService.NewScreenshotFilePath.cs
│ │ │ ├── Using.cs
│ │ │ └── WebDriverPlugin.cs
│ │ └── BotSharp.Plugin.WeChat
│ │ ├── BotSharpMessageHandler.cs
│ │ ├── BotSharp.Plugin.WeChat.csproj
│ │ ├── IMessageQueue.cs
│ │ ├── README.md
│ │ ├── Users
│ │ │ ├── IWeChatAccountUserService.cs
│ │ │ └── WeChatAccountUserService.cs
│ │ ├── WeChatBackgroundService.cs
│ │ ├── WeChatMessage.cs
│ │ └── WeChatPlugin.cs
│ └── WebStarter
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── WebStarter.csproj
│ └── wwwroot
│ └── favicon.ico
└── tests
├── BotSharp.Plugin.PizzaBot
│ ├── BotSharp.Plugin.PizzaBot.csproj
│ ├── data
│ │ ├── agents
│ │ │ ├── 8970b1e5-d260-4e2c-90b1-f1415a257c18
│ │ │ │ ├── agent.json
│ │ │ │ └── templates
│ │ │ │ └── task.place_pizza_order.liquid
│ │ │ ├── b284db86-e9c2-4c25-a59e-4649797dd130
│ │ │ │ ├── agent.json
│ │ │ │ ├── functions.json
│ │ │ │ └── instruction.liquid
│ │ │ ├── c2b57a74-ae4e-4c81-b3ad-9ac5bff982bd
│ │ │ │ ├── agent.json
│ │ │ │ ├── functions.json
│ │ │ │ ├── instruction.liquid
│ │ │ │ └── responses
│ │ │ │ └── func.get_pizza_price.0.liquid
│ │ │ └── fe8c60aa-b114-4ef3-93cb-a8efeac80f75
│ │ │ ├── agent.json
│ │ │ ├── functions.json
│ │ │ └── instruction.liquid
│ │ └── users
│ │ ├── 10d12798-08fb-4aa6-977b-5dd94d82dbfe
│ │ │ └── user.json
│ │ ├── 456e35c5-caf0-4d45-9084-b44a8ca717e4
│ │ │ └── user.json
│ │ ├── d0e6680d-03d5-4ed8-bdcd-aa7d86f2a1bc
│ │ │ └── user.json
│ │ └── e465af5f-044f-414b-b670-92834929b96c
│ │ └── user.json
│ ├── documents
│ │ ├── pizza-recipebooklet-1.pdf
│ │ └── RDD-ChicagoThinCrust.pdf
│ ├── Functions
│ │ ├── GetOrderStatusFn.cs
│ │ ├── GetPizzaPricesFn.cs
│ │ ├── GetPizzaTypesFn.cs
│ │ ├── MakePaymentFn.cs
│ │ └── PlaceOrderFn.cs
│ ├── Hooks
│ │ ├── CommonAgentHook.cs
│ │ └── PizzaBotAgentHook.cs
│ ├── PizzaBotPlugin.cs
│ └── Using.cs
├── BotSharp.Plugin.SemanticKernel.UnitTests
│ ├── BotSharp.Plugin.SemanticKernel.UnitTests.csproj
│ ├── Helpers
│ │ ├── ResultHelper.cs
│ │ └── SemanticKernelHelper.cs
│ ├── SemanticKernelChatCompletionProviderTests.cs
│ ├── SemanticKernelPluginTests.cs
│ ├── SemanticKernelTextCompletionProviderTests.cs
│ └── Usings.cs
└── UnitTest
├── UnitTest1.cs
├── UnitTest.csproj
└── Usings.cs
224 directories, 638 files
BotSharp是一个开放源代码的AI代理应用程序框架,专为.NET开发者设计,通过BotSharp AI BOT平台构建器,使开发者能够构建以对话为平台(CaaP)的应用。它提供了丰富的机器学习算法,支持自然语言理解、计算机视觉和音频处理技术,旨在推动智能机器人助理在信息系统中的开发和应用。
BotSharp基于.Net Core编写,支持全平台运行,采用插件和流水线执行设计,实现了插件的完全解耦。C#作为一种企业级编程语言,在信息管理相关系统中广泛用于编写业务逻辑,对企业开发者更为友好。BotSharp直接采用C#编写机器学习算法,便于利用C#语言的特性,并在系统范围内重构代码时更加容易。
BotSharp严格遵循组件原则,解耦了平台构建器中所需的每个部分。因此,您可以选择不同的UI/UX,或选择不同的LLM提供商。所有这些都基于统一接口进行模块化。BotSharp提供了一个高级代理抽象层,有效管理企业中复杂的应用场景,允许企业开发者高效地将AI集成到业务系统中。
主要特性:
- 内置多代理和具有状态管理的对话。
- 支持多种LLM规划方法以处理不同任务。
- 内置RAG相关接口,基于内存的向量搜索。
- 支持多个AI平台(ChatGPT 3.5 / 4.0, PaLM 2, LLaMA 2, HuggingFace)。
- 允许具有不同职责的多个代理合作完成复杂任务。
- 在一个地方构建、测试、评估和审计您的LLM代理。
- 内置的BotSharp UI使用SvelteKit编写。
- 抽象标准的富内容数据结构。与Facebook Messenger、Slack和Telegram等流行消息渠道集成。
- 提供RESTful Open API和WebSocket实时通信。
【实例截图】
【核心代码】
文件清单
└── BotSharp-1d69fe1ebe39dc3352b27ca3228ac79b5b9b513c
├── arts
│ ├── BotSharp.gif
│ ├── Icon.png
│ └── Logo.png
├── BotSharp.sln
├── CONTRIBUTING.md
├── Directory.Build.props
├── dockerfiles
│ ├── ARTICULATE.Dockerfile
│ ├── DIALOGFLOW.Dockerfile
│ ├── docker-compose-articulateui-0.1.0.yml
│ ├── docker-compose-articulateui.yml
│ ├── docker-compose-core.yml
│ ├── docker-compose-rasaui.yml
│ └── RASA.Dockerfile
├── docs
│ ├── agent
│ │ ├── assets
│ │ │ ├── agent-creation.png
│ │ │ ├── agent-update.png
│ │ │ ├── conversation-creation.png
│ │ │ ├── conversation-send-message.png
│ │ │ └── routing-calling-stack.png
│ │ ├── hook.md
│ │ ├── intro.md
│ │ └── router.md
│ ├── architecture
│ │ ├── assets
│ │ │ ├── account-creation.png
│ │ │ ├── account-token.png
│ │ │ ├── architecture.drawio
│ │ │ ├── botsharp_diagram.png
│ │ │ ├── llm_diagram.png
│ │ │ ├── overview.drawio
│ │ │ ├── routing.drawio
│ │ │ ├── routing-reasoner.png
│ │ │ ├── routing-reasoning.drawio
│ │ │ ├── routing-redirection.drawio
│ │ │ └── routing-redirection.png
│ │ ├── authentication.md
│ │ ├── data-persistence.md
│ │ ├── hooks.md
│ │ ├── logging.md
│ │ ├── plugin.md
│ │ └── routing.md
│ ├── channels
│ │ ├── components.md
│ │ ├── intro.md
│ │ ├── messenger.rst
│ │ └── wechat.md
│ ├── conf.py
│ ├── conversation
│ │ ├── hook.md
│ │ ├── intro.md
│ │ └── state.md
│ ├── index.rst
│ ├── knowledge-base
│ │ ├── assets
│ │ │ ├── feed_knowledge_answer.png
│ │ │ └── feed_knowledge_pdf.png
│ │ ├── build-qa-bot.md
│ │ ├── similarity-search.md
│ │ ├── text-embedding.md
│ │ └── vector-database.md
│ ├── llm
│ │ ├── few-shot-learning.md
│ │ ├── function.md
│ │ ├── prompt.md
│ │ ├── provider.md
│ │ └── template.md
│ ├── make.bat
│ ├── Makefile
│ ├── Name-Entity Recognition(NER) Comparation.pdf
│ ├── quick-start
│ │ ├── assets
│ │ │ ├── APIHome.png
│ │ │ ├── APIPostman.png
│ │ │ ├── BackendServiceHomeScreenshot.png
│ │ │ ├── BotSharp-UI-Router.png
│ │ │ ├── ChatbotUIHome.png
│ │ │ ├── overview.png
│ │ │ ├── PizzaBotSample1.png
│ │ │ ├── PizzaBotSample2.png
│ │ │ ├── PizzaBotSample3.png
│ │ │ └── PizzaBotSample4.png
│ │ ├── get-started.md
│ │ ├── installation.md
│ │ └── overview.md
│ ├── README.md
│ ├── requirements.txt
│ └── static
│ ├── logos
│ │ ├── BotSharpEngine.jpg
│ │ └── Logo.png
│ └── screenshots
│ ├── agent-builder-agents.png
│ ├── agent-builder-conversations.png
│ ├── BotSharp_arch.png
│ └── web-live-chat.png
├── LICENSE
├── PizzaBot.sln
├── README.md
├── src
│ ├── Infrastructure
│ │ ├── BotSharp.Abstraction
│ │ │ ├── Agents
│ │ │ │ ├── AgentHookBase.cs
│ │ │ │ ├── Enums
│ │ │ │ │ ├── AgentField.cs
│ │ │ │ │ ├── AgentRole.cs
│ │ │ │ │ └── AgentType.cs
│ │ │ │ ├── IAgentHook.cs
│ │ │ │ ├── IAgentService.cs
│ │ │ │ ├── Models
│ │ │ │ │ ├── Agent.cs
│ │ │ │ │ ├── AgentLlmConfig.cs
│ │ │ │ │ ├── AgentResponse.cs
│ │ │ │ │ ├── AgentTemplate.cs
│ │ │ │ │ └── UserAgent.cs
│ │ │ │ └── Settings
│ │ │ │ └── AgentSettings.cs
│ │ │ ├── BotSharp.Abstraction.csproj
│ │ │ ├── Conversations
│ │ │ │ ├── ConversationHookBase.cs
│ │ │ │ ├── Enums
│ │ │ │ │ ├── ConversationChannel.cs
│ │ │ │ │ └── ConversationStatus.cs
│ │ │ │ ├── IConversationAttachmentService.cs
│ │ │ │ ├── IConversationHook.cs
│ │ │ │ ├── IConversationService.cs
│ │ │ │ ├── IConversationStateService.cs
│ │ │ │ ├── IConversationStorage.cs
│ │ │ │ ├── ITokenStatistics.cs
│ │ │ │ ├── Models
│ │ │ │ │ ├── Attachment.cs
│ │ │ │ │ ├── Conversation.cs
│ │ │ │ │ ├── ConversationState.cs
│ │ │ │ │ ├── ConversationStateLogModel.cs
│ │ │ │ │ ├── IncomingMessageModel.cs
│ │ │ │ │ ├── LlmCompletionLog.cs
│ │ │ │ │ ├── RoleDialogModel.cs
│ │ │ │ │ ├── StateKeyValue.cs
│ │ │ │ │ ├── TokenStatsModel.cs
│ │ │ │ │ └── TruncateMessageRequest.cs
│ │ │ │ └── Settings
│ │ │ │ └── ConversationSetting.cs
│ │ │ ├── Evaluations
│ │ │ │ ├── IEvaluatingService.cs
│ │ │ │ ├── IExecutionLogger.cs
│ │ │ │ ├── Models
│ │ │ │ │ ├── EvaluationRequest.cs
│ │ │ │ │ └── EvaluationResult.cs
│ │ │ │ └── Settings
│ │ │ │ └── EvaluatorSetting.cs
│ │ │ ├── Functions
│ │ │ │ ├── IFunctionCallback.cs
│ │ │ │ └── Models
│ │ │ │ ├── FunctionCallFromLlm.cs
│ │ │ │ ├── FunctionCallingResponse.cs
│ │ │ │ ├── FunctionDef.cs
│ │ │ │ ├── FunctionParametersDef.cs
│ │ │ │ └── ParameterPropertyDef.cs
│ │ │ ├── Instructs
│ │ │ │ ├── IInstructHook.cs
│ │ │ │ ├── IInstructService.cs
│ │ │ │ ├── InstructHookBase.cs
│ │ │ │ └── Models
│ │ │ │ └── InstructResult.cs
│ │ │ ├── Knowledges
│ │ │ │ ├── IKnowledgeService.cs
│ │ │ │ ├── IPaddleOcrConverter.cs
│ │ │ │ ├── IPdf2TextConverter.cs
│ │ │ │ ├── ITextChopper.cs
│ │ │ │ ├── Models
│ │ │ │ │ ├── ChunkOption.cs
│ │ │ │ │ ├── KnowledgeCreationModel.cs
│ │ │ │ │ ├── KnowledgeFeedModel.cs
│ │ │ │ │ ├── KnowledgeRetrievalModel.cs
│ │ │ │ │ └── RetrievedResult.cs
│ │ │ │ └── Settings
│ │ │ │ └── KnowledgeBaseSettings.cs
│ │ │ ├── Loggers
│ │ │ │ ├── IContentGeneratingHook.cs
│ │ │ │ └── Models
│ │ │ │ └── StreamingLogModel.cs
│ │ │ ├── Messaging
│ │ │ │ ├── IRichContentService.cs
│ │ │ │ ├── IRichMessage.cs
│ │ │ │ ├── ITemplateMessage.cs
│ │ │ │ ├── JsonConverters
│ │ │ │ │ ├── RichContentJsonConverter .cs
│ │ │ │ │ └── TemplateMessageJsonConverter.cs
│ │ │ │ └── Models
│ │ │ │ └── RichContent
│ │ │ │ ├── ElementAction.cs
│ │ │ │ ├── ElementButton.cs
│ │ │ │ ├── QuickReplyElement.cs
│ │ │ │ ├── QuickReplyMessage.cs
│ │ │ │ ├── Recipient.cs
│ │ │ │ ├── RichContent.cs
│ │ │ │ ├── SenderActionMessage.cs
│ │ │ │ ├── Template
│ │ │ │ │ ├── ButtonTemplateMessage.cs
│ │ │ │ │ ├── CouponTemplateMessage.cs
│ │ │ │ │ ├── GenericTemplateMessage.cs
│ │ │ │ │ ├── MultiSelectTemplateMessage.cs
│ │ │ │ │ └── ProductTemplateMessage.cs
│ │ │ │ └── TextMessage.cs
│ │ │ ├── MLTasks
│ │ │ │ ├── IChatCompletion.cs
│ │ │ │ ├── ILlmProviderService.cs
│ │ │ │ ├── ITextCompletion.cs
│ │ │ │ ├── ITextEmbedding.cs
│ │ │ │ └── Settings
│ │ │ │ ├── LlmModelSetting.cs
│ │ │ │ └── LlmProviderSetting.cs
│ │ │ ├── Models
│ │ │ │ ├── AiModel.cs
│ │ │ │ ├── ITrackableMessage.cs
│ │ │ │ ├── MessageConfig.cs
│ │ │ │ └── NameDesc.cs
│ │ │ ├── Plugins
│ │ │ │ ├── IBotSharpAppPlugin.cs
│ │ │ │ ├── IBotSharpPlugin.cs
│ │ │ │ ├── Models
│ │ │ │ │ ├── PluginConfig.cs
│ │ │ │ │ ├── PluginDef.cs
│ │ │ │ │ ├── PluginFilter.cs
│ │ │ │ │ └── PluginMenuDef.cs
│ │ │ │ ├── PluginDependencyAttribute.cs
│ │ │ │ └── PluginLoaderSettings.cs
│ │ │ ├── Repositories
│ │ │ │ ├── BotSharpDatabaseSettings.cs
│ │ │ │ ├── Filters
│ │ │ │ │ ├── AgentFilter.cs
│ │ │ │ │ ├── AgentTaskFilter.cs
│ │ │ │ │ └── ConversationFilter.cs
│ │ │ │ ├── IBotSharpRepository.cs
│ │ │ │ ├── IBotSharpTable.cs
│ │ │ │ ├── Models
│ │ │ │ │ └── DialogContentUpdateModel.cs
│ │ │ │ └── Records
│ │ │ │ ├── AgentRecord.cs
│ │ │ │ ├── ConversationRecord.cs
│ │ │ │ ├── RecordBase.cs
│ │ │ │ ├── RoutingItemRecord.cs
│ │ │ │ ├── RoutingProfileRecord.cs
│ │ │ │ ├── UserAgentRecord.cs
│ │ │ │ └── UserRecord.cs
│ │ │ ├── Routing
│ │ │ │ ├── Enums
│ │ │ │ │ └── RuleType.cs
│ │ │ │ ├── IRoutingHandler.cs
│ │ │ │ ├── IRoutingService.cs
│ │ │ │ ├── Models
│ │ │ │ │ ├── DecomposedStep.cs
│ │ │ │ │ ├── RoutableAgent.cs
│ │ │ │ │ ├── RoutingArgs.cs
│ │ │ │ │ ├── RoutingContext.cs
│ │ │ │ │ ├── RoutingHandlerDef.cs
│ │ │ │ │ └── RoutingRule.cs
│ │ │ │ ├── Planning
│ │ │ │ │ ├── IExecutor.cs
│ │ │ │ │ └── IPlaner.cs
│ │ │ │ ├── RoutingHandlerBase.cs
│ │ │ │ └── Settings
│ │ │ │ └── RoutingSettings.cs
│ │ │ ├── Settings
│ │ │ │ ├── ISettingService.cs
│ │ │ │ └── SettingsMeta.cs
│ │ │ ├── Statistics
│ │ │ │ ├── Model
│ │ │ │ │ └── Statistics.cs
│ │ │ │ └── Settings
│ │ │ │ └── StatisticsSettings.cs
│ │ │ ├── Tasks
│ │ │ │ ├── Enums
│ │ │ │ │ └── TaskExecutionStatus.cs
│ │ │ │ ├── IAgentTaskService.cs
│ │ │ │ └── Models
│ │ │ │ └── AgentTask.cs
│ │ │ ├── Templating
│ │ │ │ ├── IResponseTemplateService.cs
│ │ │ │ └── ITemplateRender.cs
│ │ │ ├── Users
│ │ │ │ ├── Enums
│ │ │ │ │ └── UserRole.cs
│ │ │ │ ├── IAuthenticationHook.cs
│ │ │ │ ├── IUserIdentity.cs
│ │ │ │ ├── IUserService.cs
│ │ │ │ └── Models
│ │ │ │ ├── Token.cs
│ │ │ │ └── User.cs
│ │ │ ├── Using.cs
│ │ │ ├── Utilities
│ │ │ │ ├── GuidExtensitions.cs
│ │ │ │ ├── ListExtenstions.cs
│ │ │ │ ├── Pagination.cs
│ │ │ │ └── StringExtensions.cs
│ │ │ └── VectorStorage
│ │ │ └── IVectorDb.cs
│ │ ├── BotSharp.Core
│ │ │ ├── Agents
│ │ │ │ ├── AgentPlugin.cs
│ │ │ │ └── Services
│ │ │ │ ├── AgentService.CreateAgent.cs
│ │ │ │ ├── AgentService.cs
│ │ │ │ ├── AgentService.DeleteAgent.cs
│ │ │ │ ├── AgentService.GetAgents.cs
│ │ │ │ ├── AgentService.GetPlugin.cs
│ │ │ │ ├── AgentService.LoadAgent.cs
│ │ │ │ ├── AgentService.RefreshAgents.cs
│ │ │ │ └── AgentService.UpdateAgent.cs
│ │ │ ├── BotSharp.Core.csproj
│ │ │ ├── BotSharp.Core.csproj.user
│ │ │ ├── BotSharpCoreExtensions.cs
│ │ │ ├── Conversations
│ │ │ │ ├── ConversationPlugin.cs
│ │ │ │ └── Services
│ │ │ │ ├── ConversationAttachmentService.cs
│ │ │ │ ├── ConversationService.CallFunctions.cs
│ │ │ │ ├── ConversationService.cs
│ │ │ │ ├── ConversationService.SendMessage.cs
│ │ │ │ ├── ConversationService.TruncateMessage.cs
│ │ │ │ ├── ConversationStateService.cs
│ │ │ │ ├── ConversationStorage.cs
│ │ │ │ └── TokenStatistics.cs
│ │ │ ├── data
│ │ │ │ ├── agents
│ │ │ │ │ ├── 01e2fc5c-2c89-4ec7-8470-7688608b496c
│ │ │ │ │ │ ├── agent.json
│ │ │ │ │ │ └── instruction.liquid
│ │ │ │ │ ├── 01fcc3e5-9af7-49e6-ad7a-a760bd12dc4a
│ │ │ │ │ │ ├── agent.json
│ │ │ │ │ │ ├── instruction.liquid
│ │ │ │ │ │ └── templates
│ │ │ │ │ │ ├── planner_prompt.hf.liquid
│ │ │ │ │ │ ├── planner_prompt.naive.liquid
│ │ │ │ │ │ ├── planner_prompt.sequential.get_remaining_task.liquid
│ │ │ │ │ │ ├── planner_prompt.sequential.liquid
│ │ │ │ │ │ └── response_with_function.liquid
│ │ │ │ │ └── dfd9b46d-d00c-40af-8a75-3fbdc2b89869
│ │ │ │ │ ├── agent.json
│ │ │ │ │ ├── instruction.liquid
│ │ │ │ │ └── templates
│ │ │ │ │ ├── instruction.executor.liquid
│ │ │ │ │ └── instruction.reviewer.liquid
│ │ │ │ └── plugins
│ │ │ │ └── config.json
│ │ │ ├── Evaluations
│ │ │ │ ├── EvaluatingService.cs
│ │ │ │ ├── EvaluationConversationHook.cs
│ │ │ │ ├── EvaluationPlugin.cs
│ │ │ │ └── ExecutionLogger.cs
│ │ │ ├── Infrastructures
│ │ │ │ ├── CompletionProvider.cs
│ │ │ │ ├── LlmProviderPlugin.cs
│ │ │ │ ├── LlmProviderService.cs
│ │ │ │ ├── SettingService.cs
│ │ │ │ └── Utilities.cs
│ │ │ ├── Instructs
│ │ │ │ ├── InstructService.CallFunctions.cs
│ │ │ │ └── InstructService.cs
│ │ │ ├── Messaging
│ │ │ │ └── RichContentService.cs
│ │ │ ├── Plugins
│ │ │ │ └── PluginLoader.cs
│ │ │ ├── Repository
│ │ │ │ ├── BotSharpDbContext.cs
│ │ │ │ ├── DataContextHelper.cs
│ │ │ │ ├── FileRepository
│ │ │ │ │ ├── FileRepository.Agent.cs
│ │ │ │ │ ├── FileRepository.AgentTask.cs
│ │ │ │ │ ├── FileRepository.Conversation.cs
│ │ │ │ │ ├── FileRepository.cs
│ │ │ │ │ ├── FileRepository.Log.cs
│ │ │ │ │ ├── FileRepository.Plugin.cs
│ │ │ │ │ ├── FileRepository.Stats.cs
│ │ │ │ │ ├── FileRepository.Transaction.cs
│ │ │ │ │ └── FileRepository.User.cs
│ │ │ │ └── RepositoryPlugin.cs
│ │ │ ├── Routing
│ │ │ │ ├── Functions
│ │ │ │ │ ├── FallbackToRouterFn.cs
│ │ │ │ │ └── RouteToAgentFn.cs
│ │ │ │ ├── Handlers
│ │ │ │ │ ├── ContinueExecuteTaskRoutingHandler.cs
│ │ │ │ │ ├── ConversationEndRoutingHandler.cs
│ │ │ │ │ ├── HumanInterventionNeededHandler.cs
│ │ │ │ │ ├── InterruptTaskExecutionRoutingHandler.cs
│ │ │ │ │ ├── ResponseToUserRoutingHandler.cs
│ │ │ │ │ ├── RetrieveDataFromAgentRoutingHandler.cs
│ │ │ │ │ ├── RouteToAgentRoutingHandler.cs
│ │ │ │ │ └── TaskEndRoutingHandler.cs
│ │ │ │ ├── Hooks
│ │ │ │ │ └── RoutingAgentHook.cs
│ │ │ │ ├── Planning
│ │ │ │ │ ├── HFPlanner.cs
│ │ │ │ │ ├── InstructExecutor.cs
│ │ │ │ │ ├── NaivePlanner.cs
│ │ │ │ │ └── SequentialPlanner.cs
│ │ │ │ ├── RoutingPlugin.cs
│ │ │ │ ├── RoutingService.cs
│ │ │ │ ├── RoutingService.GetConversationContent.cs
│ │ │ │ ├── RoutingService.GetPlanner.cs
│ │ │ │ ├── RoutingService.InvokeAgent.cs
│ │ │ │ └── RoutingService.InvokeFunction.cs
│ │ │ ├── Tasks
│ │ │ │ ├── Services
│ │ │ │ │ └── AgentTaskService.cs
│ │ │ │ └── TaskPlugin.cs
│ │ │ ├── Templating
│ │ │ │ ├── ResponseTemplateService.cs
│ │ │ │ └── TemplateRender.cs
│ │ │ ├── Users
│ │ │ │ └── Services
│ │ │ │ ├── UserIdentity.cs
│ │ │ │ └── UserService.cs
│ │ │ └── Using.cs
│ │ ├── BotSharp.Logger
│ │ │ ├── BotSharp.Logger.csproj
│ │ │ ├── BotSharpLoggerExtensions.cs
│ │ │ ├── Hooks
│ │ │ │ ├── CommonContentGeneratingHook.cs
│ │ │ │ ├── TokenStatsConversationHook.cs
│ │ │ │ └── VerboseLogHook.cs
│ │ │ └── Using.cs
│ │ └── BotSharp.OpenAPI
│ │ ├── BackgroundServices
│ │ │ └── ConversationTimeoutService.cs
│ │ ├── BotSharp.OpenAPI.csproj
│ │ ├── BotSharpOpenApiExtensions.cs
│ │ ├── Controllers
│ │ │ ├── AgentController.cs
│ │ │ ├── AgentTaskController.cs
│ │ │ ├── ApplicationController.cs
│ │ │ ├── ConversationController.cs
│ │ │ ├── EvaluatorController.cs
│ │ │ ├── InstructModeController.cs
│ │ │ ├── KnowledgeBaseController.cs
│ │ │ ├── LlmProviderController.cs
│ │ │ ├── LoggerController.cs
│ │ │ ├── PluginController.cs
│ │ │ ├── RouterController.cs
│ │ │ ├── SettingController.cs
│ │ │ └── UserController.cs
│ │ ├── Using.cs
│ │ └── ViewModels
│ │ ├── Agents
│ │ │ ├── AgentCreationModel.cs
│ │ │ ├── AgentTaskCreateModel.cs
│ │ │ ├── AgentTaskUpdateModel.cs
│ │ │ ├── AgentTaskViewModel.cs
│ │ │ ├── AgentUpdateModel.cs
│ │ │ ├── AgentViewModel.cs
│ │ │ └── RoutingRuleUpdateModel.cs
│ │ ├── Conversations
│ │ │ ├── ChatResponseModel.cs
│ │ │ ├── ConversationCreationModel.cs
│ │ │ ├── ConversationViewModel.cs
│ │ │ └── NewMessageModel.cs
│ │ ├── Instructs
│ │ │ └── InstructMessageModel.cs
│ │ └── Users
│ │ ├── UserCreationModel.cs
│ │ └── UserViewModel.cs
│ ├── Plugins
│ │ ├── BotSharp.Plugin.AzureOpenAI
│ │ │ ├── AzureOpenAiPlugin.cs
│ │ │ ├── BotSharp.Plugin.AzureOpenAI.csproj
│ │ │ ├── Providers
│ │ │ │ ├── ChatCompletionProvider.cs
│ │ │ │ ├── ProviderHelper.cs
│ │ │ │ └── TextCompletionProvider.cs
│ │ │ └── Settings
│ │ │ └── AzureOpenAiSettings.cs
│ │ ├── BotSharp.Plugin.ChatbotUI
│ │ │ ├── BotSharp.Plugin.ChatbotUI.csproj
│ │ │ ├── ChatbotUiController.cs
│ │ │ ├── Chatbot-UI.md
│ │ │ └── ViewModels
│ │ │ ├── OpenAiChatOutput.cs
│ │ │ ├── OpenAiChoice.cs
│ │ │ ├── OpenAiMessageBody.cs
│ │ │ ├── OpenAiMessageInput.cs
│ │ │ └── OpenAiModels.cs
│ │ ├── BotSharp.Plugin.ChatHub
│ │ │ ├── BotSharp.Plugin.ChatHub.csproj
│ │ │ ├── ChatHubPlugin.cs
│ │ │ ├── Controllers
│ │ │ │ └── ChatHubController.cs
│ │ │ ├── Hooks
│ │ │ │ ├── ChatHubConversationHook.cs
│ │ │ │ └── StreamingLogHook.cs
│ │ │ ├── SignalRHub.cs
│ │ │ ├── Using.cs
│ │ │ └── WebSocketsMiddleware.cs
│ │ ├── BotSharp.Plugin.Dashboard
│ │ │ ├── BotSharp.Plugin.Dashboard.csproj
│ │ │ ├── DashboardPlugin.cs
│ │ │ ├── Hooks
│ │ │ │ └── StatsConversationHook.cs
│ │ │ └── Using.cs
│ │ ├── BotSharp.Plugin.GoogleAI
│ │ │ ├── BotSharp.Plugin.GoogleAI.csproj
│ │ │ ├── GoogleAiPlugin.cs
│ │ │ ├── Providers
│ │ │ │ ├── ChatCompletionProvider.cs
│ │ │ │ └── TextCompletionProvider.cs
│ │ │ ├── Settings
│ │ │ │ ├── GoogleAiSettings.cs
│ │ │ │ └── PaLMSetting.cs
│ │ │ └── Using.cs
│ │ ├── BotSharp.Plugin.HttpHandler
│ │ │ ├── BotSharp.Plugin.HttpHandler.csproj
│ │ │ ├── data
│ │ │ │ └── agents
│ │ │ │ └── 87c458fc-ec5f-40ae-8ed6-05dda8a07523
│ │ │ │ ├── agent.json
│ │ │ │ ├── functions.json
│ │ │ │ └── instruction.liquid
│ │ │ ├── HttpHandlerPlugin.cs
│ │ │ └── Using.cs
│ │ ├── BotSharp.Plugin.HuggingFace
│ │ │ ├── BotSharp.Plugin.HuggingFace.csproj
│ │ │ ├── DataModels
│ │ │ │ ├── InferenceInput.cs
│ │ │ │ ├── InferenceInputOptions.cs
│ │ │ │ ├── InferenceInputParameters.cs
│ │ │ │ └── TextGenResponse.cs
│ │ │ ├── HuggingChat
│ │ │ │ ├── HuggingChatController.cs
│ │ │ │ ├── TextToken.cs
│ │ │ │ └── ViewModels
│ │ │ │ ├── ChatInput.cs
│ │ │ │ ├── ChatResponse.cs
│ │ │ │ ├── ConversationCreationModel.cs
│ │ │ │ └── ConversationViewModel.cs
│ │ │ ├── HuggingChat-UI.md
│ │ │ ├── HuggingFacePlugin.cs
│ │ │ ├── Providers
│ │ │ │ └── ChatCompletionProvider.cs
│ │ │ ├── Services
│ │ │ │ ├── AuthHeaderHandler.cs
│ │ │ │ └── IInferenceApi.cs
│ │ │ ├── Settings
│ │ │ │ └── HuggingFaceSettings.cs
│ │ │ └── Using.cs
│ │ ├── BotSharp.Plugin.KnowledgeBase
│ │ │ ├── BotSharp.Plugin.KnowledgeBase.csproj
│ │ │ ├── data
│ │ │ │ └── agents
│ │ │ │ └── f5679799-ba89-4fef-936a-bcc311e5f14d
│ │ │ │ ├── agent.json
│ │ │ │ ├── functions.json
│ │ │ │ └── instruction.liquid
│ │ │ ├── Functions
│ │ │ │ └── SearchKnowledgesFn.cs
│ │ │ ├── KnowledgeBasePlugin.cs
│ │ │ ├── LlmContexts
│ │ │ │ └── KnowledgeContextIn.cs
│ │ │ ├── MemVecDb
│ │ │ │ ├── MemVecDbPlugin.cs
│ │ │ │ ├── MemVectorDatabase.cs
│ │ │ │ └── VecRecord.cs
│ │ │ ├── Services
│ │ │ │ ├── KnowledgeService.cs
│ │ │ │ ├── PigPdf2TextConverter.cs
│ │ │ │ └── TextChopperService.cs
│ │ │ └── Using.cs
│ │ ├── BotSharp.Plugin.LLamaSharp
│ │ │ ├── BotSharp.Plugin.LLamaSharp.csproj
│ │ │ ├── LlamaAiModel.cs
│ │ │ ├── LLamaSharpPlugin.cs
│ │ │ ├── Providers
│ │ │ │ ├── ChatCompletionProvider.cs
│ │ │ │ ├── TextCompletionProvider.cs
│ │ │ │ └── TextEmbeddingProvider.cs
│ │ │ ├── Settings
│ │ │ │ └── LlamaSharpSettings.cs
│ │ │ └── Using.cs
│ │ ├── BotSharp.Plugin.MetaAI
│ │ │ ├── BotSharp.Plugin.MetaAI.csproj
│ │ │ ├── MetaAiPlugin.cs
│ │ │ ├── Providers
│ │ │ │ ├── FaissDb.cs
│ │ │ │ └── fastTextEmbeddingProvider.cs
│ │ │ └── Settings
│ │ │ ├── fastTextSetting.cs
│ │ │ └── MetaAiSettings.cs
│ │ ├── BotSharp.Plugin.MetaMessenger
│ │ │ ├── BotSharp.Plugin.MetaMessenger.csproj
│ │ │ ├── Controllers
│ │ │ │ └── WebhookController.cs
│ │ │ ├── GraphAPIs
│ │ │ │ ├── AuthHeaderHandler.cs
│ │ │ │ └── IMessengerGraphAPI.cs
│ │ │ ├── MessagingModels
│ │ │ │ ├── AttachmentBody.cs
│ │ │ │ ├── AttachmentMessage.cs
│ │ │ │ ├── ButtonItem.cs
│ │ │ │ ├── SenderActionEnum.cs
│ │ │ │ ├── SendingMessageRequest.cs
│ │ │ │ └── SendingMessageResponse.cs
│ │ │ ├── MetaMessengerPlugin.cs
│ │ │ ├── Services
│ │ │ │ ├── ConditionalSerialization.cs
│ │ │ │ └── MessageHandleService.cs
│ │ │ ├── Settings
│ │ │ │ └── MetaMessengerSetting.cs
│ │ │ ├── Using.cs
│ │ │ └── WebhookModels
│ │ │ ├── WebhookMessageBody.cs
│ │ │ ├── WebhookMessage.cs
│ │ │ ├── WebhookMessagePostback.cs
│ │ │ ├── WebhookMessageUser.cs
│ │ │ ├── WebhookObject.cs
│ │ │ ├── WebhookRequest.cs
│ │ │ └── WebhookResponse.cs
│ │ ├── BotSharp.Plugin.MongoStorage
│ │ │ ├── BotSharp.Plugin.MongoStorage.csproj
│ │ │ ├── Collections
│ │ │ │ ├── AgentDocument.cs
│ │ │ │ ├── AgentTaskDocument.cs
│ │ │ │ ├── ConversationDialogDocument.cs
│ │ │ │ ├── ConversationDocument.cs
│ │ │ │ ├── ConversationStateDocument.cs
│ │ │ │ ├── ExecutionLogDocument.cs
│ │ │ │ ├── LlmCompletionLogDocument.cs
│ │ │ │ ├── PluginDocument.cs
│ │ │ │ ├── UserAgentDocument.cs
│ │ │ │ └── UserDocument.cs
│ │ │ ├── Models
│ │ │ │ ├── AgentLlmConfigMongoElement.cs
│ │ │ │ ├── AgentResponseMongoElement.cs
│ │ │ │ ├── AgentTemplateMongoElement.cs
│ │ │ │ ├── DialogMongoElement.cs
│ │ │ │ ├── FunctionDefMongoElement.cs
│ │ │ │ ├── PromptLogMongoElement.cs
│ │ │ │ ├── RoutingRuleMongoElement.cs
│ │ │ │ └── StateMongoElement.cs
│ │ │ ├── MongoBase.cs
│ │ │ ├── MongoDbContext.cs
│ │ │ ├── MongoStoragePlugin.cs
│ │ │ ├── Repository
│ │ │ │ ├── MongoRepository.Agent.cs
│ │ │ │ ├── MongoRepository.AgentTask.cs
│ │ │ │ ├── MongoRepository.Conversation.cs
│ │ │ │ ├── MongoRepository.cs
│ │ │ │ ├── MongoRepository.Log.cs
│ │ │ │ ├── MongoRepository.Plugin.cs
│ │ │ │ ├── MongoRepository.Stats.cs
│ │ │ │ ├── MongoRepository.Transaction.cs
│ │ │ │ └── MongoRepository.User.cs
│ │ │ ├── StringGuidIdGenerator.cs
│ │ │ └── Using.cs
│ │ ├── BotSharp.Plugin.PaddleSharp
│ │ │ ├── BotSharp.Plugin.PaddleSharp.csproj
│ │ │ ├── PaddleSharpPlugin.cs
│ │ │ ├── Providers
│ │ │ │ ├── PaddleOcrConverter.cs
│ │ │ │ └── Pdf2TextConverter.cs
│ │ │ └── Settings
│ │ │ └── PaddleSharpSettings.cs
│ │ ├── BotSharp.Plugin.Qdrant
│ │ │ ├── BotSharp.Plugin.Qdrant.csproj
│ │ │ ├── QdrantDb.cs
│ │ │ ├── QdrantPlugin.cs
│ │ │ └── QdrantSetting.cs
│ │ ├── BotSharp.Plugin.RoutingSpeeder
│ │ │ ├── BotSharp.Plugin.RoutingSpeeder.csproj
│ │ │ ├── Controllers
│ │ │ │ └── RoutingSpeederController.cs
│ │ │ ├── data
│ │ │ │ └── models
│ │ │ │ ├── dbpedia.ftz
│ │ │ │ ├── intent-classifier.h5
│ │ │ │ └── label.txt
│ │ │ ├── Providers
│ │ │ │ ├── IntentClassifier.cs
│ │ │ │ └── Models
│ │ │ │ ├── DialoguePredictionModel.cs
│ │ │ │ └── TrainingParams.cs
│ │ │ ├── RoutingConversationHook.cs
│ │ │ ├── RoutingSpeederPlugin.cs
│ │ │ └── Settings
│ │ │ ├── classifierSetting.cs
│ │ │ └── routerSpeedSettings.cs
│ │ ├── BotSharp.Plugin.SemanticKernel
│ │ │ ├── BotSharp.Plugin.SemanticKernel.csproj
│ │ │ ├── readme.md
│ │ │ ├── SemanticKernelChatCompletionProvider.cs
│ │ │ ├── SemanticKernelMemoryStoreProvider.cs
│ │ │ ├── SemanticKernelPlugin.cs
│ │ │ ├── SemanticKernelTextCompletionProvider.cs
│ │ │ └── SemanticKernelTextEmbeddingProvider.cs
│ │ ├── BotSharp.Plugin.SqlDriver
│ │ │ ├── Actions
│ │ │ │ └── ExecuteQueryAction.cs
│ │ │ ├── BotSharp.Plugin.SqlDriver.csproj
│ │ │ ├── data
│ │ │ │ └── agents
│ │ │ │ └── beda4c12-e1ec-4b4b-b328-3df4a6687c4f
│ │ │ │ ├── agent.json
│ │ │ │ ├── functions.json
│ │ │ │ └── instruction.liquid
│ │ │ ├── Models
│ │ │ │ └── LlmInputArgs.cs
│ │ │ ├── Settings
│ │ │ │ └── SqlDriverSetting.cs
│ │ │ └── SqlDriverPlugin.cs
│ │ ├── BotSharp.Plugin.TelegramBots
│ │ │ ├── BotSharp.Plugin.TelegramBots.csproj
│ │ │ └── TelegramBotsPlugin.cs
│ │ ├── BotSharp.Plugin.Twilio
│ │ │ ├── BotSharp.Plugin.Twilio.csproj
│ │ │ ├── Controllers
│ │ │ │ ├── TwilioEmailController.cs
│ │ │ │ └── TwilioVoiceController.cs
│ │ │ ├── Services
│ │ │ │ └── TwilioService.cs
│ │ │ ├── Settings
│ │ │ │ └── TwilioSetting.cs
│ │ │ ├── TwilioPlugin.cs
│ │ │ └── Using.cs
│ │ ├── BotSharp.Plugin.WebDriver
│ │ │ ├── BotSharp.Plugin.WebDriver.csproj
│ │ │ ├── data
│ │ │ │ └── agents
│ │ │ │ └── f3ae2a0f-e6ba-4ee1-a0b9-75d7431ff32b
│ │ │ │ ├── agent.json
│ │ │ │ ├── functions.json
│ │ │ │ ├── instruction.liquid
│ │ │ │ └── templates
│ │ │ │ ├── extract_data.liquid
│ │ │ │ └── html_parser.liquid
│ │ │ ├── Drivers
│ │ │ │ ├── IWebBrowser.cs
│ │ │ │ └── PlaywrightDriver
│ │ │ │ ├── PlaywrightInstance.cs
│ │ │ │ ├── PlaywrightWebDriver.ChangeCheckbox.cs
│ │ │ │ ├── PlaywrightWebDriver.ChangeListValue.cs
│ │ │ │ ├── PlaywrightWebDriver.CheckRadioButton.cs
│ │ │ │ ├── PlaywrightWebDriver.ClickButton.cs
│ │ │ │ ├── PlaywrightWebDriver.ClickElement.cs
│ │ │ │ ├── PlaywrightWebDriver.CloseBrowser.cs
│ │ │ │ ├── PlaywrightWebDriver.cs
│ │ │ │ ├── PlaywrightWebDriver.EvaluateScript.cs
│ │ │ │ ├── PlaywrightWebDriver.ExtractData.cs
│ │ │ │ ├── PlaywrightWebDriver.GoToPage.cs
│ │ │ │ ├── PlaywrightWebDriver.InputUserPassword.cs
│ │ │ │ ├── PlaywrightWebDriver.InputUserText.cs
│ │ │ │ ├── PlaywrightWebDriver.LaunchBrowser.cs
│ │ │ │ └── PlaywrightWebDriver.Screenshot.cs
│ │ │ ├── Functions
│ │ │ │ ├── ChangeCheckboxFn.cs
│ │ │ │ ├── ChangeListValueFn.cs
│ │ │ │ ├── CheckRadioButtonFn.cs
│ │ │ │ ├── ClickButtonFn.cs
│ │ │ │ ├── ClickElementFn.cs
│ │ │ │ ├── CloseBrowserFn.cs
│ │ │ │ ├── EvaluateScriptFn.cs
│ │ │ │ ├── ExtractDataFn.cs
│ │ │ │ ├── GoToPageFn.cs
│ │ │ │ ├── InputUserPasswordFn.cs
│ │ │ │ ├── InputUserTextFn.cs
│ │ │ │ └── OpenBrowserFn.cs
│ │ │ ├── LlmContexts
│ │ │ │ ├── BrowsingContextIn.cs
│ │ │ │ └── HtmlElementContextOut.cs
│ │ │ ├── Models
│ │ │ │ ├── BrowserActionParams.cs
│ │ │ │ └── MarkupProperties.cs
│ │ │ ├── README.md
│ │ │ ├── Services
│ │ │ │ ├── WebDriverService.AssembleMarkup.cs
│ │ │ │ ├── WebDriverService.cs
│ │ │ │ ├── WebDriverService.ExtraData.cs
│ │ │ │ ├── WebDriverService.InferElement.cs
│ │ │ │ └── WebDriverService.NewScreenshotFilePath.cs
│ │ │ ├── Using.cs
│ │ │ └── WebDriverPlugin.cs
│ │ └── BotSharp.Plugin.WeChat
│ │ ├── BotSharpMessageHandler.cs
│ │ ├── BotSharp.Plugin.WeChat.csproj
│ │ ├── IMessageQueue.cs
│ │ ├── README.md
│ │ ├── Users
│ │ │ ├── IWeChatAccountUserService.cs
│ │ │ └── WeChatAccountUserService.cs
│ │ ├── WeChatBackgroundService.cs
│ │ ├── WeChatMessage.cs
│ │ └── WeChatPlugin.cs
│ └── WebStarter
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── WebStarter.csproj
│ └── wwwroot
│ └── favicon.ico
└── tests
├── BotSharp.Plugin.PizzaBot
│ ├── BotSharp.Plugin.PizzaBot.csproj
│ ├── data
│ │ ├── agents
│ │ │ ├── 8970b1e5-d260-4e2c-90b1-f1415a257c18
│ │ │ │ ├── agent.json
│ │ │ │ └── templates
│ │ │ │ └── task.place_pizza_order.liquid
│ │ │ ├── b284db86-e9c2-4c25-a59e-4649797dd130
│ │ │ │ ├── agent.json
│ │ │ │ ├── functions.json
│ │ │ │ └── instruction.liquid
│ │ │ ├── c2b57a74-ae4e-4c81-b3ad-9ac5bff982bd
│ │ │ │ ├── agent.json
│ │ │ │ ├── functions.json
│ │ │ │ ├── instruction.liquid
│ │ │ │ └── responses
│ │ │ │ └── func.get_pizza_price.0.liquid
│ │ │ └── fe8c60aa-b114-4ef3-93cb-a8efeac80f75
│ │ │ ├── agent.json
│ │ │ ├── functions.json
│ │ │ └── instruction.liquid
│ │ └── users
│ │ ├── 10d12798-08fb-4aa6-977b-5dd94d82dbfe
│ │ │ └── user.json
│ │ ├── 456e35c5-caf0-4d45-9084-b44a8ca717e4
│ │ │ └── user.json
│ │ ├── d0e6680d-03d5-4ed8-bdcd-aa7d86f2a1bc
│ │ │ └── user.json
│ │ └── e465af5f-044f-414b-b670-92834929b96c
│ │ └── user.json
│ ├── documents
│ │ ├── pizza-recipebooklet-1.pdf
│ │ └── RDD-ChicagoThinCrust.pdf
│ ├── Functions
│ │ ├── GetOrderStatusFn.cs
│ │ ├── GetPizzaPricesFn.cs
│ │ ├── GetPizzaTypesFn.cs
│ │ ├── MakePaymentFn.cs
│ │ └── PlaceOrderFn.cs
│ ├── Hooks
│ │ ├── CommonAgentHook.cs
│ │ └── PizzaBotAgentHook.cs
│ ├── PizzaBotPlugin.cs
│ └── Using.cs
├── BotSharp.Plugin.SemanticKernel.UnitTests
│ ├── BotSharp.Plugin.SemanticKernel.UnitTests.csproj
│ ├── Helpers
│ │ ├── ResultHelper.cs
│ │ └── SemanticKernelHelper.cs
│ ├── SemanticKernelChatCompletionProviderTests.cs
│ ├── SemanticKernelPluginTests.cs
│ ├── SemanticKernelTextCompletionProviderTests.cs
│ └── Usings.cs
└── UnitTest
├── UnitTest1.cs
├── UnitTest.csproj
└── Usings.cs
224 directories, 638 files
好例子网口号:伸出你的我的手 — 分享!
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论