XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEExtension

【DLL】XFE各类拓展是一个C#的DLL库,旨在优化C#代码中常用语句的使用,并提供更简洁的访问方式,同时提供Xunit测试框架,快速搭建服务器/客户端,免费ChatGPTAPI接口,免费通讯服务器,XFE下载器,新增格式等

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFEExtension

完善部分代码逻辑

19c2beb
XFE工作室室长 <mail@xfegzs.com>
提交于

代码差异

6 个文件 +37 -127
Modified XFEExtension.NetCore/FormatExtension/XFEDictionary.cs +1 -1
@@ -7,6 +7,7 @@ namespace XFEExtension.NetCore.FormatExtension;
7 7 /// </summary>
8 8 public class XFEDictionary : ICollection<XFEEntry>
9 9 {
10 private List<XFEEntry> xFEDictionaryList = [];
10 11 /// <summary>
11 12 /// 字典分隔符
12 13 /// </summary>
@@ -15,7 +16,6 @@ public class XFEDictionary : ICollection<XFEEntry>
15 16 /// 条目分隔符
16 17 /// </summary>
17 18 public static string[] EntrySeparator { get; } = ["[+-", "-+]"];
18 private List<XFEEntry> xFEDictionaryList = [];
19 19 /// <summary>
20 20 /// 字典中的条目数
21 21 /// </summary>
Modified XFEExtension.NetCore/XFEChatGPT/ChatGPTInnerClass/HelperClass/PrivateReceivedGPTMessage.cs +1 -1
@@ -2,4 +2,4 @@
2 2
3 3 namespace XFEExtension.NetCore.XFEChatGPT.ChatGPTInnerClass.HelperClass;
4 4
5 class PrivateReceivedGPTMessage(string id, string @object, long created, string model, TokenUsage usage, PrivateMessageChoice[] choices) : ReceivedGPTMessage(id, @object, created, model, usage, choices);
5 class PrivateReceivedGPTMessage(string id, string @object, long created, string model, TokenUsage usage, MessageChoice[] choices) : ReceivedGPTMessage(id, @object, created, model, usage, choices);
Modified XFEExtension.NetCore/XFEChatGPT/ChatGPTInnerClass/HelperClass/XFEGPTMessageCollection.cs +20 -52
@@ -72,34 +72,26 @@ public class XFEGPTMessageCollection : IEnumerable<XFEGPTMessage>
72 72 /// 添加XFEGPT消息
73 73 /// </summary>
74 74 /// <param name="xFEGPTMessage"></param>
75 public void Add(XFEGPTMessage xFEGPTMessage)
76 {
77 xFEGPTMessages.Add(xFEGPTMessage);
78 }
75 public void Add(XFEGPTMessage xFEGPTMessage) => xFEGPTMessages.Add(xFEGPTMessage);
76
79 77 /// <summary>
80 78 /// 添加XFEGPT消息
81 79 /// </summary>
82 80 /// <param name="xFEGPTMessages"></param>
83 public void AddRange(XFEGPTMessage[] xFEGPTMessages)
84 {
85 this.xFEGPTMessages.AddRange(xFEGPTMessages);
86 }
81 public void AddRange(XFEGPTMessage[] xFEGPTMessages) => this.xFEGPTMessages.AddRange(xFEGPTMessages);
82
87 83 /// <summary>
88 84 /// 根据指定的ID移除XFEGPT消息
89 85 /// </summary>
90 86 /// <param name="index"></param>
91 public void RemoveAt(int index)
92 {
93 xFEGPTMessages.RemoveAt(index);
94 }
87 public void RemoveAt(int index) => xFEGPTMessages.RemoveAt(index);
88
95 89 /// <summary>
96 90 /// 移除XFEGPT消息
97 91 /// </summary>
98 92 /// <param name="xFEGPTMessage"></param>
99 public void Remove(XFEGPTMessage xFEGPTMessage)
100 {
101 xFEGPTMessages.Remove(xFEGPTMessage);
102 }
93 public void Remove(XFEGPTMessage xFEGPTMessage) => xFEGPTMessages.Remove(xFEGPTMessage);
94
103 95 /// <summary>
104 96 /// 根据指定的ID在其后插入XFEGPT消息
105 97 /// </summary>
@@ -110,37 +102,25 @@ public class XFEGPTMessageCollection : IEnumerable<XFEGPTMessage>
110 102 {
111 103 for (var i = 0; i < xFEGPTMessages.Count; i++)
112 104 {
113 if (xFEGPTMessages[i].MessageId == messageId)
114 {
115 xFEGPTMessages.Insert(i, xFEGPTMessage);
116 return;
117 }
105 if (xFEGPTMessages[i].MessageId != messageId)
106 continue;
107 xFEGPTMessages.Insert(i, xFEGPTMessage);
108 return;
118 109 }
119 110 throw new XFEChatGPTException("消息集合中没有指定ID的消息!");
120 111 }
121 112 /// <summary>
122 113 /// 清除XFEGPT消息
123 114 /// </summary>
124 public void Clear()
125 {
126 xFEGPTMessages.Clear();
127 }
115 public void Clear() => xFEGPTMessages.Clear();
116
128 117 /// <summary>
129 118 /// 通过消息ID获取XFEGPT消息
130 119 /// </summary>
131 120 /// <param name="messageId"></param>
132 121 /// <returns></returns>
133 public XFEGPTMessage? GetXFEGPTMessageByMessageId(string messageId)
134 {
135 foreach (var xFEGPTMessage in xFEGPTMessages)
136 {
137 if (xFEGPTMessage.MessageId == messageId)
138 {
139 return xFEGPTMessage;
140 }
141 }
142 return null;
143 }
122 public XFEGPTMessage? GetXFEGPTMessageByMessageId(string messageId) => xFEGPTMessages.FirstOrDefault(xFEGPTMessage => xFEGPTMessage.MessageId == messageId);
123
144 124 /// <summary>
145 125 /// 获取本集合的GPTMessage数组
146 126 /// </summary>
@@ -148,10 +128,7 @@ public class XFEGPTMessageCollection : IEnumerable<XFEGPTMessage>
148 128 public GPTMessage[] GetGPTMessages()
149 129 {
150 130 List<GPTMessage> gPTMessages = [];
151 foreach (var xFEGPTMessage in xFEGPTMessages)
152 {
153 gPTMessages.Add(xFEGPTMessage.GPTMessage);
154 }
131 gPTMessages.AddRange(xFEGPTMessages.Select(xFEGPTMessage => xFEGPTMessage.GPTMessage));
155 132 return [.. gPTMessages];
156 133 }
157 134 /// <summary>
@@ -161,10 +138,7 @@ public class XFEGPTMessageCollection : IEnumerable<XFEGPTMessage>
161 138 public string[] GetGPTMessageStrings()
162 139 {
163 140 List<string> gPTMessages = [];
164 foreach (var xFEGPTMessage in xFEGPTMessages)
165 {
166 gPTMessages.Add(xFEGPTMessage.GPTMessage.Content);
167 }
141 gPTMessages.AddRange(xFEGPTMessages.Select(xFEGPTMessage => xFEGPTMessage.GPTMessage.Content));
168 142 return [.. gPTMessages];
169 143 }
170 144 /// <summary>
@@ -174,14 +148,8 @@ public class XFEGPTMessageCollection : IEnumerable<XFEGPTMessage>
174 148 /// <returns></returns>
175 149 public XFEGPTMessage this[int index]
176 150 {
177 get
178 {
179 return xFEGPTMessages[index];
180 }
181 set
182 {
183 xFEGPTMessages[index] = value;
184 }
151 get => xFEGPTMessages[index];
152 set => xFEGPTMessages[index] = value;
185 153 }
186 154 /// <summary>
187 155 /// 获取最后一个角色
Modified XFEExtension.NetCore/XFEChatGPT/ChatGPTModel.cs +2 -1
@@ -1,4 +1,5 @@
1 namespace XFEExtension.NetCore.XFEChatGPT;
1 // ReSharper disable InconsistentNaming
2 namespace XFEExtension.NetCore.XFEChatGPT;
2 3
3 4 /// <summary>
4 5 /// ChatGPT的模型
Modified XFEExtension.NetCore/XFEChatGPT/XFEChatGPT.cs +10 -60
@@ -21,15 +21,7 @@ public class XFEChatGPT : XFEChatGPTBase
21 21 /// </summary>
22 22 public string? SystemString
23 23 {
24 get
25 {
26 if (xFEAskGPTMessage.IsSelfEditData)
27 {
28 throw new XFEChatGPTException("自定义数据模式下不可获取");
29 }
30
31 return xFEAskGPTMessage.SystemContent;
32 }
24 get => xFEAskGPTMessage.IsSelfEditData ? throw new XFEChatGPTException("自定义数据模式下不可获取") : xFEAskGPTMessage.SystemContent;
33 25 set
34 26 {
35 27 if (xFEAskGPTMessage.IsSelfEditData)
@@ -45,15 +37,7 @@ public class XFEChatGPT : XFEChatGPTBase
45 37 /// </summary>
46 38 public string? AskContent
47 39 {
48 get
49 {
50 if (xFEAskGPTMessage.IsSelfEditData)
51 {
52 throw new XFEChatGPTException("自定义数据模式下不可获取");
53 }
54
55 return xFEAskGPTMessage.AskContent;
56 }
40 get => xFEAskGPTMessage.IsSelfEditData ? throw new XFEChatGPTException("自定义数据模式下不可获取") : xFEAskGPTMessage.AskContent;
57 41 set
58 42 {
59 43 if (xFEAskGPTMessage.IsSelfEditData)
@@ -69,15 +53,7 @@ public class XFEChatGPT : XFEChatGPTBase
69 53 /// </summary>
70 54 public ChatGPTModel GPTModel
71 55 {
72 get
73 {
74 if (xFEAskGPTMessage.IsSelfEditData)
75 {
76 return xFEAskGPTMessage.EnvironmentGPTData!.Model.GetModel();
77 }
78
79 return xFEAskGPTMessage.ChatGPTModel!.GetModel();
80 }
56 get => xFEAskGPTMessage.IsSelfEditData ? xFEAskGPTMessage.EnvironmentGPTData!.Model.GetModel() : xFEAskGPTMessage.ChatGPTModel!.GetModel();
81 57 set
82 58 {
83 59 if (xFEAskGPTMessage.IsSelfEditData)
@@ -93,51 +69,25 @@ public class XFEChatGPT : XFEChatGPTBase
93 69 /// <summary>
94 70 /// XFE通信协议
95 71 /// </summary>
96 public XFEComProtocol XFEComProtocol
97 {
98 get
99 {
100 return xFEAskGPTMessage.ComProtocol;
101 }
102 }
72 public XFEComProtocol XFEComProtocol => xFEAskGPTMessage.ComProtocol;
73
103 74 /// <summary>
104 75 /// 设置是否为自定义数据模式
105 76 /// </summary>
106 public bool IsSelfEditData
107 {
108 get
109 {
110 return xFEAskGPTMessage.IsSelfEditData;
111 }
112 }
77 public bool IsSelfEditData => xFEAskGPTMessage.IsSelfEditData;
78
113 79 /// <summary>
114 80 /// 流式输出(打字效果)还是一次性输出
115 81 /// </summary>
116 public bool StreamMode
117 {
118 get
119 {
120 if (xFEAskGPTMessage.IsSelfEditData)
121 {
122 return xFEAskGPTMessage.EnvironmentGPTData!.Stream;
123 }
82 public bool StreamMode => xFEAskGPTMessage.IsSelfEditData ? xFEAskGPTMessage.EnvironmentGPTData!.Stream : xFEAskGPTMessage.Stream;
124 83
125 return xFEAskGPTMessage.Stream;
126 }
127 }
128 84 /// <summary>
129 85 /// ChatGPT的环境数据
130 86 /// </summary>
131 87 public EnvironmentGPTData? EnvironmentGPTData
132 88 {
133 get
134 {
135 return xFEAskGPTMessage.EnvironmentGPTData;
136 }
137 set
138 {
139 xFEAskGPTMessage.EnvironmentGPTData = value;
140 }
89 get => xFEAskGPTMessage.EnvironmentGPTData;
90 set => xFEAskGPTMessage.EnvironmentGPTData = value;
141 91 }
142 92 #endregion
143 93 #region 公有方法
Modified XFEExtension.NetCore/XFPManager/XProperty.cs +3 -12
@@ -2,16 +2,7 @@
2 2
3 3 internal class XProperty
4 4 {
5 private object? property;
6 public object? Property
7 {
8 get { return property; }
9 set { property = value; }
10 }
11 private string? propertyName;
12 public string? Name
13 {
14 get { return propertyName; }
15 set { propertyName = value; }
16 }
5 public object? Property { get; set; }
6
7 public string? Name { get; set; }
17 8 }