francois-caddet
161b33c725
feat(constants): update model constants ( #17 )
...
* feat(Model)!: Update model constants
- Add new models Mistral Nemo and Codestral Mamba
- Add aliases to models constant to be deserialized seemlessly from the versioned forme (e.g.: "mistral-large-2407")
- The commonly named Mistral Large 2 is now `constants::Model::MistralLargeLatest` when the old one is `Model::MistralLarge`
* tests(Model): Update the tests to check the new model variants.
2024-08-27 09:25:59 +02:00
Ivan Gabriele
2114916941
fix(client)!: update ModelListData struct following API changes
...
BREAKING CHANGE: `v1::model_list::ModelListData` struct has been updated.
2024-08-22 01:09:27 +02:00
francois-caddet
9bfbf2e9dc
fix(client): remove the Content-Type from the headers of the reqwest builders. ( #14 )
...
They apparently are conflicting with reqwest internal stufs.
fix #13
2024-08-22 00:45:06 +02:00
Federico G. Schwindt
8e9f7a5386
feat: mark Function trait as Send ( #12 )
...
Allow to use Client in places that are also Send.
2024-07-24 20:16:11 +02:00
Federico G. Schwindt
3afeec1d58
feat: implement the Debug trait for Client ( #11 )
...
This is useful if you want to include client::Client in your own
implementation and derive Debug.
2024-07-24 20:08:25 +02:00
Ivan Gabriele
ecd0c3028f
feat(constants): add OpenMixtral8x22b, MistralTiny & CodestralLatest to Model enum
2024-06-22 13:22:57 +02:00
Ivan Gabriele
0df67b1b25
fix(chat): implement Clone trait for ChatParams & ResponseFormat
2024-06-22 13:09:15 +02:00
Xavier Gillard
2fc0642a5e
feat(chat): add the 'system' and 'tool' message roles ( #10 )
...
* add the 'system' and 'tool' message roles (see: https://docs.mistral.ai/capabilities/completion/ )
* docs(chat): add offical doc link in ChatMessageRole
* ci(github): listen to pull_request event in Test workflow
---------
Co-authored-by: Ivan Gabriele <ivan.gabriele@protonmail.com >
2024-06-07 16:49:55 +02:00
Ivan Gabriele
cf68a77320
feat(chat)!: change safe_prompt, temperature & top_p to non-Option types
...
BREAKING CHANGE:
- `Chat::ChatParams.safe_prompt` & `Chat::ChatRequest.safe_prompt` are now `bool` instead of `Option<bool>`. Default is `false`.
- `Chat::ChatParams.temperature` & `Chat::ChatRequest.temperature` are now `f32` instead of `Option<f32>`. Default is `0.7`.
- `Chat::ChatParams.top_p` & `Chat::ChatRequest.top_p` are now `f32` instead of `Option<f32>`. Default is `1.0`.
2024-06-07 16:00:10 +02:00
Nick Anderson
85c3611afb
feat(chat): add response_format for JSON return values
2024-06-07 14:36:37 +02:00
seurimas
da5fe54115
fix(chat): skip serializing tool_calls if null, to avoid 422 error
2024-06-07 14:12:22 +02:00
Ivan Gabriele
6a99eca49c
fix!: fix typo in OpenMixtral8x7b model name ( #8 )
...
BREAKING CHANGE: `Model.OpenMistral8x7b` has been renamed to `Model.OpenMixtral8x7b`.
2024-04-13 13:49:54 +02:00
Ivan Gabriele
74bf8a96ee
feat!: add function calling support to client.chat() & client.chat_async()
...
BREAKING CHANGE: Too many to count in this version. Check the README examples.
2024-03-09 11:40:07 +01:00
Ivan Gabriele
72bae8817a
docs: add client.chat*() documentation
2024-03-05 02:40:49 +01:00
Ivan Gabriele
ef5d475e2d
fix!: fix failure when api key as param and not env
...
BREAKING CHANGE:
- Rename `ClientError.ApiKeyError` to `MissingApiKey`.
- Rename `ClientError.ReadResponseTextError` to `ClientError.UnreadableResponseText`.
2024-03-04 21:12:08 +01:00
Ivan Gabriele
4a4219d3ea
feat!: add client.chat_stream() method
...
BREAKING CHANGE: You can't set the `stream` option for `client.chat*()`.
Either use `client.chat_stream()` if you want to use streams
or use `client.chat()` / `client.chat_async()` otherwise.
2024-03-04 08:16:10 +01:00
Ivan Gabriele
f91e794d71
refactor: remove useless error mappers
2024-03-04 06:54:24 +01:00
Ivan Gabriele
3c228914f7
feat: add client.embeddings_async() method
2024-03-04 06:39:21 +01:00
Ivan Gabriele
b69f7c617c
feat: add client.list_models_async() method
2024-03-04 06:33:38 +01:00
Ivan Gabriele
75788b9395
refactor: migrate to reqwest-only
2024-03-04 06:33:38 +01:00
Ivan Gabriele
1dd59f6704
feat: add client.chat_async() method
2024-03-04 04:57:48 +01:00
Ivan Gabriele
33876183e4
feat!: wrap Client::new() return in a Result
...
BREAKING CHANGE: `Client::new()` now returns a `Result`.
2024-03-04 04:43:22 +01:00
Ivan Gabriele
1deab88251
feat!: add missing api key error
...
BREAKING CHANGE: `APIError` is renamed to `ApiError`.
2024-03-04 04:30:13 +01:00
Ivan Gabriele
f44d951247
feat!: add client.embeddings() method
...
BREAKING CHANGE: Models are now enforced by `Model` & `EmbedModel` enums.
2024-03-04 03:16:59 +01:00
Ivan Gabriele
4e702aa48e
refactor: rename ListModels* to ModelList*
2024-03-04 01:56:48 +01:00
Ivan Gabriele
814b9918b3
feat: add client.list_models() method
2024-03-03 19:42:00 +01:00
Ivan Gabriele
7de2b19b98
feat!: simplify chat completion call
...
BREAKING CHANGE: Chat completions must now be called directly from client.chat() without building a request in between.
2024-03-03 19:14:01 +01:00
Ivan Gabriele
7d3b438d16
feat: add chat completion without streaming
2024-03-03 15:20:30 +01:00