remove requests

This commit is contained in:
Chester Curme 2025-02-25 12:42:57 -05:00
parent 1158d3134d
commit 5495957780
4 changed files with 19 additions and 6 deletions

View File

@ -5,14 +5,12 @@ import re
from collections import defaultdict from collections import defaultdict
from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional, Tuple, Union from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional, Tuple, Union
import requests
from langchain_core._api import deprecated from langchain_core._api import deprecated
from langchain_core.callbacks import CallbackManagerForChainRun from langchain_core.callbacks import CallbackManagerForChainRun
from langchain_core.language_models import BaseLanguageModel from langchain_core.language_models import BaseLanguageModel
from langchain_core.output_parsers.openai_functions import JsonOutputFunctionsParser from langchain_core.output_parsers.openai_functions import JsonOutputFunctionsParser
from langchain_core.prompts import BasePromptTemplate, ChatPromptTemplate from langchain_core.prompts import BasePromptTemplate, ChatPromptTemplate
from langchain_core.utils.input import get_colored_text from langchain_core.utils.input import get_colored_text
from requests import Response
from langchain.chains.base import Chain from langchain.chains.base import Chain
from langchain.chains.llm import LLMChain from langchain.chains.llm import LLMChain
@ -21,6 +19,7 @@ from langchain.chains.sequential import SequentialChain
if TYPE_CHECKING: if TYPE_CHECKING:
from langchain_community.utilities.openapi import OpenAPISpec from langchain_community.utilities.openapi import OpenAPISpec
from openapi_pydantic import Parameter from openapi_pydantic import Parameter
from requests import Response
def _get_description(o: Any, prefer_short: bool) -> Optional[str]: def _get_description(o: Any, prefer_short: bool) -> Optional[str]:
@ -175,6 +174,12 @@ def openapi_spec_to_openai_fn(
params: Optional[dict] = None, params: Optional[dict] = None,
**kwargs: Any, **kwargs: Any,
) -> Any: ) -> Any:
try:
import requests
except ImportError as e:
raise ImportError(
"Could not import requests, please install with `pip install requests`."
) from e
method = _name_to_call_map[name]["method"] method = _name_to_call_map[name]["method"]
url = _name_to_call_map[name]["url"] url = _name_to_call_map[name]["url"]
path_params = fn_args.pop("path_params", {}) path_params = fn_args.pop("path_params", {})

View File

@ -46,7 +46,6 @@ from langsmith.evaluation import (
from langsmith.run_helpers import as_runnable, is_traceable_function from langsmith.run_helpers import as_runnable, is_traceable_function
from langsmith.schemas import Dataset, DataType, Example, Run, TracerSession from langsmith.schemas import Dataset, DataType, Example, Run, TracerSession
from langsmith.utils import LangSmithError from langsmith.utils import LangSmithError
from requests import HTTPError
from typing_extensions import TypedDict from typing_extensions import TypedDict
from langchain.chains.base import Chain from langchain.chains.base import Chain
@ -972,6 +971,12 @@ def _prepare_eval_run(
tags: Optional[List[str]] = None, tags: Optional[List[str]] = None,
dataset_version: Optional[Union[str, datetime]] = None, dataset_version: Optional[Union[str, datetime]] = None,
) -> Tuple[MCF, TracerSession, Dataset, List[Example]]: ) -> Tuple[MCF, TracerSession, Dataset, List[Example]]:
try:
from requests import HTTPError
except ImportError as e:
raise ImportError(
"Could not import requests, please install with `pip install requests`."
) from e
wrapped_model = _wrap_in_chain_factory(llm_or_chain_factory, dataset_name) wrapped_model = _wrap_in_chain_factory(llm_or_chain_factory, dataset_name)
dataset = client.read_dataset(dataset_name=dataset_name) dataset = client.read_dataset(dataset_name=dataset_name)

View File

@ -12,7 +12,6 @@ dependencies = [
"langsmith<0.4,>=0.1.17", "langsmith<0.4,>=0.1.17",
"pydantic<3.0.0,>=2.7.4", "pydantic<3.0.0,>=2.7.4",
"SQLAlchemy<3,>=1.4", "SQLAlchemy<3,>=1.4",
"requests<3,>=2",
"PyYAML>=5.3", "PyYAML>=5.3",
"numpy<2,>=1.26.4; python_version < \"3.12\"", "numpy<2,>=1.26.4; python_version < \"3.12\"",
"numpy<3,>=1.26.2; python_version >= \"3.12\"", "numpy<3,>=1.26.2; python_version >= \"3.12\"",
@ -74,6 +73,7 @@ test = [
"langchain-openai", "langchain-openai",
"toml>=0.10.2", "toml>=0.10.2",
"packaging>=24.2", "packaging>=24.2",
"requests<3,>=2",
] ]
codespell = ["codespell<3.0.0,>=2.2.0"] codespell = ["codespell<3.0.0,>=2.2.0"]
test_integration = [ test_integration = [
@ -102,6 +102,7 @@ typing = [
"mypy-protobuf<4.0.0,>=3.0.0", "mypy-protobuf<4.0.0,>=3.0.0",
"langchain-core", "langchain-core",
"langchain-text-splitters", "langchain-text-splitters",
"requests<3,>=2",
] ]
dev = [ dev = [
"jupyter<2.0.0,>=1.0.0", "jupyter<2.0.0,>=1.0.0",

View File

@ -2251,7 +2251,6 @@ dependencies = [
{ name = "numpy", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, { name = "numpy", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" },
{ name = "pydantic" }, { name = "pydantic" },
{ name = "pyyaml" }, { name = "pyyaml" },
{ name = "requests" },
{ name = "sqlalchemy" }, { name = "sqlalchemy" },
] ]
@ -2339,6 +2338,7 @@ test = [
{ name = "pytest-socket" }, { name = "pytest-socket" },
{ name = "pytest-watcher" }, { name = "pytest-watcher" },
{ name = "pytest-xdist" }, { name = "pytest-xdist" },
{ name = "requests" },
{ name = "requests-mock" }, { name = "requests-mock" },
{ name = "responses" }, { name = "responses" },
{ name = "syrupy" }, { name = "syrupy" },
@ -2359,6 +2359,7 @@ typing = [
{ name = "langchain-text-splitters" }, { name = "langchain-text-splitters" },
{ name = "mypy" }, { name = "mypy" },
{ name = "mypy-protobuf" }, { name = "mypy-protobuf" },
{ name = "requests" },
{ name = "types-chardet" }, { name = "types-chardet" },
{ name = "types-pytz" }, { name = "types-pytz" },
{ name = "types-pyyaml" }, { name = "types-pyyaml" },
@ -2393,7 +2394,6 @@ requires-dist = [
{ name = "numpy", marker = "python_full_version >= '3.12'", specifier = ">=1.26.2,<3" }, { name = "numpy", marker = "python_full_version >= '3.12'", specifier = ">=1.26.2,<3" },
{ name = "pydantic", specifier = ">=2.7.4,<3.0.0" }, { name = "pydantic", specifier = ">=2.7.4,<3.0.0" },
{ name = "pyyaml", specifier = ">=5.3" }, { name = "pyyaml", specifier = ">=5.3" },
{ name = "requests", specifier = ">=2,<3" },
{ name = "sqlalchemy", specifier = ">=1.4,<3" }, { name = "sqlalchemy", specifier = ">=1.4,<3" },
] ]
@ -2432,6 +2432,7 @@ test = [
{ name = "pytest-socket", specifier = ">=0.6.0,<1.0.0" }, { name = "pytest-socket", specifier = ">=0.6.0,<1.0.0" },
{ name = "pytest-watcher", specifier = ">=0.2.6,<1.0.0" }, { name = "pytest-watcher", specifier = ">=0.2.6,<1.0.0" },
{ name = "pytest-xdist", specifier = ">=3.6.1,<4.0.0" }, { name = "pytest-xdist", specifier = ">=3.6.1,<4.0.0" },
{ name = "requests", specifier = ">=2,<3" },
{ name = "requests-mock", specifier = ">=1.11.0,<2.0.0" }, { name = "requests-mock", specifier = ">=1.11.0,<2.0.0" },
{ name = "responses", specifier = ">=0.22.0,<1.0.0" }, { name = "responses", specifier = ">=0.22.0,<1.0.0" },
{ name = "syrupy", specifier = ">=4.0.2,<5.0.0" }, { name = "syrupy", specifier = ">=4.0.2,<5.0.0" },
@ -2452,6 +2453,7 @@ typing = [
{ name = "langchain-text-splitters", editable = "../text-splitters" }, { name = "langchain-text-splitters", editable = "../text-splitters" },
{ name = "mypy", specifier = ">=1.10,<2.0" }, { name = "mypy", specifier = ">=1.10,<2.0" },
{ name = "mypy-protobuf", specifier = ">=3.0.0,<4.0.0" }, { name = "mypy-protobuf", specifier = ">=3.0.0,<4.0.0" },
{ name = "requests", specifier = ">=2,<3" },
{ name = "types-chardet", specifier = ">=5.0.4.6,<6.0.0.0" }, { name = "types-chardet", specifier = ">=5.0.4.6,<6.0.0.0" },
{ name = "types-pytz", specifier = ">=2023.3.0.0,<2024.0.0.0" }, { name = "types-pytz", specifier = ">=2023.3.0.0,<2024.0.0.0" },
{ name = "types-pyyaml", specifier = ">=6.0.12.2,<7.0.0.0" }, { name = "types-pyyaml", specifier = ">=6.0.12.2,<7.0.0.0" },