openai
__all__ = ['AzureOpenAiTextToSpeechDriver', 'OpenAiTextToSpeechDriver']
module-attribute
Bases:
OpenAiTextToSpeechDriver
Attributes
Name | Type | Description |
---|---|---|
azure_deployment | str | An optional Azure OpenAi deployment id. Defaults to the model name. |
azure_endpoint | str | An Azure OpenAi endpoint. |
azure_ad_token | Optional[str] | An optional Azure Active Directory token. |
azure_ad_token_provider | Optional[Callable[[], str]] | An optional Azure Active Directory token provider. |
api_version | str | An Azure OpenAi API version. |
client | AzureOpenAI | An openai.AzureOpenAI client. |
Source Code in griptape/drivers/text_to_speech/azure_openai_text_to_speech_driver.py
@define class AzureOpenAiTextToSpeechDriver(OpenAiTextToSpeechDriver): """Azure OpenAi Text to Speech Driver. Attributes: azure_deployment: An optional Azure OpenAi deployment id. Defaults to the model name. azure_endpoint: An Azure OpenAi endpoint. azure_ad_token: An optional Azure Active Directory token. azure_ad_token_provider: An optional Azure Active Directory token provider. api_version: An Azure OpenAi API version. client: An `openai.AzureOpenAI` client. """ model: str = field(default="tts", kw_only=True, metadata={"serializable": True}) azure_deployment: str = field( kw_only=True, default=Factory(lambda self: self.model, takes_self=True), metadata={"serializable": True}, ) azure_endpoint: str = field(kw_only=True, metadata={"serializable": True}) azure_ad_token: Optional[str] = field(kw_only=True, default=None, metadata={"serializable": False}) azure_ad_token_provider: Optional[Callable[[], str]] = field( kw_only=True, default=None, metadata={"serializable": False}, ) api_version: str = field(default="2024-07-01-preview", kw_only=True, metadata={"serializable": True}) _client: Optional[openai.AzureOpenAI] = field( default=None, kw_only=True, alias="client", metadata={"serializable": False} ) @lazy_property() def client(self) -> openai.AzureOpenAI: return openai.AzureOpenAI( organization=self.organization, api_key=self.api_key, api_version=self.api_version, azure_endpoint=self.azure_endpoint, azure_deployment=self.azure_deployment, azure_ad_token=self.azure_ad_token, azure_ad_token_provider=self.azure_ad_token_provider, )
_client = field(default=None, kw_only=True, alias='client', metadata={'serializable': False})
class-attribute instance-attributeapi_version = field(default='2024-07-01-preview', kw_only=True, metadata={'serializable': True})
class-attribute instance-attributeazure_ad_token = field(kw_only=True, default=None, metadata={'serializable': False})
class-attribute instance-attributeazure_ad_token_provider = field(kw_only=True, default=None, metadata={'serializable': False})
class-attribute instance-attributeazure_deployment = field(kw_only=True, default=Factory(lambda self: self.model, takes_self=True), metadata={'serializable': True})
class-attribute instance-attributeazure_endpoint = field(kw_only=True, metadata={'serializable': True})
class-attribute instance-attributemodel = field(default='tts', kw_only=True, metadata={'serializable': True})
class-attribute instance-attribute
client()
Source Code in griptape/drivers/text_to_speech/azure_openai_text_to_speech_driver.py
@lazy_property() def client(self) -> openai.AzureOpenAI: return openai.AzureOpenAI( organization=self.organization, api_key=self.api_key, api_version=self.api_version, azure_endpoint=self.azure_endpoint, azure_deployment=self.azure_deployment, azure_ad_token=self.azure_ad_token, azure_ad_token_provider=self.azure_ad_token_provider, )
OpenAiTextToSpeechDriver
Bases:
BaseTextToSpeechDriver
Source Code in griptape/drivers/text_to_speech/openai_text_to_speech_driver.py
@define class OpenAiTextToSpeechDriver(BaseTextToSpeechDriver): model: str = field(default="tts-1", kw_only=True, metadata={"serializable": True}) voice: Literal["alloy", "echo", "fable", "onyx", "nova", "shimmer"] = field( default="alloy", kw_only=True, metadata={"serializable": True}, ) format: Literal["mp3", "opus", "aac", "flac"] = field(default="mp3", kw_only=True, metadata={"serializable": True}) api_type: Optional[str] = field(default=openai.api_type, kw_only=True) api_version: Optional[str] = field(default=openai.api_version, kw_only=True, metadata={"serializable": True}) base_url: Optional[str] = field(default=None, kw_only=True, metadata={"serializable": True}) api_key: Optional[str] = field(default=None, kw_only=True) organization: Optional[str] = field(default=openai.organization, kw_only=True, metadata={"serializable": True}) _client: Optional[openai.OpenAI] = field( default=None, kw_only=True, alias="client", metadata={"serializable": False} ) @lazy_property() def client(self) -> openai.OpenAI: return openai.OpenAI( api_key=self.api_key, base_url=self.base_url, organization=self.organization, ) def try_text_to_audio(self, prompts: list[str]) -> AudioArtifact: response = self.client.audio.speech.create( input=". ".join(prompts), voice=self.voice, model=self.model, response_format=self.format, ) return AudioArtifact(value=response.content, format=self.format)
_client = field(default=None, kw_only=True, alias='client', metadata={'serializable': False})
class-attribute instance-attributeapi_key = field(default=None, kw_only=True)
class-attribute instance-attributeapi_type = field(default=openai.api_type, kw_only=True)
class-attribute instance-attributeapi_version = field(default=openai.api_version, kw_only=True, metadata={'serializable': True})
class-attribute instance-attributebase_url = field(default=None, kw_only=True, metadata={'serializable': True})
class-attribute instance-attributeformat = field(default='mp3', kw_only=True, metadata={'serializable': True})
class-attribute instance-attributemodel = field(default='tts-1', kw_only=True, metadata={'serializable': True})
class-attribute instance-attributeorganization = field(default=openai.organization, kw_only=True, metadata={'serializable': True})
class-attribute instance-attributevoice = field(default='alloy', kw_only=True, metadata={'serializable': True})
class-attribute instance-attribute
client()
Source Code in griptape/drivers/text_to_speech/openai_text_to_speech_driver.py
@lazy_property() def client(self) -> openai.OpenAI: return openai.OpenAI( api_key=self.api_key, base_url=self.base_url, organization=self.organization, )
try_text_to_audio(prompts)
Source Code in griptape/drivers/text_to_speech/openai_text_to_speech_driver.py
def try_text_to_audio(self, prompts: list[str]) -> AudioArtifact: response = self.client.audio.speech.create( input=". ".join(prompts), voice=self.voice, model=self.model, response_format=self.format, ) return AudioArtifact(value=response.content, format=self.format)
- On this page
- OpenAiTextToSpeechDriver
Could this page be better? Report a problem or suggest an addition!