Skip to content

Commit a39beec

Browse files
authored
Merge pull request #1164 from iceljc/features/refine-model-settings
Features/refine model settings
2 parents 611d5ca + 57bd04b commit a39beec

File tree

24 files changed

+365
-360
lines changed

24 files changed

+365
-360
lines changed

src/Infrastructure/BotSharp.Abstraction/Conversations/Models/RoleDialogModel.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ public class RoleDialogModel : ITrackableMessage
110110
/// <summary>
111111
/// Files to be used in conversation
112112
/// </summary>
113+
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
113114
public List<BotSharpFile>? Files { get; set; }
114115

115116
/// <summary>
@@ -133,6 +134,12 @@ public class RoleDialogModel : ITrackableMessage
133134
public bool IsStreaming { get; set; }
134135

135136

137+
[JsonIgnore(Condition = JsonIgnoreCondition.Always)]
138+
public bool IsFromUser => Role == AgentRole.User;
139+
140+
[JsonIgnore(Condition = JsonIgnoreCondition.Always)]
141+
public bool IsFromAssistant => Role == AgentRole.Assistant || Role == AgentRole.Model;
142+
136143
public RoleDialogModel()
137144
{
138145
}

src/Infrastructure/BotSharp.Abstraction/Conversations/Models/TokenStatsModel.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,19 @@ public class TokenStatsModel
55
public string Provider { get; set; }
66
public string Model { get; set; }
77
public string Prompt { get; set; }
8+
9+
#region Input
810
public int TextInputTokens { get; set; }
911
public int CachedTextInputTokens { get; set; }
1012
public int AudioInputTokens { get; set; }
1113
public int CachedAudioInputTokens { get; set; }
14+
#endregion
15+
16+
#region Output
1217
public int TextOutputTokens { get; set; }
1318
public int AudioOutputTokens { get; set; }
14-
public AgentLlmConfig LlmConfig { get; set; }
19+
#endregion
20+
1521

1622
public int TotalInputTokens => TextInputTokens + CachedTextInputTokens + AudioInputTokens + CachedAudioInputTokens;
1723
public int TotalOutputTokens => TextOutputTokens + AudioOutputTokens;

src/Infrastructure/BotSharp.Abstraction/Files/Enums/FileSourceType.cs renamed to src/Infrastructure/BotSharp.Abstraction/Files/Enums/FileSource.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
namespace BotSharp.Abstraction.Files.Enums;
22

3-
public static class FileSourceType
3+
public static class FileSource
44
{
55
public const string User = "user";
66
public const string Bot = "bot";

src/Infrastructure/BotSharp.Abstraction/Files/FileCoreSettings.cs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,5 @@ namespace BotSharp.Abstraction.Files;
55
public class FileCoreSettings
66
{
77
public string Storage { get; set; } = FileStorageEnum.LocalFileStorage;
8-
public SettingBase? Pdf2TextConverter { get; set; }
9-
public SettingBase? Pdf2ImageConverter { get; set; }
108
public SettingBase? ImageConverter { get; set; }
11-
}
12-
13-
public class SettingBase
14-
{
15-
public string Provider { get; set; }
169
}

src/Infrastructure/BotSharp.Abstraction/Files/IFileStorageService.cs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,24 +19,22 @@ public interface IFileStorageService
1919

2020
#region Conversation
2121
/// <summary>
22-
/// Get the message file screenshots for specific content types, e.g., pdf
22+
/// Get the message file screenshots for pdf
2323
/// </summary>
2424
/// <param name="conversationId"></param>
2525
/// <param name="messageIds"></param>
2626
/// <returns></returns>
27-
Task<IEnumerable<MessageFileModel>> GetMessageFileScreenshotsAsync(string conversationId, IEnumerable<string> messageIds);
27+
Task<IEnumerable<MessageFileModel>> GetMessageFileScreenshotsAsync(string conversationId, IEnumerable<string> messageIds, MessageFileScreenshotOptions options);
2828

2929
/// <summary>
3030
/// Get the files that have been uploaded in the chat. No screenshot images are included.
3131
/// </summary>
3232
/// <param name="conversationId"></param>
3333
/// <param name="messageIds"></param>
34-
/// <param name="source"></param>
35-
/// <param name="imageOnly"></param>
34+
/// <param name="options"></param>
3635
/// <returns></returns>
37-
IEnumerable<MessageFileModel> GetMessageFiles(string conversationId, IEnumerable<string> messageIds, string source, IEnumerable<string>? contentTypes = null);
36+
IEnumerable<MessageFileModel> GetMessageFiles(string conversationId, IEnumerable<string> messageIds, MessageFileOptions? options = null);
3837
string GetMessageFile(string conversationId, string messageId, string source, string index, string fileName);
39-
IEnumerable<MessageFileModel> GetMessagesWithFile(string conversationId, IEnumerable<string> messageIds);
4038
bool SaveMessageFiles(string conversationId, string messageId, string source, List<FileDataModel> files);
4139

4240
/// <summary>

src/Infrastructure/BotSharp.Abstraction/Files/Models/MessageFileModel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ public class MessageFileModel : FileInformation
66
public string MessageId { get; set; }
77

88
[JsonPropertyName("file_source")]
9-
public string FileSource { get; set; } = FileSourceType.User;
9+
public string FileSource { get; set; } = Enums.FileSource.User;
1010

1111
[JsonPropertyName("file_index")]
1212
public string FileIndex { get; set; } = string.Empty;
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
namespace BotSharp.Abstraction.Files.Models;
2+
3+
public class MessageFileOptions
4+
{
5+
/// <summary>
6+
/// File sources: user, bot
7+
/// </summary>
8+
public IEnumerable<string>? Sources { get; set; }
9+
10+
/// <summary>
11+
/// File content types
12+
/// </summary>
13+
public IEnumerable<string>? ContentTypes { get; set; }
14+
}
15+
16+
17+
public class MessageFileScreenshotOptions : MessageFileOptions
18+
{
19+
public string ImageConvertProvider { get; set; }
20+
}

src/Infrastructure/BotSharp.Abstraction/Knowledges/Settings/KnowledgeBaseSettings.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,4 @@ public class KnowledgeTextEmbeddingSetting : SettingBase
2020
{
2121
public string Model { get; set; }
2222
public int Dimension { get; set; }
23-
}
24-
25-
public class SettingBase
26-
{
27-
public string Provider { get; set; }
2823
}
Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,27 @@
11
namespace BotSharp.Abstraction.Models;
22

3-
public class LlmConfigBase
3+
public class LlmConfigBase : LlmBase
44
{
55
/// <summary>
6-
/// Llm provider
6+
/// Llm maximum output tokens
77
/// </summary>
8-
public string? LlmProvider { get; set; }
8+
public int? MaxOutputTokens { get; set; }
99

1010
/// <summary>
11-
/// Llm model
11+
/// Llm reasoning effort level
1212
/// </summary>
13-
public string? LlmModel { get; set; }
13+
public string? ReasoningEffortLevel { get; set; }
14+
}
1415

16+
public class LlmBase
17+
{
1518
/// <summary>
16-
/// Llm maximum output tokens
19+
/// Llm provider
1720
/// </summary>
18-
public int? MaxOutputTokens { get; set; }
21+
public string? LlmProvider { get; set; }
1922

2023
/// <summary>
21-
/// Llm reasoning effort level
24+
/// Llm model
2225
/// </summary>
23-
public string? ReasoningEffortLevel { get; set; }
24-
}
26+
public string? LlmModel { get; set; }
27+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
namespace BotSharp.Abstraction.Settings;
2+
3+
public class SettingBase
4+
{
5+
public string Provider { get; set; }
6+
}

0 commit comments

Comments
 (0)