community: add args_schema to GmailSendMessage (#14973)

- **Description:** `tools.gmail.send_message` implements a
`SendMessageSchema` that is not used anywhere. `GmailSendMessage` also
does not have an `args_schema` attribute (this led to issues when
invoking the tool with an OpenAI functions agent, at least for me). Here
we add the missing attribute and a minimal test for the tool.
  - **Issue:** N/A
  - **Dependencies:** N/A
  - **Twitter handle:** N/A

---------

Co-authored-by: Chester Curme <chestercurme@microsoft.com>
This commit is contained in:
ccurme
2023-12-22 16:07:44 -05:00
committed by GitHub
parent e7ad834a21
commit f2782f4c86
3 changed files with 20 additions and 1 deletions

View File

@@ -2,7 +2,7 @@
import base64
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from typing import Any, Dict, List, Optional, Union
from typing import Any, Dict, List, Optional, Type, Union
from langchain_core.callbacks import CallbackManagerForToolRun
from langchain_core.pydantic_v1 import BaseModel, Field
@@ -42,6 +42,7 @@ class GmailSendMessage(GmailBaseTool):
description: str = (
"Use this tool to send email messages." " The input is the message, recipients"
)
args_schema: Type[SendMessageSchema] = SendMessageSchema
def _prepare_message(
self,