Skip to content

Commit 2aeff50

Browse files
authored
Add log_props support (#156)
2 parents e710dee + ae370e3 commit 2aeff50

28 files changed

+315
-25
lines changed

docs/ChatGptNet.Models/ChatGptChoice.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public class ChatGptChoice
1616
| [FinishReason](ChatGptChoice/FinishReason.md) { getset; } | Gets or sets a value specifying why the choice has been returned. |
1717
| [Index](ChatGptChoice/Index.md) { getset; } | Gets or sets the index of the choice in the list. |
1818
| [IsFiltered](ChatGptChoice/IsFiltered.md) { get; } | Gets or sets a value indicating whether the this [`ChatGptChoice`](./ChatGptChoice.md) has been filtered by the content filtering system. |
19+
| [LogProbabilities](ChatGptChoice/LogProbabilities.md) { getset; } | Gets or sets the log probabilities associated with this [`ChatGptChoice`](./ChatGptChoice.md). |
1920
| [Message](ChatGptChoice/Message.md) { getset; } | Gets or sets the message associated with this [`ChatGptChoice`](./ChatGptChoice.md), if any. |
2021

2122
## See Also
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# ChatGptChoice.LogProbabilities property
2+
3+
Gets or sets the log probabilities associated with this [`ChatGptChoice`](../ChatGptChoice.md).
4+
5+
```csharp
6+
public ChatGptLogProbability? LogProbabilities { get; set; }
7+
```
8+
9+
## See Also
10+
11+
* class [ChatGptLogProbability](../ChatGptLogProbability.md)
12+
* class [ChatGptLogProbabilityContent](../ChatGptLogProbabilityContent.md)
13+
* class [ChatGptChoice](../ChatGptChoice.md)
14+
* namespace [ChatGptNet.Models](../../ChatGptNet.md)
15+
16+
<!-- DO NOT EDIT: generated by xmldocmd for ChatGptNet.dll -->
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# ChatGptLogProbability class
2+
3+
Represents the log probability information of a [`completion choice`](./ChatGptChoice.md).
4+
5+
```csharp
6+
public class ChatGptLogProbability
7+
```
8+
9+
## Public Members
10+
11+
| name | description |
12+
| --- | --- |
13+
| [ChatGptLogProbability](ChatGptLogProbability/ChatGptLogProbability.md)() | The default constructor. |
14+
| [Content](ChatGptLogProbability/Content.md) { get; set; } | Gets or sets the list of message content tokens with log probability information. |
15+
16+
## See Also
17+
18+
* namespace [ChatGptNet.Models](../ChatGptNet.md)
19+
* [ChatGptLogProbability.cs](https://github.com/marcominerva/ChatGptNet/tree/master/src/ChatGptNet/Models/ChatGptLogProbability.cs)
20+
21+
<!-- DO NOT EDIT: generated by xmldocmd for ChatGptNet.dll -->
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# ChatGptLogProbability constructor
2+
3+
The default constructor.
4+
5+
```csharp
6+
public ChatGptLogProbability()
7+
```
8+
9+
## See Also
10+
11+
* class [ChatGptLogProbability](../ChatGptLogProbability.md)
12+
* namespace [ChatGptNet.Models](../../ChatGptNet.md)
13+
14+
<!-- DO NOT EDIT: generated by xmldocmd for ChatGptNet.dll -->
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# ChatGptLogProbability.Content property
2+
3+
Gets or sets the list of message content tokens with log probability information.
4+
5+
```csharp
6+
public IEnumerable<ChatGptLogProbabilityContent> Content { get; set; }
7+
```
8+
9+
## See Also
10+
11+
* class [ChatGptLogProbabilityContent](../ChatGptLogProbabilityContent.md)
12+
* class [ChatGptLogProbability](../ChatGptLogProbability.md)
13+
* namespace [ChatGptNet.Models](../../ChatGptNet.md)
14+
15+
<!-- DO NOT EDIT: generated by xmldocmd for ChatGptNet.dll -->
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# ChatGptLogProbabilityContent class
2+
3+
Represents a message content token with log probability information.
4+
5+
```csharp
6+
public class ChatGptLogProbabilityContent
7+
```
8+
9+
## Public Members
10+
11+
| name | description |
12+
| --- | --- |
13+
| [ChatGptLogProbabilityContent](ChatGptLogProbabilityContent/ChatGptLogProbabilityContent.md)() | The default constructor. |
14+
| [Bytes](ChatGptLogProbabilityContent/Bytes.md) { get; set; } | Gets or sets a list of integers representing the UTF-8 bytes representation of the token. Useful in instances where characters are represented by multiple tokens and their byte representations must be combined to generate the correct text representation. Can be `null` if there is no bytes representation for the token. |
15+
| [LogProbality](ChatGptLogProbabilityContent/LogProbality.md) { getset; } | Gets or sets the log probability of this token, if it is within the top 20 most likely tokens. Otherwise, the value -9999.0 is used to signify that the token is very unlikely. |
16+
| [Token](ChatGptLogProbabilityContent/Token.md) { getset; } | Gets or sets the token. |
17+
| [TopLogProbabilities](ChatGptLogProbabilityContent/TopLogProbabilities.md) { getset; } | Gets or sets the list of the most likely tokens and their log probability, at this token position. In rare cases, there may be fewer than the number of requested [`TopLogProbabilities`](./ChatGptParameters/TopLogProbabilities.md) returned. |
18+
19+
## See Also
20+
21+
* namespace [ChatGptNet.Models](../ChatGptNet.md)
22+
* [ChatGptLogProbabilityContent.cs](https://github.com/marcominerva/ChatGptNet/tree/master/src/ChatGptNet/Models/ChatGptLogProbabilityContent.cs)
23+
24+
<!-- DO NOT EDIT: generated by xmldocmd for ChatGptNet.dll -->
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# ChatGptLogProbabilityContent.Bytes property
2+
3+
Gets or sets a list of integers representing the UTF-8 bytes representation of the token. Useful in instances where characters are represented by multiple tokens and their byte representations must be combined to generate the correct text representation. Can be `null` if there is no bytes representation for the token.
4+
5+
```csharp
6+
public IEnumerable<byte>? Bytes { get; set; }
7+
```
8+
9+
## See Also
10+
11+
* class [ChatGptLogProbabilityContent](../ChatGptLogProbabilityContent.md)
12+
* namespace [ChatGptNet.Models](../../ChatGptNet.md)
13+
14+
<!-- DO NOT EDIT: generated by xmldocmd for ChatGptNet.dll -->
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# ChatGptLogProbabilityContent constructor
2+
3+
The default constructor.
4+
5+
```csharp
6+
public ChatGptLogProbabilityContent()
7+
```
8+
9+
## See Also
10+
11+
* class [ChatGptLogProbabilityContent](../ChatGptLogProbabilityContent.md)
12+
* namespace [ChatGptNet.Models](../../ChatGptNet.md)
13+
14+
<!-- DO NOT EDIT: generated by xmldocmd for ChatGptNet.dll -->
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# ChatGptLogProbabilityContent.LogProbality property
2+
3+
Gets or sets the log probability of this token, if it is within the top 20 most likely tokens. Otherwise, the value -9999.0 is used to signify that the token is very unlikely.
4+
5+
```csharp
6+
public double LogProbality { get; set; }
7+
```
8+
9+
## See Also
10+
11+
* class [ChatGptLogProbabilityContent](../ChatGptLogProbabilityContent.md)
12+
* namespace [ChatGptNet.Models](../../ChatGptNet.md)
13+
14+
<!-- DO NOT EDIT: generated by xmldocmd for ChatGptNet.dll -->
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# ChatGptLogProbabilityContent.Token property
2+
3+
Gets or sets the token.
4+
5+
```csharp
6+
public string Token { get; set; }
7+
```
8+
9+
## See Also
10+
11+
* class [ChatGptLogProbabilityContent](../ChatGptLogProbabilityContent.md)
12+
* namespace [ChatGptNet.Models](../../ChatGptNet.md)
13+
14+
<!-- DO NOT EDIT: generated by xmldocmd for ChatGptNet.dll -->
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# ChatGptLogProbabilityContent.TopLogProbabilities property
2+
3+
Gets or sets the list of the most likely tokens and their log probability, at this token position. In rare cases, there may be fewer than the number of requested [`TopLogProbabilities`](../ChatGptParameters/TopLogProbabilities.md) returned.
4+
5+
```csharp
6+
public IEnumerable<ChatGptLogProbabilityContent>? TopLogProbabilities { get; set; }
7+
```
8+
9+
## See Also
10+
11+
* property [TopLogProbabilities](../ChatGptParameters/TopLogProbabilities.md)
12+
* class [ChatGptLogProbabilityContent](../ChatGptLogProbabilityContent.md)
13+
* namespace [ChatGptNet.Models](../../ChatGptNet.md)
14+
15+
<!-- DO NOT EDIT: generated by xmldocmd for ChatGptNet.dll -->

docs/ChatGptNet.Models/ChatGptParameters.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,13 @@ public class ChatGptParameters
1212
| --- | --- |
1313
| [ChatGptParameters](ChatGptParameters/ChatGptParameters.md)() | The default constructor. |
1414
| [FrequencyPenalty](ChatGptParameters/FrequencyPenalty.md) { get; set; } | Gets or sets the frequency penalties for chat completion. Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim (default: 0). |
15+
| [LogProbabilities](ChatGptParameters/LogProbabilities.md) { getset; } | Gets or set a value that determines whether to return log probabilities of the output tokens or not. If `true`, returns the log probabilities of each output token returned in the content of message (default: `false`). |
1516
| [MaxTokens](ChatGptParameters/MaxTokens.md) { getset; } | Gets or sets the maximum number of tokens to generate in the chat completion. The total length of input tokens and generated tokens is limited by the model's context length. |
1617
| [PresencePenalty](ChatGptParameters/PresencePenalty.md) { getset; } | Gets or sets the presence penalties for chat completion. Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics (default: 0). |
1718
| [ResponseFormat](ChatGptParameters/ResponseFormat.md) { getset; } | An object specifying the format that the model must output. Used to enable JSON mode. |
18-
| [Seed](ChatGptParameters/Seed.md) { getset; } | If specified, the system will make a best effort to sample deterministically, such that repeated requests with the same seed and parameters should return the same result. |
19+
| [Seed](ChatGptParameters/Seed.md) { getset; } | Gets or sets a value such that, if specified, the system will make a best effort to sample deterministically, such that repeated requests with the same seed and parameters should return the same result. |
1920
| [Temperature](ChatGptParameters/Temperature.md) { getset; } | Gets or sets what sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic (default: 1). |
21+
| [TopLogProbabilities](ChatGptParameters/TopLogProbabilities.md) { getset; } | Gets or sets a value between 0 and 5 specifying the number of most likely tokens to return at each token position, each with an associated log probability. |
2022
| [TopP](ChatGptParameters/TopP.md) { getset; } | Gets or sets an alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with [`TopP`](./ChatGptParameters/TopP.md) probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered (default: 1). |
2123

2224
## Remarks
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# ChatGptParameters.LogProbabilities property
2+
3+
Gets or set a value that determines whether to return log probabilities of the output tokens or not. If `true`, returns the log probabilities of each output token returned in the content of message (default: `false`).
4+
5+
```csharp
6+
public bool? LogProbabilities { get; set; }
7+
```
8+
9+
## See Also
10+
11+
* property [TopLogProbabilities](./TopLogProbabilities.md)
12+
* class [ChatGptParameters](../ChatGptParameters.md)
13+
* namespace [ChatGptNet.Models](../../ChatGptNet.md)
14+
15+
<!-- DO NOT EDIT: generated by xmldocmd for ChatGptNet.dll -->

docs/ChatGptNet.Models/ChatGptParameters/Seed.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ChatGptParameters.Seed property
22

3-
If specified, the system will make a best effort to sample deterministically, such that repeated requests with the same seed and parameters should return the same result.
3+
Gets or sets a value such that, if specified, the system will make a best effort to sample deterministically, such that repeated requests with the same seed and parameters should return the same result.
44

55
```csharp
66
public int? Seed { get; set; }
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# ChatGptParameters.TopLogProbabilities property
2+
3+
Gets or sets a value between 0 and 5 specifying the number of most likely tokens to return at each token position, each with an associated log probability.
4+
5+
```csharp
6+
public int? TopLogProbabilities { get; set; }
7+
```
8+
9+
## Remarks
10+
11+
[`LogProbabilities`](./LogProbabilities.md)must be set to `true` if this parameter is used.
12+
13+
## See Also
14+
15+
* property [LogProbabilities](./LogProbabilities.md)
16+
* class [ChatGptParameters](../ChatGptParameters.md)
17+
* namespace [ChatGptNet.Models](../../ChatGptNet.md)
18+
19+
<!-- DO NOT EDIT: generated by xmldocmd for ChatGptNet.dll -->

docs/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@
4747
| class [ChatGptFunction](./ChatGptNet.Models/ChatGptFunction.md) | Represents the description of a function available for ChatGPT. |
4848
| class [ChatGptFunctionCall](./ChatGptNet.Models/ChatGptFunctionCall.md) | Represents a response function call. |
4949
| class [ChatGptInnerError](./ChatGptNet.Models/ChatGptInnerError.md) | Contains further details about the error. |
50+
| class [ChatGptLogProbability](./ChatGptNet.Models/ChatGptLogProbability.md) | Represents the log probability information of a [`completion choice`](./ChatGptNet.Models/ChatGptChoice.md). |
51+
| class [ChatGptLogProbabilityContent](./ChatGptNet.Models/ChatGptLogProbabilityContent.md) | Represents a message content token with log probability information. |
5052
| class [ChatGptMessage](./ChatGptNet.Models/ChatGptMessage.md) | Represents a single chat message. |
5153
| class [ChatGptParameters](./ChatGptNet.Models/ChatGptParameters.md) | Represents chat completion parameters. |
5254
| class [ChatGptPromptFilterResults](./ChatGptNet.Models/ChatGptPromptFilterResults.md) | Contains information about content filtering for input prompts. |

samples/ChatGptApi/ChatGptApi.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="8.0.3" />
11-
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="8.3.0" />
10+
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="8.0.4" />
11+
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="8.4.0" />
1212
<PackageReference Include="Polly.Extensions" Version="8.3.1" />
1313
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
1414
<PackageReference Include="TinyHelpers.AspNetCore" Version="3.0.6" />

samples/ChatGptBlazor.Wasm/ChatGptBlazor.Wasm.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
</PropertyGroup>
99

1010
<ItemGroup>
11-
<PackageReference Include="Markdig" Version="0.35.0" />
12-
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.3" />
13-
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="8.0.3" PrivateAssets="all" />
14-
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="8.3.0" />
11+
<PackageReference Include="Markdig" Version="0.37.0" />
12+
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.4" />
13+
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="8.0.4" PrivateAssets="all" />
14+
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="8.4.0" />
1515
<PackageReference Include="Polly.Extensions" Version="8.3.1" />
1616
</ItemGroup>
1717

samples/ChatGptConsole/ChatGptConsole.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
<ItemGroup>
1111
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" />
12-
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="8.3.0" />
12+
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="8.4.0" />
1313
<PackageReference Include="Polly.Extensions" Version="8.3.1" />
1414
</ItemGroup>
1515

samples/ChatGptFunctionCallingConsole/ChatGptFunctionCallingConsole.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
<ItemGroup>
1111
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" />
12-
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="8.3.0" />
12+
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="8.4.0" />
1313
<PackageReference Include="Polly.Extensions" Version="8.3.1" />
1414
</ItemGroup>
1515

samples/ChatGptStreamConsole/ChatGptStreamConsole.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
<ItemGroup>
1111
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" />
12-
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="8.3.0" />
12+
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="8.4.0" />
1313
<PackageReference Include="Polly.Extensions" Version="8.3.1" />
1414
</ItemGroup>
1515

src/ChatGptNet/ChatGptClient.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ public async Task<Guid> LoadConversationAsync(Guid conversationId, IEnumerable<C
234234
if (!replaceHistory)
235235
{
236236
// Otherwise, retrieves the current history and adds the messages.
237-
var conversationHistory = await cache.GetAsync(conversationId, cancellationToken) ?? Enumerable.Empty<ChatGptMessage>();
237+
var conversationHistory = await cache.GetAsync(conversationId, cancellationToken) ?? [];
238238
messages = conversationHistory.Union(messages);
239239
}
240240

@@ -250,7 +250,7 @@ public async Task AddInteractionAsync(Guid conversationId, string question, stri
250250
ArgumentNullException.ThrowIfNull(question);
251251
ArgumentNullException.ThrowIfNull(answer);
252252

253-
var messages = await cache.GetAsync(conversationId, cancellationToken) ?? Enumerable.Empty<ChatGptMessage>();
253+
var messages = await cache.GetAsync(conversationId, cancellationToken) ?? [];
254254
messages = messages.Union([
255255
new()
256256
{
@@ -356,8 +356,10 @@ private ChatGptRequest CreateChatGptRequest(IEnumerable<ChatGptMessage> messages
356356
MaxTokens = parameters?.MaxTokens ?? options.DefaultParameters.MaxTokens,
357357
PresencePenalty = parameters?.PresencePenalty ?? options.DefaultParameters.PresencePenalty,
358358
FrequencyPenalty = parameters?.FrequencyPenalty ?? options.DefaultParameters.FrequencyPenalty,
359-
User = options.User,
360-
ResponseFormat = parameters?.ResponseFormat ?? options.DefaultParameters.ResponseFormat
359+
ResponseFormat = parameters?.ResponseFormat ?? options.DefaultParameters.ResponseFormat,
360+
LogProbabilities = parameters?.LogProbabilities ?? options.DefaultParameters.LogProbabilities,
361+
TopLogProbabilities = parameters?.TopLogProbabilities ?? options.DefaultParameters.TopLogProbabilities,
362+
User = options.User
361363
};
362364

363365
private EmbeddingRequest CreateEmbeddingRequest(IEnumerable<string> messages, EmbeddingParameters? parameters, string? model)

src/ChatGptNet/ChatGptOptionsBuilder.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,9 @@ internal ChatGptOptionsBuilder(ChatGptOptionsBuilder source)
9090
ResponseFormat = source.DefaultParameters?.ResponseFormat,
9191
TopP = source.DefaultParameters?.TopP,
9292
Temperature = source.DefaultParameters?.Temperature,
93-
Seed = source.DefaultParameters?.Seed
93+
Seed = source.DefaultParameters?.Seed,
94+
LogProbabilities = source.DefaultParameters?.LogProbabilities,
95+
TopLogProbabilities = source.DefaultParameters?.TopLogProbabilities
9496
};
9597

9698
DefaultEmbeddingParameters = new()

src/ChatGptNet/Models/ChatGptChoice.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,12 @@ public class ChatGptChoice
5656
/// </remarks>
5757
[JsonPropertyName("finish_reason")]
5858
public string FinishReason { get; set; } = string.Empty;
59+
60+
/// <summary>
61+
/// Gets or sets the log probabilities associated with this <see cref="ChatGptChoice"/>.
62+
/// </summary>
63+
/// <seealso cref="ChatGptLogProbability"/>
64+
/// <seealso cref="ChatGptLogProbabilityContent"/>
65+
[JsonPropertyName("logprobs")]
66+
public ChatGptLogProbability? LogProbabilities { get; set; }
5967
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
namespace ChatGptNet.Models;
2+
3+
/// <summary>
4+
/// Represents the log probability information of a <see cref="ChatGptChoice">completion choice</see>.
5+
/// </summary>
6+
public class ChatGptLogProbability
7+
{
8+
/// <summary>
9+
/// Gets or sets the list of message content tokens with log probability information.
10+
/// </summary>
11+
public IEnumerable<ChatGptLogProbabilityContent> Content { get; set; } = [];
12+
}

0 commit comments

Comments
 (0)