Skip to content

Commit

Permalink
feat: add retries
Browse files Browse the repository at this point in the history
  • Loading branch information
juliuslipp committed Jun 9, 2024
1 parent f3704f8 commit cc2d93d
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 73 deletions.
24 changes: 23 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,8 +116,30 @@ print(reranked_docs)
Don't forget to replace `"{YOUR_API_KEY}"` with your actual API key. If you don't have an API key, you can get one for free by signing up for an account at [mixedbread.ai](https://mixedbread.ai/).


## Error Handling
## Error Handling and Retries
The SDK will raise errors if there is an issue with the API request, such as an invalid API key or a network error. Make sure to handle these exceptions in your code.

```python
from mixedbread_ai.client import MixedbreadAI, ApiError
from mixedbread_ai.types import EncodingFormat

mxbai = MixedbreadAI(api_key="{YOUR_API_KEY}")

try:
embeddings = mxbai.embeddings(
model="mixedbread-ai/mxbai-embed-large-v1",
input=["I like to eat apples.", "I like to eat bananas."],
encoding_format=[EncodingFormat.FLOAT, EncodingFormat.UBINARY],
request_options={
"max_retries": 3,
}
)
except ApiError as e:
print(e.status_code)

print(embeddings.data[0].embedding.float_, embeddings.data[0].embedding.ubinary)
```


## API Documentation
For more information on the available methods and options in the mixedbread ai SDK, please refer to our [API documentation](https://mixedbread.ai/api-reference).
65 changes: 14 additions & 51 deletions example.ipynb

Large diffs are not rendered by default.

20 changes: 0 additions & 20 deletions mixedbread_ai/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,6 @@ def embeddings(
encoding_format: typing.Optional[EmbeddingsRequestEncodingFormat] = OMIT,
truncation_strategy: typing.Optional[TruncationStrategy] = OMIT,
dimensions: typing.Optional[int] = OMIT,
instruction: typing.Optional[str] = OMIT,
texts: typing.Optional[typing.Sequence[str]] = OMIT,
prompt: typing.Optional[str] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> EmbeddingsResponse:
Expand All @@ -110,10 +108,6 @@ def embeddings(
- dimensions: typing.Optional[int].
- instruction: typing.Optional[str].
- texts: typing.Optional[typing.Sequence[str]].
- prompt: typing.Optional[str].
- request_options: typing.Optional[RequestOptions]. Request-specific configuration.
Expand All @@ -132,10 +126,6 @@ def embeddings(
_request["truncation_strategy"] = truncation_strategy
if dimensions is not OMIT:
_request["dimensions"] = dimensions
if instruction is not OMIT:
_request["instruction"] = instruction
if texts is not OMIT:
_request["texts"] = texts
if prompt is not OMIT:
_request["prompt"] = prompt
_response = self._client_wrapper.httpx_client.request(
Expand Down Expand Up @@ -325,8 +315,6 @@ async def embeddings(
encoding_format: typing.Optional[EmbeddingsRequestEncodingFormat] = OMIT,
truncation_strategy: typing.Optional[TruncationStrategy] = OMIT,
dimensions: typing.Optional[int] = OMIT,
instruction: typing.Optional[str] = OMIT,
texts: typing.Optional[typing.Sequence[str]] = OMIT,
prompt: typing.Optional[str] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> EmbeddingsResponse:
Expand All @@ -346,10 +334,6 @@ async def embeddings(
- dimensions: typing.Optional[int].
- instruction: typing.Optional[str].
- texts: typing.Optional[typing.Sequence[str]].
- prompt: typing.Optional[str].
- request_options: typing.Optional[RequestOptions]. Request-specific configuration.
Expand All @@ -368,10 +352,6 @@ async def embeddings(
_request["truncation_strategy"] = truncation_strategy
if dimensions is not OMIT:
_request["dimensions"] = dimensions
if instruction is not OMIT:
_request["instruction"] = instruction
if texts is not OMIT:
_request["texts"] = texts
if prompt is not OMIT:
_request["prompt"] = prompt
_response = await self._client_wrapper.httpx_client.request(
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "mixedbread-ai"
version = "2.2.0"
version = "2.2.1"
description = "mixedbread ai (https://www.mixedbread.ai)"
authors = ["mixedbread.ai <support@mixedbread.ai>"]
license = "Apache-2.0"
Expand Down

0 comments on commit cc2d93d

Please sign in to comment.