Fix linters

This commit is contained in:
mateusz.wosinski 2023-08-31 16:04:38 +02:00
parent 800fe4a73f
commit c6149aacef
3 changed files with 22 additions and 28 deletions

View File

@ -285,6 +285,7 @@ def _get_dataforseo_api_search(**kwargs: Any) -> BaseTool:
def _get_dataforseo_api_search_json(**kwargs: Any) -> BaseTool: def _get_dataforseo_api_search_json(**kwargs: Any) -> BaseTool:
return DataForSeoAPISearchResults(api_wrapper=DataForSeoAPIWrapper(**kwargs)) return DataForSeoAPISearchResults(api_wrapper=DataForSeoAPIWrapper(**kwargs))
def _get_eleven_labs_text2speech() -> BaseTool: def _get_eleven_labs_text2speech() -> BaseTool:
return ElevenLabsText2SpeechTool() return ElevenLabsText2SpeechTool()
@ -344,9 +345,7 @@ _EXTRA_OPTIONAL_TOOLS: Dict[str, Tuple[Callable[[KwArg(Any)], BaseTool], List[st
_get_dataforseo_api_search_json, _get_dataforseo_api_search_json,
["api_login", "api_password", "aiosession"], ["api_login", "api_password", "aiosession"],
), ),
"eleven_labs_text2speech": ( "eleven_labs_text2speech": (_get_eleven_labs_text2speech, ["eleven_api_key"]),
_get_eleven_labs_text2speech, ["eleven_api_key"]
)
} }

View File

@ -1,8 +1,5 @@
"""Eleven Labs Services Tools.""" """Eleven Labs Services Tools."""
from langchain.tools.eleven_labs.text2speech import ( from langchain.tools.eleven_labs.text2speech import ElevenLabsText2SpeechTool
ElevenLabsText2SpeechTool
)
__all__ = [ElevenLabsText2SpeechTool] __all__ = [ElevenLabsText2SpeechTool]

View File

@ -17,15 +17,14 @@ class ElevenLabsText2SpeechTool(BaseTool):
description: str = ( description: str = (
"A wrapper around Eleven Labs Text2Speech. " "A wrapper around Eleven Labs Text2Speech. "
"Useful for when you need to convert text to speech. " "Useful for when you need to convert text to speech. "
"It supports multiple languages, including English, German, Polish, Spanish, Italian, French, Portuguese, and Hindi. " "It supports multiple languages, including English, German, Polish, "
"Spanish, Italian, French, Portuguese, and Hindi. "
) )
@root_validator(pre=True) @root_validator(pre=True)
def validate_environment(cls, values: Dict) -> Dict: def validate_environment(cls, values: Dict) -> Dict:
"""Validate that api key exists in environment.""" """Validate that api key exists in environment."""
_ = get_from_dict_or_env( _ = get_from_dict_or_env(values, "eleven_api_key", "ELEVEN_API_KEY")
values, "eleven_api_key", "ELEVEN_API_KEY"
)
return values return values
@ -39,10 +38,8 @@ class ElevenLabsText2SpeechTool(BaseTool):
"Run `pip install elevenlabs` to install." "Run `pip install elevenlabs` to install."
) )
speech = generate(text=text, model='eleven_multilingual_v1') speech = generate(text=text, model="eleven_multilingual_v1")
with tempfile.NamedTemporaryFile( with tempfile.NamedTemporaryFile(mode="bx", suffix=".wav", delete=False) as f:
mode="bx", suffix=".wav", delete=False
) as f:
f.write(speech) f.write(speech)
return f.name return f.name
@ -73,7 +70,7 @@ class ElevenLabsText2SpeechTool(BaseTool):
"""Stream the text as speech.""" """Stream the text as speech."""
try: try:
from elevenlabs import stream, generate from elevenlabs import generate, stream
except ImportError: except ImportError:
raise ImportError( raise ImportError(
@ -81,6 +78,7 @@ class ElevenLabsText2SpeechTool(BaseTool):
"Run `pip install elevenlabs` to install." "Run `pip install elevenlabs` to install."
) )
speech_stream = generate(text=query, model='eleven_multilingual_v1', stream=True) speech_stream = generate(
text=query, model="eleven_multilingual_v1", stream=True
)
stream(speech_stream) stream(speech_stream)