Skip to content

Commit a73cf7a

Browse files
committed
Merge remote-tracking branch 'origin/main' into agents/implement-responses-api-python-sdk
2 parents dbc3e93 + c94bb03 commit a73cf7a

69 files changed

Lines changed: 4346 additions & 473 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.pipelines/templates/build-cs-steps.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,13 @@ steps:
4141
Write-Host "##vso[task.setvariable variable=repoRoot]$repoRoot"
4242
Write-Host "##vso[task.setvariable variable=testDataDir]$testDataDir"
4343
44+
# Using the latest SDK does not prevent us from targeting other platforms.
45+
# It ensures that we've got the latest tooling, fixes, and performance enhancements.
4446
- task: UseDotNet@2
45-
displayName: 'Use .NET 9 SDK'
47+
displayName: 'Use .NET 10 SDK'
4648
inputs:
4749
packageType: sdk
48-
version: '9.0.x'
50+
version: '10.0.x'
4951

5052
# Read version from the version-info artifact produced by compute_version stage.
5153
- task: PowerShell@2
@@ -132,7 +134,7 @@ steps:
132134
targetType: inline
133135
script: |
134136
$base = "$(repoRoot)/sdk/cs/src/bin/Release"
135-
# The SDK targets net9.0 (standard) or net9.0-windows10.0.26100.0 (WinML).
137+
# The SDK targets netstandard2.0 and any compatible runtime.
136138
# Find whichever TFM directory was produced by the build.
137139
$tfmDir = Get-ChildItem $base -Directory | Select-Object -First 1
138140
if (-not $tfmDir) { throw "No target framework directory found under $base" }

.pipelines/templates/test-cs-steps.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ steps:
3434
packageType: sdk
3535
version: '9.0.x'
3636

37+
- task: UseDotNet@2
38+
displayName: 'Install .NET 8 runtime'
39+
inputs:
40+
packageType: runtime
41+
version: '8.0.x'
42+
3743
# Load dependency versions from deps_versions.json
3844
- template: update-deps-versions-steps.yml
3945
parameters:
@@ -54,7 +60,7 @@ steps:
5460
<clear />
5561
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
5662
<add key="LocalFLC" value="${{ parameters.flcNugetDir }}" />
57-
<add key="ORT-Nightly" value="https://pkgs.dev.azure.com/aiinfra/PublicPackages/_packaging/ORT-Nightly/nuget/v3/index.json" />
63+
<add key="AIFoundryLocal_PublicPackages" value="https://pkgs.dev.azure.com/aiinfra/AIFoundryLocal/_packaging/AIFoundryLocal_PublicPackages/nuget/v3/index.json" />
5864
</packageSources>
5965
</configuration>
6066
"@

LICENSE

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,34 @@
1-
MICROSOFT SOFTWARE LICENSE TERMS
2-
3-
FOUNDRY LOCAL
4-
1+
FOUNDRY LOCAL LICENSE TERMS
2+
===========================
3+
4+
FOUNDRY LOCAL SDK
5+
-----------------
6+
7+
MIT License
8+
9+
Copyright (c) Microsoft Corporation
10+
11+
Permission is hereby granted, free of charge, to any person obtaining a copy
12+
of this software and associated documentation files (the "Software"), to deal
13+
in the Software without restriction, including without limitation the rights
14+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15+
copies of the Software, and to permit persons to whom the Software is
16+
furnished to do so, subject to the following conditions:
17+
18+
The above copyright notice and this permission notice shall be included in all
19+
copies or substantial portions of the Software.
20+
21+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27+
SOFTWARE.
28+
29+
FOUNDRY LOCAL CLI
30+
-----------------
31+
532
These license terms are an agreement between you and Microsoft Corporation (or based on where you live, one of its affiliates). They apply to the software named above. The terms also apply to any Microsoft services or updates for the software, except to the extent those have additional terms.
633

734
IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE RIGHTS BELOW.

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,4 +233,7 @@ Foundry Local supports Windows, macOS (Apple silicon), and Linux.
233233
234234
## ⚖️ License
235235
236-
Foundry Local is licensed under the Microsoft Software License Terms. For more details, read the [LICENSE](LICENSE) file.
236+
Foundry Local SDK is licensed under the MIT license. For more details, see the [LICENSE](LICENSE) file.
237+
Foundry Local CLI is licensed under the Microsoft Software License Terms. For more details, read the [LICENSE](LICENSE) file.
238+
239+
Individual models made available for use with Foundry Local are subject to the each model's license terms, notices, and use restrictions. Refer to the model's documentation or download/listing page for the applicable terms before using or redistributing a model.

licenses/deepseek.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

licenses/mistral.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

licenses/phi.md

Lines changed: 0 additions & 9 deletions
This file was deleted.

sdk/cpp/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ add_library(CppSdk STATIC
5454
src/catalog.cpp
5555
src/openai_chat_client.cpp
5656
src/openai_audio_client.cpp
57+
src/openai_live_audio_types.cpp
58+
src/openai_live_audio_client.cpp
5759
src/foundry_local_manager.cpp
5860
)
5961

@@ -91,6 +93,7 @@ if (BUILD_TESTING)
9193
test/model_variant_test.cpp
9294
test/catalog_test.cpp
9395
test/client_test.cpp
96+
test/live_audio_test.cpp
9497
)
9598

9699
target_include_directories(CppSdkTests

sdk/cpp/include/foundry_local.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,5 @@
1616
#include "openai/openai_tool_types.h"
1717
#include "openai/openai_chat_client.h"
1818
#include "openai/openai_audio_client.h"
19+
#include "openai/openai_live_audio_types.h"
20+
#include "openai/openai_live_audio_client.h"

sdk/cpp/include/openai/openai_audio_client.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#include <string_view>
88
#include <functional>
99
#include <filesystem>
10+
#include <memory>
1011

1112
#include <gsl/pointers>
1213

@@ -22,6 +23,8 @@ namespace foundry_local {
2223
std::string text;
2324
};
2425

26+
class LiveAudioTranscriptionSession;
27+
2528
class OpenAIAudioClient final {
2629
public:
2730
explicit OpenAIAudioClient(const IModel& model);
@@ -34,6 +37,9 @@ namespace foundry_local {
3437
using StreamCallback = std::function<void(const AudioCreateTranscriptionResponse& chunk)>;
3538
void TranscribeAudioStreaming(const std::filesystem::path& audioFilePath, const StreamCallback& onChunk) const;
3639

40+
/// Create a new live audio transcription session for streaming PCM audio.
41+
std::unique_ptr<LiveAudioTranscriptionSession> CreateLiveTranscriptionSession() const;
42+
3743
private:
3844
OpenAIAudioClient(gsl::not_null<foundry_local::Internal::IFoundryLocalCore*> core, std::string_view modelId,
3945
gsl::not_null<ILogger*> logger);

0 commit comments

Comments
 (0)