File: //usr/local/lib/python3.10/dist-packages/langchain/chains/api/__pycache__/base.cpython-310.pyc
o
���g�; � @ s d Z ddlmZ ddlmZmZmZmZmZm Z ddl
mZ ddlm
Z
ddlmZmZ ddlmZ ddlmZ dd lmZmZ dd
lmZ ddlmZmZ ddlmZ dd
lm Z d"dd�Z!d#dd�Z"zddl#m$Z$ e
dddd�G dd� de��Z%W d!S e&y� G d d� d�Z%Y d!S w )$zMChain that makes API calls and summarizes the responses to answer a question.� )�annotations)�Any�Dict�List�Optional�Sequence�Tuple)�urlparse)�
deprecated)�AsyncCallbackManagerForChainRun�CallbackManagerForChainRun)�BaseLanguageModel)�BasePromptTemplate)�Field�model_validator)�Self)�API_RESPONSE_PROMPT�API_URL_PROMPT)�Chain)�LLMChain�url�str�return�Tuple[str, str]c C s t | �}|j|jfS )z�Extract the scheme + domain from a given URL.
Args:
url (str): The input URL.
Returns:
return a 2-tuple of scheme and domain
)r �scheme�netloc)r �
parsed_uri� r �D/usr/local/lib/python3.10/dist-packages/langchain/chains/api/base.py�_extract_scheme_and_domain s r �limit_to_domains�
Sequence[str]�boolc C s<