diff --git a/dockerfiles/.env b/dockerfiles/.env
new file mode 100644
index 00000000..9e5f5f8a
--- /dev/null
+++ b/dockerfiles/.env
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/dockerfiles/ARTICULATE.Dockerfile b/dockerfiles/ARTICULATE.Dockerfile
deleted file mode 100644
index e4c684f2..00000000
--- a/dockerfiles/ARTICULATE.Dockerfile
+++ /dev/null
@@ -1,16 +0,0 @@
-# stage 1: build
-FROM microsoft/dotnet AS botsharp-articulate
-WORKDIR /source
-
-# copies the rest of your code
-COPY . .
-
-# RUN dotnet build
-RUN dotnet publish BotSharp.WebHost/BotSharp.WebHost.csproj --configuration ARTICULATE --output /app
-
-# copy Settings folder
-WORKDIR /app
-RUN mkdir App_Data/Projects
-
-# stage 2: run
-ENTRYPOINT [ "dotnet", "BotSharp.WebHost.dll" ]
diff --git a/dockerfiles/DIALOGFLOW.Dockerfile b/dockerfiles/DIALOGFLOW.Dockerfile
deleted file mode 100644
index 716defb9..00000000
--- a/dockerfiles/DIALOGFLOW.Dockerfile
+++ /dev/null
@@ -1,16 +0,0 @@
-# stage 1: build
-FROM microsoft/dotnet AS botsharp-dialogflow
-WORKDIR /source
-
-# copies the rest of your code
-COPY . .
-
-# RUN dotnet build
-RUN dotnet publish BotSharp.WebHost/BotSharp.WebHost.csproj --configuration DIALOGFLOW --output /app
-
-# copy Settings folder
-WORKDIR /app
-RUN mkdir App_Data/Projects
-
-# stage 2: run
-ENTRYPOINT [ "dotnet", "BotSharp.WebHost.dll" ]
diff --git a/dockerfiles/RASA.Dockerfile b/dockerfiles/RASA.Dockerfile
deleted file mode 100644
index c9a5b707..00000000
--- a/dockerfiles/RASA.Dockerfile
+++ /dev/null
@@ -1,16 +0,0 @@
-# stage 1: build
-FROM microsoft/dotnet AS botsharp-rasa
-WORKDIR /source
-
-# copies the rest of your code
-COPY . .
-
-# RUN dotnet build
-RUN dotnet publish BotSharp.WebHost/BotSharp.WebHost.csproj --configuration RASA --output /app
-
-# copy Settings folder
-WORKDIR /app
-RUN mkdir App_Data/Projects
-
-# stage 2: run
-ENTRYPOINT [ "dotnet", "BotSharp.WebHost.dll" ]
diff --git a/dockerfiles/WebStarter.Dockerfile b/dockerfiles/WebStarter.Dockerfile
new file mode 100644
index 00000000..3b74890c
--- /dev/null
+++ b/dockerfiles/WebStarter.Dockerfile
@@ -0,0 +1,49 @@
+#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.
+
+FROM mcr.microsoft.com/dotnet/aspnet:8.0-alpine AS base
+USER app
+WORKDIR /app
+EXPOSE 8080
+
+FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
+ARG BUILD_CONFIGURATION=Release
+WORKDIR /src
+COPY ["Directory.Build.props", "."]
+COPY ["src/WebStarter/WebStarter.csproj", "src/WebStarter/"]
+COPY ["tests/BotSharp.Plugin.PizzaBot/BotSharp.Plugin.PizzaBot.csproj", "tests/BotSharp.Plugin.PizzaBot/"]
+COPY ["src/Infrastructure/BotSharp.Core/BotSharp.Core.csproj", "src/Infrastructure/BotSharp.Core/"]
+COPY ["src/Infrastructure/BotSharp.Abstraction/BotSharp.Abstraction.csproj", "src/Infrastructure/BotSharp.Abstraction/"]
+COPY ["src/Infrastructure/BotSharp.Logger/BotSharp.Logger.csproj", "src/Infrastructure/BotSharp.Logger/"]
+COPY ["src/Infrastructure/BotSharp.OpenAPI/BotSharp.OpenAPI.csproj", "src/Infrastructure/BotSharp.OpenAPI/"]
+COPY ["src/Plugins/BotSharp.Plugin.GoogleAI/BotSharp.Plugin.GoogleAI.csproj", "src/Plugins/BotSharp.Plugin.GoogleAI/"]
+COPY ["src/Plugins/BotSharp.Plugin.MongoStorage/BotSharp.Plugin.MongoStorage.csproj", "src/Plugins/BotSharp.Plugin.MongoStorage/"]
+COPY ["src/Plugins/BotSharp.Plugin.AzureOpenAI/BotSharp.Plugin.AzureOpenAI.csproj", "src/Plugins/BotSharp.Plugin.AzureOpenAI/"]
+COPY ["src/Plugins/BotSharp.Plugin.ChatbotUI/BotSharp.Plugin.ChatbotUI.csproj", "src/Plugins/BotSharp.Plugin.ChatbotUI/"]
+COPY ["src/Plugins/BotSharp.Plugin.HuggingFace/BotSharp.Plugin.HuggingFace.csproj", "src/Plugins/BotSharp.Plugin.HuggingFace/"]
+COPY ["src/Plugins/BotSharp.Plugin.KnowledgeBase/BotSharp.Plugin.KnowledgeBase.csproj", "src/Plugins/BotSharp.Plugin.KnowledgeBase/"]
+COPY ["src/Plugins/BotSharp.Plugin.MetaAI/BotSharp.Plugin.MetaAI.csproj", "src/Plugins/BotSharp.Plugin.MetaAI/"]
+COPY ["src/Plugins/BotSharp.Plugin.MetaMessenger/BotSharp.Plugin.MetaMessenger.csproj", "src/Plugins/BotSharp.Plugin.MetaMessenger/"]
+COPY ["src/Plugins/BotSharp.Plugin.Qdrant/BotSharp.Plugin.Qdrant.csproj", "src/Plugins/BotSharp.Plugin.Qdrant/"]
+COPY ["src/Plugins/BotSharp.Plugin.RoutingSpeeder/BotSharp.Plugin.RoutingSpeeder.csproj", "src/Plugins/BotSharp.Plugin.RoutingSpeeder/"]
+COPY ["src/Plugins/BotSharp.Plugin.WeChat/BotSharp.Plugin.WeChat.csproj", "src/Plugins/BotSharp.Plugin.WeChat/"]
+COPY ["src/Plugins/BotSharp.Plugin.SemanticKernel/BotSharp.Plugin.SemanticKernel.csproj", "src/Plugins/BotSharp.Plugin.SemanticKernel/"]
+COPY ["src/Plugins/BotSharp.Plugin.Twilio/BotSharp.Plugin.Twilio.csproj", "src/Plugins/BotSharp.Plugin.Twilio/"]
+COPY ["src/Plugins/BotSharp.Plugin.TelegramBots/BotSharp.Plugin.TelegramBots.csproj", "src/Plugins/BotSharp.Plugin.TelegramBots/"]
+COPY ["src/Plugins/BotSharp.Plugin.ChatHub/BotSharp.Plugin.ChatHub.csproj", "src/Plugins/BotSharp.Plugin.ChatHub/"]
+COPY ["src/Plugins/BotSharp.Plugin.HttpHandler/BotSharp.Plugin.HttpHandler.csproj", "src/Plugins/BotSharp.Plugin.HttpHandler/"]
+COPY ["src/Plugins/BotSharp.Plugin.LLamaSharp/BotSharp.Plugin.LLamaSharp.csproj", "src/Plugins/BotSharp.Plugin.LLamaSharp/"]
+COPY ["src/Plugins/BotSharp.Plugin.SqlDriver/BotSharp.Plugin.SqlDriver.csproj", "src/Plugins/BotSharp.Plugin.SqlDriver/"]
+COPY ["src/Plugins/BotSharp.Plugin.WebDriver/BotSharp.Plugin.WebDriver.csproj", "src/Plugins/BotSharp.Plugin.WebDriver/"]
+RUN dotnet restore "./src/WebStarter/./WebStarter.csproj"
+COPY . .
+WORKDIR "/src/src/WebStarter"
+RUN dotnet build "./WebStarter.csproj" -c $BUILD_CONFIGURATION -o /app/build /p:SolutionName=BotSharp
+
+FROM build AS publish
+ARG BUILD_CONFIGURATION=Release
+RUN dotnet publish "./WebStarter.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false /p:SolutionName=BotSharp
+
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app/publish .
+ENTRYPOINT ["dotnet", "WebStarter.dll"]
\ No newline at end of file
diff --git a/dockerfiles/appsettings.json b/dockerfiles/appsettings.json
new file mode 100644
index 00000000..380008ef
--- /dev/null
+++ b/dockerfiles/appsettings.json
@@ -0,0 +1,158 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ },
+ "AllowedHosts": "*",
+
+ "Jwt": {
+ "Issuer": "botsharp",
+ "Audience": "botsharp",
+ "Key": "31ba6052aa6f4569901facc3a41fcb4a"
+ },
+
+ "LlmProviders": [
+ {
+ "Provider": "azure-openai",
+ "Models": [
+ {
+ "Name": "gpt-35-turbo",
+ "ApiKey": "",
+ "Endpoint": "https://ai4c-demo.openai.azure.com/",
+ "Type": "chat",
+ "PromptCost": 0.0015,
+ "CompletionCost": 0.002
+ },
+ {
+ "Name": "gpt-35-turbo",
+ "ApiKey": "",
+ "Endpoint": "https://ai4c-demo.openai.azure.com/",
+ "Type": "text",
+ "PromptCost": 0.0015,
+ "CompletionCost": 0.002
+ }
+ ]
+ }
+ ],
+
+ "Router": {
+ },
+
+ "Evaluator": {
+ "AgentId": "dfd9b46d-d00c-40af-8a75-3fbdc2b89869"
+ },
+
+ "Agent": {
+ "DataDir": "agents",
+ "TemplateFormat": "liquid",
+ "HostAgentId": "01e2fc5c-2c89-4ec7-8470-7688608b496c",
+ "LlmConfig": {
+ "Provider": "azure-openai",
+ "Model": "gpt-35-turbo"
+ }
+ },
+
+ "Conversation": {
+ "DataDir": "conversations",
+ "ShowVerboseLog": false,
+ "EnableLlmCompletionLog": false,
+ "EnableExecutionLog": true
+ },
+
+ "LlamaSharp": {
+ "Interactive": true,
+ "ModelDir": "C:/Users/haipi/Downloads",
+ "DefaultModel": "llama-2-7b-chat.Q8_0.gguf",
+ "MaxContextLength": 1024,
+ "NumberOfGpuLayer": 20
+ },
+
+ "AzureOpenAi": {
+ },
+
+ "GoogleAi": {
+ "PaLM": {
+ "Endpoint": "https://generativelanguage.googleapis.com",
+ "ApiKey": ""
+ }
+ },
+
+ "HuggingFace": {
+ "Endpoint": "https://api-inference.huggingface.co",
+ "Model": "tiiuae/falcon-180B-chat",
+ "Token": ""
+ },
+
+ "MetaAi": {
+ "fastText": {
+ "ModelPath": "dbpedia.ftz"
+ }
+ },
+
+ "RoutingSpeeder": {
+ },
+
+ "MetaMessenger": {
+ "Endpoint": "https://graph.facebook.com",
+ "ApiVersion": "v17.0",
+ "PageId": "",
+ "PageAccessToken": ""
+ },
+
+ "Twilio": {
+ "PhoneNumber": "+1",
+ "AccountSID": "",
+ "AuthToken": "",
+ "CallbackHost": "https://",
+ "AgentId": "01fcc3e5-9af7-49e6-ad7a-a760bd12dc4a"
+ },
+
+ "Database": {
+ "Default": "FileRepository",
+ "TablePrefix": "BotSharp",
+ "BotSharpMongoDb": "",
+ "FileRepository": "data",
+ "Assemblies": [ "BotSharp.Core" ]
+ },
+
+ "Qdrant": {
+ "Url": "",
+ "ApiKey": ""
+ },
+
+ "WeChat": {
+ "AgentId": "437bed34-1169-4833-95ce-c24b8b56154a",
+ "Token": "#{Token}#",
+ "EncodingAESKey": "#{EncodingAESKey}#",
+ "WeixinAppId": "#{WeixinAppId}#",
+ "WeixinAppSecret": "#{WeixinAppSecret}#"
+ },
+
+ "KnowledgeBase": {
+ "VectorDb": "MemVectorDatabase",
+ "TextEmbedding": "fastTextEmbeddingProvider",
+ "TextCompletion": "AzureOpenAI.Providers.TextCompletionProvider",
+ "Pdf2TextConverter": "PigPdf2TextConverter"
+ },
+
+ "PluginLoader": {
+ "Assemblies": [
+ "BotSharp.Plugin.MongoStorage",
+ "BotSharp.Core",
+ "BotSharp.Plugin.AzureOpenAI",
+ "BotSharp.Plugin.GoogleAI",
+ "BotSharp.Plugin.MetaAI",
+ "BotSharp.Plugin.MetaMessenger",
+ "BotSharp.Plugin.HuggingFace",
+ "BotSharp.Plugin.KnowledgeBase",
+ "BotSharp.Plugin.Qdrant",
+ "BotSharp.Plugin.ChatHub",
+ "BotSharp.Plugin.WeChat",
+ "BotSharp.Plugin.PizzaBot",
+ "BotSharp.Plugin.WebDriver",
+ "BotSharp.Plugin.LLamaSharp"
+ ]
+ }
+}
diff --git a/dockerfiles/docker-compose-articulateui-0.1.0.yml b/dockerfiles/docker-compose-articulateui-0.1.0.yml
deleted file mode 100644
index 7e3c9142..00000000
--- a/dockerfiles/docker-compose-articulateui-0.1.0.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-version: '3.0'
-
-services:
- ui:
- image: botsharpdocker/botsharp-articulateui:0.1.0
- ports: ['0.0.0.0:3000:3000']
- networks: ['botsharp-network']
- environment:
- - rasanluendpoint=http://botsharp:7500
-
- botsharp:
- image: botsharpdocker/botsharp-articulate:0.1.0
- ports: ['0.0.0.0:7500:7500']
- networks: ['botsharp-network']
-
-
-networks: {botsharp-network: {}}
diff --git a/dockerfiles/docker-compose-articulateui.yml b/dockerfiles/docker-compose-articulateui.yml
deleted file mode 100644
index 276c443f..00000000
--- a/dockerfiles/docker-compose-articulateui.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-version: '3.0'
-
-services:
- ui:
- image: samtecspg/articulate-ui:0.12.1
- ports: ['0.0.0.0:3000:3000']
- networks: ['botsharp-network']
- environment:
- - API_URL
-
- api:
- image: samtecspg/articulate-api:0.12.1
- ports: ['0.0.0.0:7500:7500']
- networks: ['botsharp-network']
- entrypoint: ['node', 'start.js']
- environment:
- - SWAGGER_BASE_PATH
-
- botsharp:
- image: botsharpdocker/botsharp-rasa:latest
- ports: ['0.0.0.0:5000:5000']
- networks: ['botsharp-network']
-
-networks: {botsharp-network: {}}
diff --git a/dockerfiles/docker-compose-core.yml b/dockerfiles/docker-compose-core.yml
deleted file mode 100644
index dc5c6c77..00000000
--- a/dockerfiles/docker-compose-core.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-version: '3.0'
-
-services:
- botsharp:
- image: botsharpdocker/botsharp-core:0.2.0
- ports: ['0.0.0.0:3112:3112']
- networks: ['botsharp-network']
-
-networks: {botsharp-network: {}}
diff --git a/dockerfiles/docker-compose-rasaui.yml b/dockerfiles/docker-compose-rasaui.yml
deleted file mode 100644
index 8248c0d7..00000000
--- a/dockerfiles/docker-compose-rasaui.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-version: '3.0'
-
-services:
- ui:
- image: botsharpdocker/botsharp-rasaui:latest
- ports: ['0.0.0.0:5001:5001']
- networks: ['botsharp-network']
- environment:
- - rasanluendpoint=http://botsharp:5000
-
- botsharp:
- image: botsharpdocker/botsharp-rasa:latest
- ports: ['0.0.0.0:5000:5000']
- networks: ['botsharp-network']
-
-
-networks: {botsharp-network: {}}
diff --git a/dockerfiles/docker-compose.yml b/dockerfiles/docker-compose.yml
new file mode 100644
index 00000000..d2f660bd
--- /dev/null
+++ b/dockerfiles/docker-compose.yml
@@ -0,0 +1,17 @@
+version: '3.0'
+
+services:
+ botsharp:
+ image: botsharpdocker/botsharp-core:latest
+ build:
+ context: ../
+ dockerfile: dockerfiles/WebStarter.Dockerfile
+ ports:
+ - 8080:8080
+ env_file:
+ - ./.env
+ volumes:
+ - ./appsettings.json:/app/appsettings.json
+ networks: ['botsharp-network']
+
+networks: {botsharp-network: {}}
diff --git a/src/Infrastructure/BotSharp.OpenAPI/BotSharp.OpenAPI.csproj b/src/Infrastructure/BotSharp.OpenAPI/BotSharp.OpenAPI.csproj
index 8b23713a..f3495bb9 100644
--- a/src/Infrastructure/BotSharp.OpenAPI/BotSharp.OpenAPI.csproj
+++ b/src/Infrastructure/BotSharp.OpenAPI/BotSharp.OpenAPI.csproj
@@ -18,8 +18,6 @@
-
-
@@ -39,8 +37,12 @@
-
+
+
+
+
+
diff --git a/src/Plugins/BotSharp.Plugin.ChatHub/BotSharp.Plugin.ChatHub.csproj b/src/Plugins/BotSharp.Plugin.ChatHub/BotSharp.Plugin.ChatHub.csproj
index 43faa831..4f076a9e 100644
--- a/src/Plugins/BotSharp.Plugin.ChatHub/BotSharp.Plugin.ChatHub.csproj
+++ b/src/Plugins/BotSharp.Plugin.ChatHub/BotSharp.Plugin.ChatHub.csproj
@@ -18,6 +18,7 @@
+
diff --git a/src/Plugins/BotSharp.Plugin.ChatbotUI/BotSharp.Plugin.ChatbotUI.csproj b/src/Plugins/BotSharp.Plugin.ChatbotUI/BotSharp.Plugin.ChatbotUI.csproj
index 6d6b084a..63adc0b8 100644
--- a/src/Plugins/BotSharp.Plugin.ChatbotUI/BotSharp.Plugin.ChatbotUI.csproj
+++ b/src/Plugins/BotSharp.Plugin.ChatbotUI/BotSharp.Plugin.ChatbotUI.csproj
@@ -11,6 +11,7 @@
+
diff --git a/src/Plugins/BotSharp.Plugin.Twilio/BotSharp.Plugin.Twilio.csproj b/src/Plugins/BotSharp.Plugin.Twilio/BotSharp.Plugin.Twilio.csproj
index 729895b3..c8f1a6f5 100644
--- a/src/Plugins/BotSharp.Plugin.Twilio/BotSharp.Plugin.Twilio.csproj
+++ b/src/Plugins/BotSharp.Plugin.Twilio/BotSharp.Plugin.Twilio.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/src/WebStarter/Program.cs b/src/WebStarter/Program.cs
index fbe924a5..0bd669ac 100644
--- a/src/WebStarter/Program.cs
+++ b/src/WebStarter/Program.cs
@@ -24,7 +24,7 @@ builder.Host.UseSerilog();
builder.Services.AddBotSharpCore(builder.Configuration)
.AddBotSharpOpenAPI(builder.Configuration, new[]
{
- "http://localhost:5015",
+ "http://0.0.0.0:5015",
"https://botsharp.scisharpstack.org",
"https://chat.scisharpstack.org"
}, builder.Environment, true)
diff --git a/src/WebStarter/WebStarter.csproj b/src/WebStarter/WebStarter.csproj
index bb421ed0..88d2fe6c 100644
--- a/src/WebStarter/WebStarter.csproj
+++ b/src/WebStarter/WebStarter.csproj
@@ -6,6 +6,8 @@
enable
OutOfProcess
4fb8c9df-7975-4926-ba73-46c8ca440691
+ botsharpwebapi
+ Linux
@@ -30,7 +32,7 @@
-
+
diff --git a/src/WebStarter/appsettings.json b/src/WebStarter/appsettings.json
index 37907ff4..132ba6cc 100644
--- a/src/WebStarter/appsettings.json
+++ b/src/WebStarter/appsettings.json
@@ -10,7 +10,7 @@
"Jwt": {
"Issuer": "botsharp",
"Audience": "botsharp",
- "Key": "31ba6052aa6f4569901facc3a41fcb4a"
+ "Key": "31ba6052aa6f4569901facc3a41fcb4adfd9b46dd00c40af8a753fbdc2b89869"
},
"OAuth": {
@@ -38,15 +38,15 @@
{
"Name": "gpt-35-turbo",
"ApiKey": "",
- "Endpoint": "https://gpt-35-turbo.openai.azure.com/",
+ "Endpoint": "https://ai4c-demo.openai.azure.com/",
"Type": "chat",
"PromptCost": 0.0015,
"CompletionCost": 0.002
},
{
- "Name": "gpt-35-turbo-instruct",
+ "Name": "gpt-35-turbo",
"ApiKey": "",
- "Endpoint": "https://gpt-35-turbo-instruct.openai.azure.com/",
+ "Endpoint": "https://ai4c-demo.openai.azure.com/",
"Type": "text",
"PromptCost": 0.0015,
"CompletionCost": 0.002