Skip to content

SD2-1327-ll-ms-make-it-possible-to-generate-audio-files #344

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion edenai_apis/apis/amazon/amazon_llm_api.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import Dict, List, Type, Union, Optional
from typing import Dict, List, Type, Union, Optional, Literal

import httpx
from openai import BaseModel
Expand All @@ -25,6 +25,8 @@ def llm__chat(
presence_penalty: Optional[float] = None,
frequency_penalty: Optional[float] = None,
logit_bias: Optional[dict] = None,
modalities: Optional[List[Literal["text", "audio"]]] = None,
audio: Optional[Dict] = None,
# openai v1.0+ new params
response_format: Optional[
Union[dict, Type[BaseModel]]
Expand Down Expand Up @@ -81,6 +83,8 @@ def llm__chat(
model_list=model_list,
drop_invalid_params=drop_invalid_params,
user=user,
modalities=modalities,
audio=audio,
**kwargs,
)
return response
4 changes: 4 additions & 0 deletions edenai_apis/apis/anthropic/anthropic_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,8 @@ def llm__chat(
presence_penalty: Optional[float] = None,
frequency_penalty: Optional[float] = None,
logit_bias: Optional[dict] = None,
modalities: Optional[List[Literal["text", "audio"]]] = None,
audio: Optional[Dict] = None,
# openai v1.0+ new params
response_format: Optional[
Union[dict, Type[BaseModel]]
Expand Down Expand Up @@ -203,6 +205,8 @@ def llm__chat(
model_list=model_list,
drop_invalid_params=drop_invalid_params,
user=user,
modalities=modalities,
audio=audio,
**kwargs,
)
return response
4 changes: 4 additions & 0 deletions edenai_apis/apis/cohere/cohere_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,8 @@ def llm__chat(
presence_penalty: Optional[float] = None,
frequency_penalty: Optional[float] = None,
logit_bias: Optional[dict] = None,
modalities: Optional[List[Literal["text", "audio"]]] = None,
audio: Optional[Dict] = None,
# openai v1.0+ new params
response_format: Optional[
Union[dict, Type[BaseModel]]
Expand Down Expand Up @@ -402,6 +404,8 @@ def llm__chat(
model_list=model_list,
drop_invalid_params=drop_invalid_params,
user=user,
modalities=modalities,
audio=audio,
**kwargs,
)
return response
4 changes: 4 additions & 0 deletions edenai_apis/apis/deepseek/deepseek_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ def llm__chat(
presence_penalty: Optional[float] = None,
frequency_penalty: Optional[float] = None,
logit_bias: Optional[dict] = None,
modalities: Optional[List[Literal["text", "audio"]]] = None,
audio: Optional[Dict] = None,
# openai v1.0+ new params
response_format: Optional[
Union[dict, Type[BaseModel]]
Expand Down Expand Up @@ -129,6 +131,8 @@ def llm__chat(
model_list=model_list,
drop_invalid_params=drop_invalid_params,
user=user,
modalities=modalities,
audio=audio,
**kwargs,
)
return response
6 changes: 5 additions & 1 deletion edenai_apis/apis/google/google_llm_api.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import List, Type, Union, Optional
from typing import List, Type, Union, Optional, Literal, Dict

import httpx
from openai import BaseModel
Expand All @@ -25,6 +25,8 @@ def llm__chat(
presence_penalty: Optional[float] = None,
frequency_penalty: Optional[float] = None,
logit_bias: Optional[dict] = None,
modalities: Optional[List[Literal["text", "audio"]]] = None,
audio: Optional[Dict] = None,
# openai v1.0+ new params
response_format: Optional[
Union[dict, Type[BaseModel]]
Expand Down Expand Up @@ -81,6 +83,8 @@ def llm__chat(
model_list=model_list,
drop_invalid_params=drop_invalid_params,
user=user,
modalities=modalities,
audio=audio,
**kwargs,
)
return response
4 changes: 4 additions & 0 deletions edenai_apis/apis/groq/groq_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,8 @@ def llm__chat(
presence_penalty: Optional[float] = None,
frequency_penalty: Optional[float] = None,
logit_bias: Optional[dict] = None,
modalities: Optional[List[Literal["text", "audio"]]] = None,
audio: Optional[Dict] = None,
# openai v1.0+ new params
response_format: Optional[
Union[dict, Type[BaseModel]]
Expand Down Expand Up @@ -130,6 +132,8 @@ def llm__chat(
model_list=model_list,
drop_invalid_params=drop_invalid_params,
user=user,
modalities=modalities,
audio=audio,
**kwargs,
)
return response
4 changes: 4 additions & 0 deletions edenai_apis/apis/meta/meta_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,8 @@ def llm__chat(
presence_penalty: Optional[float] = None,
frequency_penalty: Optional[float] = None,
logit_bias: Optional[dict] = None,
modalities: Optional[List[Literal["text", "audio"]]] = None,
audio: Optional[Dict] = None,
# openai v1.0+ new params
response_format: Optional[
Union[dict, Type[BaseModel]]
Expand Down Expand Up @@ -196,6 +198,8 @@ def llm__chat(
model_list=model_list,
drop_invalid_params=drop_invalid_params,
user=user,
modalities=modalities,
audio=audio,
**kwargs,
)
return response
6 changes: 5 additions & 1 deletion edenai_apis/apis/microsoft/microsoft_llm_api.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import List, Type, Union, Optional
from typing import List, Type, Union, Optional, Literal, Dict

import httpx
from openai import BaseModel
Expand All @@ -24,6 +24,8 @@ def llm__chat(
presence_penalty: Optional[float] = None,
frequency_penalty: Optional[float] = None,
logit_bias: Optional[dict] = None,
modalities: Optional[List[Literal["text", "audio"]]] = None,
audio: Optional[Dict] = None,
# openai v1.0+ new params
response_format: Optional[
Union[dict, Type[BaseModel]]
Expand Down Expand Up @@ -80,6 +82,8 @@ def llm__chat(
model_list=model_list,
drop_invalid_params=drop_invalid_params,
user=user,
modalities=modalities,
audio=audio,
**kwargs,
)
return response
4 changes: 4 additions & 0 deletions edenai_apis/apis/mistral/mistral_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,8 @@ def llm__chat(
presence_penalty: Optional[float] = None,
frequency_penalty: Optional[float] = None,
logit_bias: Optional[dict] = None,
modalities: Optional[List[Literal["text", "audio"]]] = None,
audio: Optional[Dict] = None,
# openai v1.0+ new params
response_format: Optional[
Union[dict, Type[BaseModel]]
Expand Down Expand Up @@ -237,6 +239,8 @@ def llm__chat(
model_list=model_list,
drop_invalid_params=drop_invalid_params,
user=user,
modalities=modalities,
audio=audio,
**kwargs,
)
return response
Expand Down
9 changes: 6 additions & 3 deletions edenai_apis/apis/openai/openai_llm_api.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
from typing import Dict, List, Type, Union, Optional
from typing import Dict, List, Type, Union, Optional, Literal
import httpx
from openai import BaseModel, OpenAI
from openai import NOT_GIVEN
from openai import BaseModel
from edenai_apis.features.llm.llm_interface import LlmInterface
from edenai_apis.features.llm.chat.chat_dataclass import ChatDataClass

Expand All @@ -25,6 +24,8 @@ def llm__chat(
presence_penalty: Optional[float] = None,
frequency_penalty: Optional[float] = None,
logit_bias: Optional[dict] = None,
modalities: Optional[List[Literal["text", "audio"]]] = None,
audio: Optional[Dict] = None,
# openai v1.0+ new params
response_format: Optional[
Union[dict, Type[BaseModel]]
Expand Down Expand Up @@ -80,6 +81,8 @@ def llm__chat(
model_list=model_list,
drop_invalid_params=drop_invalid_params,
user=user,
modalities=modalities,
audio=audio,
**kwargs,
)
return response
4 changes: 4 additions & 0 deletions edenai_apis/apis/replicate/replicate_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,8 @@ def llm__chat(
presence_penalty: Optional[float] = None,
frequency_penalty: Optional[float] = None,
logit_bias: Optional[dict] = None,
modalities: Optional[List[Literal["text", "audio"]]] = None,
audio: Optional[Dict] = None,
# openai v1.0+ new params
response_format: Optional[
Union[dict, Type[BaseModel]]
Expand Down Expand Up @@ -314,6 +316,8 @@ def llm__chat(
model_list=model_list,
drop_invalid_params=drop_invalid_params,
user=user,
modalities=modalities,
audio=audio,
**kwargs,
)
return response
4 changes: 4 additions & 0 deletions edenai_apis/apis/together_ai/together_ai_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,8 @@ def llm__chat(
presence_penalty: Optional[float] = None,
frequency_penalty: Optional[float] = None,
logit_bias: Optional[dict] = None,
modalities: Optional[List[Literal["text", "audio"]]] = None,
audio: Optional[Dict] = None,
# openai v1.0+ new params
response_format: Optional[
Union[dict, Type[BaseModel]]
Expand Down Expand Up @@ -133,6 +135,8 @@ def llm__chat(
model_list=model_list,
drop_invalid_params=drop_invalid_params,
user=user,
modalities=modalities,
audio=audio,
**kwargs,
)
return response
6 changes: 5 additions & 1 deletion edenai_apis/apis/xai/xai_llm_api.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import List, Type, Union, Optional
from typing import List, Type, Union, Optional, Literal, Dict

import httpx
from openai import BaseModel
Expand All @@ -25,6 +25,8 @@ def llm__chat(
presence_penalty: Optional[float] = None,
frequency_penalty: Optional[float] = None,
logit_bias: Optional[dict] = None,
modalities: Optional[List[Literal["text", "audio"]]] = None,
audio: Optional[Dict] = None,
# openai v1.0+ new params
response_format: Optional[
Union[dict, Type[BaseModel]]
Expand Down Expand Up @@ -81,6 +83,8 @@ def llm__chat(
model_list=model_list,
drop_invalid_params=drop_invalid_params,
user=user,
modalities=modalities,
audio=audio,
**kwargs,
)
return response
4 changes: 3 additions & 1 deletion edenai_apis/features/llm/llm_interface.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from abc import abstractmethod
from typing import Optional, List, Dict, Type, Union
from typing import Optional, List, Dict, Type, Union, Literal

from openai import BaseModel
import httpx
Expand Down Expand Up @@ -27,6 +27,8 @@ def llm__chat(
presence_penalty: Optional[float] = None,
frequency_penalty: Optional[float] = None,
logit_bias: Optional[dict] = None,
modalities: Optional[List[Literal["text", "audio"]]] = None,
audio: Optional[Dict] = None,
# openai v1.0+ new params
response_format: Optional[
Union[dict, Type[BaseModel]]
Expand Down
14 changes: 10 additions & 4 deletions edenai_apis/llmengine/llm_engine.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@
from typing import Dict, List, Literal, Optional, Type, Union

import httpx
from loaders.data_loader import ProviderDataEnum
from loaders.loaders import load_provider
from pydantic import BaseModel

from litellm.types.llms.openai import ChatCompletionAudioParam
from edenai_apis.features.image import (
ExplicitContentDataClass,
GeneratedImageDataClass,
Expand Down Expand Up @@ -113,7 +111,9 @@ def _execute_completion(self, params: Dict, response_class: Type, **kwargs):
"An error occurred while parsing the response."
) from exc
except ValueError as exc_v:
raise ProviderException("Provider returned an empty or mal-formatted response") from exc_v
raise ProviderException(
"Provider returned an empty or mal-formatted response"
) from exc_v
standardized_response = response_class(**result)
return ResponseType[response_class](
original_response=response.to_dict(),
Expand Down Expand Up @@ -743,6 +743,8 @@ def completion(
timeout: Optional[Union[float, str, httpx.Timeout]] = None,
temperature: Optional[float] = None,
top_p: Optional[float] = None,
modalities: Optional[List[Literal["text", "audio"]]] = None,
audio: Optional[ChatCompletionAudioParam] = None,
n: Optional[int] = None,
stream: Optional[bool] = None,
stream_options: Optional[dict] = None,
Expand Down Expand Up @@ -779,6 +781,10 @@ def completion(
kwargs.pop("moderate_content", None)
try:
completion_params = {"messages": messages, "model": model}
if modalities is not None:
completion_params["modalities"] = modalities
if audio is not None:
completion_params["audio"] = audio
if timeout is not None:
completion_params["timeout"] = timeout
if temperature is not None:
Expand Down
Loading