Amadeus Flight and Travel Search Tool (#7890)

## Background
With the addition on email and calendar tools, LangChain is continuing
to complete its functionality to automate business processes.

## Challenge
One of the pieces of business functionality that LangChain currently
doesn't have is the ability to search for flights and travel in order to
book business travel.

## Changes
This PR implements an integration with the
[Amadeus](https://developers.amadeus.com/) travel search API for
LangChain, enabling seamless search for flights with a single
authentication process.

## Who can review?
@hinthornw

## Appendix
@tsolakoua and @minjikarin, I utilized your
[amadeus-python](https://github.com/amadeus4dev/amadeus-python) library
extensively. Given the rising popularity of LangChain and similar AI
frameworks, the convergence of libraries like amadeus-python and tools
like this one is likely. So, I wanted to keep you updated on our
progress.

---------

Co-authored-by: Bagatur <baskaryan@gmail.com>
This commit is contained in:
Santiago Delgado
2023-07-20 08:59:29 -05:00
committed by GitHub
parent ea149dbd89
commit c416dbe8e0
11 changed files with 581 additions and 3 deletions

View File

@@ -7,6 +7,7 @@ from typing import List, Type
import pytest
from langchain.tools.amadeus.base import AmadeusBaseTool
from langchain.tools.base import BaseTool
from langchain.tools.gmail.base import GmailBaseTool
from langchain.tools.office365.base import O365BaseTool
@@ -15,6 +16,7 @@ from langchain.tools.playwright.base import BaseBrowserTool
def get_non_abstract_subclasses(cls: Type[BaseTool]) -> List[Type[BaseTool]]:
to_skip = {
AmadeusBaseTool,
BaseBrowserTool,
GmailBaseTool,
O365BaseTool,