KyrianC
|
c7a5504789
|
Add EdenAI Tools (#9764)
This PR follows the Eden AI (LLM + embeddings) integration. #8633
We added different Tools to empower agents with new capabilities :
- text: explicit content detection
- image: explicit content detection
- image: object detection
- OCR: invoice parsing
- OCR: ID parsing
- audio: speech to text
- audio: text to speech
We plan to add more in the future (like translation, language detection,
+ others).
Usage:
```python
llm=EdenAI(feature="text",provider="openai", params={"temperature" : 0.2,"max_tokens" : 250})
tools = [
EdenAiTextModerationTool(providers=["openai"],language="en"),
EdenAiObjectDetectionTool(providers=["google","api4ai"]),
EdenAiTextToSpeechTool(providers=["amazon"],language="en",voice="MALE"),
EdenAiExplicitImageTool(providers=["amazon","google"]),
EdenAiSpeechToTextTool(providers=["amazon"]),
EdenAiParsingIDTool(providers=["amazon","klippa"],language="en"),
EdenAiParsingInvoiceTool(providers=["amazon","google"],language="en"),
]
agent_chain = initialize_agent(
tools,
llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
verbose=True,
return_intermediate_steps=True,
)
result = agent_chain(""" i have this text : 'i want to slap you'
first : i want to know if this text contains explicit content or not .
second : if it does contain explicit content i want to know what is the explicit content in this text,
third : i want to make the text into speech .
if there is URL in the observations , you will always put it in the output (final answer) .
""")
```
output:
> Entering new AgentExecutor chain...
> I need to extract the information from the ID and then convert it to
text and then to speech
> Action: edenai_identity_parsing
> Action Input:
"https://www.citizencard.com/images/citizencard-uk-id-card-2023.jpg"
> Observation: last_name :
> value : ANGELA
> given_names :
> value : GREENE
> birth_place :
> birth_date :
> value : 2000-11-09
> issuance_date :
> expire_date :
> document_id :
> issuing_state :
> address :
> age :
> country :
> document_type :
> value : DRIVER LICENSE FRONT
> gender :
> image_id :
> image_signature :
> mrz :
> nationality :
> Thought: I now need to convert the information to text and then to
speech
> Action: edenai_text_to_speech
> Action Input: "Welcome Angela Greene!"
> Observation:
https://d14uq1pz7dzsdq.cloudfront.net/0c494819-0bbc-4433-bfa4-6e99bd9747ea_.mp3?Expires=1693316851&Signature=YcMoVQgPuIMEOuSpFuvhkFM8JoBMSoGMcZb7MVWdqw7JEf5~67q9dEI90o5todE5mYXB5zSYoib6rGrmfBl4Rn5~yqDwZ~Tmc24K75zpQZIEyt5~ZSnHuXy4IFWGmlIVuGYVGMGKxTGNeCRNUXDhT6TXGZlr4mwa79Ei1YT7KcNyc1dsTrYB96LphnsqOERx4X9J9XriSwxn70X8oUPFfQmLcitr-syDhiwd9Wdpg6J5yHAJjf657u7Z1lFTBMoXGBuw1VYmyno-3TAiPeUcVlQXPueJ-ymZXmwaITmGOfH7HipZngZBziofRAFdhMYbIjYhegu5jS7TxHwRuox32A__&Key-Pair-Id=K1F55BTI9AHGIK
> Thought: I now know the final answer
> Final Answer:
https://d14uq1pz7dzsdq.cloudfront.net/0c494819-0bbc-4433-bfa4-6e99bd9747ea_.mp3?Expires=1693316851&Signature=YcMoVQgPuIMEOuSpFuvhkFM8JoBMSoGMcZb7MVWdqw7JEf5~67q9dEI90o5todE5mYXB5zSYoib6rGrmfBl4Rn5~yqDwZ~Tmc24K75zpQZIEyt5~ZSnHuXy4IFWGmlIVuGYVGMGKxTGNeCRNUXDhT6TXGZlr4mwa79Ei1YT7KcNyc1dsTrYB96LphnsqOERx4X9J9XriSwxn70X8oUPFfQmLcitr-syDhiwd9Wdpg6J5y
>
> Finished chain.
Other examples are available in the jupyter notebook.
This PR is made in parallel with EdenAI LLM update #8963
I apologize for the messy PR. While working in implementing Tools we
realized there was a few problems we needed to fix on LLM as well.
Ping: @hwchase17, @baskaryan
---------
Co-authored-by: RedhaWassim <rwasssim@gmail.com>
|
2023-09-01 08:26:56 -07:00 |
|