Skip to content

Commit 86407c8

Browse files
authored
Prepare 2.2.0-beta.4 release (Part 2) (#379)
1 parent aaa924e commit 86407c8

26 files changed

+110
-212
lines changed

api/OpenAI.net8.0.cs

+5-13
Original file line numberDiff line numberDiff line change
@@ -332,11 +332,9 @@ public class CodeInterpreterToolResources : IJsonModel<CodeInterpreterToolResour
332332
}
333333
[Experimental("OPENAI001")]
334334
public class FileSearchRankingOptions : IJsonModel<FileSearchRankingOptions>, IPersistableModel<FileSearchRankingOptions> {
335-
public FileSearchRankingOptions();
336-
[SetsRequiredMembers]
337335
public FileSearchRankingOptions(float scoreThreshold);
338336
public FileSearchRanker? Ranker { get; set; }
339-
public required float ScoreThreshold { get; set; }
337+
public float ScoreThreshold { get; set; }
340338
public static explicit operator FileSearchRankingOptions(ClientResult result);
341339
public static implicit operator BinaryContent(FileSearchRankingOptions fileSearchRankingOptions);
342340
}
@@ -356,11 +354,9 @@ public class FileSearchToolResources : IJsonModel<FileSearchToolResources>, IPer
356354
}
357355
[Experimental("OPENAI001")]
358356
public class FunctionToolDefinition : ToolDefinition, IJsonModel<FunctionToolDefinition>, IPersistableModel<FunctionToolDefinition> {
359-
public FunctionToolDefinition();
360-
[SetsRequiredMembers]
361357
public FunctionToolDefinition(string name);
362358
public string Description { get; set; }
363-
public required string FunctionName { get; set; }
359+
public string FunctionName { get; set; }
364360
public BinaryData Parameters { get; set; }
365361
public bool? StrictParameterSchemaEnabled { get; set; }
366362
public new static explicit operator FunctionToolDefinition(ClientResult result);
@@ -2240,11 +2236,9 @@ public class ConversationErrorUpdate : ConversationUpdate, IJsonModel<Conversati
22402236
}
22412237
[Experimental("OPENAI002")]
22422238
public class ConversationFunctionTool : ConversationTool, IJsonModel<ConversationFunctionTool>, IPersistableModel<ConversationFunctionTool> {
2243-
public ConversationFunctionTool();
2244-
[SetsRequiredMembers]
22452239
public ConversationFunctionTool(string name);
22462240
public string Description { get; set; }
2247-
public required string Name { get; set; }
2241+
public string Name { get; set; }
22482242
public BinaryData Parameters { get; set; }
22492243
public new static explicit operator ConversationFunctionTool(ClientResult result);
22502244
public static implicit operator BinaryContent(ConversationFunctionTool conversationFunctionTool);
@@ -3842,11 +3836,9 @@ public enum VectorStoreExpirationAnchor {
38423836
}
38433837
[Experimental("OPENAI001")]
38443838
public class VectorStoreExpirationPolicy : IJsonModel<VectorStoreExpirationPolicy>, IPersistableModel<VectorStoreExpirationPolicy> {
3845-
public VectorStoreExpirationPolicy();
3846-
[SetsRequiredMembers]
38473839
public VectorStoreExpirationPolicy(VectorStoreExpirationAnchor anchor, int days);
3848-
public required VectorStoreExpirationAnchor Anchor { get; set; }
3849-
public required int Days { get; set; }
3840+
public VectorStoreExpirationAnchor Anchor { get; set; }
3841+
public int Days { get; set; }
38503842
public static explicit operator VectorStoreExpirationPolicy(ClientResult result);
38513843
public static implicit operator BinaryContent(VectorStoreExpirationPolicy vectorStoreExpirationPolicy);
38523844
}

api/OpenAI.netstandard2.0.cs

+5-9
Original file line numberDiff line numberDiff line change
@@ -314,10 +314,9 @@ public class CodeInterpreterToolResources : IJsonModel<CodeInterpreterToolResour
314314
public override readonly string ToString();
315315
}
316316
public class FileSearchRankingOptions : IJsonModel<FileSearchRankingOptions>, IPersistableModel<FileSearchRankingOptions> {
317-
public FileSearchRankingOptions();
318317
public FileSearchRankingOptions(float scoreThreshold);
319318
public FileSearchRanker? Ranker { get; set; }
320-
public required float ScoreThreshold { get; set; }
319+
public float ScoreThreshold { get; set; }
321320
public static explicit operator FileSearchRankingOptions(ClientResult result);
322321
public static implicit operator BinaryContent(FileSearchRankingOptions fileSearchRankingOptions);
323322
}
@@ -334,10 +333,9 @@ public class FileSearchToolResources : IJsonModel<FileSearchToolResources>, IPer
334333
public static implicit operator BinaryContent(FileSearchToolResources fileSearchToolResources);
335334
}
336335
public class FunctionToolDefinition : ToolDefinition, IJsonModel<FunctionToolDefinition>, IPersistableModel<FunctionToolDefinition> {
337-
public FunctionToolDefinition();
338336
public FunctionToolDefinition(string name);
339337
public string Description { get; set; }
340-
public required string FunctionName { get; set; }
338+
public string FunctionName { get; set; }
341339
public BinaryData Parameters { get; set; }
342340
public bool? StrictParameterSchemaEnabled { get; set; }
343341
public new static explicit operator FunctionToolDefinition(ClientResult result);
@@ -2135,10 +2133,9 @@ public class ConversationErrorUpdate : ConversationUpdate, IJsonModel<Conversati
21352133
public static implicit operator BinaryContent(ConversationErrorUpdate conversationErrorUpdate);
21362134
}
21372135
public class ConversationFunctionTool : ConversationTool, IJsonModel<ConversationFunctionTool>, IPersistableModel<ConversationFunctionTool> {
2138-
public ConversationFunctionTool();
21392136
public ConversationFunctionTool(string name);
21402137
public string Description { get; set; }
2141-
public required string Name { get; set; }
2138+
public string Name { get; set; }
21422139
public BinaryData Parameters { get; set; }
21432140
public new static explicit operator ConversationFunctionTool(ClientResult result);
21442141
public static implicit operator BinaryContent(ConversationFunctionTool conversationFunctionTool);
@@ -3655,10 +3652,9 @@ public enum VectorStoreExpirationAnchor {
36553652
LastActiveAt = 1
36563653
}
36573654
public class VectorStoreExpirationPolicy : IJsonModel<VectorStoreExpirationPolicy>, IPersistableModel<VectorStoreExpirationPolicy> {
3658-
public VectorStoreExpirationPolicy();
36593655
public VectorStoreExpirationPolicy(VectorStoreExpirationAnchor anchor, int days);
3660-
public required VectorStoreExpirationAnchor Anchor { get; set; }
3661-
public required int Days { get; set; }
3656+
public VectorStoreExpirationAnchor Anchor { get; set; }
3657+
public int Days { get; set; }
36623658
public static explicit operator VectorStoreExpirationPolicy(ClientResult result);
36633659
public static implicit operator BinaryContent(VectorStoreExpirationPolicy vectorStoreExpirationPolicy);
36643660
}

examples/Assistants/Example02_FunctionCalling.cs

+2-4
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,8 @@ string GetCurrentLocation()
2222

2323
const string GetCurrentLocationFunctionName = "get_current_location";
2424

25-
FunctionToolDefinition getLocationTool = new()
25+
FunctionToolDefinition getLocationTool = new(GetCurrentLocationFunctionName)
2626
{
27-
FunctionName = GetCurrentLocationFunctionName,
2827
Description = "Get the user's current location"
2928
};
3029

@@ -36,9 +35,8 @@ string GetCurrentWeather(string location, string unit = "celsius")
3635

3736
const string GetCurrentWeatherFunctionName = "get_current_weather";
3837

39-
FunctionToolDefinition getWeatherTool = new()
38+
FunctionToolDefinition getWeatherTool = new(GetCurrentWeatherFunctionName)
4039
{
41-
FunctionName = GetCurrentWeatherFunctionName,
4240
Description = "Get the current weather in a given location",
4341
Parameters = BinaryData.FromString("""
4442
{

examples/Assistants/Example02_FunctionCallingAsync.cs

+2-4
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,8 @@ string GetCurrentLocation()
2222

2323
const string GetCurrentLocationFunctionName = "get_current_location";
2424

25-
FunctionToolDefinition getLocationTool = new()
25+
FunctionToolDefinition getLocationTool = new(GetCurrentLocationFunctionName)
2626
{
27-
FunctionName = GetCurrentLocationFunctionName,
2827
Description = "Get the user's current location"
2928
};
3029

@@ -36,9 +35,8 @@ string GetCurrentWeather(string location, string unit = "celsius")
3635

3736
const string GetCurrentWeatherFunctionName = "get_current_weather";
3837

39-
FunctionToolDefinition getWeatherTool = new()
38+
FunctionToolDefinition getWeatherTool = new(GetCurrentWeatherFunctionName)
4039
{
41-
FunctionName = GetCurrentWeatherFunctionName,
4240
Description = "Get the current weather in a given location",
4341
Parameters = BinaryData.FromString("""
4442
{

examples/Assistants/Example02b_FunctionCallingStreaming.cs

+2-4
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,8 @@ public async Task Example02b_FunctionCallingStreaming()
1919

2020
// First, define the functions that the assistant will use in its defined tools.
2121

22-
FunctionToolDefinition getTemperatureTool = new()
22+
FunctionToolDefinition getTemperatureTool = new("get_current_temperature")
2323
{
24-
FunctionName = "get_current_temperature",
2524
Description = "Gets the current temperature at a specific location.",
2625
Parameters = BinaryData.FromString("""
2726
{
@@ -41,9 +40,8 @@ public async Task Example02b_FunctionCallingStreaming()
4140
"""),
4241
};
4342

44-
FunctionToolDefinition getRainProbabilityTool = new()
43+
FunctionToolDefinition getRainProbabilityTool = new("get_current_rain_probability")
4544
{
46-
FunctionName = "get_current_rain_probability",
4745
Description = "Gets the current forecasted probability of rain at a specific location,"
4846
+ " represented as a percent chance in the range of 0 to 100.",
4947
Parameters = BinaryData.FromString("""

examples/Assistants/Example04_AllTheTools.cs

+1-2
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,8 @@ static string GetNameOfFamilyMember(string relation)
2323
_ => throw new ArgumentException(relation, nameof(relation))
2424
};
2525

26-
FunctionToolDefinition getNameOfFamilyMemberTool = new()
26+
FunctionToolDefinition getNameOfFamilyMemberTool = new(nameof(GetNameOfFamilyMember))
2727
{
28-
FunctionName = nameof(GetNameOfFamilyMember),
2928
Description = "Provided a family relation type like 'father' or 'mother', "
3029
+ "gets the name of the related person from the user.",
3130
Parameters = BinaryData.FromString("""

examples/Realtime/Example01_AudioFromFileWithToolsAsync.cs

+1-2
Original file line numberDiff line numberDiff line change
@@ -174,9 +174,8 @@ await session.AddItemAsync(
174174

175175
private static ConversationFunctionTool CreateSampleWeatherTool()
176176
{
177-
return new ConversationFunctionTool()
177+
return new ConversationFunctionTool("get_weather_for_location")
178178
{
179-
Name = "get_weather_for_location",
180179
Description = "gets the weather for a location",
181180
Parameters = BinaryData.FromString("""
182181
{

src/Custom/Assistants/FileSearchRankingOptions.cs

-27
Original file line numberDiff line numberDiff line change
@@ -6,33 +6,6 @@ namespace OpenAI.Assistants;
66

77
[Experimental("OPENAI001")]
88
[CodeGenType("FileSearchRankingOptions")]
9-
[CodeGenSuppress(nameof(FileSearchRankingOptions), typeof(float))]
10-
[CodeGenSuppress(nameof(FileSearchRankingOptions), typeof(FileSearchRankingOptions), typeof(float), typeof(IDictionary<string, BinaryData>))]
119
public partial class FileSearchRankingOptions
1210
{
13-
required public float ScoreThreshold
14-
{
15-
get => _scoreThreshold;
16-
set => _scoreThreshold = value;
17-
}
18-
19-
[CodeGenMember("ScoreThreshold")]
20-
private float _scoreThreshold;
21-
22-
public FileSearchRankingOptions()
23-
{ }
24-
25-
[SetsRequiredMembers]
26-
public FileSearchRankingOptions(float scoreThreshold)
27-
{
28-
ScoreThreshold = scoreThreshold;
29-
}
30-
31-
[SetsRequiredMembers]
32-
internal FileSearchRankingOptions(FileSearchRanker? ranker, float scoreThreshold, IDictionary<string, BinaryData> serializedAdditionalRawData)
33-
{
34-
Ranker = ranker;
35-
ScoreThreshold = scoreThreshold;
36-
_additionalBinaryDataProperties = serializedAdditionalRawData;
37-
}
3811
}

src/Custom/Assistants/FunctionToolDefinition.cs

+1-21
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public partial class FunctionToolDefinition : ToolDefinition
1515
private readonly InternalFunctionDefinition _internalFunction;
1616

1717
/// <inheritdoc cref="InternalFunctionDefinition.Name"/>
18-
public required string FunctionName
18+
public string FunctionName
1919
{
2020
get => _internalFunction.Name;
2121
set => _internalFunction.Name = value;
@@ -41,30 +41,10 @@ public bool? StrictParameterSchemaEnabled
4141
set => _internalFunction.Strict = value;
4242
}
4343

44-
/// <summary>
45-
/// Creates a new instance of <see cref="FunctionToolDefinition"/>.
46-
/// </summary>
47-
[SetsRequiredMembers]
4844
public FunctionToolDefinition(string name)
4945
: base("function")
5046
{
5147
Argument.AssertNotNullOrEmpty(name, nameof(name));
5248
_internalFunction = new(null, name, null, null, null);
5349
}
54-
55-
/// <summary>
56-
/// Creates a new instance of <see cref="FunctionToolDefinition"/>.
57-
/// </summary>
58-
public FunctionToolDefinition()
59-
: base("function")
60-
{
61-
_internalFunction = new InternalFunctionDefinition();
62-
}
63-
64-
[SetsRequiredMembers]
65-
internal FunctionToolDefinition(string type, IDictionary<string, BinaryData> serializedAdditionalRawData, InternalFunctionDefinition function)
66-
: base(type, serializedAdditionalRawData)
67-
{
68-
_internalFunction = function;
69-
}
7050
}

src/Custom/RealtimeConversation/ConversationFunctionTool.cs

+1-20
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public partial class ConversationFunctionTool : ConversationTool
1010
{
1111
[CodeGenMember("Name")]
1212
private string _name;
13-
public required string Name
13+
public string Name
1414
{
1515
get => _name;
1616
set => _name = value;
@@ -33,23 +33,4 @@ public BinaryData Parameters
3333
get => _parameters;
3434
set => _parameters = value;
3535
}
36-
37-
public ConversationFunctionTool() : base(ConversationToolKind.Function, null)
38-
{
39-
}
40-
41-
[SetsRequiredMembers]
42-
public ConversationFunctionTool(string name)
43-
: this(ConversationToolKind.Function, null, name, null, null)
44-
{
45-
Argument.AssertNotNull(name, nameof(name));
46-
}
47-
48-
[SetsRequiredMembers]
49-
internal ConversationFunctionTool(ConversationToolKind kind, IDictionary<string, BinaryData> serializedAdditionalRawData, string name, string description, BinaryData parameters) : base(kind, serializedAdditionalRawData)
50-
{
51-
_name = name;
52-
_description = description;
53-
_parameters = parameters;
54-
}
5536
}

src/Custom/VectorStores/VectorStoreExpirationPolicy.cs

+2-42
Original file line numberDiff line numberDiff line change
@@ -9,54 +9,14 @@ namespace OpenAI.VectorStores;
99
/// </summary>
1010
[Experimental("OPENAI001")]
1111
[CodeGenType("VectorStoreExpirationAfter")]
12-
[CodeGenSuppress(nameof(VectorStoreExpirationPolicy))]
1312
[CodeGenSuppress(nameof(VectorStoreExpirationPolicy), typeof(int))]
14-
[CodeGenSuppress(nameof(VectorStoreExpirationPolicy), typeof(VectorStoreExpirationAnchor), typeof(int), typeof(IDictionary<string, BinaryData>))]
1513
public partial class VectorStoreExpirationPolicy
1614
{
1715
[CodeGenMember("Anchor")]
18-
private VectorStoreExpirationAnchor _anchor;
19-
[CodeGenMember("Days")]
20-
private int _days;
16+
public VectorStoreExpirationAnchor Anchor { get; set; } = VectorStoreExpirationAnchor.LastActiveAt;
2117

22-
/// <summary> Anchor timestamp after which the expiration policy applies. Supported anchors: `last_active_at`. </summary>
23-
public required VectorStoreExpirationAnchor Anchor
24-
{
25-
get => _anchor;
26-
set => _anchor = value;
27-
}
28-
29-
/// <summary> The number of days after the anchor time that the vector store will expire. </summary>
30-
public required int Days
31-
{
32-
get => _days;
33-
set => _days = value;
34-
}
35-
36-
/// <summary> Initializes a new instance of <see cref="VectorStoreExpirationPolicy"/>. </summary>
37-
[SetsRequiredMembers]
3818
public VectorStoreExpirationPolicy(VectorStoreExpirationAnchor anchor, int days)
39-
: this(anchor, days, null)
40-
{
41-
Days = days;
42-
Anchor = anchor;
43-
}
44-
45-
/// <summary> Initializes a new instance of <see cref="VectorStoreExpirationPolicy"/>. </summary>
46-
public VectorStoreExpirationPolicy()
47-
{
48-
SerializedAdditionalRawData = new ChangeTrackingDictionary<string, BinaryData>();
49-
}
50-
51-
/// <summary> Initializes a new instance of <see cref="VectorStoreExpirationPolicy"/>. </summary>
52-
/// <param name="anchor"> Anchor timestamp after which the expiration policy applies. Supported anchors: `last_active_at`. </param>
53-
/// <param name="days"> The number of days after the anchor time that the vector store will expire. </param>
54-
/// <param name="additionalBinaryDataProperties"> Keeps track of any properties unknown to the library. </param>
55-
[SetsRequiredMembers]
56-
internal VectorStoreExpirationPolicy(VectorStoreExpirationAnchor anchor, int days, IDictionary<string, BinaryData> additionalBinaryDataProperties)
19+
: this(days, anchor, null)
5720
{
58-
Anchor = anchor;
59-
Days = days;
60-
SerializedAdditionalRawData = additionalBinaryDataProperties ?? new ChangeTrackingDictionary<string, BinaryData>();
6121
}
6222
}

src/Generated/Models/ConversationFunctionTool.Serialization.cs

+4
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ namespace OpenAI.RealtimeConversation
1313
{
1414
public partial class ConversationFunctionTool : IJsonModel<ConversationFunctionTool>
1515
{
16+
internal ConversationFunctionTool()
17+
{
18+
}
19+
1620
void IJsonModel<ConversationFunctionTool>.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
1721
{
1822
writer.WriteStartObject();

src/Generated/Models/ConversationFunctionTool.cs

+17
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,26 @@
22

33
#nullable disable
44

5+
using System;
6+
using System.Collections.Generic;
7+
using OpenAI;
8+
59
namespace OpenAI.RealtimeConversation
610
{
711
public partial class ConversationFunctionTool : ConversationTool
812
{
13+
public ConversationFunctionTool(string name) : base(ConversationToolKind.Function)
14+
{
15+
Argument.AssertNotNull(name, nameof(name));
16+
17+
_name = name;
18+
}
19+
20+
internal ConversationFunctionTool(ConversationToolKind kind, IDictionary<string, BinaryData> additionalBinaryDataProperties, string name, string description, BinaryData parameters) : base(kind, additionalBinaryDataProperties)
21+
{
22+
_name = name;
23+
_description = description;
24+
_parameters = parameters;
25+
}
926
}
1027
}

0 commit comments

Comments
 (0)