From 0a2724d8c740354acf4df0c5e1f32acba337dbd8 Mon Sep 17 00:00:00 2001 From: olgavrou Date: Tue, 29 Aug 2023 06:27:56 -0400 Subject: [PATCH 1/5] test --- .github/workflows/langchain_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/langchain_ci.yml b/.github/workflows/langchain_ci.yml index 8f1fc5d8744..8cd13b40eee 100644 --- a/.github/workflows/langchain_ci.yml +++ b/.github/workflows/langchain_ci.yml @@ -60,7 +60,7 @@ jobs: - "3.8" - "3.9" - "3.10" - - "3.11" + - "3.11.3" name: Python ${{ matrix.python-version }} extended tests steps: - uses: actions/checkout@v3 From 4b930f58e91b94824971623d0ead6809388a6743 Mon Sep 17 00:00:00 2001 From: olgavrou Date: Tue, 29 Aug 2023 06:28:07 -0400 Subject: [PATCH 2/5] test --- .github/workflows/langchain_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/langchain_ci.yml b/.github/workflows/langchain_ci.yml index 8cd13b40eee..30317dafb2a 100644 --- a/.github/workflows/langchain_ci.yml +++ b/.github/workflows/langchain_ci.yml @@ -60,7 +60,7 @@ jobs: - "3.8" - "3.9" - "3.10" - - "3.11.3" + - "3.11.0" name: Python ${{ matrix.python-version }} extended tests steps: - uses: actions/checkout@v3 From 72eab3b37e7fbe5406a04691dc727bd7c2627955 Mon Sep 17 00:00:00 2001 From: olgavrou Date: Tue, 29 Aug 2023 06:35:27 -0400 Subject: [PATCH 3/5] test --- .github/workflows/langchain_ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/langchain_ci.yml b/.github/workflows/langchain_ci.yml index 30317dafb2a..955d3074459 100644 --- a/.github/workflows/langchain_ci.yml +++ b/.github/workflows/langchain_ci.yml @@ -60,7 +60,6 @@ jobs: - "3.8" - "3.9" - "3.10" - - "3.11.0" name: Python ${{ matrix.python-version }} extended tests steps: - uses: actions/checkout@v3 From 5727148f2b0d3ad82ea7f8015394e24cc1f8567c Mon Sep 17 00:00:00 2001 From: olgavrou Date: Tue, 29 Aug 2023 07:09:58 -0400 Subject: [PATCH 4/5] make sure test don't try to download sentence transformer models --- .../rl_chain/test_pick_best_chain_call.py | 48 +++++++++++++++---- 1 file changed, 40 insertions(+), 8 deletions(-) diff --git a/libs/langchain/tests/unit_tests/chains/rl_chain/test_pick_best_chain_call.py b/libs/langchain/tests/unit_tests/chains/rl_chain/test_pick_best_chain_call.py index 7bca6b470d8..1b882e932d4 100644 --- a/libs/langchain/tests/unit_tests/chains/rl_chain/test_pick_best_chain_call.py +++ b/libs/langchain/tests/unit_tests/chains/rl_chain/test_pick_best_chain_call.py @@ -23,7 +23,11 @@ def setup() -> tuple: @pytest.mark.requires("vowpal_wabbit_next", "sentence_transformers") def test_multiple_ToSelectFrom_throws() -> None: llm, PROMPT = setup() - chain = pick_best_chain.PickBest.from_llm(llm=llm, prompt=PROMPT) + chain = pick_best_chain.PickBest.from_llm( + llm=llm, + prompt=PROMPT, + feature_embedder=pick_best_chain.PickBestFeatureEmbedder(model=MockEncoder()), + ) actions = ["0", "1", "2"] with pytest.raises(ValueError): chain.run( @@ -36,7 +40,11 @@ def test_multiple_ToSelectFrom_throws() -> None: @pytest.mark.requires("vowpal_wabbit_next", "sentence_transformers") def test_missing_basedOn_from_throws() -> None: llm, PROMPT = setup() - chain = pick_best_chain.PickBest.from_llm(llm=llm, prompt=PROMPT) + chain = pick_best_chain.PickBest.from_llm( + llm=llm, + prompt=PROMPT, + feature_embedder=pick_best_chain.PickBestFeatureEmbedder(model=MockEncoder()), + ) actions = ["0", "1", "2"] with pytest.raises(ValueError): chain.run(action=rl_chain.ToSelectFrom(actions)) @@ -45,7 +53,11 @@ def test_missing_basedOn_from_throws() -> None: @pytest.mark.requires("vowpal_wabbit_next", "sentence_transformers") def test_ToSelectFrom_not_a_list_throws() -> None: llm, PROMPT = setup() - chain = pick_best_chain.PickBest.from_llm(llm=llm, prompt=PROMPT) + chain = pick_best_chain.PickBest.from_llm( + llm=llm, + prompt=PROMPT, + feature_embedder=pick_best_chain.PickBestFeatureEmbedder(model=MockEncoder()), + ) actions = {"actions": ["0", "1", "2"]} with pytest.raises(ValueError): chain.run( @@ -63,6 +75,7 @@ def test_update_with_delayed_score_with_auto_validator_throws() -> None: llm=llm, prompt=PROMPT, selection_scorer=rl_chain.AutoSelectionScorer(llm=auto_val_llm), + feature_embedder=pick_best_chain.PickBestFeatureEmbedder(model=MockEncoder()), ) actions = ["0", "1", "2"] response = chain.run( @@ -85,6 +98,7 @@ def test_update_with_delayed_score_force() -> None: llm=llm, prompt=PROMPT, selection_scorer=rl_chain.AutoSelectionScorer(llm=auto_val_llm), + feature_embedder=pick_best_chain.PickBestFeatureEmbedder(model=MockEncoder()), ) actions = ["0", "1", "2"] response = chain.run( @@ -104,7 +118,10 @@ def test_update_with_delayed_score_force() -> None: def test_update_with_delayed_score() -> None: llm, PROMPT = setup() chain = pick_best_chain.PickBest.from_llm( - llm=llm, prompt=PROMPT, selection_scorer=None + llm=llm, + prompt=PROMPT, + selection_scorer=None, + feature_embedder=pick_best_chain.PickBestFeatureEmbedder(model=MockEncoder()), ) actions = ["0", "1", "2"] response = chain.run( @@ -128,7 +145,10 @@ def test_user_defined_scorer() -> None: return score chain = pick_best_chain.PickBest.from_llm( - llm=llm, prompt=PROMPT, selection_scorer=CustomSelectionScorer() + llm=llm, + prompt=PROMPT, + selection_scorer=CustomSelectionScorer(), + feature_embedder=pick_best_chain.PickBestFeatureEmbedder(model=MockEncoder()), ) actions = ["0", "1", "2"] response = chain.run( @@ -239,7 +259,11 @@ def test_default_embeddings_mixed_w_explicit_user_embeddings() -> None: def test_default_no_scorer_specified() -> None: _, PROMPT = setup() chain_llm = FakeListChatModel(responses=[100]) - chain = pick_best_chain.PickBest.from_llm(llm=chain_llm, prompt=PROMPT) + chain = pick_best_chain.PickBest.from_llm( + llm=chain_llm, + prompt=PROMPT, + feature_embedder=pick_best_chain.PickBestFeatureEmbedder(model=MockEncoder()), + ) response = chain.run( User=rl_chain.BasedOn("Context"), action=rl_chain.ToSelectFrom(["0", "1", "2"]), @@ -254,7 +278,10 @@ def test_default_no_scorer_specified() -> None: def test_explicitly_no_scorer() -> None: llm, PROMPT = setup() chain = pick_best_chain.PickBest.from_llm( - llm=llm, prompt=PROMPT, selection_scorer=None + llm=llm, + prompt=PROMPT, + selection_scorer=None, + feature_embedder=pick_best_chain.PickBestFeatureEmbedder(model=MockEncoder()), ) response = chain.run( User=rl_chain.BasedOn("Context"), @@ -274,6 +301,7 @@ def test_auto_scorer_with_user_defined_llm() -> None: llm=llm, prompt=PROMPT, selection_scorer=rl_chain.AutoSelectionScorer(llm=scorer_llm), + feature_embedder=pick_best_chain.PickBestFeatureEmbedder(model=MockEncoder()), ) response = chain.run( User=rl_chain.BasedOn("Context"), @@ -288,7 +316,11 @@ def test_auto_scorer_with_user_defined_llm() -> None: @pytest.mark.requires("vowpal_wabbit_next", "sentence_transformers") def test_calling_chain_w_reserved_inputs_throws() -> None: llm, PROMPT = setup() - chain = pick_best_chain.PickBest.from_llm(llm=llm, prompt=PROMPT) + chain = pick_best_chain.PickBest.from_llm( + llm=llm, + prompt=PROMPT, + feature_embedder=pick_best_chain.PickBestFeatureEmbedder(model=MockEncoder()), + ) with pytest.raises(ValueError): chain.run( User=rl_chain.BasedOn("Context"), From f8b5c2977a7678b9a515b7c58b371e2a27183e9c Mon Sep 17 00:00:00 2001 From: olgavrou Date: Tue, 29 Aug 2023 07:17:40 -0400 Subject: [PATCH 5/5] restore ci workflow --- .github/workflows/langchain_ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/langchain_ci.yml b/.github/workflows/langchain_ci.yml index 955d3074459..8f1fc5d8744 100644 --- a/.github/workflows/langchain_ci.yml +++ b/.github/workflows/langchain_ci.yml @@ -60,6 +60,7 @@ jobs: - "3.8" - "3.9" - "3.10" + - "3.11" name: Python ${{ matrix.python-version }} extended tests steps: - uses: actions/checkout@v3