From de2d19dbf62b7e1b7f3e4fd05d468ff3d7c20d60 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Wed, 23 Jul 2025 17:07:56 +0000 Subject: [PATCH 1/3] ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.568.2 --- .speakeasy/gen.lock | 76 ++- .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 12 +- README.md | 8 + RELEASES.md | 12 +- docs/models/audiochunk.md | 9 + docs/models/audiochunktype.md | 8 + docs/models/audiotranscriptionrequest.md | 15 + .../models/audiotranscriptionrequeststream.md | 15 + docs/models/basemodelcard.md | 2 +- docs/models/basemodelcardtype.md | 8 + docs/models/batchjobin.md | 3 +- docs/models/batchjobout.md | 3 +- docs/models/classifierftmodelout.md | 2 + docs/models/completionargs.md | 2 +- docs/models/completionftmodelout.md | 2 + docs/models/contentchunk.md | 12 + docs/models/fileschema.md | 4 +- .../jobsapiroutesbatchgetbatchjobsrequest.md | 1 + docs/models/metadata.md | 7 + docs/models/retrievefileout.md | 2 + docs/models/thinkchunk.md | 10 + docs/models/thinkchunktype.md | 8 + docs/models/thinking.md | 17 + docs/models/timestampgranularity.md | 8 + docs/models/toolcall.md | 13 +- docs/models/transcriptionresponse.md | 13 + docs/models/transcriptionsegmentchunk.md | 12 + docs/models/transcriptionstreamdone.md | 14 + docs/models/transcriptionstreamdonetype.md | 8 + docs/models/transcriptionstreamevents.md | 9 + docs/models/transcriptionstreameventsdata.md | 29 ++ docs/models/transcriptionstreameventtypes.md | 11 + docs/models/transcriptionstreamlanguage.md | 10 + .../models/transcriptionstreamlanguagetype.md | 8 + .../models/transcriptionstreamsegmentdelta.md | 12 + .../transcriptionstreamsegmentdeltatype.md | 8 + docs/models/transcriptionstreamtextdelta.md | 10 + .../transcriptionstreamtextdeltatype.md | 8 + docs/models/type.md | 6 +- docs/models/uploadfileout.md | 4 +- docs/models/usageinfo.md | 12 +- docs/sdks/audio/README.md | 6 + docs/sdks/mistraljobs/README.md | 6 +- docs/sdks/transcriptions/README.md | 103 ++++ pyproject.toml | 2 +- src/mistralai/_version.py | 4 +- src/mistralai/audio.py | 18 + src/mistralai/mistral_jobs.py | 16 +- src/mistralai/models/__init__.py | 133 ++++- src/mistralai/models/audiochunk.py | 20 + .../models/audiotranscriptionrequest.py | 97 ++++ .../models/audiotranscriptionrequeststream.py | 97 ++++ src/mistralai/models/basemodelcard.py | 6 +- src/mistralai/models/batchjobin.py | 11 +- src/mistralai/models/batchjobout.py | 13 +- src/mistralai/models/classifierftmodelout.py | 6 + src/mistralai/models/completionargs.py | 5 +- src/mistralai/models/completionftmodelout.py | 6 + src/mistralai/models/contentchunk.py | 6 + src/mistralai/models/fileschema.py | 10 +- .../jobs_api_routes_batch_get_batch_jobsop.py | 9 +- src/mistralai/models/retrievefileout.py | 10 +- src/mistralai/models/thinkchunk.py | 35 ++ src/mistralai/models/timestampgranularity.py | 7 + src/mistralai/models/toolcall.py | 44 +- src/mistralai/models/transcriptionresponse.py | 79 +++ .../models/transcriptionsegmentchunk.py | 41 ++ .../models/transcriptionstreamdone.py | 85 ++++ .../models/transcriptionstreamevents.py | 58 +++ .../models/transcriptionstreameventtypes.py | 12 + .../models/transcriptionstreamlanguage.py | 35 ++ .../models/transcriptionstreamsegmentdelta.py | 41 ++ .../models/transcriptionstreamtextdelta.py | 35 ++ src/mistralai/models/uploadfileout.py | 10 +- src/mistralai/models/usageinfo.py | 73 ++- src/mistralai/sdk.py | 3 + src/mistralai/transcriptions.py | 480 ++++++++++++++++++ 78 files changed, 1979 insertions(+), 78 deletions(-) create mode 100644 docs/models/audiochunk.md create mode 100644 docs/models/audiochunktype.md create mode 100644 docs/models/audiotranscriptionrequest.md create mode 100644 docs/models/audiotranscriptionrequeststream.md create mode 100644 docs/models/basemodelcardtype.md create mode 100644 docs/models/metadata.md create mode 100644 docs/models/thinkchunk.md create mode 100644 docs/models/thinkchunktype.md create mode 100644 docs/models/thinking.md create mode 100644 docs/models/timestampgranularity.md create mode 100644 docs/models/transcriptionresponse.md create mode 100644 docs/models/transcriptionsegmentchunk.md create mode 100644 docs/models/transcriptionstreamdone.md create mode 100644 docs/models/transcriptionstreamdonetype.md create mode 100644 docs/models/transcriptionstreamevents.md create mode 100644 docs/models/transcriptionstreameventsdata.md create mode 100644 docs/models/transcriptionstreameventtypes.md create mode 100644 docs/models/transcriptionstreamlanguage.md create mode 100644 docs/models/transcriptionstreamlanguagetype.md create mode 100644 docs/models/transcriptionstreamsegmentdelta.md create mode 100644 docs/models/transcriptionstreamsegmentdeltatype.md create mode 100644 docs/models/transcriptionstreamtextdelta.md create mode 100644 docs/models/transcriptionstreamtextdeltatype.md create mode 100644 docs/sdks/audio/README.md create mode 100644 docs/sdks/transcriptions/README.md create mode 100644 src/mistralai/audio.py create mode 100644 src/mistralai/models/audiochunk.py create mode 100644 src/mistralai/models/audiotranscriptionrequest.py create mode 100644 src/mistralai/models/audiotranscriptionrequeststream.py create mode 100644 src/mistralai/models/thinkchunk.py create mode 100644 src/mistralai/models/timestampgranularity.py create mode 100644 src/mistralai/models/transcriptionresponse.py create mode 100644 src/mistralai/models/transcriptionsegmentchunk.py create mode 100644 src/mistralai/models/transcriptionstreamdone.py create mode 100644 src/mistralai/models/transcriptionstreamevents.py create mode 100644 src/mistralai/models/transcriptionstreameventtypes.py create mode 100644 src/mistralai/models/transcriptionstreamlanguage.py create mode 100644 src/mistralai/models/transcriptionstreamsegmentdelta.py create mode 100644 src/mistralai/models/transcriptionstreamtextdelta.py create mode 100644 src/mistralai/transcriptions.py diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 6cf27f7a..73686adb 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,18 +1,19 @@ lockVersion: 2.0.0 id: 2d045ec7-2ebb-4f4d-ad25-40953b132161 management: - docChecksum: 82cf79b2dee6811d91e2912113c21d3a + docChecksum: c33c788946fa446bfcf90b60f68abde9 docVersion: 1.0.0 speakeasyVersion: 1.568.2 generationVersion: 2.634.2 - releaseVersion: 1.9.2 - configChecksum: 1ca921f44508650d65ccf46783910ff3 + releaseVersion: 1.9.3 + configChecksum: 0f65a9bdd8df5ae03eaaaea3ab055bf1 repoURL: https://github.com/mistralai/client-python.git installationURL: https://github.com/mistralai/client-python.git published: true features: python: additionalDependencies: 1.0.0 + additionalProperties: 1.0.1 constsAndDefaults: 1.0.5 core: 5.19.3 customCodeRegions: 0.1.1 @@ -89,7 +90,12 @@ generatedFiles: - docs/models/assistantmessage.md - docs/models/assistantmessagecontent.md - docs/models/assistantmessagerole.md + - docs/models/audiochunk.md + - docs/models/audiochunktype.md + - docs/models/audiotranscriptionrequest.md + - docs/models/audiotranscriptionrequeststream.md - docs/models/basemodelcard.md + - docs/models/basemodelcardtype.md - docs/models/batcherror.md - docs/models/batchjobin.md - docs/models/batchjobout.md @@ -320,6 +326,7 @@ generatedFiles: - docs/models/messageoutputeventrole.md - docs/models/messageoutputeventtype.md - docs/models/messages.md + - docs/models/metadata.md - docs/models/metricout.md - docs/models/mistralpromptmode.md - docs/models/modelcapabilities.md @@ -375,6 +382,10 @@ generatedFiles: - docs/models/systemmessagecontent.md - docs/models/textchunk.md - docs/models/textchunktype.md + - docs/models/thinkchunk.md + - docs/models/thinkchunktype.md + - docs/models/thinking.md + - docs/models/timestampgranularity.md - docs/models/tool.md - docs/models/toolcall.md - docs/models/toolchoice.md @@ -398,6 +409,19 @@ generatedFiles: - docs/models/tools.md - docs/models/tooltypes.md - docs/models/trainingfile.md + - docs/models/transcriptionresponse.md + - docs/models/transcriptionsegmentchunk.md + - docs/models/transcriptionstreamdone.md + - docs/models/transcriptionstreamdonetype.md + - docs/models/transcriptionstreamevents.md + - docs/models/transcriptionstreameventsdata.md + - docs/models/transcriptionstreameventtypes.md + - docs/models/transcriptionstreamlanguage.md + - docs/models/transcriptionstreamlanguagetype.md + - docs/models/transcriptionstreamsegmentdelta.md + - docs/models/transcriptionstreamsegmentdeltatype.md + - docs/models/transcriptionstreamtextdelta.md + - docs/models/transcriptionstreamtextdeltatype.md - docs/models/two.md - docs/models/type.md - docs/models/unarchiveftmodelout.md @@ -420,6 +444,7 @@ generatedFiles: - docs/models/websearchtooltype.md - docs/sdks/accesses/README.md - docs/sdks/agents/README.md + - docs/sdks/audio/README.md - docs/sdks/batch/README.md - docs/sdks/beta/README.md - docs/sdks/chat/README.md @@ -437,6 +462,7 @@ generatedFiles: - docs/sdks/mistraljobs/README.md - docs/sdks/models/README.md - docs/sdks/ocr/README.md + - docs/sdks/transcriptions/README.md - poetry.toml - py.typed - scripts/prepare_readme.py @@ -448,6 +474,7 @@ generatedFiles: - src/mistralai/_version.py - src/mistralai/accesses.py - src/mistralai/agents.py + - src/mistralai/audio.py - src/mistralai/basesdk.py - src/mistralai/batch.py - src/mistralai/beta.py @@ -489,6 +516,9 @@ generatedFiles: - src/mistralai/models/apiendpoint.py - src/mistralai/models/archiveftmodelout.py - src/mistralai/models/assistantmessage.py + - src/mistralai/models/audiochunk.py + - src/mistralai/models/audiotranscriptionrequest.py + - src/mistralai/models/audiotranscriptionrequeststream.py - src/mistralai/models/basemodelcard.py - src/mistralai/models/batcherror.py - src/mistralai/models/batchjobin.py @@ -668,6 +698,8 @@ generatedFiles: - src/mistralai/models/ssetypes.py - src/mistralai/models/systemmessage.py - src/mistralai/models/textchunk.py + - src/mistralai/models/thinkchunk.py + - src/mistralai/models/timestampgranularity.py - src/mistralai/models/tool.py - src/mistralai/models/toolcall.py - src/mistralai/models/toolchoice.py @@ -681,6 +713,14 @@ generatedFiles: - src/mistralai/models/toolreferencechunk.py - src/mistralai/models/tooltypes.py - src/mistralai/models/trainingfile.py + - src/mistralai/models/transcriptionresponse.py + - src/mistralai/models/transcriptionsegmentchunk.py + - src/mistralai/models/transcriptionstreamdone.py + - src/mistralai/models/transcriptionstreamevents.py + - src/mistralai/models/transcriptionstreameventtypes.py + - src/mistralai/models/transcriptionstreamlanguage.py + - src/mistralai/models/transcriptionstreamsegmentdelta.py + - src/mistralai/models/transcriptionstreamtextdelta.py - src/mistralai/models/unarchiveftmodelout.py - src/mistralai/models/updateftmodelin.py - src/mistralai/models/uploadfileout.py @@ -696,6 +736,7 @@ generatedFiles: - src/mistralai/py.typed - src/mistralai/sdk.py - src/mistralai/sdkconfiguration.py + - src/mistralai/transcriptions.py - src/mistralai/types/__init__.py - src/mistralai/types/basemodel.py - src/mistralai/utils/__init__.py @@ -751,7 +792,7 @@ examples: application/json: {} responses: "200": - application/json: {"id": "", "object": "model", "created": 124166, "owned_by": "", "root": "", "archived": true, "capabilities": {"completion_chat": true, "completion_fim": false, "function_calling": false, "fine_tuning": false, "classification": false}, "max_context_length": 32768, "job": "c4f8ef9a-6612-4f49-88fa-a80eb8116e46", "model_type": "completion"} + application/json: {"id": "", "object": "model", "created": 124166, "owned_by": "", "workspace_id": "", "root": "", "root_version": "", "archived": true, "capabilities": {"completion_chat": true, "completion_fim": false, "function_calling": false, "fine_tuning": false, "classification": false}, "max_context_length": 32768, "job": "c4f8ef9a-6612-4f49-88fa-a80eb8116e46", "model_type": "completion"} jobs_api_routes_fine_tuning_archive_fine_tuned_model: speakeasy-default-jobs-api-routes-fine-tuning-archive-fine-tuned-model: parameters: @@ -1027,10 +1068,10 @@ examples: jobs_api_routes_batch_create_batch_job: speakeasy-default-jobs-api-routes-batch-create-batch-job: requestBody: - application/json: {"input_files": ["fe3343a2-3b8d-404b-ba32-a78dede2614a"], "endpoint": "/v1/moderations", "model": "Altima", "timeout_hours": 24} + application/json: {"input_files": ["fe3343a2-3b8d-404b-ba32-a78dede2614a"], "endpoint": "/v1/moderations", "timeout_hours": 24} responses: "200": - application/json: {"id": "", "object": "batch", "input_files": ["7b2553d8-e17f-4df5-a862-a1678f6b5271", "8c618d9f-7d82-42ba-a284-d57d84f50a58", "c042f996-e842-441d-ae47-4e0850334e41"], "endpoint": "", "model": "Taurus", "errors": [{"message": "", "count": 1}], "status": "SUCCESS", "created_at": 395527, "total_requests": 166919, "completed_requests": 258552, "succeeded_requests": 480980, "failed_requests": 684176} + application/json: {"id": "", "object": "batch", "input_files": ["7b2553d8-e17f-4df5-a862-a1678f6b5271", "8c618d9f-7d82-42ba-a284-d57d84f50a58", "c042f996-e842-441d-ae47-4e0850334e41"], "endpoint": "", "errors": [{"message": "", "count": 1}], "status": "SUCCESS", "created_at": 395527, "total_requests": 166919, "completed_requests": 258552, "succeeded_requests": 480980, "failed_requests": 684176} jobs_api_routes_batch_get_batch_job: speakeasy-default-jobs-api-routes-batch-get-batch-job: parameters: @@ -1038,7 +1079,7 @@ examples: job_id: "4017dc9f-b629-42f4-9700-8c681b9e7f0f" responses: "200": - application/json: {"id": "", "object": "batch", "input_files": ["11b83f16-f2f9-4de4-a81f-203fff419c99"], "endpoint": "", "model": "Accord", "errors": [], "status": "TIMEOUT_EXCEEDED", "created_at": 900958, "total_requests": 458292, "completed_requests": 184893, "succeeded_requests": 104800, "failed_requests": 836210} + application/json: {"id": "", "object": "batch", "input_files": ["11b83f16-f2f9-4de4-a81f-203fff419c99"], "endpoint": "", "errors": [], "status": "TIMEOUT_EXCEEDED", "created_at": 900958, "total_requests": 458292, "completed_requests": 184893, "succeeded_requests": 104800, "failed_requests": 836210} jobs_api_routes_batch_cancel_batch_job: speakeasy-default-jobs-api-routes-batch-cancel-batch-job: parameters: @@ -1046,14 +1087,14 @@ examples: job_id: "4fb29d1c-535b-4f0a-a1cb-2167f86da569" responses: "200": - application/json: {"id": "", "object": "batch", "input_files": ["8fd9d88a-66be-43fd-a816-ba509ca3ca85"], "endpoint": "", "model": "PT Cruiser", "errors": [], "status": "TIMEOUT_EXCEEDED", "created_at": 608251, "total_requests": 12693, "completed_requests": 203340, "succeeded_requests": 189291, "failed_requests": 969057} + application/json: {"id": "", "object": "batch", "input_files": ["8fd9d88a-66be-43fd-a816-ba509ca3ca85"], "endpoint": "", "errors": [], "status": "TIMEOUT_EXCEEDED", "created_at": 608251, "total_requests": 12693, "completed_requests": 203340, "succeeded_requests": 189291, "failed_requests": 969057} chat_completion_v1_chat_completions_post: speakeasy-default-chat-completion-v1-chat-completions-post: requestBody: application/json: {"model": "mistral-small-latest", "stream": false, "messages": [{"content": "Who is the best French painter? Answer in one short sentence.", "role": "user"}]} responses: "200": - application/json: {"id": "cmpl-e5cc70bb28c444948073e77776eb30ef", "object": "chat.completion", "model": "mistral-small-latest", "usage": {"prompt_tokens": 16, "completion_tokens": 34, "total_tokens": 50}, "created": 1702256327, "choices": []} + application/json: {"id": "cmpl-e5cc70bb28c444948073e77776eb30ef", "object": "chat.completion", "model": "mistral-small-latest", "usage": {"prompt_tokens": 0, "completion_tokens": 0, "total_tokens": 0}, "created": 1702256327, "choices": []} "422": application/json: {} stream_chat: @@ -1069,7 +1110,7 @@ examples: application/json: {"model": "codestral-2405", "top_p": 1, "stream": false, "prompt": "def", "suffix": "return a+b"} responses: "200": - application/json: {"id": "cmpl-e5cc70bb28c444948073e77776eb30ef", "object": "chat.completion", "model": "codestral-latest", "usage": {"prompt_tokens": 16, "completion_tokens": 34, "total_tokens": 50}, "created": 1702256327, "choices": []} + application/json: {"id": "cmpl-e5cc70bb28c444948073e77776eb30ef", "object": "chat.completion", "model": "codestral-latest", "usage": {"prompt_tokens": 0, "completion_tokens": 0, "total_tokens": 0}, "created": 1702256327, "choices": []} "422": application/json: {} stream_fim: @@ -1085,7 +1126,7 @@ examples: application/json: {"stream": false, "messages": [{"content": "Who is the best French painter? Answer in one short sentence.", "role": "user"}], "agent_id": ""} responses: "200": - application/json: {"id": "cmpl-e5cc70bb28c444948073e77776eb30ef", "object": "chat.completion", "model": "mistral-small-latest", "usage": {"prompt_tokens": 16, "completion_tokens": 34, "total_tokens": 50}, "created": 1702256327, "choices": []} + application/json: {"id": "cmpl-e5cc70bb28c444948073e77776eb30ef", "object": "chat.completion", "model": "mistral-small-latest", "usage": {"prompt_tokens": 0, "completion_tokens": 0, "total_tokens": 0}, "created": 1702256327, "choices": []} "422": application/json: {} stream_agents: @@ -1101,7 +1142,7 @@ examples: application/json: {"model": "mistral-embed", "input": ["Embed this sentence.", "As well as this one."]} responses: "200": - application/json: {"id": "cmpl-e5cc70bb28c444948073e77776eb30ef", "object": "chat.completion", "model": "mistral-small-latest", "usage": {"prompt_tokens": 16, "completion_tokens": 34, "total_tokens": 50}, "data": [{"object": "embedding", "embedding": [0.1, 0.2, 0.3], "index": 0}, {"object": "embedding", "embedding": [0.4, 0.5, 0.6], "index": 1}]} + application/json: {"id": "cmpl-e5cc70bb28c444948073e77776eb30ef", "object": "chat.completion", "model": "mistral-small-latest", "usage": {"prompt_tokens": 0, "completion_tokens": 0, "total_tokens": 0}, "data": [{"object": "embedding", "embedding": [0.1, 0.2, 0.3], "index": 0}, {"object": "embedding", "embedding": [0.4, 0.5, 0.6], "index": 1}]} "422": application/json: {} moderations_v1_moderations_post: @@ -1342,5 +1383,16 @@ examples: application/json: {"library_id": "7f9c6af4-e362-4cf1-9363-0409d51c2dfa", "org_id": "6b2cac3a-b29c-4d8f-bebb-0db06ec1bf97", "role": "", "share_with_type": "", "share_with_uuid": "618c78f1-41ca-45c3-8ef2-7d78898c7061"} "422": application/json: {} + audio_api_v1_transcriptions_post: + speakeasy-default-audio-api-v1-transcriptions-post: + requestBody: + multipart/form-data: {"model": "Model X", "stream": false} + responses: + "200": + application/json: {"model": "Beetle", "text": "", "usage": {"prompt_tokens": 0, "completion_tokens": 0, "total_tokens": 0}, "language": ""} + audio_api_v1_transcriptions_post_stream: + speakeasy-default-audio-api-v1-transcriptions-post-stream: + requestBody: + multipart/form-data: {"model": "Camry", "stream": true} examplesVersion: 1.0.2 generatedTests: {} diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index d3df5c35..ffc6c827 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -21,7 +21,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false python: - version: 1.9.2 + version: 1.9.3 additionalDependencies: dev: pytest: ^8.2.2 diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 75541fbd..45143669 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -14,11 +14,11 @@ sources: - latest mistral-openapi: sourceNamespace: mistral-openapi - sourceRevisionDigest: sha256:2ab1acc41424ca9be28ef867168aeb32af9fc7129b0a91494c0cd24d68c30345 - sourceBlobDigest: sha256:029ae17d555b02220397bba95308ba545c4733db81e65258be7baf9991d10c3a + sourceRevisionDigest: sha256:22d8044215dc1331ba83f3d25598409bc82fdc04d68033fb05e0133a13cc4dad + sourceBlobDigest: sha256:f3322d8a44d0bf1515b5c1c078525dbf00ff90e6110644de4c03b0b0e9050350 tags: - latest - - speakeasy-sdk-regen-1751557705 + - speakeasy-sdk-regen-1753290410 targets: mistralai-azure-sdk: source: mistral-azure-source @@ -37,10 +37,10 @@ targets: mistralai-sdk: source: mistral-openapi sourceNamespace: mistral-openapi - sourceRevisionDigest: sha256:2ab1acc41424ca9be28ef867168aeb32af9fc7129b0a91494c0cd24d68c30345 - sourceBlobDigest: sha256:029ae17d555b02220397bba95308ba545c4733db81e65258be7baf9991d10c3a + sourceRevisionDigest: sha256:22d8044215dc1331ba83f3d25598409bc82fdc04d68033fb05e0133a13cc4dad + sourceBlobDigest: sha256:f3322d8a44d0bf1515b5c1c078525dbf00ff90e6110644de4c03b0b0e9050350 codeSamplesNamespace: mistral-openapi-code-samples - codeSamplesRevisionDigest: sha256:b45de481b3d77689a76a406421d4625dc37cc17bf90bab2f7d6e78f3eec77a9c + codeSamplesRevisionDigest: sha256:1fd9897fdd851557c592b8fd46232518359401d15a6574933c43be63ec2edb53 workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.568.2 diff --git a/README.md b/README.md index 503c5128..f71ccfcb 100644 --- a/README.md +++ b/README.md @@ -434,6 +434,14 @@ The documentation for the GCP SDK is available [here](packages/mistralai_gcp/REA * [complete](docs/sdks/agents/README.md#complete) - Agents Completion * [stream](docs/sdks/agents/README.md#stream) - Stream Agents completion +### [audio](docs/sdks/audio/README.md) + + +#### [audio.transcriptions](docs/sdks/transcriptions/README.md) + +* [complete](docs/sdks/transcriptions/README.md#complete) - Create Transcription +* [stream](docs/sdks/transcriptions/README.md#stream) - Create streaming transcription (SSE) + ### [batch](docs/sdks/batch/README.md) diff --git a/RELEASES.md b/RELEASES.md index b66777ed..2089bb04 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -258,4 +258,14 @@ Based on: ### Generated - [python v1.9.2] . ### Releases -- [PyPI v1.9.2] https://pypi.org/project/mistralai/1.9.2 - . \ No newline at end of file +- [PyPI v1.9.2] https://pypi.org/project/mistralai/1.9.2 - . + +## 2025-07-23 17:06:32 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.568.2 (2.634.2) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v1.9.3] . +### Releases +- [PyPI v1.9.3] https://pypi.org/project/mistralai/1.9.3 - . \ No newline at end of file diff --git a/docs/models/audiochunk.md b/docs/models/audiochunk.md new file mode 100644 index 00000000..c443e7ad --- /dev/null +++ b/docs/models/audiochunk.md @@ -0,0 +1,9 @@ +# AudioChunk + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | +| `input_audio` | *str* | :heavy_check_mark: | N/A | +| `type` | [Optional[models.AudioChunkType]](../models/audiochunktype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/audiochunktype.md b/docs/models/audiochunktype.md new file mode 100644 index 00000000..46ebf372 --- /dev/null +++ b/docs/models/audiochunktype.md @@ -0,0 +1,8 @@ +# AudioChunkType + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `INPUT_AUDIO` | input_audio | \ No newline at end of file diff --git a/docs/models/audiotranscriptionrequest.md b/docs/models/audiotranscriptionrequest.md new file mode 100644 index 00000000..e876de18 --- /dev/null +++ b/docs/models/audiotranscriptionrequest.md @@ -0,0 +1,15 @@ +# AudioTranscriptionRequest + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | +| `model` | *str* | :heavy_check_mark: | N/A | +| `file` | [Optional[models.File]](../models/file.md) | :heavy_minus_sign: | N/A | +| `file_url` | *OptionalNullable[str]* | :heavy_minus_sign: | Url of a file to be transcribed | +| `file_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of a file uploaded to /v1/files | +| `language` | *OptionalNullable[str]* | :heavy_minus_sign: | Language of the audio, e.g. 'en'. Providing the language can boost accuracy. | +| `temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | +| `stream` | *Optional[Literal[False]]* | :heavy_minus_sign: | N/A | +| `timestamp_granularities` | List[[models.TimestampGranularity](../models/timestampgranularity.md)] | :heavy_minus_sign: | Granularities of timestamps to include in the response. | \ No newline at end of file diff --git a/docs/models/audiotranscriptionrequeststream.md b/docs/models/audiotranscriptionrequeststream.md new file mode 100644 index 00000000..975e437a --- /dev/null +++ b/docs/models/audiotranscriptionrequeststream.md @@ -0,0 +1,15 @@ +# AudioTranscriptionRequestStream + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | +| `model` | *str* | :heavy_check_mark: | N/A | +| `file` | [Optional[models.File]](../models/file.md) | :heavy_minus_sign: | N/A | +| `file_url` | *OptionalNullable[str]* | :heavy_minus_sign: | Url of a file to be transcribed | +| `file_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of a file uploaded to /v1/files | +| `language` | *OptionalNullable[str]* | :heavy_minus_sign: | Language of the audio, e.g. 'en'. Providing the language can boost accuracy. | +| `temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | +| `stream` | *Optional[Literal[True]]* | :heavy_minus_sign: | N/A | +| `timestamp_granularities` | List[[models.TimestampGranularity](../models/timestampgranularity.md)] | :heavy_minus_sign: | Granularities of timestamps to include in the response. | \ No newline at end of file diff --git a/docs/models/basemodelcard.md b/docs/models/basemodelcard.md index f5ce8c5e..58ad5e25 100644 --- a/docs/models/basemodelcard.md +++ b/docs/models/basemodelcard.md @@ -17,4 +17,4 @@ | `deprecation` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | N/A | | `deprecation_replacement_model` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `default_model_temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | -| `type` | [Optional[models.Type]](../models/type.md) | :heavy_minus_sign: | N/A | \ No newline at end of file +| `type` | [Optional[models.BaseModelCardType]](../models/basemodelcardtype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/basemodelcardtype.md b/docs/models/basemodelcardtype.md new file mode 100644 index 00000000..4a40ce76 --- /dev/null +++ b/docs/models/basemodelcardtype.md @@ -0,0 +1,8 @@ +# BaseModelCardType + + +## Values + +| Name | Value | +| ------ | ------ | +| `BASE` | base | \ No newline at end of file diff --git a/docs/models/batchjobin.md b/docs/models/batchjobin.md index 5203a520..b5b13786 100644 --- a/docs/models/batchjobin.md +++ b/docs/models/batchjobin.md @@ -7,6 +7,7 @@ | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | | `input_files` | List[*str*] | :heavy_check_mark: | N/A | | `endpoint` | [models.APIEndpoint](../models/apiendpoint.md) | :heavy_check_mark: | N/A | -| `model` | *str* | :heavy_check_mark: | N/A | +| `model` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `agent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `metadata` | Dict[str, *str*] | :heavy_minus_sign: | N/A | | `timeout_hours` | *Optional[int]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/batchjobout.md b/docs/models/batchjobout.md index 16374467..b66fff08 100644 --- a/docs/models/batchjobout.md +++ b/docs/models/batchjobout.md @@ -10,7 +10,8 @@ | `input_files` | List[*str*] | :heavy_check_mark: | N/A | | `metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `endpoint` | *str* | :heavy_check_mark: | N/A | -| `model` | *str* | :heavy_check_mark: | N/A | +| `model` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `agent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `output_file` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `error_file` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `errors` | List[[models.BatchError](../models/batcherror.md)] | :heavy_check_mark: | N/A | diff --git a/docs/models/classifierftmodelout.md b/docs/models/classifierftmodelout.md index 506af14e..dd9e8bf9 100644 --- a/docs/models/classifierftmodelout.md +++ b/docs/models/classifierftmodelout.md @@ -9,7 +9,9 @@ | `object` | [Optional[models.ClassifierFTModelOutObject]](../models/classifierftmodeloutobject.md) | :heavy_minus_sign: | N/A | | `created` | *int* | :heavy_check_mark: | N/A | | `owned_by` | *str* | :heavy_check_mark: | N/A | +| `workspace_id` | *str* | :heavy_check_mark: | N/A | | `root` | *str* | :heavy_check_mark: | N/A | +| `root_version` | *str* | :heavy_check_mark: | N/A | | `archived` | *bool* | :heavy_check_mark: | N/A | | `name` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `description` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | diff --git a/docs/models/completionargs.md b/docs/models/completionargs.md index 5f07b673..0d108225 100644 --- a/docs/models/completionargs.md +++ b/docs/models/completionargs.md @@ -10,7 +10,7 @@ White-listed arguments from the completion API | `stop` | [OptionalNullable[models.CompletionArgsStop]](../models/completionargsstop.md) | :heavy_minus_sign: | N/A | | `presence_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | | `frequency_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | -| `temperature` | *Optional[float]* | :heavy_minus_sign: | N/A | +| `temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | | `top_p` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | | `max_tokens` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | | `random_seed` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | diff --git a/docs/models/completionftmodelout.md b/docs/models/completionftmodelout.md index f1e22b88..cd085825 100644 --- a/docs/models/completionftmodelout.md +++ b/docs/models/completionftmodelout.md @@ -9,7 +9,9 @@ | `object` | [Optional[models.CompletionFTModelOutObject]](../models/completionftmodeloutobject.md) | :heavy_minus_sign: | N/A | | `created` | *int* | :heavy_check_mark: | N/A | | `owned_by` | *str* | :heavy_check_mark: | N/A | +| `workspace_id` | *str* | :heavy_check_mark: | N/A | | `root` | *str* | :heavy_check_mark: | N/A | +| `root_version` | *str* | :heavy_check_mark: | N/A | | `archived` | *bool* | :heavy_check_mark: | N/A | | `name` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `description` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | diff --git a/docs/models/contentchunk.md b/docs/models/contentchunk.md index a65cd054..cb7e51d3 100644 --- a/docs/models/contentchunk.md +++ b/docs/models/contentchunk.md @@ -33,3 +33,15 @@ value: models.ReferenceChunk = /* values here */ value: models.FileChunk = /* values here */ ``` +### `models.ThinkChunk` + +```python +value: models.ThinkChunk = /* values here */ +``` + +### `models.AudioChunk` + +```python +value: models.AudioChunk = /* values here */ +``` + diff --git a/docs/models/fileschema.md b/docs/models/fileschema.md index 9746a995..4f3e72db 100644 --- a/docs/models/fileschema.md +++ b/docs/models/fileschema.md @@ -13,4 +13,6 @@ | `purpose` | [models.FilePurpose](../models/filepurpose.md) | :heavy_check_mark: | N/A | | | `sample_type` | [models.SampleType](../models/sampletype.md) | :heavy_check_mark: | N/A | | | `num_lines` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | | -| `source` | [models.Source](../models/source.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| `mimetype` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `source` | [models.Source](../models/source.md) | :heavy_check_mark: | N/A | | +| `signature` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/jobsapiroutesbatchgetbatchjobsrequest.md b/docs/models/jobsapiroutesbatchgetbatchjobsrequest.md index f2a3bb78..b062b873 100644 --- a/docs/models/jobsapiroutesbatchgetbatchjobsrequest.md +++ b/docs/models/jobsapiroutesbatchgetbatchjobsrequest.md @@ -8,6 +8,7 @@ | `page` | *Optional[int]* | :heavy_minus_sign: | N/A | | `page_size` | *Optional[int]* | :heavy_minus_sign: | N/A | | `model` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `agent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `created_after` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | N/A | | `created_by_me` | *Optional[bool]* | :heavy_minus_sign: | N/A | diff --git a/docs/models/metadata.md b/docs/models/metadata.md new file mode 100644 index 00000000..e655f580 --- /dev/null +++ b/docs/models/metadata.md @@ -0,0 +1,7 @@ +# Metadata + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/retrievefileout.md b/docs/models/retrievefileout.md index 10f738b9..28f97dd2 100644 --- a/docs/models/retrievefileout.md +++ b/docs/models/retrievefileout.md @@ -13,5 +13,7 @@ | `purpose` | [models.FilePurpose](../models/filepurpose.md) | :heavy_check_mark: | N/A | | | `sample_type` | [models.SampleType](../models/sampletype.md) | :heavy_check_mark: | N/A | | | `num_lines` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | | +| `mimetype` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | | `source` | [models.Source](../models/source.md) | :heavy_check_mark: | N/A | | +| `signature` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | | `deleted` | *bool* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/thinkchunk.md b/docs/models/thinkchunk.md new file mode 100644 index 00000000..66b2e0cd --- /dev/null +++ b/docs/models/thinkchunk.md @@ -0,0 +1,10 @@ +# ThinkChunk + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `thinking` | List[[models.Thinking](../models/thinking.md)] | :heavy_check_mark: | N/A | +| `closed` | *Optional[bool]* | :heavy_minus_sign: | Whether the thinking chunk is closed or not. Currently only used for prefixing. | +| `type` | [Optional[models.ThinkChunkType]](../models/thinkchunktype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/thinkchunktype.md b/docs/models/thinkchunktype.md new file mode 100644 index 00000000..baf6f755 --- /dev/null +++ b/docs/models/thinkchunktype.md @@ -0,0 +1,8 @@ +# ThinkChunkType + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `THINKING` | thinking | \ No newline at end of file diff --git a/docs/models/thinking.md b/docs/models/thinking.md new file mode 100644 index 00000000..c7a0d5c9 --- /dev/null +++ b/docs/models/thinking.md @@ -0,0 +1,17 @@ +# Thinking + + +## Supported Types + +### `models.ReferenceChunk` + +```python +value: models.ReferenceChunk = /* values here */ +``` + +### `models.TextChunk` + +```python +value: models.TextChunk = /* values here */ +``` + diff --git a/docs/models/timestampgranularity.md b/docs/models/timestampgranularity.md new file mode 100644 index 00000000..0d2a8054 --- /dev/null +++ b/docs/models/timestampgranularity.md @@ -0,0 +1,8 @@ +# TimestampGranularity + + +## Values + +| Name | Value | +| --------- | --------- | +| `SEGMENT` | segment | \ No newline at end of file diff --git a/docs/models/toolcall.md b/docs/models/toolcall.md index 3819236b..43e09050 100644 --- a/docs/models/toolcall.md +++ b/docs/models/toolcall.md @@ -3,9 +3,10 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | -| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `type` | [Optional[models.ToolTypes]](../models/tooltypes.md) | :heavy_minus_sign: | N/A | -| `function` | [models.FunctionCall](../models/functioncall.md) | :heavy_check_mark: | N/A | -| `index` | *Optional[int]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `type` | [Optional[models.ToolTypes]](../models/tooltypes.md) | :heavy_minus_sign: | N/A | +| `function` | [models.FunctionCall](../models/functioncall.md) | :heavy_check_mark: | N/A | +| `index` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `metadata` | [OptionalNullable[models.Metadata]](../models/metadata.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/transcriptionresponse.md b/docs/models/transcriptionresponse.md new file mode 100644 index 00000000..1bc0189c --- /dev/null +++ b/docs/models/transcriptionresponse.md @@ -0,0 +1,13 @@ +# TranscriptionResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| `model` | *str* | :heavy_check_mark: | N/A | +| `text` | *str* | :heavy_check_mark: | N/A | +| `segments` | List[[models.TranscriptionSegmentChunk](../models/transcriptionsegmentchunk.md)] | :heavy_minus_sign: | N/A | +| `usage` | [models.UsageInfo](../models/usageinfo.md) | :heavy_check_mark: | N/A | +| `language` | *Nullable[str]* | :heavy_check_mark: | N/A | +| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/transcriptionsegmentchunk.md b/docs/models/transcriptionsegmentchunk.md new file mode 100644 index 00000000..bebc9f72 --- /dev/null +++ b/docs/models/transcriptionsegmentchunk.md @@ -0,0 +1,12 @@ +# TranscriptionSegmentChunk + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | +| `text` | *str* | :heavy_check_mark: | N/A | +| `start` | *float* | :heavy_check_mark: | N/A | +| `end` | *float* | :heavy_check_mark: | N/A | +| `type` | [Optional[models.Type]](../models/type.md) | :heavy_minus_sign: | N/A | +| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/transcriptionstreamdone.md b/docs/models/transcriptionstreamdone.md new file mode 100644 index 00000000..9ecf7d9c --- /dev/null +++ b/docs/models/transcriptionstreamdone.md @@ -0,0 +1,14 @@ +# TranscriptionStreamDone + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `model` | *str* | :heavy_check_mark: | N/A | +| `text` | *str* | :heavy_check_mark: | N/A | +| `segments` | List[[models.TranscriptionSegmentChunk](../models/transcriptionsegmentchunk.md)] | :heavy_minus_sign: | N/A | +| `usage` | [models.UsageInfo](../models/usageinfo.md) | :heavy_check_mark: | N/A | +| `type` | [Optional[models.TranscriptionStreamDoneType]](../models/transcriptionstreamdonetype.md) | :heavy_minus_sign: | N/A | +| `language` | *Nullable[str]* | :heavy_check_mark: | N/A | +| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/transcriptionstreamdonetype.md b/docs/models/transcriptionstreamdonetype.md new file mode 100644 index 00000000..db092c4f --- /dev/null +++ b/docs/models/transcriptionstreamdonetype.md @@ -0,0 +1,8 @@ +# TranscriptionStreamDoneType + + +## Values + +| Name | Value | +| -------------------- | -------------------- | +| `TRANSCRIPTION_DONE` | transcription.done | \ No newline at end of file diff --git a/docs/models/transcriptionstreamevents.md b/docs/models/transcriptionstreamevents.md new file mode 100644 index 00000000..f760385d --- /dev/null +++ b/docs/models/transcriptionstreamevents.md @@ -0,0 +1,9 @@ +# TranscriptionStreamEvents + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `event` | [models.TranscriptionStreamEventTypes](../models/transcriptionstreameventtypes.md) | :heavy_check_mark: | N/A | +| `data` | [models.TranscriptionStreamEventsData](../models/transcriptionstreameventsdata.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/transcriptionstreameventsdata.md b/docs/models/transcriptionstreameventsdata.md new file mode 100644 index 00000000..eea8e928 --- /dev/null +++ b/docs/models/transcriptionstreameventsdata.md @@ -0,0 +1,29 @@ +# TranscriptionStreamEventsData + + +## Supported Types + +### `models.TranscriptionStreamDone` + +```python +value: models.TranscriptionStreamDone = /* values here */ +``` + +### `models.TranscriptionStreamLanguage` + +```python +value: models.TranscriptionStreamLanguage = /* values here */ +``` + +### `models.TranscriptionStreamSegmentDelta` + +```python +value: models.TranscriptionStreamSegmentDelta = /* values here */ +``` + +### `models.TranscriptionStreamTextDelta` + +```python +value: models.TranscriptionStreamTextDelta = /* values here */ +``` + diff --git a/docs/models/transcriptionstreameventtypes.md b/docs/models/transcriptionstreameventtypes.md new file mode 100644 index 00000000..e4eb25a6 --- /dev/null +++ b/docs/models/transcriptionstreameventtypes.md @@ -0,0 +1,11 @@ +# TranscriptionStreamEventTypes + + +## Values + +| Name | Value | +| -------------------------- | -------------------------- | +| `TRANSCRIPTION_LANGUAGE` | transcription.language | +| `TRANSCRIPTION_SEGMENT` | transcription.segment | +| `TRANSCRIPTION_TEXT_DELTA` | transcription.text.delta | +| `TRANSCRIPTION_DONE` | transcription.done | \ No newline at end of file diff --git a/docs/models/transcriptionstreamlanguage.md b/docs/models/transcriptionstreamlanguage.md new file mode 100644 index 00000000..e16c8fdc --- /dev/null +++ b/docs/models/transcriptionstreamlanguage.md @@ -0,0 +1,10 @@ +# TranscriptionStreamLanguage + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `type` | [Optional[models.TranscriptionStreamLanguageType]](../models/transcriptionstreamlanguagetype.md) | :heavy_minus_sign: | N/A | +| `audio_language` | *str* | :heavy_check_mark: | N/A | +| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/transcriptionstreamlanguagetype.md b/docs/models/transcriptionstreamlanguagetype.md new file mode 100644 index 00000000..e93521e1 --- /dev/null +++ b/docs/models/transcriptionstreamlanguagetype.md @@ -0,0 +1,8 @@ +# TranscriptionStreamLanguageType + + +## Values + +| Name | Value | +| ------------------------ | ------------------------ | +| `TRANSCRIPTION_LANGUAGE` | transcription.language | \ No newline at end of file diff --git a/docs/models/transcriptionstreamsegmentdelta.md b/docs/models/transcriptionstreamsegmentdelta.md new file mode 100644 index 00000000..3deeedf0 --- /dev/null +++ b/docs/models/transcriptionstreamsegmentdelta.md @@ -0,0 +1,12 @@ +# TranscriptionStreamSegmentDelta + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| `text` | *str* | :heavy_check_mark: | N/A | +| `start` | *float* | :heavy_check_mark: | N/A | +| `end` | *float* | :heavy_check_mark: | N/A | +| `type` | [Optional[models.TranscriptionStreamSegmentDeltaType]](../models/transcriptionstreamsegmentdeltatype.md) | :heavy_minus_sign: | N/A | +| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/transcriptionstreamsegmentdeltatype.md b/docs/models/transcriptionstreamsegmentdeltatype.md new file mode 100644 index 00000000..03ff3e8b --- /dev/null +++ b/docs/models/transcriptionstreamsegmentdeltatype.md @@ -0,0 +1,8 @@ +# TranscriptionStreamSegmentDeltaType + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `TRANSCRIPTION_SEGMENT` | transcription.segment | \ No newline at end of file diff --git a/docs/models/transcriptionstreamtextdelta.md b/docs/models/transcriptionstreamtextdelta.md new file mode 100644 index 00000000..adddfe18 --- /dev/null +++ b/docs/models/transcriptionstreamtextdelta.md @@ -0,0 +1,10 @@ +# TranscriptionStreamTextDelta + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `text` | *str* | :heavy_check_mark: | N/A | +| `type` | [Optional[models.TranscriptionStreamTextDeltaType]](../models/transcriptionstreamtextdeltatype.md) | :heavy_minus_sign: | N/A | +| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/transcriptionstreamtextdeltatype.md b/docs/models/transcriptionstreamtextdeltatype.md new file mode 100644 index 00000000..b7c9d675 --- /dev/null +++ b/docs/models/transcriptionstreamtextdeltatype.md @@ -0,0 +1,8 @@ +# TranscriptionStreamTextDeltaType + + +## Values + +| Name | Value | +| -------------------------- | -------------------------- | +| `TRANSCRIPTION_TEXT_DELTA` | transcription.text.delta | \ No newline at end of file diff --git a/docs/models/type.md b/docs/models/type.md index 239a00f5..d05ead75 100644 --- a/docs/models/type.md +++ b/docs/models/type.md @@ -3,6 +3,6 @@ ## Values -| Name | Value | -| ------ | ------ | -| `BASE` | base | \ No newline at end of file +| Name | Value | +| ----------------------- | ----------------------- | +| `TRANSCRIPTION_SEGMENT` | transcription_segment | \ No newline at end of file diff --git a/docs/models/uploadfileout.md b/docs/models/uploadfileout.md index ef2ad212..6f09c9a6 100644 --- a/docs/models/uploadfileout.md +++ b/docs/models/uploadfileout.md @@ -13,4 +13,6 @@ | `purpose` | [models.FilePurpose](../models/filepurpose.md) | :heavy_check_mark: | N/A | | | `sample_type` | [models.SampleType](../models/sampletype.md) | :heavy_check_mark: | N/A | | | `num_lines` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | | -| `source` | [models.Source](../models/source.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| `mimetype` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | +| `source` | [models.Source](../models/source.md) | :heavy_check_mark: | N/A | | +| `signature` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/usageinfo.md b/docs/models/usageinfo.md index 9f56a3ae..f5204ac9 100644 --- a/docs/models/usageinfo.md +++ b/docs/models/usageinfo.md @@ -3,8 +3,10 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------- | ------------------- | ------------------- | ------------------- | ------------------- | -| `prompt_tokens` | *int* | :heavy_check_mark: | N/A | 16 | -| `completion_tokens` | *int* | :heavy_check_mark: | N/A | 34 | -| `total_tokens` | *int* | :heavy_check_mark: | N/A | 50 | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------- | ----------------------- | ----------------------- | ----------------------- | +| `prompt_tokens` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `completion_tokens` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `total_tokens` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `prompt_audio_seconds` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | +| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/sdks/audio/README.md b/docs/sdks/audio/README.md new file mode 100644 index 00000000..2101c266 --- /dev/null +++ b/docs/sdks/audio/README.md @@ -0,0 +1,6 @@ +# Audio +(*audio*) + +## Overview + +### Available Operations diff --git a/docs/sdks/mistraljobs/README.md b/docs/sdks/mistraljobs/README.md index 0c0b5991..ef1e1549 100644 --- a/docs/sdks/mistraljobs/README.md +++ b/docs/sdks/mistraljobs/README.md @@ -39,6 +39,7 @@ with Mistral( | `page` | *Optional[int]* | :heavy_minus_sign: | N/A | | `page_size` | *Optional[int]* | :heavy_minus_sign: | N/A | | `model` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `agent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | | `created_after` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | N/A | | `created_by_me` | *Optional[bool]* | :heavy_minus_sign: | N/A | @@ -72,7 +73,7 @@ with Mistral( res = mistral.batch.jobs.create(input_files=[ "fe3343a2-3b8d-404b-ba32-a78dede2614a", - ], endpoint="/v1/moderations", model="Altima", timeout_hours=24) + ], endpoint="/v1/moderations", timeout_hours=24) # Handle response print(res) @@ -85,7 +86,8 @@ with Mistral( | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | | `input_files` | List[*str*] | :heavy_check_mark: | N/A | | `endpoint` | [models.APIEndpoint](../../models/apiendpoint.md) | :heavy_check_mark: | N/A | -| `model` | *str* | :heavy_check_mark: | N/A | +| `model` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | +| `agent_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | `metadata` | Dict[str, *str*] | :heavy_minus_sign: | N/A | | `timeout_hours` | *Optional[int]* | :heavy_minus_sign: | N/A | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | diff --git a/docs/sdks/transcriptions/README.md b/docs/sdks/transcriptions/README.md new file mode 100644 index 00000000..fcac2467 --- /dev/null +++ b/docs/sdks/transcriptions/README.md @@ -0,0 +1,103 @@ +# Transcriptions +(*audio.transcriptions*) + +## Overview + +API for audio transcription. + +### Available Operations + +* [complete](#complete) - Create Transcription +* [stream](#stream) - Create streaming transcription (SSE) + +## complete + +Create Transcription + +### Example Usage + +```python +from mistralai import Mistral +import os + + +with Mistral( + api_key=os.getenv("MISTRAL_API_KEY", ""), +) as mistral: + + res = mistral.audio.transcriptions.complete(model="Model X") + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | +| `model` | *str* | :heavy_check_mark: | N/A | +| `file` | [Optional[models.File]](../../models/file.md) | :heavy_minus_sign: | N/A | +| `file_url` | *OptionalNullable[str]* | :heavy_minus_sign: | Url of a file to be transcribed | +| `file_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of a file uploaded to /v1/files | +| `language` | *OptionalNullable[str]* | :heavy_minus_sign: | Language of the audio, e.g. 'en'. Providing the language can boost accuracy. | +| `temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | +| `timestamp_granularities` | List[[models.TimestampGranularity](../../models/timestampgranularity.md)] | :heavy_minus_sign: | Granularities of timestamps to include in the response. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | + +### Response + +**[models.TranscriptionResponse](../../models/transcriptionresponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| --------------- | --------------- | --------------- | +| models.SDKError | 4XX, 5XX | \*/\* | + +## stream + +Create streaming transcription (SSE) + +### Example Usage + +```python +from mistralai import Mistral +import os + + +with Mistral( + api_key=os.getenv("MISTRAL_API_KEY", ""), +) as mistral: + + res = mistral.audio.transcriptions.stream(model="Camry") + + with res as event_stream: + for event in event_stream: + # handle event + print(event, flush=True) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | +| `model` | *str* | :heavy_check_mark: | N/A | +| `file` | [Optional[models.File]](../../models/file.md) | :heavy_minus_sign: | N/A | +| `file_url` | *OptionalNullable[str]* | :heavy_minus_sign: | Url of a file to be transcribed | +| `file_id` | *OptionalNullable[str]* | :heavy_minus_sign: | ID of a file uploaded to /v1/files | +| `language` | *OptionalNullable[str]* | :heavy_minus_sign: | Language of the audio, e.g. 'en'. Providing the language can boost accuracy. | +| `temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | +| `timestamp_granularities` | List[[models.TimestampGranularity](../../models/timestampgranularity.md)] | :heavy_minus_sign: | Granularities of timestamps to include in the response. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | + +### Response + +**[Union[eventstreaming.EventStream[models.TranscriptionStreamEvents], eventstreaming.EventStreamAsync[models.TranscriptionStreamEvents]]](../../models/.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| --------------- | --------------- | --------------- | +| models.SDKError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 846b6ff2..123c0fe9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "mistralai" -version = "1.9.2" +version = "1.9.3" description = "Python Client SDK for the Mistral AI API." authors = [{ name = "Mistral" },] readme = "README-PYPI.md" diff --git a/src/mistralai/_version.py b/src/mistralai/_version.py index 8d003f9e..5937a745 100644 --- a/src/mistralai/_version.py +++ b/src/mistralai/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "mistralai" -__version__: str = "1.9.2" +__version__: str = "1.9.3" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.634.2" -__user_agent__: str = "speakeasy-sdk/python 1.9.2 2.634.2 1.0.0 mistralai" +__user_agent__: str = "speakeasy-sdk/python 1.9.3 2.634.2 1.0.0 mistralai" try: if __package__ is not None: diff --git a/src/mistralai/audio.py b/src/mistralai/audio.py new file mode 100644 index 00000000..66934a86 --- /dev/null +++ b/src/mistralai/audio.py @@ -0,0 +1,18 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from .basesdk import BaseSDK +from .sdkconfiguration import SDKConfiguration +from mistralai.transcriptions import Transcriptions + + +class Audio(BaseSDK): + transcriptions: Transcriptions + r"""API for audio transcription.""" + + def __init__(self, sdk_config: SDKConfiguration) -> None: + BaseSDK.__init__(self, sdk_config) + self.sdk_configuration = sdk_config + self._init_sdks() + + def _init_sdks(self): + self.transcriptions = Transcriptions(self.sdk_configuration) diff --git a/src/mistralai/mistral_jobs.py b/src/mistralai/mistral_jobs.py index b824508a..c51d64a7 100644 --- a/src/mistralai/mistral_jobs.py +++ b/src/mistralai/mistral_jobs.py @@ -16,6 +16,7 @@ def list( page: Optional[int] = 0, page_size: Optional[int] = 100, model: OptionalNullable[str] = UNSET, + agent_id: OptionalNullable[str] = UNSET, metadata: OptionalNullable[Dict[str, Any]] = UNSET, created_after: OptionalNullable[datetime] = UNSET, created_by_me: Optional[bool] = False, @@ -32,6 +33,7 @@ def list( :param page: :param page_size: :param model: + :param agent_id: :param metadata: :param created_after: :param created_by_me: @@ -55,6 +57,7 @@ def list( page=page, page_size=page_size, model=model, + agent_id=agent_id, metadata=metadata, created_after=created_after, created_by_me=created_by_me, @@ -128,6 +131,7 @@ async def list_async( page: Optional[int] = 0, page_size: Optional[int] = 100, model: OptionalNullable[str] = UNSET, + agent_id: OptionalNullable[str] = UNSET, metadata: OptionalNullable[Dict[str, Any]] = UNSET, created_after: OptionalNullable[datetime] = UNSET, created_by_me: Optional[bool] = False, @@ -144,6 +148,7 @@ async def list_async( :param page: :param page_size: :param model: + :param agent_id: :param metadata: :param created_after: :param created_by_me: @@ -167,6 +172,7 @@ async def list_async( page=page, page_size=page_size, model=model, + agent_id=agent_id, metadata=metadata, created_after=created_after, created_by_me=created_by_me, @@ -239,7 +245,8 @@ def create( *, input_files: List[str], endpoint: models.APIEndpoint, - model: str, + model: OptionalNullable[str] = UNSET, + agent_id: OptionalNullable[str] = UNSET, metadata: OptionalNullable[Dict[str, str]] = UNSET, timeout_hours: Optional[int] = 24, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -254,6 +261,7 @@ def create( :param input_files: :param endpoint: :param model: + :param agent_id: :param metadata: :param timeout_hours: :param retries: Override the default retry configuration for this method @@ -275,6 +283,7 @@ def create( input_files=input_files, endpoint=endpoint, model=model, + agent_id=agent_id, metadata=metadata, timeout_hours=timeout_hours, ) @@ -348,7 +357,8 @@ async def create_async( *, input_files: List[str], endpoint: models.APIEndpoint, - model: str, + model: OptionalNullable[str] = UNSET, + agent_id: OptionalNullable[str] = UNSET, metadata: OptionalNullable[Dict[str, str]] = UNSET, timeout_hours: Optional[int] = 24, retries: OptionalNullable[utils.RetryConfig] = UNSET, @@ -363,6 +373,7 @@ async def create_async( :param input_files: :param endpoint: :param model: + :param agent_id: :param metadata: :param timeout_hours: :param retries: Override the default retry configuration for this method @@ -384,6 +395,7 @@ async def create_async( input_files=input_files, endpoint=endpoint, model=model, + agent_id=agent_id, metadata=metadata, timeout_hours=timeout_hours, ) diff --git a/src/mistralai/models/__init__.py b/src/mistralai/models/__init__.py index 03965fde..2039c2b6 100644 --- a/src/mistralai/models/__init__.py +++ b/src/mistralai/models/__init__.py @@ -129,7 +129,16 @@ AssistantMessageRole, AssistantMessageTypedDict, ) - from .basemodelcard import BaseModelCard, BaseModelCardTypedDict, Type + from .audiochunk import AudioChunk, AudioChunkType, AudioChunkTypedDict + from .audiotranscriptionrequest import ( + AudioTranscriptionRequest, + AudioTranscriptionRequestTypedDict, + ) + from .audiotranscriptionrequeststream import ( + AudioTranscriptionRequestStream, + AudioTranscriptionRequestStreamTypedDict, + ) + from .basemodelcard import BaseModelCard, BaseModelCardType, BaseModelCardTypedDict from .batcherror import BatchError, BatchErrorTypedDict from .batchjobin import BatchJobIn, BatchJobInTypedDict from .batchjobout import BatchJobOut, BatchJobOutObject, BatchJobOutTypedDict @@ -759,8 +768,16 @@ SystemMessageTypedDict, ) from .textchunk import TextChunk, TextChunkType, TextChunkTypedDict + from .thinkchunk import ( + ThinkChunk, + ThinkChunkType, + ThinkChunkTypedDict, + Thinking, + ThinkingTypedDict, + ) + from .timestampgranularity import TimestampGranularity from .tool import Tool, ToolTypedDict - from .toolcall import ToolCall, ToolCallTypedDict + from .toolcall import Metadata, MetadataTypedDict, ToolCall, ToolCallTypedDict from .toolchoice import ToolChoice, ToolChoiceTypedDict from .toolchoiceenum import ToolChoiceEnum from .toolexecutiondeltaevent import ( @@ -799,6 +816,42 @@ ) from .tooltypes import ToolTypes from .trainingfile import TrainingFile, TrainingFileTypedDict + from .transcriptionresponse import ( + TranscriptionResponse, + TranscriptionResponseTypedDict, + ) + from .transcriptionsegmentchunk import ( + TranscriptionSegmentChunk, + TranscriptionSegmentChunkTypedDict, + Type, + ) + from .transcriptionstreamdone import ( + TranscriptionStreamDone, + TranscriptionStreamDoneType, + TranscriptionStreamDoneTypedDict, + ) + from .transcriptionstreamevents import ( + TranscriptionStreamEvents, + TranscriptionStreamEventsData, + TranscriptionStreamEventsDataTypedDict, + TranscriptionStreamEventsTypedDict, + ) + from .transcriptionstreameventtypes import TranscriptionStreamEventTypes + from .transcriptionstreamlanguage import ( + TranscriptionStreamLanguage, + TranscriptionStreamLanguageType, + TranscriptionStreamLanguageTypedDict, + ) + from .transcriptionstreamsegmentdelta import ( + TranscriptionStreamSegmentDelta, + TranscriptionStreamSegmentDeltaType, + TranscriptionStreamSegmentDeltaTypedDict, + ) + from .transcriptionstreamtextdelta import ( + TranscriptionStreamTextDelta, + TranscriptionStreamTextDeltaType, + TranscriptionStreamTextDeltaTypedDict, + ) from .unarchiveftmodelout import ( UnarchiveFTModelOut, UnarchiveFTModelOutObject, @@ -917,7 +970,15 @@ "AssistantMessageContentTypedDict", "AssistantMessageRole", "AssistantMessageTypedDict", + "AudioChunk", + "AudioChunkType", + "AudioChunkTypedDict", + "AudioTranscriptionRequest", + "AudioTranscriptionRequestStream", + "AudioTranscriptionRequestStreamTypedDict", + "AudioTranscriptionRequestTypedDict", "BaseModelCard", + "BaseModelCardType", "BaseModelCardTypedDict", "BatchError", "BatchErrorTypedDict", @@ -1322,6 +1383,8 @@ "MessageOutputEventTypedDict", "Messages", "MessagesTypedDict", + "Metadata", + "MetadataTypedDict", "MetricOut", "MetricOutTypedDict", "MistralPromptMode", @@ -1416,6 +1479,12 @@ "TextChunk", "TextChunkType", "TextChunkTypedDict", + "ThinkChunk", + "ThinkChunkType", + "ThinkChunkTypedDict", + "Thinking", + "ThinkingTypedDict", + "TimestampGranularity", "Tool", "ToolCall", "ToolCallTypedDict", @@ -1452,6 +1521,27 @@ "ToolsTypedDict", "TrainingFile", "TrainingFileTypedDict", + "TranscriptionResponse", + "TranscriptionResponseTypedDict", + "TranscriptionSegmentChunk", + "TranscriptionSegmentChunkTypedDict", + "TranscriptionStreamDone", + "TranscriptionStreamDoneType", + "TranscriptionStreamDoneTypedDict", + "TranscriptionStreamEventTypes", + "TranscriptionStreamEvents", + "TranscriptionStreamEventsData", + "TranscriptionStreamEventsDataTypedDict", + "TranscriptionStreamEventsTypedDict", + "TranscriptionStreamLanguage", + "TranscriptionStreamLanguageType", + "TranscriptionStreamLanguageTypedDict", + "TranscriptionStreamSegmentDelta", + "TranscriptionStreamSegmentDeltaType", + "TranscriptionStreamSegmentDeltaTypedDict", + "TranscriptionStreamTextDelta", + "TranscriptionStreamTextDeltaType", + "TranscriptionStreamTextDeltaTypedDict", "Two", "TwoTypedDict", "Type", @@ -1565,9 +1655,16 @@ "AssistantMessageContentTypedDict": ".assistantmessage", "AssistantMessageRole": ".assistantmessage", "AssistantMessageTypedDict": ".assistantmessage", + "AudioChunk": ".audiochunk", + "AudioChunkType": ".audiochunk", + "AudioChunkTypedDict": ".audiochunk", + "AudioTranscriptionRequest": ".audiotranscriptionrequest", + "AudioTranscriptionRequestTypedDict": ".audiotranscriptionrequest", + "AudioTranscriptionRequestStream": ".audiotranscriptionrequeststream", + "AudioTranscriptionRequestStreamTypedDict": ".audiotranscriptionrequeststream", "BaseModelCard": ".basemodelcard", + "BaseModelCardType": ".basemodelcard", "BaseModelCardTypedDict": ".basemodelcard", - "Type": ".basemodelcard", "BatchError": ".batcherror", "BatchErrorTypedDict": ".batcherror", "BatchJobIn": ".batchjobin", @@ -2067,8 +2164,16 @@ "TextChunk": ".textchunk", "TextChunkType": ".textchunk", "TextChunkTypedDict": ".textchunk", + "ThinkChunk": ".thinkchunk", + "ThinkChunkType": ".thinkchunk", + "ThinkChunkTypedDict": ".thinkchunk", + "Thinking": ".thinkchunk", + "ThinkingTypedDict": ".thinkchunk", + "TimestampGranularity": ".timestampgranularity", "Tool": ".tool", "ToolTypedDict": ".tool", + "Metadata": ".toolcall", + "MetadataTypedDict": ".toolcall", "ToolCall": ".toolcall", "ToolCallTypedDict": ".toolcall", "ToolChoice": ".toolchoice", @@ -2101,6 +2206,28 @@ "ToolTypes": ".tooltypes", "TrainingFile": ".trainingfile", "TrainingFileTypedDict": ".trainingfile", + "TranscriptionResponse": ".transcriptionresponse", + "TranscriptionResponseTypedDict": ".transcriptionresponse", + "TranscriptionSegmentChunk": ".transcriptionsegmentchunk", + "TranscriptionSegmentChunkTypedDict": ".transcriptionsegmentchunk", + "Type": ".transcriptionsegmentchunk", + "TranscriptionStreamDone": ".transcriptionstreamdone", + "TranscriptionStreamDoneType": ".transcriptionstreamdone", + "TranscriptionStreamDoneTypedDict": ".transcriptionstreamdone", + "TranscriptionStreamEvents": ".transcriptionstreamevents", + "TranscriptionStreamEventsData": ".transcriptionstreamevents", + "TranscriptionStreamEventsDataTypedDict": ".transcriptionstreamevents", + "TranscriptionStreamEventsTypedDict": ".transcriptionstreamevents", + "TranscriptionStreamEventTypes": ".transcriptionstreameventtypes", + "TranscriptionStreamLanguage": ".transcriptionstreamlanguage", + "TranscriptionStreamLanguageType": ".transcriptionstreamlanguage", + "TranscriptionStreamLanguageTypedDict": ".transcriptionstreamlanguage", + "TranscriptionStreamSegmentDelta": ".transcriptionstreamsegmentdelta", + "TranscriptionStreamSegmentDeltaType": ".transcriptionstreamsegmentdelta", + "TranscriptionStreamSegmentDeltaTypedDict": ".transcriptionstreamsegmentdelta", + "TranscriptionStreamTextDelta": ".transcriptionstreamtextdelta", + "TranscriptionStreamTextDeltaType": ".transcriptionstreamtextdelta", + "TranscriptionStreamTextDeltaTypedDict": ".transcriptionstreamtextdelta", "UnarchiveFTModelOut": ".unarchiveftmodelout", "UnarchiveFTModelOutObject": ".unarchiveftmodelout", "UnarchiveFTModelOutTypedDict": ".unarchiveftmodelout", diff --git a/src/mistralai/models/audiochunk.py b/src/mistralai/models/audiochunk.py new file mode 100644 index 00000000..2780570a --- /dev/null +++ b/src/mistralai/models/audiochunk.py @@ -0,0 +1,20 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from mistralai.types import BaseModel +from typing import Literal, Optional +from typing_extensions import NotRequired, TypedDict + + +AudioChunkType = Literal["input_audio"] + + +class AudioChunkTypedDict(TypedDict): + input_audio: str + type: NotRequired[AudioChunkType] + + +class AudioChunk(BaseModel): + input_audio: str + + type: Optional[AudioChunkType] = "input_audio" diff --git a/src/mistralai/models/audiotranscriptionrequest.py b/src/mistralai/models/audiotranscriptionrequest.py new file mode 100644 index 00000000..371d3ecc --- /dev/null +++ b/src/mistralai/models/audiotranscriptionrequest.py @@ -0,0 +1,97 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .file import File, FileTypedDict +from .timestampgranularity import TimestampGranularity +from mistralai.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL +from mistralai.utils import FieldMetadata, MultipartFormMetadata, validate_const +import pydantic +from pydantic import model_serializer +from pydantic.functional_validators import AfterValidator +from typing import List, Literal, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class AudioTranscriptionRequestTypedDict(TypedDict): + model: str + file: NotRequired[FileTypedDict] + file_url: NotRequired[Nullable[str]] + r"""Url of a file to be transcribed""" + file_id: NotRequired[Nullable[str]] + r"""ID of a file uploaded to /v1/files""" + language: NotRequired[Nullable[str]] + r"""Language of the audio, e.g. 'en'. Providing the language can boost accuracy.""" + temperature: NotRequired[Nullable[float]] + stream: Literal[False] + timestamp_granularities: NotRequired[List[TimestampGranularity]] + r"""Granularities of timestamps to include in the response.""" + + +class AudioTranscriptionRequest(BaseModel): + model: Annotated[str, FieldMetadata(multipart=True)] + + file: Annotated[ + Optional[File], FieldMetadata(multipart=MultipartFormMetadata(file=True)) + ] = None + + file_url: Annotated[OptionalNullable[str], FieldMetadata(multipart=True)] = UNSET + r"""Url of a file to be transcribed""" + + file_id: Annotated[OptionalNullable[str], FieldMetadata(multipart=True)] = UNSET + r"""ID of a file uploaded to /v1/files""" + + language: Annotated[OptionalNullable[str], FieldMetadata(multipart=True)] = UNSET + r"""Language of the audio, e.g. 'en'. Providing the language can boost accuracy.""" + + temperature: Annotated[OptionalNullable[float], FieldMetadata(multipart=True)] = ( + UNSET + ) + + STREAM: Annotated[ + Annotated[Optional[Literal[False]], AfterValidator(validate_const(False))], + pydantic.Field(alias="stream"), + FieldMetadata(multipart=True), + ] = False + + timestamp_granularities: Annotated[ + Optional[List[TimestampGranularity]], FieldMetadata(multipart=True) + ] = None + r"""Granularities of timestamps to include in the response.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = [ + "file", + "file_url", + "file_id", + "language", + "temperature", + "stream", + "timestamp_granularities", + ] + nullable_fields = ["file_url", "file_id", "language", "temperature"] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m diff --git a/src/mistralai/models/audiotranscriptionrequeststream.py b/src/mistralai/models/audiotranscriptionrequeststream.py new file mode 100644 index 00000000..04374503 --- /dev/null +++ b/src/mistralai/models/audiotranscriptionrequeststream.py @@ -0,0 +1,97 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .file import File, FileTypedDict +from .timestampgranularity import TimestampGranularity +from mistralai.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL +from mistralai.utils import FieldMetadata, MultipartFormMetadata, validate_const +import pydantic +from pydantic import model_serializer +from pydantic.functional_validators import AfterValidator +from typing import List, Literal, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class AudioTranscriptionRequestStreamTypedDict(TypedDict): + model: str + file: NotRequired[FileTypedDict] + file_url: NotRequired[Nullable[str]] + r"""Url of a file to be transcribed""" + file_id: NotRequired[Nullable[str]] + r"""ID of a file uploaded to /v1/files""" + language: NotRequired[Nullable[str]] + r"""Language of the audio, e.g. 'en'. Providing the language can boost accuracy.""" + temperature: NotRequired[Nullable[float]] + stream: Literal[True] + timestamp_granularities: NotRequired[List[TimestampGranularity]] + r"""Granularities of timestamps to include in the response.""" + + +class AudioTranscriptionRequestStream(BaseModel): + model: Annotated[str, FieldMetadata(multipart=True)] + + file: Annotated[ + Optional[File], FieldMetadata(multipart=MultipartFormMetadata(file=True)) + ] = None + + file_url: Annotated[OptionalNullable[str], FieldMetadata(multipart=True)] = UNSET + r"""Url of a file to be transcribed""" + + file_id: Annotated[OptionalNullable[str], FieldMetadata(multipart=True)] = UNSET + r"""ID of a file uploaded to /v1/files""" + + language: Annotated[OptionalNullable[str], FieldMetadata(multipart=True)] = UNSET + r"""Language of the audio, e.g. 'en'. Providing the language can boost accuracy.""" + + temperature: Annotated[OptionalNullable[float], FieldMetadata(multipart=True)] = ( + UNSET + ) + + STREAM: Annotated[ + Annotated[Optional[Literal[True]], AfterValidator(validate_const(True))], + pydantic.Field(alias="stream"), + FieldMetadata(multipart=True), + ] = True + + timestamp_granularities: Annotated[ + Optional[List[TimestampGranularity]], FieldMetadata(multipart=True) + ] = None + r"""Granularities of timestamps to include in the response.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = [ + "file", + "file_url", + "file_id", + "language", + "temperature", + "stream", + "timestamp_granularities", + ] + nullable_fields = ["file_url", "file_id", "language", "temperature"] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m diff --git a/src/mistralai/models/basemodelcard.py b/src/mistralai/models/basemodelcard.py index 7423a71b..a4a061ff 100644 --- a/src/mistralai/models/basemodelcard.py +++ b/src/mistralai/models/basemodelcard.py @@ -12,7 +12,7 @@ from typing_extensions import Annotated, NotRequired, TypedDict -Type = Literal["base"] +BaseModelCardType = Literal["base"] class BaseModelCardTypedDict(TypedDict): @@ -28,7 +28,7 @@ class BaseModelCardTypedDict(TypedDict): deprecation: NotRequired[Nullable[datetime]] deprecation_replacement_model: NotRequired[Nullable[str]] default_model_temperature: NotRequired[Nullable[float]] - type: Type + type: BaseModelCardType class BaseModelCard(BaseModel): @@ -57,7 +57,7 @@ class BaseModelCard(BaseModel): default_model_temperature: OptionalNullable[float] = UNSET TYPE: Annotated[ - Annotated[Optional[Type], AfterValidator(validate_const("base"))], + Annotated[Optional[BaseModelCardType], AfterValidator(validate_const("base"))], pydantic.Field(alias="type"), ] = "base" diff --git a/src/mistralai/models/batchjobin.py b/src/mistralai/models/batchjobin.py index 6fcce0f0..aa0bb5be 100644 --- a/src/mistralai/models/batchjobin.py +++ b/src/mistralai/models/batchjobin.py @@ -13,7 +13,8 @@ class BatchJobInTypedDict(TypedDict): input_files: List[str] endpoint: APIEndpoint - model: str + model: NotRequired[Nullable[str]] + agent_id: NotRequired[Nullable[str]] metadata: NotRequired[Nullable[Dict[str, str]]] timeout_hours: NotRequired[int] @@ -23,7 +24,9 @@ class BatchJobIn(BaseModel): endpoint: Annotated[APIEndpoint, PlainValidator(validate_open_enum(False))] - model: str + model: OptionalNullable[str] = UNSET + + agent_id: OptionalNullable[str] = UNSET metadata: OptionalNullable[Dict[str, str]] = UNSET @@ -31,8 +34,8 @@ class BatchJobIn(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["metadata", "timeout_hours"] - nullable_fields = ["metadata"] + optional_fields = ["model", "agent_id", "metadata", "timeout_hours"] + nullable_fields = ["model", "agent_id", "metadata"] null_default_fields = [] serialized = handler(self) diff --git a/src/mistralai/models/batchjobout.py b/src/mistralai/models/batchjobout.py index 2b49057b..88304313 100644 --- a/src/mistralai/models/batchjobout.py +++ b/src/mistralai/models/batchjobout.py @@ -16,7 +16,6 @@ class BatchJobOutTypedDict(TypedDict): id: str input_files: List[str] endpoint: str - model: str errors: List[BatchErrorTypedDict] status: BatchJobStatus created_at: int @@ -26,6 +25,8 @@ class BatchJobOutTypedDict(TypedDict): failed_requests: int object: NotRequired[BatchJobOutObject] metadata: NotRequired[Nullable[Dict[str, Any]]] + model: NotRequired[Nullable[str]] + agent_id: NotRequired[Nullable[str]] output_file: NotRequired[Nullable[str]] error_file: NotRequired[Nullable[str]] started_at: NotRequired[Nullable[int]] @@ -39,8 +40,6 @@ class BatchJobOut(BaseModel): endpoint: str - model: str - errors: List[BatchError] status: BatchJobStatus @@ -59,6 +58,10 @@ class BatchJobOut(BaseModel): metadata: OptionalNullable[Dict[str, Any]] = UNSET + model: OptionalNullable[str] = UNSET + + agent_id: OptionalNullable[str] = UNSET + output_file: OptionalNullable[str] = UNSET error_file: OptionalNullable[str] = UNSET @@ -72,6 +75,8 @@ def serialize_model(self, handler): optional_fields = [ "object", "metadata", + "model", + "agent_id", "output_file", "error_file", "started_at", @@ -79,6 +84,8 @@ def serialize_model(self, handler): ] nullable_fields = [ "metadata", + "model", + "agent_id", "output_file", "error_file", "started_at", diff --git a/src/mistralai/models/classifierftmodelout.py b/src/mistralai/models/classifierftmodelout.py index 4143d0e8..56ffe96d 100644 --- a/src/mistralai/models/classifierftmodelout.py +++ b/src/mistralai/models/classifierftmodelout.py @@ -21,7 +21,9 @@ class ClassifierFTModelOutTypedDict(TypedDict): id: str created: int owned_by: str + workspace_id: str root: str + root_version: str archived: bool capabilities: FTModelCapabilitiesOutTypedDict job: str @@ -41,8 +43,12 @@ class ClassifierFTModelOut(BaseModel): owned_by: str + workspace_id: str + root: str + root_version: str + archived: bool capabilities: FTModelCapabilitiesOut diff --git a/src/mistralai/models/completionargs.py b/src/mistralai/models/completionargs.py index 04e032ac..40aa0314 100644 --- a/src/mistralai/models/completionargs.py +++ b/src/mistralai/models/completionargs.py @@ -17,7 +17,7 @@ class CompletionArgsTypedDict(TypedDict): stop: NotRequired[Nullable[CompletionArgsStopTypedDict]] presence_penalty: NotRequired[Nullable[float]] frequency_penalty: NotRequired[Nullable[float]] - temperature: NotRequired[float] + temperature: NotRequired[Nullable[float]] top_p: NotRequired[Nullable[float]] max_tokens: NotRequired[Nullable[int]] random_seed: NotRequired[Nullable[int]] @@ -35,7 +35,7 @@ class CompletionArgs(BaseModel): frequency_penalty: OptionalNullable[float] = UNSET - temperature: Optional[float] = 0.3 + temperature: OptionalNullable[float] = UNSET top_p: OptionalNullable[float] = UNSET @@ -67,6 +67,7 @@ def serialize_model(self, handler): "stop", "presence_penalty", "frequency_penalty", + "temperature", "top_p", "max_tokens", "random_seed", diff --git a/src/mistralai/models/completionftmodelout.py b/src/mistralai/models/completionftmodelout.py index ad04d73e..ab71168b 100644 --- a/src/mistralai/models/completionftmodelout.py +++ b/src/mistralai/models/completionftmodelout.py @@ -20,7 +20,9 @@ class CompletionFTModelOutTypedDict(TypedDict): id: str created: int owned_by: str + workspace_id: str root: str + root_version: str archived: bool capabilities: FTModelCapabilitiesOutTypedDict job: str @@ -39,8 +41,12 @@ class CompletionFTModelOut(BaseModel): owned_by: str + workspace_id: str + root: str + root_version: str + archived: bool capabilities: FTModelCapabilitiesOut diff --git a/src/mistralai/models/contentchunk.py b/src/mistralai/models/contentchunk.py index 4cb8ab6d..47170eef 100644 --- a/src/mistralai/models/contentchunk.py +++ b/src/mistralai/models/contentchunk.py @@ -1,11 +1,13 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .audiochunk import AudioChunk, AudioChunkTypedDict from .documenturlchunk import DocumentURLChunk, DocumentURLChunkTypedDict from .filechunk import FileChunk, FileChunkTypedDict from .imageurlchunk import ImageURLChunk, ImageURLChunkTypedDict from .referencechunk import ReferenceChunk, ReferenceChunkTypedDict from .textchunk import TextChunk, TextChunkTypedDict +from .thinkchunk import ThinkChunk, ThinkChunkTypedDict from mistralai.utils import get_discriminator from pydantic import Discriminator, Tag from typing import Union @@ -19,7 +21,9 @@ ImageURLChunkTypedDict, ReferenceChunkTypedDict, FileChunkTypedDict, + AudioChunkTypedDict, DocumentURLChunkTypedDict, + ThinkChunkTypedDict, ], ) @@ -31,6 +35,8 @@ Annotated[TextChunk, Tag("text")], Annotated[ReferenceChunk, Tag("reference")], Annotated[FileChunk, Tag("file")], + Annotated[ThinkChunk, Tag("thinking")], + Annotated[AudioChunk, Tag("input_audio")], ], Discriminator(lambda m: get_discriminator(m, "type", "type")), ] diff --git a/src/mistralai/models/fileschema.py b/src/mistralai/models/fileschema.py index d687f222..7c7b60c6 100644 --- a/src/mistralai/models/fileschema.py +++ b/src/mistralai/models/fileschema.py @@ -27,6 +27,8 @@ class FileSchemaTypedDict(TypedDict): sample_type: SampleType source: Source num_lines: NotRequired[Nullable[int]] + mimetype: NotRequired[Nullable[str]] + signature: NotRequired[Nullable[str]] class FileSchema(BaseModel): @@ -53,10 +55,14 @@ class FileSchema(BaseModel): num_lines: OptionalNullable[int] = UNSET + mimetype: OptionalNullable[str] = UNSET + + signature: OptionalNullable[str] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["num_lines"] - nullable_fields = ["num_lines"] + optional_fields = ["num_lines", "mimetype", "signature"] + nullable_fields = ["num_lines", "mimetype", "signature"] null_default_fields = [] serialized = handler(self) diff --git a/src/mistralai/models/jobs_api_routes_batch_get_batch_jobsop.py b/src/mistralai/models/jobs_api_routes_batch_get_batch_jobsop.py index 39261226..c48246d5 100644 --- a/src/mistralai/models/jobs_api_routes_batch_get_batch_jobsop.py +++ b/src/mistralai/models/jobs_api_routes_batch_get_batch_jobsop.py @@ -14,6 +14,7 @@ class JobsAPIRoutesBatchGetBatchJobsRequestTypedDict(TypedDict): page: NotRequired[int] page_size: NotRequired[int] model: NotRequired[Nullable[str]] + agent_id: NotRequired[Nullable[str]] metadata: NotRequired[Nullable[Dict[str, Any]]] created_after: NotRequired[Nullable[datetime]] created_by_me: NotRequired[bool] @@ -36,6 +37,11 @@ class JobsAPIRoutesBatchGetBatchJobsRequest(BaseModel): FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = UNSET + agent_id: Annotated[ + OptionalNullable[str], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = UNSET + metadata: Annotated[ OptionalNullable[Dict[str, Any]], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), @@ -62,12 +68,13 @@ def serialize_model(self, handler): "page", "page_size", "model", + "agent_id", "metadata", "created_after", "created_by_me", "status", ] - nullable_fields = ["model", "metadata", "created_after", "status"] + nullable_fields = ["model", "agent_id", "metadata", "created_after", "status"] null_default_fields = [] serialized = handler(self) diff --git a/src/mistralai/models/retrievefileout.py b/src/mistralai/models/retrievefileout.py index e5f91449..7d734b0f 100644 --- a/src/mistralai/models/retrievefileout.py +++ b/src/mistralai/models/retrievefileout.py @@ -28,6 +28,8 @@ class RetrieveFileOutTypedDict(TypedDict): source: Source deleted: bool num_lines: NotRequired[Nullable[int]] + mimetype: NotRequired[Nullable[str]] + signature: NotRequired[Nullable[str]] class RetrieveFileOut(BaseModel): @@ -56,10 +58,14 @@ class RetrieveFileOut(BaseModel): num_lines: OptionalNullable[int] = UNSET + mimetype: OptionalNullable[str] = UNSET + + signature: OptionalNullable[str] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["num_lines"] - nullable_fields = ["num_lines"] + optional_fields = ["num_lines", "mimetype", "signature"] + nullable_fields = ["num_lines", "mimetype", "signature"] null_default_fields = [] serialized = handler(self) diff --git a/src/mistralai/models/thinkchunk.py b/src/mistralai/models/thinkchunk.py new file mode 100644 index 00000000..24b466f9 --- /dev/null +++ b/src/mistralai/models/thinkchunk.py @@ -0,0 +1,35 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .referencechunk import ReferenceChunk, ReferenceChunkTypedDict +from .textchunk import TextChunk, TextChunkTypedDict +from mistralai.types import BaseModel +from typing import List, Literal, Optional, Union +from typing_extensions import NotRequired, TypeAliasType, TypedDict + + +ThinkingTypedDict = TypeAliasType( + "ThinkingTypedDict", Union[ReferenceChunkTypedDict, TextChunkTypedDict] +) + + +Thinking = TypeAliasType("Thinking", Union[ReferenceChunk, TextChunk]) + + +ThinkChunkType = Literal["thinking"] + + +class ThinkChunkTypedDict(TypedDict): + thinking: List[ThinkingTypedDict] + closed: NotRequired[bool] + r"""Whether the thinking chunk is closed or not. Currently only used for prefixing.""" + type: NotRequired[ThinkChunkType] + + +class ThinkChunk(BaseModel): + thinking: List[Thinking] + + closed: Optional[bool] = None + r"""Whether the thinking chunk is closed or not. Currently only used for prefixing.""" + + type: Optional[ThinkChunkType] = "thinking" diff --git a/src/mistralai/models/timestampgranularity.py b/src/mistralai/models/timestampgranularity.py new file mode 100644 index 00000000..dd1b6446 --- /dev/null +++ b/src/mistralai/models/timestampgranularity.py @@ -0,0 +1,7 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from typing import Literal + + +TimestampGranularity = Literal["segment"] diff --git a/src/mistralai/models/toolcall.py b/src/mistralai/models/toolcall.py index 92dbb4a9..7d3a3c6b 100644 --- a/src/mistralai/models/toolcall.py +++ b/src/mistralai/models/toolcall.py @@ -3,18 +3,28 @@ from __future__ import annotations from .functioncall import FunctionCall, FunctionCallTypedDict from .tooltypes import ToolTypes -from mistralai.types import BaseModel +from mistralai.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL from mistralai.utils import validate_open_enum +from pydantic import model_serializer from pydantic.functional_validators import PlainValidator from typing import Optional from typing_extensions import Annotated, NotRequired, TypedDict +class MetadataTypedDict(TypedDict): + pass + + +class Metadata(BaseModel): + pass + + class ToolCallTypedDict(TypedDict): function: FunctionCallTypedDict id: NotRequired[str] type: NotRequired[ToolTypes] index: NotRequired[int] + metadata: NotRequired[Nullable[MetadataTypedDict]] class ToolCall(BaseModel): @@ -27,3 +37,35 @@ class ToolCall(BaseModel): ) index: Optional[int] = 0 + + metadata: OptionalNullable[Metadata] = UNSET + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = ["id", "type", "index", "metadata"] + nullable_fields = ["metadata"] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + return m diff --git a/src/mistralai/models/transcriptionresponse.py b/src/mistralai/models/transcriptionresponse.py new file mode 100644 index 00000000..54a98a5b --- /dev/null +++ b/src/mistralai/models/transcriptionresponse.py @@ -0,0 +1,79 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .transcriptionsegmentchunk import ( + TranscriptionSegmentChunk, + TranscriptionSegmentChunkTypedDict, +) +from .usageinfo import UsageInfo, UsageInfoTypedDict +from mistralai.types import BaseModel, Nullable, UNSET_SENTINEL +import pydantic +from pydantic import ConfigDict, model_serializer +from typing import Any, Dict, List, Optional +from typing_extensions import NotRequired, TypedDict + + +class TranscriptionResponseTypedDict(TypedDict): + model: str + text: str + usage: UsageInfoTypedDict + language: Nullable[str] + segments: NotRequired[List[TranscriptionSegmentChunkTypedDict]] + + +class TranscriptionResponse(BaseModel): + model_config = ConfigDict( + populate_by_name=True, arbitrary_types_allowed=True, extra="allow" + ) + __pydantic_extra__: Dict[str, Any] = pydantic.Field(init=False) + + model: str + + text: str + + usage: UsageInfo + + language: Nullable[str] + + segments: Optional[List[TranscriptionSegmentChunk]] = None + + @property + def additional_properties(self): + return self.__pydantic_extra__ + + @additional_properties.setter + def additional_properties(self, value): + self.__pydantic_extra__ = value # pyright: ignore[reportIncompatibleVariableOverride] + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = ["segments"] + nullable_fields = ["language"] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + for k, v in serialized.items(): + m[k] = v + + return m diff --git a/src/mistralai/models/transcriptionsegmentchunk.py b/src/mistralai/models/transcriptionsegmentchunk.py new file mode 100644 index 00000000..53f1b397 --- /dev/null +++ b/src/mistralai/models/transcriptionsegmentchunk.py @@ -0,0 +1,41 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from mistralai.types import BaseModel +import pydantic +from pydantic import ConfigDict +from typing import Any, Dict, Literal, Optional +from typing_extensions import NotRequired, TypedDict + + +Type = Literal["transcription_segment"] + + +class TranscriptionSegmentChunkTypedDict(TypedDict): + text: str + start: float + end: float + type: NotRequired[Type] + + +class TranscriptionSegmentChunk(BaseModel): + model_config = ConfigDict( + populate_by_name=True, arbitrary_types_allowed=True, extra="allow" + ) + __pydantic_extra__: Dict[str, Any] = pydantic.Field(init=False) + + text: str + + start: float + + end: float + + type: Optional[Type] = "transcription_segment" + + @property + def additional_properties(self): + return self.__pydantic_extra__ + + @additional_properties.setter + def additional_properties(self, value): + self.__pydantic_extra__ = value # pyright: ignore[reportIncompatibleVariableOverride] diff --git a/src/mistralai/models/transcriptionstreamdone.py b/src/mistralai/models/transcriptionstreamdone.py new file mode 100644 index 00000000..ffd0e080 --- /dev/null +++ b/src/mistralai/models/transcriptionstreamdone.py @@ -0,0 +1,85 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .transcriptionsegmentchunk import ( + TranscriptionSegmentChunk, + TranscriptionSegmentChunkTypedDict, +) +from .usageinfo import UsageInfo, UsageInfoTypedDict +from mistralai.types import BaseModel, Nullable, UNSET_SENTINEL +import pydantic +from pydantic import ConfigDict, model_serializer +from typing import Any, Dict, List, Literal, Optional +from typing_extensions import NotRequired, TypedDict + + +TranscriptionStreamDoneType = Literal["transcription.done"] + + +class TranscriptionStreamDoneTypedDict(TypedDict): + model: str + text: str + usage: UsageInfoTypedDict + language: Nullable[str] + segments: NotRequired[List[TranscriptionSegmentChunkTypedDict]] + type: NotRequired[TranscriptionStreamDoneType] + + +class TranscriptionStreamDone(BaseModel): + model_config = ConfigDict( + populate_by_name=True, arbitrary_types_allowed=True, extra="allow" + ) + __pydantic_extra__: Dict[str, Any] = pydantic.Field(init=False) + + model: str + + text: str + + usage: UsageInfo + + language: Nullable[str] + + segments: Optional[List[TranscriptionSegmentChunk]] = None + + type: Optional[TranscriptionStreamDoneType] = "transcription.done" + + @property + def additional_properties(self): + return self.__pydantic_extra__ + + @additional_properties.setter + def additional_properties(self, value): + self.__pydantic_extra__ = value # pyright: ignore[reportIncompatibleVariableOverride] + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = ["segments", "type"] + nullable_fields = ["language"] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + for k, v in serialized.items(): + m[k] = v + + return m diff --git a/src/mistralai/models/transcriptionstreamevents.py b/src/mistralai/models/transcriptionstreamevents.py new file mode 100644 index 00000000..8207c03f --- /dev/null +++ b/src/mistralai/models/transcriptionstreamevents.py @@ -0,0 +1,58 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .transcriptionstreamdone import ( + TranscriptionStreamDone, + TranscriptionStreamDoneTypedDict, +) +from .transcriptionstreameventtypes import TranscriptionStreamEventTypes +from .transcriptionstreamlanguage import ( + TranscriptionStreamLanguage, + TranscriptionStreamLanguageTypedDict, +) +from .transcriptionstreamsegmentdelta import ( + TranscriptionStreamSegmentDelta, + TranscriptionStreamSegmentDeltaTypedDict, +) +from .transcriptionstreamtextdelta import ( + TranscriptionStreamTextDelta, + TranscriptionStreamTextDeltaTypedDict, +) +from mistralai.types import BaseModel +from mistralai.utils import get_discriminator +from pydantic import Discriminator, Tag +from typing import Union +from typing_extensions import Annotated, TypeAliasType, TypedDict + + +TranscriptionStreamEventsDataTypedDict = TypeAliasType( + "TranscriptionStreamEventsDataTypedDict", + Union[ + TranscriptionStreamTextDeltaTypedDict, + TranscriptionStreamLanguageTypedDict, + TranscriptionStreamSegmentDeltaTypedDict, + TranscriptionStreamDoneTypedDict, + ], +) + + +TranscriptionStreamEventsData = Annotated[ + Union[ + Annotated[TranscriptionStreamDone, Tag("transcription.done")], + Annotated[TranscriptionStreamLanguage, Tag("transcription.language")], + Annotated[TranscriptionStreamSegmentDelta, Tag("transcription.segment")], + Annotated[TranscriptionStreamTextDelta, Tag("transcription.text.delta")], + ], + Discriminator(lambda m: get_discriminator(m, "type", "type")), +] + + +class TranscriptionStreamEventsTypedDict(TypedDict): + event: TranscriptionStreamEventTypes + data: TranscriptionStreamEventsDataTypedDict + + +class TranscriptionStreamEvents(BaseModel): + event: TranscriptionStreamEventTypes + + data: TranscriptionStreamEventsData diff --git a/src/mistralai/models/transcriptionstreameventtypes.py b/src/mistralai/models/transcriptionstreameventtypes.py new file mode 100644 index 00000000..4a910f0a --- /dev/null +++ b/src/mistralai/models/transcriptionstreameventtypes.py @@ -0,0 +1,12 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from typing import Literal + + +TranscriptionStreamEventTypes = Literal[ + "transcription.language", + "transcription.segment", + "transcription.text.delta", + "transcription.done", +] diff --git a/src/mistralai/models/transcriptionstreamlanguage.py b/src/mistralai/models/transcriptionstreamlanguage.py new file mode 100644 index 00000000..8fc2aa6e --- /dev/null +++ b/src/mistralai/models/transcriptionstreamlanguage.py @@ -0,0 +1,35 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from mistralai.types import BaseModel +import pydantic +from pydantic import ConfigDict +from typing import Any, Dict, Literal, Optional +from typing_extensions import NotRequired, TypedDict + + +TranscriptionStreamLanguageType = Literal["transcription.language"] + + +class TranscriptionStreamLanguageTypedDict(TypedDict): + audio_language: str + type: NotRequired[TranscriptionStreamLanguageType] + + +class TranscriptionStreamLanguage(BaseModel): + model_config = ConfigDict( + populate_by_name=True, arbitrary_types_allowed=True, extra="allow" + ) + __pydantic_extra__: Dict[str, Any] = pydantic.Field(init=False) + + audio_language: str + + type: Optional[TranscriptionStreamLanguageType] = "transcription.language" + + @property + def additional_properties(self): + return self.__pydantic_extra__ + + @additional_properties.setter + def additional_properties(self, value): + self.__pydantic_extra__ = value # pyright: ignore[reportIncompatibleVariableOverride] diff --git a/src/mistralai/models/transcriptionstreamsegmentdelta.py b/src/mistralai/models/transcriptionstreamsegmentdelta.py new file mode 100644 index 00000000..61b396b4 --- /dev/null +++ b/src/mistralai/models/transcriptionstreamsegmentdelta.py @@ -0,0 +1,41 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from mistralai.types import BaseModel +import pydantic +from pydantic import ConfigDict +from typing import Any, Dict, Literal, Optional +from typing_extensions import NotRequired, TypedDict + + +TranscriptionStreamSegmentDeltaType = Literal["transcription.segment"] + + +class TranscriptionStreamSegmentDeltaTypedDict(TypedDict): + text: str + start: float + end: float + type: NotRequired[TranscriptionStreamSegmentDeltaType] + + +class TranscriptionStreamSegmentDelta(BaseModel): + model_config = ConfigDict( + populate_by_name=True, arbitrary_types_allowed=True, extra="allow" + ) + __pydantic_extra__: Dict[str, Any] = pydantic.Field(init=False) + + text: str + + start: float + + end: float + + type: Optional[TranscriptionStreamSegmentDeltaType] = "transcription.segment" + + @property + def additional_properties(self): + return self.__pydantic_extra__ + + @additional_properties.setter + def additional_properties(self, value): + self.__pydantic_extra__ = value # pyright: ignore[reportIncompatibleVariableOverride] diff --git a/src/mistralai/models/transcriptionstreamtextdelta.py b/src/mistralai/models/transcriptionstreamtextdelta.py new file mode 100644 index 00000000..8f0b0e59 --- /dev/null +++ b/src/mistralai/models/transcriptionstreamtextdelta.py @@ -0,0 +1,35 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from mistralai.types import BaseModel +import pydantic +from pydantic import ConfigDict +from typing import Any, Dict, Literal, Optional +from typing_extensions import NotRequired, TypedDict + + +TranscriptionStreamTextDeltaType = Literal["transcription.text.delta"] + + +class TranscriptionStreamTextDeltaTypedDict(TypedDict): + text: str + type: NotRequired[TranscriptionStreamTextDeltaType] + + +class TranscriptionStreamTextDelta(BaseModel): + model_config = ConfigDict( + populate_by_name=True, arbitrary_types_allowed=True, extra="allow" + ) + __pydantic_extra__: Dict[str, Any] = pydantic.Field(init=False) + + text: str + + type: Optional[TranscriptionStreamTextDeltaType] = "transcription.text.delta" + + @property + def additional_properties(self): + return self.__pydantic_extra__ + + @additional_properties.setter + def additional_properties(self, value): + self.__pydantic_extra__ = value # pyright: ignore[reportIncompatibleVariableOverride] diff --git a/src/mistralai/models/uploadfileout.py b/src/mistralai/models/uploadfileout.py index 3a8b7337..8f9f1067 100644 --- a/src/mistralai/models/uploadfileout.py +++ b/src/mistralai/models/uploadfileout.py @@ -27,6 +27,8 @@ class UploadFileOutTypedDict(TypedDict): sample_type: SampleType source: Source num_lines: NotRequired[Nullable[int]] + mimetype: NotRequired[Nullable[str]] + signature: NotRequired[Nullable[str]] class UploadFileOut(BaseModel): @@ -53,10 +55,14 @@ class UploadFileOut(BaseModel): num_lines: OptionalNullable[int] = UNSET + mimetype: OptionalNullable[str] = UNSET + + signature: OptionalNullable[str] = UNSET + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["num_lines"] - nullable_fields = ["num_lines"] + optional_fields = ["num_lines", "mimetype", "signature"] + nullable_fields = ["num_lines", "mimetype", "signature"] null_default_fields = [] serialized = handler(self) diff --git a/src/mistralai/models/usageinfo.py b/src/mistralai/models/usageinfo.py index f7a6e99e..cedad5c1 100644 --- a/src/mistralai/models/usageinfo.py +++ b/src/mistralai/models/usageinfo.py @@ -1,19 +1,76 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from mistralai.types import BaseModel -from typing_extensions import TypedDict +from mistralai.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL +import pydantic +from pydantic import ConfigDict, model_serializer +from typing import Any, Dict, Optional +from typing_extensions import NotRequired, TypedDict class UsageInfoTypedDict(TypedDict): - prompt_tokens: int - completion_tokens: int - total_tokens: int + prompt_tokens: NotRequired[int] + completion_tokens: NotRequired[int] + total_tokens: NotRequired[int] + prompt_audio_seconds: NotRequired[Nullable[int]] class UsageInfo(BaseModel): - prompt_tokens: int + model_config = ConfigDict( + populate_by_name=True, arbitrary_types_allowed=True, extra="allow" + ) + __pydantic_extra__: Dict[str, Any] = pydantic.Field(init=False) - completion_tokens: int + prompt_tokens: Optional[int] = 0 - total_tokens: int + completion_tokens: Optional[int] = 0 + + total_tokens: Optional[int] = 0 + + prompt_audio_seconds: OptionalNullable[int] = UNSET + + @property + def additional_properties(self): + return self.__pydantic_extra__ + + @additional_properties.setter + def additional_properties(self, value): + self.__pydantic_extra__ = value # pyright: ignore[reportIncompatibleVariableOverride] + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = [ + "prompt_tokens", + "completion_tokens", + "total_tokens", + "prompt_audio_seconds", + ] + nullable_fields = ["prompt_audio_seconds"] + null_default_fields = [] + + serialized = handler(self) + + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + serialized.pop(k, None) + + optional_nullable = k in optional_fields and k in nullable_fields + is_set = ( + self.__pydantic_fields_set__.intersection({n}) + or k in null_default_fields + ) # pylint: disable=no-member + + if val is not None and val != UNSET_SENTINEL: + m[k] = val + elif val != UNSET_SENTINEL and ( + not k in optional_fields or (optional_nullable and is_set) + ): + m[k] = val + + for k, v in serialized.items(): + m[k] = v + + return m diff --git a/src/mistralai/sdk.py b/src/mistralai/sdk.py index 352c16a1..23d31cc7 100644 --- a/src/mistralai/sdk.py +++ b/src/mistralai/sdk.py @@ -15,6 +15,7 @@ if TYPE_CHECKING: from mistralai.agents import Agents + from mistralai.audio import Audio from mistralai.batch import Batch from mistralai.beta import Beta from mistralai.chat import Chat @@ -49,6 +50,7 @@ class Mistral(BaseSDK): r"""Classifiers API.""" ocr: "Ocr" r"""OCR API""" + audio: "Audio" _sub_sdk_map = { "models": ("mistralai.models_", "Models"), "beta": ("mistralai.beta", "Beta"), @@ -61,6 +63,7 @@ class Mistral(BaseSDK): "embeddings": ("mistralai.embeddings", "Embeddings"), "classifiers": ("mistralai.classifiers", "Classifiers"), "ocr": ("mistralai.ocr", "Ocr"), + "audio": ("mistralai.audio", "Audio"), } def __init__( diff --git a/src/mistralai/transcriptions.py b/src/mistralai/transcriptions.py new file mode 100644 index 00000000..24975cb2 --- /dev/null +++ b/src/mistralai/transcriptions.py @@ -0,0 +1,480 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from .basesdk import BaseSDK +from mistralai import models, utils +from mistralai._hooks import HookContext +from mistralai.types import OptionalNullable, UNSET +from mistralai.utils import eventstreaming, get_security_from_env +from typing import List, Mapping, Optional, Union + + +class Transcriptions(BaseSDK): + r"""API for audio transcription.""" + + def complete( + self, + *, + model: str, + file: Optional[Union[models.File, models.FileTypedDict]] = None, + file_url: OptionalNullable[str] = UNSET, + file_id: OptionalNullable[str] = UNSET, + language: OptionalNullable[str] = UNSET, + temperature: OptionalNullable[float] = UNSET, + timestamp_granularities: Optional[List[models.TimestampGranularity]] = None, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.TranscriptionResponse: + r"""Create Transcription + + :param model: + :param file: + :param file_url: Url of a file to be transcribed + :param file_id: ID of a file uploaded to /v1/files + :param language: Language of the audio, e.g. 'en'. Providing the language can boost accuracy. + :param temperature: + :param timestamp_granularities: Granularities of timestamps to include in the response. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.AudioTranscriptionRequest( + model=model, + file=utils.get_pydantic_model(file, Optional[models.File]), + file_url=file_url, + file_id=file_id, + language=language, + temperature=temperature, + timestamp_granularities=timestamp_granularities, + ) + + req = self._build_request( + method="POST", + path="/v1/audio/transcriptions", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=True, + request_has_path_params=False, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + get_serialized_body=lambda: utils.serialize_request_body( + request, False, False, "multipart", models.AudioTranscriptionRequest + ), + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["429", "500", "502", "503", "504"]) + + http_res = self.do_request( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="audio_api_v1_transcriptions_post", + oauth2_scopes=[], + security_source=get_security_from_env( + self.sdk_configuration.security, models.Security + ), + ), + request=req, + error_status_codes=["4XX", "5XX"], + retry_config=retry_config, + ) + + if utils.match_response(http_res, "200", "application/json"): + return utils.unmarshal_json(http_res.text, models.TranscriptionResponse) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError( + "API error occurred", http_res.status_code, http_res_text, http_res + ) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError( + "API error occurred", http_res.status_code, http_res_text, http_res + ) + + content_type = http_res.headers.get("Content-Type") + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError( + f"Unexpected response received (code: {http_res.status_code}, type: {content_type})", + http_res.status_code, + http_res_text, + http_res, + ) + + async def complete_async( + self, + *, + model: str, + file: Optional[Union[models.File, models.FileTypedDict]] = None, + file_url: OptionalNullable[str] = UNSET, + file_id: OptionalNullable[str] = UNSET, + language: OptionalNullable[str] = UNSET, + temperature: OptionalNullable[float] = UNSET, + timestamp_granularities: Optional[List[models.TimestampGranularity]] = None, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.TranscriptionResponse: + r"""Create Transcription + + :param model: + :param file: + :param file_url: Url of a file to be transcribed + :param file_id: ID of a file uploaded to /v1/files + :param language: Language of the audio, e.g. 'en'. Providing the language can boost accuracy. + :param temperature: + :param timestamp_granularities: Granularities of timestamps to include in the response. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.AudioTranscriptionRequest( + model=model, + file=utils.get_pydantic_model(file, Optional[models.File]), + file_url=file_url, + file_id=file_id, + language=language, + temperature=temperature, + timestamp_granularities=timestamp_granularities, + ) + + req = self._build_request_async( + method="POST", + path="/v1/audio/transcriptions", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=True, + request_has_path_params=False, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + get_serialized_body=lambda: utils.serialize_request_body( + request, False, False, "multipart", models.AudioTranscriptionRequest + ), + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["429", "500", "502", "503", "504"]) + + http_res = await self.do_request_async( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="audio_api_v1_transcriptions_post", + oauth2_scopes=[], + security_source=get_security_from_env( + self.sdk_configuration.security, models.Security + ), + ), + request=req, + error_status_codes=["4XX", "5XX"], + retry_config=retry_config, + ) + + if utils.match_response(http_res, "200", "application/json"): + return utils.unmarshal_json(http_res.text, models.TranscriptionResponse) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError( + "API error occurred", http_res.status_code, http_res_text, http_res + ) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError( + "API error occurred", http_res.status_code, http_res_text, http_res + ) + + content_type = http_res.headers.get("Content-Type") + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError( + f"Unexpected response received (code: {http_res.status_code}, type: {content_type})", + http_res.status_code, + http_res_text, + http_res, + ) + + def stream( + self, + *, + model: str, + file: Optional[Union[models.File, models.FileTypedDict]] = None, + file_url: OptionalNullable[str] = UNSET, + file_id: OptionalNullable[str] = UNSET, + language: OptionalNullable[str] = UNSET, + temperature: OptionalNullable[float] = UNSET, + timestamp_granularities: Optional[List[models.TimestampGranularity]] = None, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> eventstreaming.EventStream[models.TranscriptionStreamEvents]: + r"""Create streaming transcription (SSE) + + :param model: + :param file: + :param file_url: Url of a file to be transcribed + :param file_id: ID of a file uploaded to /v1/files + :param language: Language of the audio, e.g. 'en'. Providing the language can boost accuracy. + :param temperature: + :param timestamp_granularities: Granularities of timestamps to include in the response. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.AudioTranscriptionRequestStream( + model=model, + file=utils.get_pydantic_model(file, Optional[models.File]), + file_url=file_url, + file_id=file_id, + language=language, + temperature=temperature, + timestamp_granularities=timestamp_granularities, + ) + + req = self._build_request( + method="POST", + path="/v1/audio/transcriptions#stream", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=True, + request_has_path_params=False, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="text/event-stream", + http_headers=http_headers, + security=self.sdk_configuration.security, + get_serialized_body=lambda: utils.serialize_request_body( + request, + False, + False, + "multipart", + models.AudioTranscriptionRequestStream, + ), + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["429", "500", "502", "503", "504"]) + + http_res = self.do_request( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="audio_api_v1_transcriptions_post_stream", + oauth2_scopes=[], + security_source=get_security_from_env( + self.sdk_configuration.security, models.Security + ), + ), + request=req, + error_status_codes=["4XX", "5XX"], + stream=True, + retry_config=retry_config, + ) + + if utils.match_response(http_res, "200", "text/event-stream"): + return eventstreaming.EventStream( + http_res, + lambda raw: utils.unmarshal_json(raw, models.TranscriptionStreamEvents), + ) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError( + "API error occurred", http_res.status_code, http_res_text, http_res + ) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError( + "API error occurred", http_res.status_code, http_res_text, http_res + ) + + content_type = http_res.headers.get("Content-Type") + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError( + f"Unexpected response received (code: {http_res.status_code}, type: {content_type})", + http_res.status_code, + http_res_text, + http_res, + ) + + async def stream_async( + self, + *, + model: str, + file: Optional[Union[models.File, models.FileTypedDict]] = None, + file_url: OptionalNullable[str] = UNSET, + file_id: OptionalNullable[str] = UNSET, + language: OptionalNullable[str] = UNSET, + temperature: OptionalNullable[float] = UNSET, + timestamp_granularities: Optional[List[models.TimestampGranularity]] = None, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> eventstreaming.EventStreamAsync[models.TranscriptionStreamEvents]: + r"""Create streaming transcription (SSE) + + :param model: + :param file: + :param file_url: Url of a file to be transcribed + :param file_id: ID of a file uploaded to /v1/files + :param language: Language of the audio, e.g. 'en'. Providing the language can boost accuracy. + :param temperature: + :param timestamp_granularities: Granularities of timestamps to include in the response. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.AudioTranscriptionRequestStream( + model=model, + file=utils.get_pydantic_model(file, Optional[models.File]), + file_url=file_url, + file_id=file_id, + language=language, + temperature=temperature, + timestamp_granularities=timestamp_granularities, + ) + + req = self._build_request_async( + method="POST", + path="/v1/audio/transcriptions#stream", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=True, + request_has_path_params=False, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="text/event-stream", + http_headers=http_headers, + security=self.sdk_configuration.security, + get_serialized_body=lambda: utils.serialize_request_body( + request, + False, + False, + "multipart", + models.AudioTranscriptionRequestStream, + ), + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["429", "500", "502", "503", "504"]) + + http_res = await self.do_request_async( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="audio_api_v1_transcriptions_post_stream", + oauth2_scopes=[], + security_source=get_security_from_env( + self.sdk_configuration.security, models.Security + ), + ), + request=req, + error_status_codes=["4XX", "5XX"], + stream=True, + retry_config=retry_config, + ) + + if utils.match_response(http_res, "200", "text/event-stream"): + return eventstreaming.EventStreamAsync( + http_res, + lambda raw: utils.unmarshal_json(raw, models.TranscriptionStreamEvents), + ) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError( + "API error occurred", http_res.status_code, http_res_text, http_res + ) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError( + "API error occurred", http_res.status_code, http_res_text, http_res + ) + + content_type = http_res.headers.get("Content-Type") + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError( + f"Unexpected response received (code: {http_res.status_code}, type: {content_type})", + http_res.status_code, + http_res_text, + http_res, + ) From 03b466989216c3f2ea6e4677e3cafddab58bf286 Mon Sep 17 00:00:00 2001 From: jean-malo Date: Wed, 23 Jul 2025 19:34:37 +0200 Subject: [PATCH 2/3] fix: add examples --- examples/audio_chat_base64.py | 31 +++++++++++++++ examples/audio_chat_no_streaming.py | 30 ++++++++++++++ examples/audio_chat_streaming.py | 37 ++++++++++++++++++ examples/audio_transcription_async.py | 22 +++++++++++ examples/audio_transcription_segments.py | 23 +++++++++++ .../audio_transcription_segments_stream.py | 23 +++++++++++ examples/audio_transcription_stream_async.py | 23 +++++++++++ examples/audio_transcription_url.py | 21 ++++++++++ examples/files/bcn_weather.mp3 | Bin 0 -> 353280 bytes 9 files changed, 210 insertions(+) create mode 100755 examples/audio_chat_base64.py create mode 100755 examples/audio_chat_no_streaming.py create mode 100755 examples/audio_chat_streaming.py create mode 100644 examples/audio_transcription_async.py create mode 100644 examples/audio_transcription_segments.py create mode 100644 examples/audio_transcription_segments_stream.py create mode 100644 examples/audio_transcription_stream_async.py create mode 100644 examples/audio_transcription_url.py create mode 100644 examples/files/bcn_weather.mp3 diff --git a/examples/audio_chat_base64.py b/examples/audio_chat_base64.py new file mode 100755 index 00000000..e6e05adf --- /dev/null +++ b/examples/audio_chat_base64.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python +import base64 +import os + +from mistralai import Mistral +from mistralai.models import UserMessage + + + +def main(): + api_key = os.environ["MISTRAL_API_KEY"] + model = "voxtral-small-latest" + + client = Mistral(api_key=api_key) + with open("examples/files/bcn_weather.mp3", "rb") as f: + content = f.read() + chat_response = client.chat.complete( + model=model, + messages=[UserMessage(content=[ + {"type": "text", "text": "What's in this audio file?"}, + { + "type": "input_audio", + "input_audio": base64.b64encode(content).decode('utf-8'), + }, + ])], + ) + print(chat_response.choices[0].message.content) + + +if __name__ == "__main__": + main() diff --git a/examples/audio_chat_no_streaming.py b/examples/audio_chat_no_streaming.py new file mode 100755 index 00000000..2caebb25 --- /dev/null +++ b/examples/audio_chat_no_streaming.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python + +import os + +from mistralai import Mistral +from mistralai.models import UserMessage + + + +def main(): + api_key = os.environ["MISTRAL_API_KEY"] + model = "voxtral-small-latest" + + client = Mistral(api_key=api_key) + + chat_response = client.chat.complete( + model=model, + messages=[UserMessage(content=[ + {"type": "text", "text": "What is this audio about?"}, + { + "type": "input_audio", + "input_audio": "https://docs.mistral.ai/audio/bcn_weather.mp3", + }, + ])], + ) + print(chat_response.choices[0].message.content) + + +if __name__ == "__main__": + main() diff --git a/examples/audio_chat_streaming.py b/examples/audio_chat_streaming.py new file mode 100755 index 00000000..96e32841 --- /dev/null +++ b/examples/audio_chat_streaming.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python + +import os + +from mistralai import Mistral, File +from mistralai.models import UserMessage + + + +def main(): + api_key = os.environ["MISTRAL_API_KEY"] + model = "voxtral-small-latest" + + client = Mistral(api_key=api_key) + with open("examples/files/bcn_weather.mp3", "rb") as f: + file = client.files.upload(file=File(content=f, file_name=f.name), purpose="audio") + print(f"Uploaded audio file, id={file.id}") + signed_url = client.files.get_signed_url(file_id=file.id) + try: + chat_response = client.chat.stream( + model=model, + messages=[UserMessage(content=[ + {"type": "text", "text": "What is this audio about?"}, + { + "type": "input_audio", + "input_audio": signed_url.url, + }, + ])], + ) + for chunk in chat_response: + print(chunk.data.choices[0].delta.content) + finally: + client.files.delete(file_id=file.id) + print(f"Deleted audio file, id={file.id}") + +if __name__ == "__main__": + main() diff --git a/examples/audio_transcription_async.py b/examples/audio_transcription_async.py new file mode 100644 index 00000000..7ccd9c74 --- /dev/null +++ b/examples/audio_transcription_async.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python + +import os +import asyncio +from mistralai import Mistral, File + + +async def main(): + api_key = os.environ["MISTRAL_API_KEY"] + model = "voxtral-mini-latest" + + client = Mistral(api_key=api_key) + with open("examples/files/bcn_weather.mp3", "rb") as f: + response = await client.audio.transcriptions.complete_async( + model=model, + file=File(content=f, file_name=f.name), + ) + print(response.text) + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/examples/audio_transcription_segments.py b/examples/audio_transcription_segments.py new file mode 100644 index 00000000..626b83e2 --- /dev/null +++ b/examples/audio_transcription_segments.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python + +import os + +from mistralai import Mistral + + +def main(): + api_key = os.environ["MISTRAL_API_KEY"] + model = "voxtral-mini-latest" + + client = Mistral(api_key=api_key) + response = client.audio.transcriptions.complete( + model=model, + file_url="https://docs.mistral.ai/audio/bcn_weather.mp3", + timestamp_granularities=["segment"], + ) + print(response.text) + print(response.segments) + + +if __name__ == "__main__": + main() diff --git a/examples/audio_transcription_segments_stream.py b/examples/audio_transcription_segments_stream.py new file mode 100644 index 00000000..bedfbd40 --- /dev/null +++ b/examples/audio_transcription_segments_stream.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python + +import os + +from mistralai import Mistral + + +def main(): + api_key = os.environ["MISTRAL_API_KEY"] + model = "voxtral-mini-latest" + + client = Mistral(api_key=api_key) + response = client.audio.transcriptions.stream( + model=model, + file_url="https://docs.mistral.ai/audio/bcn_weather.mp3", + timestamp_granularities=["segment"], + ) + for chunk in response: + print(chunk) + + +if __name__ == "__main__": + main() diff --git a/examples/audio_transcription_stream_async.py b/examples/audio_transcription_stream_async.py new file mode 100644 index 00000000..6cb41029 --- /dev/null +++ b/examples/audio_transcription_stream_async.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python +import asyncio +import os + +from mistralai import Mistral, File + + +async def main(): + api_key = os.environ["MISTRAL_API_KEY"] + model = "voxtral-mini-2507" + + client = Mistral(api_key=api_key) + with open("examples/files/bcn_weather.mp3", "rb") as f: + response = await client.audio.transcriptions.stream_async( + model=model, + file=File(content=f, file_name=f.name), + ) + async for chunk in response: + print(chunk.event, chunk.data) + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/examples/audio_transcription_url.py b/examples/audio_transcription_url.py new file mode 100644 index 00000000..b194b50c --- /dev/null +++ b/examples/audio_transcription_url.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python + +import os + +from mistralai import Mistral + + +def main(): + api_key = os.environ["MISTRAL_API_KEY"] + model = "voxtral-mini-latest" + + client = Mistral(api_key=api_key) + response = client.audio.transcriptions.complete( + model=model, + file_url="https://docs.mistral.ai/audio/bcn_weather.mp3", + ) + print(response.text) + + +if __name__ == "__main__": + main() diff --git a/examples/files/bcn_weather.mp3 b/examples/files/bcn_weather.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..6a5152d178f2042357907aa557cc50f43bc8ba29 GIT binary patch literal 353280 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 #L6;pVb+d;{HNJrVy;}wFub19dNo!$Hy(F5}g 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

%C_5JCQUaf9dmE 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 rnQPmA%N9cNL=)tHyux#nYJ+PYJe>cSbMw Date: Wed, 23 Jul 2025 19:44:02 +0200 Subject: [PATCH 3/3] chore: folder --- examples/{files => fixtures}/bcn_weather.mp3 | Bin .../agents}/async_agents_no_streaming.py | 0 .../agents}/async_conversation_agent.py | 0 .../agents}/async_conversation_run.py | 0 .../agents}/async_conversation_run_mcp.py | 0 .../async_conversation_run_mcp_remote.py | 0 .../async_conversation_run_mcp_remote_auth.py | 0 .../agents}/async_conversation_run_stream.py | 0 .../audio/chat_base64.py} | 2 +- .../audio/chat_no_streaming.py} | 0 .../audio/chat_streaming.py} | 2 +- .../audio/transcription_async.py} | 2 +- .../audio/transcription_segments.py} | 0 .../audio/transcription_segments_stream.py} | 0 .../audio/transcription_stream_async.py} | 2 +- .../audio/transcription_url.py} | 0 .../chat}/async_chat_no_streaming.py | 0 .../async_chat_with_image_no_streaming.py | 0 .../chat}/async_chat_with_streaming.py | 0 .../chat}/async_structured_outputs.py | 0 .../{ => mistral/chat}/chat_no_streaming.py | 0 .../{ => mistral/chat}/chat_prediction.py | 0 .../{ => mistral/chat}/chat_with_streaming.py | 0 .../chat}/chatbot_with_streaming.py | 0 .../chat}/completion_with_streaming.py | 0 .../{ => mistral/chat}/function_calling.py | 0 examples/{ => mistral/chat}/json_format.py | 0 .../{ => mistral/chat}/structured_outputs.py | 0 .../structured_outputs_with_json_schema.py | 0 .../chat}/structured_outputs_with_pydantic.py | 0 .../classifier}/async_classifier.py | 0 .../embeddings}/async_embeddings.py | 0 .../{ => mistral/embeddings}/embeddings.py | 0 .../fim}/async_code_completion.py | 0 examples/{ => mistral/fim}/code_completion.py | 0 examples/{ => mistral/jobs}/async_files.py | 0 examples/{ => mistral/jobs}/async_jobs.py | 0 .../{ => mistral/jobs}/async_jobs_chat.py | 0 examples/{ => mistral/jobs}/dry_run_job.py | 0 examples/{ => mistral/jobs}/files.py | 0 examples/{ => mistral/jobs}/jobs.py | 0 .../libraries}/async_libraries.py | 0 examples/{ => mistral/libraries}/libraries.py | 0 .../{ => mistral}/mcp_servers/sse_server.py | 0 .../{ => mistral}/mcp_servers/stdio_server.py | 0 .../{ => mistral/models}/async_list_models.py | 0 examples/{ => mistral/models}/list_models.py | 0 .../ocr}/ocr_process_from_file.py | 0 .../{ => mistral/ocr}/ocr_process_from_url.py | 0 scripts/run_examples.sh | 19 +++++++++++------- 50 files changed, 16 insertions(+), 11 deletions(-) rename examples/{files => fixtures}/bcn_weather.mp3 (100%) rename examples/{ => mistral/agents}/async_agents_no_streaming.py (100%) rename examples/{ => mistral/agents}/async_conversation_agent.py (100%) rename examples/{ => mistral/agents}/async_conversation_run.py (100%) rename examples/{ => mistral/agents}/async_conversation_run_mcp.py (100%) rename examples/{ => mistral/agents}/async_conversation_run_mcp_remote.py (100%) rename examples/{ => mistral/agents}/async_conversation_run_mcp_remote_auth.py (100%) rename examples/{ => mistral/agents}/async_conversation_run_stream.py (100%) rename examples/{audio_chat_base64.py => mistral/audio/chat_base64.py} (91%) rename examples/{audio_chat_no_streaming.py => mistral/audio/chat_no_streaming.py} (100%) rename examples/{audio_chat_streaming.py => mistral/audio/chat_streaming.py} (94%) rename examples/{audio_transcription_async.py => mistral/audio/transcription_async.py} (87%) rename examples/{audio_transcription_segments.py => mistral/audio/transcription_segments.py} (100%) rename examples/{audio_transcription_segments_stream.py => mistral/audio/transcription_segments_stream.py} (100%) rename examples/{audio_transcription_stream_async.py => mistral/audio/transcription_stream_async.py} (88%) rename examples/{audio_transcription_url.py => mistral/audio/transcription_url.py} (100%) rename examples/{ => mistral/chat}/async_chat_no_streaming.py (100%) rename examples/{ => mistral/chat}/async_chat_with_image_no_streaming.py (100%) rename examples/{ => mistral/chat}/async_chat_with_streaming.py (100%) rename examples/{ => mistral/chat}/async_structured_outputs.py (100%) rename examples/{ => mistral/chat}/chat_no_streaming.py (100%) rename examples/{ => mistral/chat}/chat_prediction.py (100%) rename examples/{ => mistral/chat}/chat_with_streaming.py (100%) rename examples/{ => mistral/chat}/chatbot_with_streaming.py (100%) rename examples/{ => mistral/chat}/completion_with_streaming.py (100%) rename examples/{ => mistral/chat}/function_calling.py (100%) rename examples/{ => mistral/chat}/json_format.py (100%) rename examples/{ => mistral/chat}/structured_outputs.py (100%) rename examples/{ => mistral/chat}/structured_outputs_with_json_schema.py (100%) rename examples/{ => mistral/chat}/structured_outputs_with_pydantic.py (100%) rename examples/{ => mistral/classifier}/async_classifier.py (100%) rename examples/{ => mistral/embeddings}/async_embeddings.py (100%) rename examples/{ => mistral/embeddings}/embeddings.py (100%) rename examples/{ => mistral/fim}/async_code_completion.py (100%) rename examples/{ => mistral/fim}/code_completion.py (100%) rename examples/{ => mistral/jobs}/async_files.py (100%) rename examples/{ => mistral/jobs}/async_jobs.py (100%) rename examples/{ => mistral/jobs}/async_jobs_chat.py (100%) rename examples/{ => mistral/jobs}/dry_run_job.py (100%) rename examples/{ => mistral/jobs}/files.py (100%) rename examples/{ => mistral/jobs}/jobs.py (100%) rename examples/{ => mistral/libraries}/async_libraries.py (100%) rename examples/{ => mistral/libraries}/libraries.py (100%) rename examples/{ => mistral}/mcp_servers/sse_server.py (100%) rename examples/{ => mistral}/mcp_servers/stdio_server.py (100%) rename examples/{ => mistral/models}/async_list_models.py (100%) rename examples/{ => mistral/models}/list_models.py (100%) rename examples/{ => mistral/ocr}/ocr_process_from_file.py (100%) rename examples/{ => mistral/ocr}/ocr_process_from_url.py (100%) diff --git a/examples/files/bcn_weather.mp3 b/examples/fixtures/bcn_weather.mp3 similarity index 100% rename from examples/files/bcn_weather.mp3 rename to examples/fixtures/bcn_weather.mp3 diff --git a/examples/async_agents_no_streaming.py b/examples/mistral/agents/async_agents_no_streaming.py similarity index 100% rename from examples/async_agents_no_streaming.py rename to examples/mistral/agents/async_agents_no_streaming.py diff --git a/examples/async_conversation_agent.py b/examples/mistral/agents/async_conversation_agent.py similarity index 100% rename from examples/async_conversation_agent.py rename to examples/mistral/agents/async_conversation_agent.py diff --git a/examples/async_conversation_run.py b/examples/mistral/agents/async_conversation_run.py similarity index 100% rename from examples/async_conversation_run.py rename to examples/mistral/agents/async_conversation_run.py diff --git a/examples/async_conversation_run_mcp.py b/examples/mistral/agents/async_conversation_run_mcp.py similarity index 100% rename from examples/async_conversation_run_mcp.py rename to examples/mistral/agents/async_conversation_run_mcp.py diff --git a/examples/async_conversation_run_mcp_remote.py b/examples/mistral/agents/async_conversation_run_mcp_remote.py similarity index 100% rename from examples/async_conversation_run_mcp_remote.py rename to examples/mistral/agents/async_conversation_run_mcp_remote.py diff --git a/examples/async_conversation_run_mcp_remote_auth.py b/examples/mistral/agents/async_conversation_run_mcp_remote_auth.py similarity index 100% rename from examples/async_conversation_run_mcp_remote_auth.py rename to examples/mistral/agents/async_conversation_run_mcp_remote_auth.py diff --git a/examples/async_conversation_run_stream.py b/examples/mistral/agents/async_conversation_run_stream.py similarity index 100% rename from examples/async_conversation_run_stream.py rename to examples/mistral/agents/async_conversation_run_stream.py diff --git a/examples/audio_chat_base64.py b/examples/mistral/audio/chat_base64.py similarity index 91% rename from examples/audio_chat_base64.py rename to examples/mistral/audio/chat_base64.py index e6e05adf..ea5ea79a 100755 --- a/examples/audio_chat_base64.py +++ b/examples/mistral/audio/chat_base64.py @@ -12,7 +12,7 @@ def main(): model = "voxtral-small-latest" client = Mistral(api_key=api_key) - with open("examples/files/bcn_weather.mp3", "rb") as f: + with open("examples/fixtures/bcn_weather.mp3", "rb") as f: content = f.read() chat_response = client.chat.complete( model=model, diff --git a/examples/audio_chat_no_streaming.py b/examples/mistral/audio/chat_no_streaming.py similarity index 100% rename from examples/audio_chat_no_streaming.py rename to examples/mistral/audio/chat_no_streaming.py diff --git a/examples/audio_chat_streaming.py b/examples/mistral/audio/chat_streaming.py similarity index 94% rename from examples/audio_chat_streaming.py rename to examples/mistral/audio/chat_streaming.py index 96e32841..060bfdd9 100755 --- a/examples/audio_chat_streaming.py +++ b/examples/mistral/audio/chat_streaming.py @@ -12,7 +12,7 @@ def main(): model = "voxtral-small-latest" client = Mistral(api_key=api_key) - with open("examples/files/bcn_weather.mp3", "rb") as f: + with open("examples/fixtures/bcn_weather.mp3", "rb") as f: file = client.files.upload(file=File(content=f, file_name=f.name), purpose="audio") print(f"Uploaded audio file, id={file.id}") signed_url = client.files.get_signed_url(file_id=file.id) diff --git a/examples/audio_transcription_async.py b/examples/mistral/audio/transcription_async.py similarity index 87% rename from examples/audio_transcription_async.py rename to examples/mistral/audio/transcription_async.py index 7ccd9c74..9092fc03 100644 --- a/examples/audio_transcription_async.py +++ b/examples/mistral/audio/transcription_async.py @@ -10,7 +10,7 @@ async def main(): model = "voxtral-mini-latest" client = Mistral(api_key=api_key) - with open("examples/files/bcn_weather.mp3", "rb") as f: + with open("examples/fixtures/bcn_weather.mp3", "rb") as f: response = await client.audio.transcriptions.complete_async( model=model, file=File(content=f, file_name=f.name), diff --git a/examples/audio_transcription_segments.py b/examples/mistral/audio/transcription_segments.py similarity index 100% rename from examples/audio_transcription_segments.py rename to examples/mistral/audio/transcription_segments.py diff --git a/examples/audio_transcription_segments_stream.py b/examples/mistral/audio/transcription_segments_stream.py similarity index 100% rename from examples/audio_transcription_segments_stream.py rename to examples/mistral/audio/transcription_segments_stream.py diff --git a/examples/audio_transcription_stream_async.py b/examples/mistral/audio/transcription_stream_async.py similarity index 88% rename from examples/audio_transcription_stream_async.py rename to examples/mistral/audio/transcription_stream_async.py index 6cb41029..b7f553b3 100644 --- a/examples/audio_transcription_stream_async.py +++ b/examples/mistral/audio/transcription_stream_async.py @@ -10,7 +10,7 @@ async def main(): model = "voxtral-mini-2507" client = Mistral(api_key=api_key) - with open("examples/files/bcn_weather.mp3", "rb") as f: + with open("examples/fixtures/bcn_weather.mp3", "rb") as f: response = await client.audio.transcriptions.stream_async( model=model, file=File(content=f, file_name=f.name), diff --git a/examples/audio_transcription_url.py b/examples/mistral/audio/transcription_url.py similarity index 100% rename from examples/audio_transcription_url.py rename to examples/mistral/audio/transcription_url.py diff --git a/examples/async_chat_no_streaming.py b/examples/mistral/chat/async_chat_no_streaming.py similarity index 100% rename from examples/async_chat_no_streaming.py rename to examples/mistral/chat/async_chat_no_streaming.py diff --git a/examples/async_chat_with_image_no_streaming.py b/examples/mistral/chat/async_chat_with_image_no_streaming.py similarity index 100% rename from examples/async_chat_with_image_no_streaming.py rename to examples/mistral/chat/async_chat_with_image_no_streaming.py diff --git a/examples/async_chat_with_streaming.py b/examples/mistral/chat/async_chat_with_streaming.py similarity index 100% rename from examples/async_chat_with_streaming.py rename to examples/mistral/chat/async_chat_with_streaming.py diff --git a/examples/async_structured_outputs.py b/examples/mistral/chat/async_structured_outputs.py similarity index 100% rename from examples/async_structured_outputs.py rename to examples/mistral/chat/async_structured_outputs.py diff --git a/examples/chat_no_streaming.py b/examples/mistral/chat/chat_no_streaming.py similarity index 100% rename from examples/chat_no_streaming.py rename to examples/mistral/chat/chat_no_streaming.py diff --git a/examples/chat_prediction.py b/examples/mistral/chat/chat_prediction.py similarity index 100% rename from examples/chat_prediction.py rename to examples/mistral/chat/chat_prediction.py diff --git a/examples/chat_with_streaming.py b/examples/mistral/chat/chat_with_streaming.py similarity index 100% rename from examples/chat_with_streaming.py rename to examples/mistral/chat/chat_with_streaming.py diff --git a/examples/chatbot_with_streaming.py b/examples/mistral/chat/chatbot_with_streaming.py similarity index 100% rename from examples/chatbot_with_streaming.py rename to examples/mistral/chat/chatbot_with_streaming.py diff --git a/examples/completion_with_streaming.py b/examples/mistral/chat/completion_with_streaming.py similarity index 100% rename from examples/completion_with_streaming.py rename to examples/mistral/chat/completion_with_streaming.py diff --git a/examples/function_calling.py b/examples/mistral/chat/function_calling.py similarity index 100% rename from examples/function_calling.py rename to examples/mistral/chat/function_calling.py diff --git a/examples/json_format.py b/examples/mistral/chat/json_format.py similarity index 100% rename from examples/json_format.py rename to examples/mistral/chat/json_format.py diff --git a/examples/structured_outputs.py b/examples/mistral/chat/structured_outputs.py similarity index 100% rename from examples/structured_outputs.py rename to examples/mistral/chat/structured_outputs.py diff --git a/examples/structured_outputs_with_json_schema.py b/examples/mistral/chat/structured_outputs_with_json_schema.py similarity index 100% rename from examples/structured_outputs_with_json_schema.py rename to examples/mistral/chat/structured_outputs_with_json_schema.py diff --git a/examples/structured_outputs_with_pydantic.py b/examples/mistral/chat/structured_outputs_with_pydantic.py similarity index 100% rename from examples/structured_outputs_with_pydantic.py rename to examples/mistral/chat/structured_outputs_with_pydantic.py diff --git a/examples/async_classifier.py b/examples/mistral/classifier/async_classifier.py similarity index 100% rename from examples/async_classifier.py rename to examples/mistral/classifier/async_classifier.py diff --git a/examples/async_embeddings.py b/examples/mistral/embeddings/async_embeddings.py similarity index 100% rename from examples/async_embeddings.py rename to examples/mistral/embeddings/async_embeddings.py diff --git a/examples/embeddings.py b/examples/mistral/embeddings/embeddings.py similarity index 100% rename from examples/embeddings.py rename to examples/mistral/embeddings/embeddings.py diff --git a/examples/async_code_completion.py b/examples/mistral/fim/async_code_completion.py similarity index 100% rename from examples/async_code_completion.py rename to examples/mistral/fim/async_code_completion.py diff --git a/examples/code_completion.py b/examples/mistral/fim/code_completion.py similarity index 100% rename from examples/code_completion.py rename to examples/mistral/fim/code_completion.py diff --git a/examples/async_files.py b/examples/mistral/jobs/async_files.py similarity index 100% rename from examples/async_files.py rename to examples/mistral/jobs/async_files.py diff --git a/examples/async_jobs.py b/examples/mistral/jobs/async_jobs.py similarity index 100% rename from examples/async_jobs.py rename to examples/mistral/jobs/async_jobs.py diff --git a/examples/async_jobs_chat.py b/examples/mistral/jobs/async_jobs_chat.py similarity index 100% rename from examples/async_jobs_chat.py rename to examples/mistral/jobs/async_jobs_chat.py diff --git a/examples/dry_run_job.py b/examples/mistral/jobs/dry_run_job.py similarity index 100% rename from examples/dry_run_job.py rename to examples/mistral/jobs/dry_run_job.py diff --git a/examples/files.py b/examples/mistral/jobs/files.py similarity index 100% rename from examples/files.py rename to examples/mistral/jobs/files.py diff --git a/examples/jobs.py b/examples/mistral/jobs/jobs.py similarity index 100% rename from examples/jobs.py rename to examples/mistral/jobs/jobs.py diff --git a/examples/async_libraries.py b/examples/mistral/libraries/async_libraries.py similarity index 100% rename from examples/async_libraries.py rename to examples/mistral/libraries/async_libraries.py diff --git a/examples/libraries.py b/examples/mistral/libraries/libraries.py similarity index 100% rename from examples/libraries.py rename to examples/mistral/libraries/libraries.py diff --git a/examples/mcp_servers/sse_server.py b/examples/mistral/mcp_servers/sse_server.py similarity index 100% rename from examples/mcp_servers/sse_server.py rename to examples/mistral/mcp_servers/sse_server.py diff --git a/examples/mcp_servers/stdio_server.py b/examples/mistral/mcp_servers/stdio_server.py similarity index 100% rename from examples/mcp_servers/stdio_server.py rename to examples/mistral/mcp_servers/stdio_server.py diff --git a/examples/async_list_models.py b/examples/mistral/models/async_list_models.py similarity index 100% rename from examples/async_list_models.py rename to examples/mistral/models/async_list_models.py diff --git a/examples/list_models.py b/examples/mistral/models/list_models.py similarity index 100% rename from examples/list_models.py rename to examples/mistral/models/list_models.py diff --git a/examples/ocr_process_from_file.py b/examples/mistral/ocr/ocr_process_from_file.py similarity index 100% rename from examples/ocr_process_from_file.py rename to examples/mistral/ocr/ocr_process_from_file.py diff --git a/examples/ocr_process_from_url.py b/examples/mistral/ocr/ocr_process_from_url.py similarity index 100% rename from examples/ocr_process_from_url.py rename to examples/mistral/ocr/ocr_process_from_url.py diff --git a/scripts/run_examples.sh b/scripts/run_examples.sh index a48d34af..6b281092 100755 --- a/scripts/run_examples.sh +++ b/scripts/run_examples.sh @@ -2,24 +2,29 @@ # List of files to exclude exclude_files=( - "examples/chatbot_with_streaming.py" - "examples/async_conversation_run_mcp_remote_auth.py" + "examples/mistral/chat/chatbot_with_streaming.py" + "examples/mistral/agents/async_conversation_run_mcp_remote_auth.py" + "examples/mistral/jobs/async_jobs_chat.py" + "examples/mistral/classifier/async_classifier.py" + "examples/mistral/mcp_servers/sse_server.py" + "examples/mistral/mcp_servers/stdio_server.py" + "examples/mistral/agents/async_conversation_run_stream.py" + "examples/mistral/agents/async_conversation_run_mcp.py" ) # Check if the first argument is "no-extra-dep" then remove all the files that require the extra dependencies if [ "$1" = "--no-extra-dep" ]; then # Add more files to the exclude list exclude_files+=( - "examples/async_conversation_run_mcp_remote.py" - "examples/async_conversation_run_mcp.py" - "examples/async_conversation_run_stream.py" - "examples/async_conversation_run.py" + "examples/mistral/agents/async_conversation_run_mcp_remote.py" + "examples/mistral/agents/async_conversation_run_stream.py" + "examples/mistral/agents/async_conversation_run.py" ) fi failed=0 -for file in examples/*.py; do +for file in examples/mistral/**/*.py; do # Check if the file is not in the exclude list if [ -f "$file" ] && [[ ! " ${exclude_files[@]} " =~ " $file " ]]; then echo "Running $file"