From 3b07c0cf3d4640e90b00256c57a25bb51fc8e006 Mon Sep 17 00:00:00 2001 From: olgavrou Date: Fri, 6 Oct 2023 04:07:22 +0300 Subject: [PATCH] RL Chain with VowpalWabbit (#10242) - Description: This PR adds a new chain `rl_chain.PickBest` for learned prompt variable injection, detailed description and usage can be found in the example notebook added. It essentially adds a [VowpalWabbit](https://github.com/VowpalWabbit/vowpal_wabbit) layer before the llm call in order to learn or personalize prompt variable selections. Most of the code is to make the API simple and provide lots of defaults and data wrangling that is needed to use Vowpal Wabbit, so that the user of the chain doesn't have to worry about it. - Dependencies: [vowpal-wabbit-next](https://pypi.org/project/vowpal-wabbit-next/), - sentence-transformers (already a dep) - numpy (already a dep) - tagging @ataymano who contributed to this chain - Tag maintainer: @baskaryan - Twitter handle: @olgavrou Added example notebook and unit tests --- .../chains => unit_tests}/rl_chain/test_pick_best_chain_call.py | 0 .../rl_chain/test_pick_best_text_embedder.py | 0 .../chains => unit_tests}/rl_chain/test_rl_chain_base_embedder.py | 0 .../chains => unit_tests}/rl_chain/test_utils.py | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename libs/experimental/tests/{integration_tests/chains => unit_tests}/rl_chain/test_pick_best_chain_call.py (100%) rename libs/experimental/tests/{integration_tests/chains => unit_tests}/rl_chain/test_pick_best_text_embedder.py (100%) rename libs/experimental/tests/{integration_tests/chains => unit_tests}/rl_chain/test_rl_chain_base_embedder.py (100%) rename libs/experimental/tests/{integration_tests/chains => unit_tests}/rl_chain/test_utils.py (100%) diff --git a/libs/experimental/tests/integration_tests/chains/rl_chain/test_pick_best_chain_call.py b/libs/experimental/tests/unit_tests/rl_chain/test_pick_best_chain_call.py similarity index 100% rename from libs/experimental/tests/integration_tests/chains/rl_chain/test_pick_best_chain_call.py rename to libs/experimental/tests/unit_tests/rl_chain/test_pick_best_chain_call.py diff --git a/libs/experimental/tests/integration_tests/chains/rl_chain/test_pick_best_text_embedder.py b/libs/experimental/tests/unit_tests/rl_chain/test_pick_best_text_embedder.py similarity index 100% rename from libs/experimental/tests/integration_tests/chains/rl_chain/test_pick_best_text_embedder.py rename to libs/experimental/tests/unit_tests/rl_chain/test_pick_best_text_embedder.py diff --git a/libs/experimental/tests/integration_tests/chains/rl_chain/test_rl_chain_base_embedder.py b/libs/experimental/tests/unit_tests/rl_chain/test_rl_chain_base_embedder.py similarity index 100% rename from libs/experimental/tests/integration_tests/chains/rl_chain/test_rl_chain_base_embedder.py rename to libs/experimental/tests/unit_tests/rl_chain/test_rl_chain_base_embedder.py diff --git a/libs/experimental/tests/integration_tests/chains/rl_chain/test_utils.py b/libs/experimental/tests/unit_tests/rl_chain/test_utils.py similarity index 100% rename from libs/experimental/tests/integration_tests/chains/rl_chain/test_utils.py rename to libs/experimental/tests/unit_tests/rl_chain/test_utils.py