Skip to content

Commit

Permalink
add client packages (#382)
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelfeil authored Sep 24, 2024
1 parent d6cdaf3 commit 6c1ad68
Show file tree
Hide file tree
Showing 15 changed files with 2,022 additions and 1,324 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,197 @@
from http import HTTPStatus
from typing import Any, Dict, Optional, Union

import httpx

from ... import errors
from ...client import AuthenticatedClient, Client
from ...models.audio_embedding_input import AudioEmbeddingInput
from ...models.http_validation_error import HTTPValidationError
from ...models.open_ai_embedding_result import OpenAIEmbeddingResult
from ...types import Response


def _get_kwargs(
*,
body: AudioEmbeddingInput,
) -> Dict[str, Any]:
headers: Dict[str, Any] = {}

_kwargs: Dict[str, Any] = {
"method": "post",
"url": "/embeddings_audio",
}

_body = body.to_dict()

_kwargs["json"] = _body
headers["Content-Type"] = "application/json"

_kwargs["headers"] = headers
return _kwargs


def _parse_response(
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
) -> Optional[Union[HTTPValidationError, OpenAIEmbeddingResult]]:
if response.status_code == HTTPStatus.OK:
response_200 = OpenAIEmbeddingResult.from_dict(response.json())

return response_200
if response.status_code == HTTPStatus.UNPROCESSABLE_ENTITY:
response_422 = HTTPValidationError.from_dict(response.json())

return response_422
if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(response.status_code, response.content)
else:
return None


def _build_response(
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
) -> Response[Union[HTTPValidationError, OpenAIEmbeddingResult]]:
return Response(
status_code=HTTPStatus(response.status_code),
content=response.content,
headers=response.headers,
parsed=_parse_response(client=client, response=response),
)


def sync_detailed(
*,
client: Union[AuthenticatedClient, Client],
body: AudioEmbeddingInput,
) -> Response[Union[HTTPValidationError, OpenAIEmbeddingResult]]:
r"""Embeddings Audio
Encode Embeddings from Audio files
```python
import requests
requests.post(\"http://..:7997/embeddings_audio\",
json={\"model\":\"laion/larger_clap_general\",\"input\":[\"https://github.com/michaelfeil/infini
ty/raw/3b72eb7c14bae06e68ddd07c1f23fe0bf403f220/libs/infinity_emb/tests/data/audio/beep.wav\"]})
Args:
body (AudioEmbeddingInput):
Raises:
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns:
Response[Union[HTTPValidationError, OpenAIEmbeddingResult]]
"""

kwargs = _get_kwargs(
body=body,
)

response = client.get_httpx_client().request(
**kwargs,
)

return _build_response(client=client, response=response)


def sync(
*,
client: Union[AuthenticatedClient, Client],
body: AudioEmbeddingInput,
) -> Optional[Union[HTTPValidationError, OpenAIEmbeddingResult]]:
r"""Embeddings Audio
Encode Embeddings from Audio files
```python
import requests
requests.post(\"http://..:7997/embeddings_audio\",
json={\"model\":\"laion/larger_clap_general\",\"input\":[\"https://github.com/michaelfeil/infini
ty/raw/3b72eb7c14bae06e68ddd07c1f23fe0bf403f220/libs/infinity_emb/tests/data/audio/beep.wav\"]})
Args:
body (AudioEmbeddingInput):
Raises:
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns:
Union[HTTPValidationError, OpenAIEmbeddingResult]
"""

return sync_detailed(
client=client,
body=body,
).parsed


async def asyncio_detailed(
*,
client: Union[AuthenticatedClient, Client],
body: AudioEmbeddingInput,
) -> Response[Union[HTTPValidationError, OpenAIEmbeddingResult]]:
r"""Embeddings Audio
Encode Embeddings from Audio files
```python
import requests
requests.post(\"http://..:7997/embeddings_audio\",
json={\"model\":\"laion/larger_clap_general\",\"input\":[\"https://github.com/michaelfeil/infini
ty/raw/3b72eb7c14bae06e68ddd07c1f23fe0bf403f220/libs/infinity_emb/tests/data/audio/beep.wav\"]})
Args:
body (AudioEmbeddingInput):
Raises:
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns:
Response[Union[HTTPValidationError, OpenAIEmbeddingResult]]
"""

kwargs = _get_kwargs(
body=body,
)

response = await client.get_async_httpx_client().request(**kwargs)

return _build_response(client=client, response=response)


async def asyncio(
*,
client: Union[AuthenticatedClient, Client],
body: AudioEmbeddingInput,
) -> Optional[Union[HTTPValidationError, OpenAIEmbeddingResult]]:
r"""Embeddings Audio
Encode Embeddings from Audio files
```python
import requests
requests.post(\"http://..:7997/embeddings_audio\",
json={\"model\":\"laion/larger_clap_general\",\"input\":[\"https://github.com/michaelfeil/infini
ty/raw/3b72eb7c14bae06e68ddd07c1f23fe0bf403f220/libs/infinity_emb/tests/data/audio/beep.wav\"]})
Args:
body (AudioEmbeddingInput):
Raises:
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns:
Union[HTTPValidationError, OpenAIEmbeddingResult]
"""

return (
await asyncio_detailed(
client=client,
body=body,
)
).parsed
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ def sync_detailed(
) -> Response[Union[HTTPValidationError, OpenAIEmbeddingResult]]:
r"""Embeddings Image
Encode Embeddings
Encode Embeddings from Image files
```python
import requests
Expand Down Expand Up @@ -103,7 +103,7 @@ def sync(
) -> Optional[Union[HTTPValidationError, OpenAIEmbeddingResult]]:
r"""Embeddings Image
Encode Embeddings
Encode Embeddings from Image files
```python
import requests
Expand Down Expand Up @@ -135,7 +135,7 @@ async def asyncio_detailed(
) -> Response[Union[HTTPValidationError, OpenAIEmbeddingResult]]:
r"""Embeddings Image
Encode Embeddings
Encode Embeddings from Image files
```python
import requests
Expand Down Expand Up @@ -170,7 +170,7 @@ async def asyncio(
) -> Optional[Union[HTTPValidationError, OpenAIEmbeddingResult]]:
r"""Embeddings Image
Encode Embeddings
Encode Embeddings from Image files
```python
import requests
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ def sync_detailed(
})
Args:
body (RerankInput):
body (RerankInput): Input for reranking
Raises:
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
Expand Down Expand Up @@ -118,7 +118,7 @@ def sync(
})
Args:
body (RerankInput):
body (RerankInput): Input for reranking
Raises:
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
Expand Down Expand Up @@ -153,7 +153,7 @@ async def asyncio_detailed(
})
Args:
body (RerankInput):
body (RerankInput): Input for reranking
Raises:
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
Expand Down Expand Up @@ -191,7 +191,7 @@ async def asyncio(
})
Args:
body (RerankInput):
body (RerankInput): Input for reranking
Raises:
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
""" Contains all the data models used in inputs/outputs """

from .audio_embedding_input import AudioEmbeddingInput
from .classify_input import ClassifyInput
from .classify_object import ClassifyObject
from .classify_result import ClassifyResult
from .classify_result_object import ClassifyResultObject
from .embedding_encoding_format import EmbeddingEncodingFormat
from .embedding_object import EmbeddingObject
from .embedding_object_object import EmbeddingObjectObject
from .http_validation_error import HTTPValidationError
Expand All @@ -25,10 +27,12 @@
from .validation_error import ValidationError

__all__ = (
"AudioEmbeddingInput",
"ClassifyInput",
"ClassifyObject",
"ClassifyResult",
"ClassifyResultObject",
"EmbeddingEncodingFormat",
"EmbeddingObject",
"EmbeddingObjectObject",
"HTTPValidationError",
Expand Down
Loading

0 comments on commit 6c1ad68

Please sign in to comment.