mirror of
https://github.com/hwchase17/langchain.git
synced 2025-07-04 12:18:24 +00:00
Fix linters
This commit is contained in:
parent
800fe4a73f
commit
c6149aacef
@ -285,6 +285,7 @@ def _get_dataforseo_api_search(**kwargs: Any) -> BaseTool:
|
||||
def _get_dataforseo_api_search_json(**kwargs: Any) -> BaseTool:
|
||||
return DataForSeoAPISearchResults(api_wrapper=DataForSeoAPIWrapper(**kwargs))
|
||||
|
||||
|
||||
def _get_eleven_labs_text2speech() -> BaseTool:
|
||||
return ElevenLabsText2SpeechTool()
|
||||
|
||||
@ -344,9 +345,7 @@ _EXTRA_OPTIONAL_TOOLS: Dict[str, Tuple[Callable[[KwArg(Any)], BaseTool], List[st
|
||||
_get_dataforseo_api_search_json,
|
||||
["api_login", "api_password", "aiosession"],
|
||||
),
|
||||
"eleven_labs_text2speech": (
|
||||
_get_eleven_labs_text2speech, ["eleven_api_key"]
|
||||
)
|
||||
"eleven_labs_text2speech": (_get_eleven_labs_text2speech, ["eleven_api_key"]),
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,8 +1,5 @@
|
||||
"""Eleven Labs Services Tools."""
|
||||
|
||||
from langchain.tools.eleven_labs.text2speech import (
|
||||
ElevenLabsText2SpeechTool
|
||||
)
|
||||
|
||||
from langchain.tools.eleven_labs.text2speech import ElevenLabsText2SpeechTool
|
||||
|
||||
__all__ = [ElevenLabsText2SpeechTool]
|
||||
|
@ -12,23 +12,22 @@ class ElevenLabsText2SpeechTool(BaseTool):
|
||||
In order to set this up, follow instructions at:
|
||||
https://docs.elevenlabs.io/welcome/introduction
|
||||
"""
|
||||
|
||||
|
||||
name: str = "eleven_labs_text2speech"
|
||||
description: str = (
|
||||
"A wrapper around Eleven Labs Text2Speech. "
|
||||
"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)
|
||||
def validate_environment(cls, values: Dict) -> Dict:
|
||||
"""Validate that api key exists in environment."""
|
||||
_ = get_from_dict_or_env(
|
||||
values, "eleven_api_key", "ELEVEN_API_KEY"
|
||||
)
|
||||
|
||||
_ = get_from_dict_or_env(values, "eleven_api_key", "ELEVEN_API_KEY")
|
||||
|
||||
return values
|
||||
|
||||
|
||||
def _text2speech(self, text: str) -> str:
|
||||
try:
|
||||
from elevenlabs import generate
|
||||
@ -38,14 +37,12 @@ class ElevenLabsText2SpeechTool(BaseTool):
|
||||
"elevenlabs is not installed. "
|
||||
"Run `pip install elevenlabs` to install."
|
||||
)
|
||||
|
||||
speech = generate(text=text, model='eleven_multilingual_v1')
|
||||
with tempfile.NamedTemporaryFile(
|
||||
mode="bx", suffix=".wav", delete=False
|
||||
) as f:
|
||||
|
||||
speech = generate(text=text, model="eleven_multilingual_v1")
|
||||
with tempfile.NamedTemporaryFile(mode="bx", suffix=".wav", delete=False) as f:
|
||||
f.write(speech)
|
||||
return f.name
|
||||
|
||||
|
||||
def _run(self, query: str) -> str:
|
||||
"""Use the tool."""
|
||||
try:
|
||||
@ -58,7 +55,7 @@ class ElevenLabsText2SpeechTool(BaseTool):
|
||||
"""Play the text as speech."""
|
||||
try:
|
||||
from elevenlabs import play
|
||||
|
||||
|
||||
except ImportError:
|
||||
raise ImportError(
|
||||
"elevenlabs is not installed. "
|
||||
@ -68,19 +65,20 @@ class ElevenLabsText2SpeechTool(BaseTool):
|
||||
speech = f.read()
|
||||
|
||||
play(speech)
|
||||
|
||||
|
||||
def stream(self, query: str) -> None:
|
||||
"""Stream the text as speech."""
|
||||
|
||||
|
||||
try:
|
||||
from elevenlabs import stream, generate
|
||||
|
||||
from elevenlabs import generate, stream
|
||||
|
||||
except ImportError:
|
||||
raise ImportError(
|
||||
"elevenlabs is not installed. "
|
||||
"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)
|
||||
|
Loading…
Reference in New Issue
Block a user