fix sched ci (more) (#9056)

This commit is contained in:
Bagatur 2023-08-10 10:39:29 -07:00 committed by GitHub
parent 8a320e55a0
commit 206f809366
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 113 additions and 484 deletions

View File

@ -30,9 +30,10 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
poetry-version: "1.4.2"
working-directory: libs/langchain
install-command: |
echo "Running scheduled tests, installing dependencies with poetry..."
poetry install -E scheduled_testing
poetry install --with=test_integration
- name: Run tests
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}

File diff suppressed because it is too large Load Diff

View File

@ -177,32 +177,8 @@ optional = true
pytest-vcr = "^1.0.2"
wrapt = "^1.15.0"
openai = "^0.27.4"
elasticsearch = {extras = ["async"], version = "^8.6.2"}
redis = "^4.5.4"
pinecone-client = "^2.2.1"
pinecone-text = "^0.4.2"
pymongo = "^4.3.3"
clickhouse-connect = "^0.5.14"
transformers = "^4.27.4"
deeplake = "^3.6.8"
libdeeplake = "^0.0.60"
weaviate-client = "^3.15.5"
torch = "^1.0.0"
chromadb = "^0.4.0"
tiktoken = "^0.3.3"
python-dotenv = "^1.0.0"
sentence-transformers = "^2"
gptcache = "^0.1.9"
promptlayer = "^0.1.80"
tair = "^1.3.3"
wikipedia = "^1"
cassio = "^0.0.7"
arxiv = "^1.4"
mastodon-py = "^1.8.1"
momento = "^1.5.0"
# Please do not add any dependencies in the test_integration group
# See instructions above ^^
pygithub = "^1.59.0"
[tool.poetry.group.lint.dependencies]
ruff = "^0.0.249"
@ -376,10 +352,6 @@ extended_testing = [
"anthropic",
]
scheduled_testing = [
"openai",
]
[tool.ruff]
select = [
"E", # pycodestyle

View File

@ -1,6 +1,7 @@
from __future__ import annotations
from typing import TYPE_CHECKING
import geopandas
import pytest
from langchain.document_loaders import GeoDataFrameLoader
@ -14,6 +15,8 @@ else:
@pytest.mark.requires("geopandas")
def sample_gdf() -> GeoDataFrame:
import geopandas
path_to_data = geopandas.datasets.get_path("nybb")
gdf = geopandas.read_file(path_to_data)
gdf["area"] = gdf.area

View File

@ -2,12 +2,13 @@ import random
import pytest
import requests
from bs4 import BeautifulSoup
from langchain.document_loaders import NewsURLLoader
def get_random_news_url() -> str:
from bs4 import BeautifulSoup
response = requests.get("https://news.google.com")
soup = BeautifulSoup(response.text, "html.parser")

View File

@ -1,4 +1,7 @@
"""Integration tests for the TensorFlow Dataset Loader."""
from __future__ import annotations
from typing import TYPE_CHECKING
import pytest
from pydantic.error_wrappers import ValidationError
@ -6,13 +9,8 @@ from pydantic.error_wrappers import ValidationError
from langchain.document_loaders.tensorflow_datasets import TensorflowDatasetLoader
from langchain.schema.document import Document
# adding tensorflow and tensorflow_datasets to pyproject.toml is not working
# these tests can be run in isolation only
tensorflow = pytest.importorskip("tensorflow")
tensorflow_datasets = pytest.importorskip("tensorflow_datasets")
# placed here after checking for tensorflow package installation
import tensorflow as tf # noqa: E402
if TYPE_CHECKING:
import tensorflow as tf # noqa: E402
def decode_to_str(item: tf.Tensor) -> str:

View File

@ -1,8 +1,6 @@
"""Test self-hosted embeddings."""
from typing import Any
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
from langchain.embeddings import (
SelfHostedEmbeddings,
SelfHostedHuggingFaceEmbeddings,
@ -59,6 +57,8 @@ def test_self_hosted_huggingface_instructor_embedding_query() -> None:
def get_pipeline() -> Any:
"""Get pipeline for testing."""
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_id = "facebook/bart-base"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)

View File

@ -2,8 +2,6 @@
from pathlib import Path
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
from langchain.llms.huggingface_pipeline import HuggingFacePipeline
from langchain.llms.loading import load_llm
from tests.integration_tests.llms.utils import assert_llm_equality
@ -48,6 +46,8 @@ def test_saving_loading_llm(tmp_path: Path) -> None:
def test_init_with_pipeline() -> None:
"""Test initialization with a HF pipeline."""
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_id = "gpt2"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)

View File

@ -2,8 +2,6 @@
import pickle
from typing import Any, List, Optional
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
from langchain.llms import SelfHostedHuggingFaceLLM, SelfHostedPipeline
model_reqs = ["pip:./", "transformers", "torch"]
@ -58,6 +56,8 @@ def test_self_hosted_huggingface_pipeline_summarization() -> None:
def load_pipeline() -> Any:
"""Load pipeline for testing."""
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
model_id = "gpt2"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)

View File

@ -8,8 +8,6 @@ and ROCKSET_REGION environment variables set.
import json
import os
from rockset import DevRegions, Regions, RocksetClient
from langchain.memory import ConversationBufferMemory
from langchain.memory.chat_message_histories import RocksetChatMessageHistory
from langchain.schema.messages import _message_to_dict
@ -23,6 +21,8 @@ class TestRockset:
@classmethod
def setup_class(cls) -> None:
from rockset import DevRegions, Regions, RocksetClient
assert os.environ.get("ROCKSET_API_KEY") is not None
assert os.environ.get("ROCKSET_REGION") is not None

View File

@ -2,23 +2,13 @@
import os
import typing
import uuid
from typing import Any
import pytest
import redis
from langchain.storage.redis import RedisStore
if typing.TYPE_CHECKING:
try:
from redis import Redis
except ImportError:
# Ignoring mypy here to allow assignment of Any to Redis in the event
# that redis is not installed.
Redis = Any # type:ignore
else:
Redis = Any # type:ignore
pytest.importorskip("redis")
@ -26,6 +16,8 @@ pytest.importorskip("redis")
@pytest.fixture
def redis_client() -> Redis:
"""Yield redis client."""
import redis
# Using standard port, but protecting against accidental data loss
# by requiring a password.
# This fixture flushes the database!

View File

@ -1,16 +1,16 @@
"""Integration tests for the TensorFlow Dataset client."""
from __future__ import annotations
from typing import TYPE_CHECKING
import pytest
import tensorflow as tf
from pydantic.error_wrappers import ValidationError
from langchain.schema.document import Document
from langchain.utilities.tensorflow_datasets import TensorflowDatasets
# adding tensorflow and tensorflow_datasets to pyproject.toml is not working
# these tests can be tested in isolation only
tensorflow = pytest.importorskip("tensorflow")
tensorflow_datasets = pytest.importorskip("tensorflow_datasets")
if TYPE_CHECKING:
import tensorflow as tf # noqa: E402
def decode_to_str(item: tf.Tensor) -> str: