mistralai 1.7.1__py3-none-any.whl → 1.8.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. mistralai/_version.py +2 -2
  2. mistralai/beta.py +22 -0
  3. mistralai/conversations.py +2660 -0
  4. mistralai/embeddings.py +12 -0
  5. mistralai/extra/__init__.py +10 -2
  6. mistralai/extra/exceptions.py +14 -0
  7. mistralai/extra/mcp/__init__.py +0 -0
  8. mistralai/extra/mcp/auth.py +166 -0
  9. mistralai/extra/mcp/base.py +155 -0
  10. mistralai/extra/mcp/sse.py +165 -0
  11. mistralai/extra/mcp/stdio.py +22 -0
  12. mistralai/extra/run/__init__.py +0 -0
  13. mistralai/extra/run/context.py +295 -0
  14. mistralai/extra/run/result.py +212 -0
  15. mistralai/extra/run/tools.py +225 -0
  16. mistralai/extra/run/utils.py +36 -0
  17. mistralai/extra/tests/test_struct_chat.py +1 -1
  18. mistralai/mistral_agents.py +1160 -0
  19. mistralai/models/__init__.py +472 -1
  20. mistralai/models/agent.py +129 -0
  21. mistralai/models/agentconversation.py +71 -0
  22. mistralai/models/agentcreationrequest.py +109 -0
  23. mistralai/models/agenthandoffdoneevent.py +33 -0
  24. mistralai/models/agenthandoffentry.py +75 -0
  25. mistralai/models/agenthandoffstartedevent.py +33 -0
  26. mistralai/models/agents_api_v1_agents_getop.py +16 -0
  27. mistralai/models/agents_api_v1_agents_listop.py +24 -0
  28. mistralai/models/agents_api_v1_agents_update_versionop.py +21 -0
  29. mistralai/models/agents_api_v1_agents_updateop.py +23 -0
  30. mistralai/models/agents_api_v1_conversations_append_streamop.py +28 -0
  31. mistralai/models/agents_api_v1_conversations_appendop.py +28 -0
  32. mistralai/models/agents_api_v1_conversations_getop.py +33 -0
  33. mistralai/models/agents_api_v1_conversations_historyop.py +16 -0
  34. mistralai/models/agents_api_v1_conversations_listop.py +37 -0
  35. mistralai/models/agents_api_v1_conversations_messagesop.py +16 -0
  36. mistralai/models/agents_api_v1_conversations_restart_streamop.py +26 -0
  37. mistralai/models/agents_api_v1_conversations_restartop.py +26 -0
  38. mistralai/models/agentupdaterequest.py +111 -0
  39. mistralai/models/builtinconnectors.py +13 -0
  40. mistralai/models/chatcompletionresponse.py +6 -6
  41. mistralai/models/codeinterpretertool.py +17 -0
  42. mistralai/models/completionargs.py +100 -0
  43. mistralai/models/completionargsstop.py +13 -0
  44. mistralai/models/completionjobout.py +3 -3
  45. mistralai/models/conversationappendrequest.py +35 -0
  46. mistralai/models/conversationappendstreamrequest.py +37 -0
  47. mistralai/models/conversationevents.py +72 -0
  48. mistralai/models/conversationhistory.py +58 -0
  49. mistralai/models/conversationinputs.py +14 -0
  50. mistralai/models/conversationmessages.py +28 -0
  51. mistralai/models/conversationrequest.py +133 -0
  52. mistralai/models/conversationresponse.py +51 -0
  53. mistralai/models/conversationrestartrequest.py +42 -0
  54. mistralai/models/conversationrestartstreamrequest.py +44 -0
  55. mistralai/models/conversationstreamrequest.py +135 -0
  56. mistralai/models/conversationusageinfo.py +63 -0
  57. mistralai/models/documentlibrarytool.py +22 -0
  58. mistralai/models/embeddingdtype.py +7 -0
  59. mistralai/models/embeddingrequest.py +43 -3
  60. mistralai/models/fimcompletionresponse.py +6 -6
  61. mistralai/models/functioncallentry.py +76 -0
  62. mistralai/models/functioncallentryarguments.py +15 -0
  63. mistralai/models/functioncallevent.py +36 -0
  64. mistralai/models/functionresultentry.py +69 -0
  65. mistralai/models/functiontool.py +21 -0
  66. mistralai/models/imagegenerationtool.py +17 -0
  67. mistralai/models/inputentries.py +18 -0
  68. mistralai/models/messageentries.py +18 -0
  69. mistralai/models/messageinputcontentchunks.py +26 -0
  70. mistralai/models/messageinputentry.py +89 -0
  71. mistralai/models/messageoutputcontentchunks.py +30 -0
  72. mistralai/models/messageoutputentry.py +100 -0
  73. mistralai/models/messageoutputevent.py +93 -0
  74. mistralai/models/modelconversation.py +127 -0
  75. mistralai/models/outputcontentchunks.py +30 -0
  76. mistralai/models/responsedoneevent.py +25 -0
  77. mistralai/models/responseerrorevent.py +27 -0
  78. mistralai/models/responsestartedevent.py +24 -0
  79. mistralai/models/ssetypes.py +18 -0
  80. mistralai/models/toolexecutiondoneevent.py +34 -0
  81. mistralai/models/toolexecutionentry.py +70 -0
  82. mistralai/models/toolexecutionstartedevent.py +31 -0
  83. mistralai/models/toolfilechunk.py +61 -0
  84. mistralai/models/toolreferencechunk.py +61 -0
  85. mistralai/models/websearchpremiumtool.py +17 -0
  86. mistralai/models/websearchtool.py +17 -0
  87. mistralai/sdk.py +3 -0
  88. {mistralai-1.7.1.dist-info → mistralai-1.8.1.dist-info}/METADATA +42 -7
  89. {mistralai-1.7.1.dist-info → mistralai-1.8.1.dist-info}/RECORD +91 -14
  90. {mistralai-1.7.1.dist-info → mistralai-1.8.1.dist-info}/LICENSE +0 -0
  91. {mistralai-1.7.1.dist-info → mistralai-1.8.1.dist-info}/WHEEL +0 -0
@@ -0,0 +1,25 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .conversationusageinfo import ConversationUsageInfo, ConversationUsageInfoTypedDict
5
+ from datetime import datetime
6
+ from mistralai.types import BaseModel
7
+ from typing import Literal, Optional
8
+ from typing_extensions import NotRequired, TypedDict
9
+
10
+
11
+ ResponseDoneEventType = Literal["conversation.response.done"]
12
+
13
+
14
+ class ResponseDoneEventTypedDict(TypedDict):
15
+ usage: ConversationUsageInfoTypedDict
16
+ type: NotRequired[ResponseDoneEventType]
17
+ created_at: NotRequired[datetime]
18
+
19
+
20
+ class ResponseDoneEvent(BaseModel):
21
+ usage: ConversationUsageInfo
22
+
23
+ type: Optional[ResponseDoneEventType] = "conversation.response.done"
24
+
25
+ created_at: Optional[datetime] = None
@@ -0,0 +1,27 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from datetime import datetime
5
+ from mistralai.types import BaseModel
6
+ from typing import Literal, Optional
7
+ from typing_extensions import NotRequired, TypedDict
8
+
9
+
10
+ ResponseErrorEventType = Literal["conversation.response.error"]
11
+
12
+
13
+ class ResponseErrorEventTypedDict(TypedDict):
14
+ message: str
15
+ code: int
16
+ type: NotRequired[ResponseErrorEventType]
17
+ created_at: NotRequired[datetime]
18
+
19
+
20
+ class ResponseErrorEvent(BaseModel):
21
+ message: str
22
+
23
+ code: int
24
+
25
+ type: Optional[ResponseErrorEventType] = "conversation.response.error"
26
+
27
+ created_at: Optional[datetime] = None
@@ -0,0 +1,24 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from datetime import datetime
5
+ from mistralai.types import BaseModel
6
+ from typing import Literal, Optional
7
+ from typing_extensions import NotRequired, TypedDict
8
+
9
+
10
+ ResponseStartedEventType = Literal["conversation.response.started"]
11
+
12
+
13
+ class ResponseStartedEventTypedDict(TypedDict):
14
+ conversation_id: str
15
+ type: NotRequired[ResponseStartedEventType]
16
+ created_at: NotRequired[datetime]
17
+
18
+
19
+ class ResponseStartedEvent(BaseModel):
20
+ conversation_id: str
21
+
22
+ type: Optional[ResponseStartedEventType] = "conversation.response.started"
23
+
24
+ created_at: Optional[datetime] = None
@@ -0,0 +1,18 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from typing import Literal
5
+
6
+
7
+ SSETypes = Literal[
8
+ "conversation.response.started",
9
+ "conversation.response.done",
10
+ "conversation.response.error",
11
+ "message.output.delta",
12
+ "tool.execution.started",
13
+ "tool.execution.done",
14
+ "agent.handoff.started",
15
+ "agent.handoff.done",
16
+ "function.call.delta",
17
+ ]
18
+ r"""Server side events sent when streaming a conversation response."""
@@ -0,0 +1,34 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .builtinconnectors import BuiltInConnectors
5
+ from datetime import datetime
6
+ from mistralai.types import BaseModel
7
+ from typing import Any, Dict, Literal, Optional
8
+ from typing_extensions import NotRequired, TypedDict
9
+
10
+
11
+ ToolExecutionDoneEventType = Literal["tool.execution.done"]
12
+
13
+
14
+ class ToolExecutionDoneEventTypedDict(TypedDict):
15
+ id: str
16
+ name: BuiltInConnectors
17
+ type: NotRequired[ToolExecutionDoneEventType]
18
+ created_at: NotRequired[datetime]
19
+ output_index: NotRequired[int]
20
+ info: NotRequired[Dict[str, Any]]
21
+
22
+
23
+ class ToolExecutionDoneEvent(BaseModel):
24
+ id: str
25
+
26
+ name: BuiltInConnectors
27
+
28
+ type: Optional[ToolExecutionDoneEventType] = "tool.execution.done"
29
+
30
+ created_at: Optional[datetime] = None
31
+
32
+ output_index: Optional[int] = 0
33
+
34
+ info: Optional[Dict[str, Any]] = None
@@ -0,0 +1,70 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .builtinconnectors import BuiltInConnectors
5
+ from datetime import datetime
6
+ from mistralai.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
+ from pydantic import model_serializer
8
+ from typing import Any, Dict, Literal, Optional
9
+ from typing_extensions import NotRequired, TypedDict
10
+
11
+
12
+ ToolExecutionEntryObject = Literal["entry"]
13
+
14
+ ToolExecutionEntryType = Literal["tool.execution"]
15
+
16
+
17
+ class ToolExecutionEntryTypedDict(TypedDict):
18
+ name: BuiltInConnectors
19
+ object: NotRequired[ToolExecutionEntryObject]
20
+ type: NotRequired[ToolExecutionEntryType]
21
+ created_at: NotRequired[datetime]
22
+ completed_at: NotRequired[Nullable[datetime]]
23
+ id: NotRequired[str]
24
+ info: NotRequired[Dict[str, Any]]
25
+
26
+
27
+ class ToolExecutionEntry(BaseModel):
28
+ name: BuiltInConnectors
29
+
30
+ object: Optional[ToolExecutionEntryObject] = "entry"
31
+
32
+ type: Optional[ToolExecutionEntryType] = "tool.execution"
33
+
34
+ created_at: Optional[datetime] = None
35
+
36
+ completed_at: OptionalNullable[datetime] = UNSET
37
+
38
+ id: Optional[str] = None
39
+
40
+ info: Optional[Dict[str, Any]] = None
41
+
42
+ @model_serializer(mode="wrap")
43
+ def serialize_model(self, handler):
44
+ optional_fields = ["object", "type", "created_at", "completed_at", "id", "info"]
45
+ nullable_fields = ["completed_at"]
46
+ null_default_fields = []
47
+
48
+ serialized = handler(self)
49
+
50
+ m = {}
51
+
52
+ for n, f in self.model_fields.items():
53
+ k = f.alias or n
54
+ val = serialized.get(k)
55
+ serialized.pop(k, None)
56
+
57
+ optional_nullable = k in optional_fields and k in nullable_fields
58
+ is_set = (
59
+ self.__pydantic_fields_set__.intersection({n})
60
+ or k in null_default_fields
61
+ ) # pylint: disable=no-member
62
+
63
+ if val is not None and val != UNSET_SENTINEL:
64
+ m[k] = val
65
+ elif val != UNSET_SENTINEL and (
66
+ not k in optional_fields or (optional_nullable and is_set)
67
+ ):
68
+ m[k] = val
69
+
70
+ return m
@@ -0,0 +1,31 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .builtinconnectors import BuiltInConnectors
5
+ from datetime import datetime
6
+ from mistralai.types import BaseModel
7
+ from typing import Literal, Optional
8
+ from typing_extensions import NotRequired, TypedDict
9
+
10
+
11
+ ToolExecutionStartedEventType = Literal["tool.execution.started"]
12
+
13
+
14
+ class ToolExecutionStartedEventTypedDict(TypedDict):
15
+ id: str
16
+ name: BuiltInConnectors
17
+ type: NotRequired[ToolExecutionStartedEventType]
18
+ created_at: NotRequired[datetime]
19
+ output_index: NotRequired[int]
20
+
21
+
22
+ class ToolExecutionStartedEvent(BaseModel):
23
+ id: str
24
+
25
+ name: BuiltInConnectors
26
+
27
+ type: Optional[ToolExecutionStartedEventType] = "tool.execution.started"
28
+
29
+ created_at: Optional[datetime] = None
30
+
31
+ output_index: Optional[int] = 0
@@ -0,0 +1,61 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .builtinconnectors import BuiltInConnectors
5
+ from mistralai.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
6
+ from pydantic import model_serializer
7
+ from typing import Literal, Optional
8
+ from typing_extensions import NotRequired, TypedDict
9
+
10
+
11
+ ToolFileChunkType = Literal["tool_file"]
12
+
13
+
14
+ class ToolFileChunkTypedDict(TypedDict):
15
+ tool: BuiltInConnectors
16
+ file_id: str
17
+ type: NotRequired[ToolFileChunkType]
18
+ file_name: NotRequired[Nullable[str]]
19
+ file_type: NotRequired[Nullable[str]]
20
+
21
+
22
+ class ToolFileChunk(BaseModel):
23
+ tool: BuiltInConnectors
24
+
25
+ file_id: str
26
+
27
+ type: Optional[ToolFileChunkType] = "tool_file"
28
+
29
+ file_name: OptionalNullable[str] = UNSET
30
+
31
+ file_type: OptionalNullable[str] = UNSET
32
+
33
+ @model_serializer(mode="wrap")
34
+ def serialize_model(self, handler):
35
+ optional_fields = ["type", "file_name", "file_type"]
36
+ nullable_fields = ["file_name", "file_type"]
37
+ null_default_fields = []
38
+
39
+ serialized = handler(self)
40
+
41
+ m = {}
42
+
43
+ for n, f in self.model_fields.items():
44
+ k = f.alias or n
45
+ val = serialized.get(k)
46
+ serialized.pop(k, None)
47
+
48
+ optional_nullable = k in optional_fields and k in nullable_fields
49
+ is_set = (
50
+ self.__pydantic_fields_set__.intersection({n})
51
+ or k in null_default_fields
52
+ ) # pylint: disable=no-member
53
+
54
+ if val is not None and val != UNSET_SENTINEL:
55
+ m[k] = val
56
+ elif val != UNSET_SENTINEL and (
57
+ not k in optional_fields or (optional_nullable and is_set)
58
+ ):
59
+ m[k] = val
60
+
61
+ return m
@@ -0,0 +1,61 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .builtinconnectors import BuiltInConnectors
5
+ from mistralai.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
6
+ from pydantic import model_serializer
7
+ from typing import Literal, Optional
8
+ from typing_extensions import NotRequired, TypedDict
9
+
10
+
11
+ ToolReferenceChunkType = Literal["tool_reference"]
12
+
13
+
14
+ class ToolReferenceChunkTypedDict(TypedDict):
15
+ tool: BuiltInConnectors
16
+ title: str
17
+ type: NotRequired[ToolReferenceChunkType]
18
+ url: NotRequired[Nullable[str]]
19
+ source: NotRequired[Nullable[str]]
20
+
21
+
22
+ class ToolReferenceChunk(BaseModel):
23
+ tool: BuiltInConnectors
24
+
25
+ title: str
26
+
27
+ type: Optional[ToolReferenceChunkType] = "tool_reference"
28
+
29
+ url: OptionalNullable[str] = UNSET
30
+
31
+ source: OptionalNullable[str] = UNSET
32
+
33
+ @model_serializer(mode="wrap")
34
+ def serialize_model(self, handler):
35
+ optional_fields = ["type", "url", "source"]
36
+ nullable_fields = ["url", "source"]
37
+ null_default_fields = []
38
+
39
+ serialized = handler(self)
40
+
41
+ m = {}
42
+
43
+ for n, f in self.model_fields.items():
44
+ k = f.alias or n
45
+ val = serialized.get(k)
46
+ serialized.pop(k, None)
47
+
48
+ optional_nullable = k in optional_fields and k in nullable_fields
49
+ is_set = (
50
+ self.__pydantic_fields_set__.intersection({n})
51
+ or k in null_default_fields
52
+ ) # pylint: disable=no-member
53
+
54
+ if val is not None and val != UNSET_SENTINEL:
55
+ m[k] = val
56
+ elif val != UNSET_SENTINEL and (
57
+ not k in optional_fields or (optional_nullable and is_set)
58
+ ):
59
+ m[k] = val
60
+
61
+ return m
@@ -0,0 +1,17 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mistralai.types import BaseModel
5
+ from typing import Literal, Optional
6
+ from typing_extensions import NotRequired, TypedDict
7
+
8
+
9
+ WebSearchPremiumToolType = Literal["web_search_premium"]
10
+
11
+
12
+ class WebSearchPremiumToolTypedDict(TypedDict):
13
+ type: NotRequired[WebSearchPremiumToolType]
14
+
15
+
16
+ class WebSearchPremiumTool(BaseModel):
17
+ type: Optional[WebSearchPremiumToolType] = "web_search_premium"
@@ -0,0 +1,17 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mistralai.types import BaseModel
5
+ from typing import Literal, Optional
6
+ from typing_extensions import NotRequired, TypedDict
7
+
8
+
9
+ WebSearchToolType = Literal["web_search"]
10
+
11
+
12
+ class WebSearchToolTypedDict(TypedDict):
13
+ type: NotRequired[WebSearchToolType]
14
+
15
+
16
+ class WebSearchTool(BaseModel):
17
+ type: Optional[WebSearchToolType] = "web_search"
mistralai/sdk.py CHANGED
@@ -10,6 +10,7 @@ from mistralai import models, utils
10
10
  from mistralai._hooks import SDKHooks
11
11
  from mistralai.agents import Agents
12
12
  from mistralai.batch import Batch
13
+ from mistralai.beta import Beta
13
14
  from mistralai.chat import Chat
14
15
  from mistralai.classifiers import Classifiers
15
16
  from mistralai.embeddings import Embeddings
@@ -28,6 +29,7 @@ class Mistral(BaseSDK):
28
29
 
29
30
  models: Models
30
31
  r"""Model Management API"""
32
+ beta: Beta
31
33
  files: Files
32
34
  r"""Files API"""
33
35
  fine_tuning: FineTuning
@@ -142,6 +144,7 @@ class Mistral(BaseSDK):
142
144
 
143
145
  def _init_sdks(self):
144
146
  self.models = Models(self.sdk_configuration)
147
+ self.beta = Beta(self.sdk_configuration)
145
148
  self.files = Files(self.sdk_configuration)
146
149
  self.fine_tuning = FineTuning(self.sdk_configuration)
147
150
  self.batch = Batch(self.sdk_configuration)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: mistralai
3
- Version: 1.7.1
3
+ Version: 1.8.1
4
4
  Summary: Python Client SDK for the Mistral AI API.
5
5
  Author: Mistral
6
6
  Requires-Python: >=3.9
@@ -10,10 +10,14 @@ Classifier: Programming Language :: Python :: 3.10
10
10
  Classifier: Programming Language :: Python :: 3.11
11
11
  Classifier: Programming Language :: Python :: 3.12
12
12
  Classifier: Programming Language :: Python :: 3.13
13
+ Provides-Extra: agents
13
14
  Provides-Extra: gcp
15
+ Requires-Dist: authlib (>=1.5.2,<2.0) ; extra == "agents"
14
16
  Requires-Dist: eval-type-backport (>=0.2.0)
15
17
  Requires-Dist: google-auth (>=2.27.0) ; extra == "gcp"
18
+ Requires-Dist: griffe (>=1.7.3,<2.0) ; extra == "agents"
16
19
  Requires-Dist: httpx (>=0.28.1)
20
+ Requires-Dist: mcp (>=1.0,<2.0) ; (python_version >= "3.10") and (extra == "agents")
17
21
  Requires-Dist: pydantic (>=2.10.3)
18
22
  Requires-Dist: python-dateutil (>=2.8.2)
19
23
  Requires-Dist: requests (>=2.32.3) ; extra == "gcp"
@@ -131,6 +135,18 @@ Once that is saved to a file, you can run it with `uv run script.py` where
131
135
  `script.py` can be replaced with the actual file name.
132
136
  <!-- End SDK Installation [installation] -->
133
137
 
138
+ ### Agents extra dependencies
139
+
140
+ When using the agents related feature it is required to add the `agents` extra dependencies. This can be added when
141
+ installing the package:
142
+
143
+ ```bash
144
+ pip install "mistralai[agents]"
145
+ ```
146
+
147
+ > Note: Because of some of our dependencies, these features are only available for python version higher or equal to
148
+ > 3.10.
149
+
134
150
  <!-- Start SDK Example Usage [usage] -->
135
151
  ## SDK Example Usage
136
152
 
@@ -455,6 +471,30 @@ The documentation for the GCP SDK is available [here](https://github.com/mistral
455
471
  * [get](https://github.com/mistralai/client-python/blob/master/docs/sdks/mistraljobs/README.md#get) - Get Batch Job
456
472
  * [cancel](https://github.com/mistralai/client-python/blob/master/docs/sdks/mistraljobs/README.md#cancel) - Cancel Batch Job
457
473
 
474
+ ### [beta](https://github.com/mistralai/client-python/blob/master/docs/sdks/beta/README.md)
475
+
476
+
477
+ #### [beta.agents](https://github.com/mistralai/client-python/blob/master/docs/sdks/mistralagents/README.md)
478
+
479
+ * [create](https://github.com/mistralai/client-python/blob/master/docs/sdks/mistralagents/README.md#create) - Create a agent that can be used within a conversation.
480
+ * [list](https://github.com/mistralai/client-python/blob/master/docs/sdks/mistralagents/README.md#list) - List agent entities.
481
+ * [get](https://github.com/mistralai/client-python/blob/master/docs/sdks/mistralagents/README.md#get) - Retrieve an agent entity.
482
+ * [update](https://github.com/mistralai/client-python/blob/master/docs/sdks/mistralagents/README.md#update) - Update an agent entity.
483
+ * [update_version](https://github.com/mistralai/client-python/blob/master/docs/sdks/mistralagents/README.md#update_version) - Update an agent version.
484
+
485
+ #### [beta.conversations](https://github.com/mistralai/client-python/blob/master/docs/sdks/conversations/README.md)
486
+
487
+ * [start](https://github.com/mistralai/client-python/blob/master/docs/sdks/conversations/README.md#start) - Create a conversation and append entries to it.
488
+ * [list](https://github.com/mistralai/client-python/blob/master/docs/sdks/conversations/README.md#list) - List all created conversations.
489
+ * [get](https://github.com/mistralai/client-python/blob/master/docs/sdks/conversations/README.md#get) - Retrieve a conversation information.
490
+ * [append](https://github.com/mistralai/client-python/blob/master/docs/sdks/conversations/README.md#append) - Append new entries to an existing conversation.
491
+ * [get_history](https://github.com/mistralai/client-python/blob/master/docs/sdks/conversations/README.md#get_history) - Retrieve all entries in a conversation.
492
+ * [get_messages](https://github.com/mistralai/client-python/blob/master/docs/sdks/conversations/README.md#get_messages) - Retrieve all messages in a conversation.
493
+ * [restart](https://github.com/mistralai/client-python/blob/master/docs/sdks/conversations/README.md#restart) - Restart a conversation starting from a given entry.
494
+ * [start_stream](https://github.com/mistralai/client-python/blob/master/docs/sdks/conversations/README.md#start_stream) - Create a conversation and append entries to it.
495
+ * [append_stream](https://github.com/mistralai/client-python/blob/master/docs/sdks/conversations/README.md#append_stream) - Append new entries to an existing conversation.
496
+ * [restart_stream](https://github.com/mistralai/client-python/blob/master/docs/sdks/conversations/README.md#restart_stream) - Restart a conversation starting from a given entry.
497
+
458
498
  ### [chat](https://github.com/mistralai/client-python/blob/master/docs/sdks/chat/README.md)
459
499
 
460
500
  * [complete](https://github.com/mistralai/client-python/blob/master/docs/sdks/chat/README.md#complete) - Chat Completion
@@ -534,12 +574,7 @@ with Mistral(
534
574
  api_key=os.getenv("MISTRAL_API_KEY", ""),
535
575
  ) as mistral:
536
576
 
537
- res = mistral.chat.stream(model="mistral-small-latest", messages=[
538
- {
539
- "content": "Who is the best French painter? Answer in one short sentence.",
540
- "role": "user",
541
- },
542
- ])
577
+ res = mistral.beta.conversations.start_stream(inputs="<value>")
543
578
 
544
579
  with res as event_stream:
545
580
  for event in event_stream: