From c61704a97faa254d85520c8f0d337baecd1291df Mon Sep 17 00:00:00 2001 From: yt3trees Date: Sun, 23 Jun 2024 22:30:28 +0900 Subject: [PATCH 1/4] Fixed a bug in the Azure Assistants API query string --- .../AzureOpenAiEndpointProvider.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/OpenAI.SDK/EndpointProviders/AzureOpenAiEndpointProvider.cs b/OpenAI.SDK/EndpointProviders/AzureOpenAiEndpointProvider.cs index 100e665b..c7bbaccd 100644 --- a/OpenAI.SDK/EndpointProviders/AzureOpenAiEndpointProvider.cs +++ b/OpenAI.SDK/EndpointProviders/AzureOpenAiEndpointProvider.cs @@ -211,7 +211,7 @@ public string AssistantList(PaginationRequest? assistantListRequest) var query = assistantListRequest?.GetQueryParameters(); if (!string.IsNullOrWhiteSpace(query)) { - url = $"{url}{query}"; + url = $"{url}&{query}"; } return url; @@ -239,7 +239,7 @@ public string AssistantFileList(string assistantId, PaginationRequest? assistant var query = assistantFileListRequest?.GetQueryParameters(); if (!string.IsNullOrWhiteSpace(query)) { - url = $"{url}{query}"; + url = $"{url}&{query}"; } return url; @@ -287,7 +287,7 @@ public string MessageList(string threadId, PaginationRequest? messageListRequest var query = messageListRequest?.GetQueryParameters(); if (!string.IsNullOrWhiteSpace(query)) { - url = $"{url}{query}"; + url = $"{url}&{query}"; } return url; @@ -320,7 +320,7 @@ public string RunList(string threadId, PaginationRequest? runListRequest) var query = runListRequest?.GetQueryParameters(); if (!string.IsNullOrWhiteSpace(query)) { - url = $"{url}{query}"; + url = $"{url}&{query}"; } return url; @@ -353,7 +353,7 @@ public string RunStepList(string threadId, string runId, PaginationRequest? runS var query = runStepListRequest?.GetQueryParameters(); if (!string.IsNullOrWhiteSpace(query)) { - url = $"{url}{query}"; + url = $"{url}&{query}"; } return url; @@ -372,7 +372,7 @@ public string VectorStoreList(PaginationRequest baseListRequest) var query = baseListRequest?.GetQueryParameters(); if (!string.IsNullOrWhiteSpace(query)) { - url = $"{url}?{query}"; + url = $"{url}&{query}"; } return url; @@ -415,7 +415,7 @@ public string VectorStoreFileList(string vectorStoreId, VectorStoreFileListReque var query = baseListRequest?.GetQueryParameters(); if (!string.IsNullOrWhiteSpace(query)) { - url = $"{url}?{query}"; + url = $"{url}&{query}"; } return url; @@ -443,7 +443,7 @@ public string VectorStoreFileBatchList(string vectorStoreId, string batchId, Pag var query = baseListRequest?.GetQueryParameters(); if (!string.IsNullOrWhiteSpace(query)) { - url = $"{url}?{query}"; + url = $"{url}&{query}"; } return url; From 5e65f37919f99852202fc75bb48c480f09a43c82 Mon Sep 17 00:00:00 2001 From: Tolga Kayhan Date: Thu, 11 Jul 2024 20:24:30 +0100 Subject: [PATCH 2/4] Added tool_resources support --- OpenAI.SDK/ObjectModels/SharedModels/AssistantResponse.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/OpenAI.SDK/ObjectModels/SharedModels/AssistantResponse.cs b/OpenAI.SDK/ObjectModels/SharedModels/AssistantResponse.cs index a861a005..98ca7968 100644 --- a/OpenAI.SDK/ObjectModels/SharedModels/AssistantResponse.cs +++ b/OpenAI.SDK/ObjectModels/SharedModels/AssistantResponse.cs @@ -63,4 +63,10 @@ public record AssistantResponse : BaseResponse, IOpenAiModels.IId, IOpenAiModels /// [JsonPropertyName("tools")] public List Tools { get; set; } + + /// + /// A set of resources that are used by the assistant's tools. The resources are specific to the type of tool. For example, the code_interpreter tool requires a list of file IDs, while the file_search tool requires a list of vector store IDs. + /// + [JsonPropertyName("tool_resources")] + public ToolResources? ToolResources { get; set; } } \ No newline at end of file From f23239723c000f47aaa032ce6c15f7569fb1eb56 Mon Sep 17 00:00:00 2001 From: Tolga Kayhan Date: Thu, 11 Jul 2024 20:29:04 +0100 Subject: [PATCH 3/4] Update for 8.6.0 --- OpenAI.SDK/OpenAI.csproj | 2 +- Readme.md | 11 ++++------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/OpenAI.SDK/OpenAI.csproj b/OpenAI.SDK/OpenAI.csproj index f2f18da4..75433b5c 100644 --- a/OpenAI.SDK/OpenAI.csproj +++ b/OpenAI.SDK/OpenAI.csproj @@ -10,7 +10,7 @@ OpenAI-Betalgo.png true OpenAI SDK by Betalgo - 8.5.1 + 8.6.0 Tolga Kayhan, Betalgo Betalgo Up Ltd. OpenAI ChatGPT, Whisper, GPT-4 and DALLĀ·E dotnet SDK diff --git a/Readme.md b/Readme.md index 9abf27e8..fe075489 100644 --- a/Readme.md +++ b/Readme.md @@ -116,13 +116,10 @@ Due to time constraints, not all methods have been thoroughly tested or fully do Needless to say, I cannot accept responsibility for any damage caused by using the library. ## Changelog -### 8.5.1 -- Introduced `IsDelta` into BaseResponseModel, which can help to determine if incoming data is part of the delta. -- -### 8.5.0 -- Assistant Stream now returns the `BaseResponse` type, but they can be cast to the appropriate types(`RunStepResponse`,`RunResponse`,`MessageResponse`). The reason for this change is that we realized the stream API returns multiple different object types rather than returning a single object type. -- The Base Response now has a `StreamEvent` field, which can be used to determine the type of event while streaming. - +### 8.6.0 +- Fixed Azure Assistant URLs. +- Updated library logo. +- Added support for tool resources in Assistant response. ### [More Change Logs](https://github.com/betalgo/openai/wiki/Change-Logs) --- From 3af8758ddcbff5cc328d778f0716c78c715be052 Mon Sep 17 00:00:00 2001 From: Tolga Kayhan Date: Thu, 11 Jul 2024 20:30:45 +0100 Subject: [PATCH 4/4] Logo Update --- OpenAI.SDK/Betalgo-Ranul-OpenAI-icon.png | Bin 0 -> 9811 bytes OpenAI.SDK/OpenAI-Betalgo.png | Bin 5672 -> 0 bytes OpenAI.SDK/OpenAI.csproj | 6 +----- 3 files changed, 1 insertion(+), 5 deletions(-) create mode 100644 OpenAI.SDK/Betalgo-Ranul-OpenAI-icon.png delete mode 100644 OpenAI.SDK/OpenAI-Betalgo.png diff --git a/OpenAI.SDK/Betalgo-Ranul-OpenAI-icon.png b/OpenAI.SDK/Betalgo-Ranul-OpenAI-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..65900574e31c833ab3ba195141de8cce895ecfd3 GIT binary patch literal 9811 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

NU{;C3IVcABsyYjwwe@j{InY4tforn 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 HX&(N6Ya_5s literal 0 HcmV?d00001 diff --git a/OpenAI.SDK/OpenAI-Betalgo.png b/OpenAI.SDK/OpenAI-Betalgo.png deleted file mode 100644 index c4de8e333268f647c8f6687c74da567f509ae035..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5672 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 PzmU4Bwo3JViLatest Betalgo Up Ltd. https://openai.com/ - OpenAI-Betalgo.png + Betalgo-Ranul-OpenAI-icon.png true OpenAI SDK by Betalgo 8.6.0 @@ -47,10 +47,6 @@ True \ - - True - \ -