Source code for langchain_community.agent_toolkits.amadeus.toolkit

from __future__ import annotations

from typing import TYPE_CHECKING, List, Optional

from langchain_core.language_models import BaseLanguageModel
from langchain_core.pydantic_v1 import Field
from langchain_core.tools import BaseToolkit

from langchain_community.tools import BaseTool
from langchain_community.tools.amadeus.closest_airport import AmadeusClosestAirport
from langchain_community.tools.amadeus.flight_search import AmadeusFlightSearch
from langchain_community.tools.amadeus.utils import authenticate

if TYPE_CHECKING:
    from amadeus import Client


[docs]class AmadeusToolkit(BaseToolkit): """与提供旅行API的Amadeus进行交互的工具包。""" client: Client = Field(default_factory=authenticate) llm: Optional[BaseLanguageModel] = Field(default=None) class Config: """Pydantic配置。""" arbitrary_types_allowed = True
[docs] def get_tools(self) -> List[BaseTool]: """获取工具包中的工具。""" return [ AmadeusClosestAirport(llm=self.llm), AmadeusFlightSearch(), ]