From 64776b28f3b75a7bf13453849a7a8a77c8a5d94b Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Thu, 17 Aug 2023 11:21:12 -0700 Subject: [PATCH 001/182] Version bump --- docs/source/conf.py | 2 +- prompttools/version.py | 4 ++-- pyproject.toml | 2 +- version.txt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index c9dcd871..b8704159 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -11,7 +11,7 @@ project = "prompttools" copyright = "2023, Hegel AI" author = "Hegel AI" -release = "0.0.32" +release = "0.0.33" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/prompttools/version.py b/prompttools/version.py index b7109ae7..f1b7fd0a 100644 --- a/prompttools/version.py +++ b/prompttools/version.py @@ -1,2 +1,2 @@ -__version__ = '0.0.32a0+15ff884' -git_version = '15ff88450ebb366d35b792ecaea212631a716ac9' +__version__ = '0.0.33a0+c405e4a' +git_version = 'c405e4ac0b8076f9bfb12cb1812ff953ff09b90e' diff --git a/pyproject.toml b/pyproject.toml index 969654a9..436e5817 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "prompttools" -version = "0.0.32" +version = "0.0.33" authors = [ { name="Hegel AI", email="team@hegel-ai.com" }, ] diff --git a/version.txt b/version.txt index 4955c4d2..129b9a8b 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.0.32a0 +0.0.33a0 From 2011685fc58d72a83f54dd7e904521f1836f6686 Mon Sep 17 00:00:00 2001 From: Hashem Alsaket Date: Sun, 20 Aug 2023 02:46:26 -0500 Subject: [PATCH 002/182] Stable diffusion (#80) * starter code * Stable Diffusion Experiment * guarding, linting * return image in mock stable diffusion * image rendering * extra examples * guarding to __init__ --- .../image_experiments/StableDiffusion.ipynb | 223 ++++++++++++++++++ ... panda writing code in the Swiss Alps3.png | Bin 0 -> 409770 bytes .../A_fruit_basket_on_the_moon.png | Bin 0 -> 366355 bytes .../An_apple_orchard.png | Bin 0 -> 591602 bytes .../Just_a_fruit_basket.png | Bin 0 -> 460296 bytes prompttools/experiment/__init__.py | 2 + .../experiment/experiments/experiment.py | 31 ++- .../experiments/stablediffusion_experiment.py | 163 +++++++++++++ prompttools/mock/mock.py | 14 ++ .../mock_data/images/Just_a_fruit_basket.png | Bin 0 -> 498246 bytes prompttools/utils/similarity.py | 41 +++- 11 files changed, 471 insertions(+), 3 deletions(-) create mode 100644 examples/notebooks/image_experiments/StableDiffusion.ipynb create mode 100644 examples/notebooks/image_experiments/compare_images_folder/A panda writing code in the Swiss Alps3.png create mode 100644 examples/notebooks/image_experiments/compare_images_folder/A_fruit_basket_on_the_moon.png create mode 100644 examples/notebooks/image_experiments/stablediffusion_images/An_apple_orchard.png create mode 100644 examples/notebooks/image_experiments/stablediffusion_images/Just_a_fruit_basket.png create mode 100644 prompttools/experiment/experiments/stablediffusion_experiment.py create mode 100644 prompttools/mock/mock_data/images/Just_a_fruit_basket.png diff --git a/examples/notebooks/image_experiments/StableDiffusion.ipynb b/examples/notebooks/image_experiments/StableDiffusion.ipynb new file mode 100644 index 00000000..3ddb49a1 --- /dev/null +++ b/examples/notebooks/image_experiments/StableDiffusion.ipynb @@ -0,0 +1,223 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "34993521", + "metadata": {}, + "source": [ + "# Stable Diffusion Experiment" + ] + }, + { + "cell_type": "markdown", + "id": "5113e50e", + "metadata": {}, + "source": [ + "##### If you do not have an NVIDIA GPU [or AMD], make sure to login to hugging face using `huggingface-cli login` in your terminal." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "f122f5ee", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-08-19 20:56:52.443483: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\n", + "To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", + "2023-08-19 20:56:53.009288: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT\n" + ] + } + ], + "source": [ + "from prompttools.experiment import StableDiffusionExperiment\n", + "from prompttools.utils.similarity import ssim" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "6c9117f1", + "metadata": {}, + "outputs": [], + "source": [ + "compare_images_paths = [\n", + " \"examples/notebooks/image_experiments/compare_images_folder/A panda writing code in the Swiss Alps3.png\",\n", + " \"examples/notebooks/image_experiments/compare_images_folder/A_fruit_basket_on_the_moon.png\",\n", + "]\n", + "\n", + "experiment = StableDiffusionExperiment(\n", + " hf_model_path=[\"CompVis/stable-diffusion-v1-4\"],\n", + " prompt=[\"Just a fruit basket\", \"An apple orchard\"],\n", + " compare_images_folder=\"examples/notebooks/image_experiments/compare_images_folder/\",\n", + " use_auth_token=True,\n", + " **{\"image_folder\": [\"stablediffusion_images/\"]}\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "b619df81", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ec20250ea5734628bff995b596c878ce", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Loading pipeline components...: 0%| | 0/7 [00:00\n", + " \n", + " \n", + " \n", + " prompt\n", + " client\n", + " response\n", + " latency\n", + " ssim_score\n", + " \n", + " \n", + " \n", + " \n", + " 0\n", + " Just a fruit basket\n", + " StableDiffusionPipeline {\\n \"_class_name\": \"StableDiffusionPipeline\",\\n \"_diffusers_version\": \"0.19.3\",\\n \"_name_or_path\": \"CompVis/stable-diffusion-v1-4\",\\n \"feature_extractor\": [\\n \"transformers\",\\n \"CLIPImageProcessor\"\\n ],\\n \"requires_safety_checker\": true,\\n \"safety_checker\": [\\n \"stable_diffusion\",\\n \"StableDiffusionSafetyChecker\"\\n ],\\n \"scheduler\": [\\n \"diffusers\",\\n \"PNDMScheduler\"\\n ],\\n \"text_encoder\": [\\n \"transformers\",\\n \"CLIPTextModel\"\\n ],\\n \"tokenizer\": [\\n \"transformers\",\\n \"CLIPTokenizer\"\\n ],\\n \"unet\": [\\n \"diffusers\",\\n \"UNet2DConditionModel\"\\n ],\\n \"vae\": [\\n \"diffusers\",\\n \"AutoencoderKL\"\\n ]\\n}\\n\n", + " \n", + " 391.952533\n", + " 0.173880\n", + " \n", + " \n", + " 1\n", + " An apple orchard\n", + " StableDiffusionPipeline {\\n \"_class_name\": \"StableDiffusionPipeline\",\\n \"_diffusers_version\": \"0.19.3\",\\n \"_name_or_path\": \"CompVis/stable-diffusion-v1-4\",\\n \"feature_extractor\": [\\n \"transformers\",\\n \"CLIPImageProcessor\"\\n ],\\n \"requires_safety_checker\": true,\\n \"safety_checker\": [\\n \"stable_diffusion\",\\n \"StableDiffusionSafetyChecker\"\\n ],\\n \"scheduler\": [\\n \"diffusers\",\\n \"PNDMScheduler\"\\n ],\\n \"text_encoder\": [\\n \"transformers\",\\n \"CLIPTextModel\"\\n ],\\n \"tokenizer\": [\\n \"transformers\",\\n \"CLIPTokenizer\"\\n ],\\n \"unet\": [\\n \"diffusers\",\\n \"UNet2DConditionModel\"\\n ],\\n \"vae\": [\\n \"diffusers\",\\n \"AutoencoderKL\"\\n ]\\n}\\n\n", + " \n", + " 549.473610\n", + " 0.105426\n", + " \n", + " \n", + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment.run()\n", + "\n", + "experiment.evaluate(\n", + " \"ssim_score\",\n", + " ssim,\n", + " expected=compare_images_paths,\n", + " image_experiment=True\n", + ")\n", + "\n", + "experiment.visualize()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + }, + "vscode": { + "interpreter": { + "hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1" + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/notebooks/image_experiments/compare_images_folder/A panda writing code in the Swiss Alps3.png b/examples/notebooks/image_experiments/compare_images_folder/A panda writing code in the Swiss Alps3.png new file mode 100644 index 0000000000000000000000000000000000000000..c6f044bcc9963975a36005db815d9e3e2994a9d5 GIT binary patch literal 409770 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[CC@jiQ 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�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�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

sAzoA^9etO14+c+I8 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

m!Y#6X+4zR(v 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

S|oJEi$$2J`Cf<|3%4$fD(u-Q{HOD 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

?aqwjNtL&8Yxi!^%cYUp^+y4Xg=+3)Y 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¤pwdkIF_X~1M=uL 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�& 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�Q-SDPi)B;vhW@X4BE0kQ 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%0Dl-dc}hW*`Nr>w2>r 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

Fn|YndOgiKk62>vfkLSHaenHhQNm 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

6+QPe1NHqa}D4G9uI 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 None: + def cv2_image_to_base64(self, image): + if cv2 is None: + raise ModuleNotFoundError( + "Package `cv2` is required to be installed to use this experiment." + "Please use `pip opencv-python` to install the package" + ) + _, buffer = cv2.imencode('.png', image) + return base64.b64encode(buffer).decode('utf-8') + + def display_image_html(self, base64_string): + return f'' + + def evaluate(self, metric_name: str, eval_fn: Callable, static_eval_fn_kwargs: dict = {}, image_experiment: bool = False, **eval_fn_kwargs) -> None: """ Using the given evaluation function that accepts a row of data, compute a new column with the evaluation result. Each row of data generally contain inputs, model response, and other previously computed metrics. @@ -294,6 +320,7 @@ def evaluate(self, metric_name: str, eval_fn: Callable, static_eval_fn_kwargs: d >>> experiment.evaluate("is_json", validate_json_response, >>> static_eval_fn_kwargs={"response_column_name": "response"}) """ + self.image_experiment = image_experiment if metric_name in self.score_df.columns: logging.warning(metric_name + " is already present, skipping.") return diff --git a/prompttools/experiment/experiments/stablediffusion_experiment.py b/prompttools/experiment/experiments/stablediffusion_experiment.py new file mode 100644 index 00000000..2741f340 --- /dev/null +++ b/prompttools/experiment/experiments/stablediffusion_experiment.py @@ -0,0 +1,163 @@ +# Copyright (c) Hegel AI, Inc. +# All rights reserved. +# +# This source code's license can be found in the +# LICENSE file in the root directory of this source tree. + +import os +from typing import Any, Dict, List +import itertools + +from time import perf_counter +import logging + +try: + import cv2 +except ImportError: + cv2 = None + +try: + from diffusers import DiffusionPipeline, StableDiffusionPipeline +except ImportError: + DiffusionPipeline = None +try: + import torch +except ImportError: + torch = None + +from prompttools.mock.mock import mock_stable_diffusion + +from .experiment import Experiment +from .error import PromptExperimentException + + +class StableDiffusionExperiment(Experiment): + r""" + Experiment for testing Stable Diffusion. + + Args: + ---- + hf_model_path (str): path to model on hugging face + use_auth_token (bool): boolean to determine if hf login is necessary [needed without GPU] + kwargs (dict): keyword arguments to call the model with + """ + + MODEL_PARAMETERS = ["hf_model_path", "prompt"] + + CALL_PARAMETERS: List[str] = ["prompt"] + + def __init__( + self, + hf_model_path: List[str], + prompt: List[str], + compare_images_folder: str, + use_auth_token: bool = False, + **kwargs: Dict[str, object], + ): + if DiffusionPipeline is None: + raise ModuleNotFoundError( + "Package `diffusers` is required to be installed to use this experiment." + "Please use `pip install diffusers` and \ + `pip install invisible_watermark transformers accelerate safetensors` to install the package" + ) + if torch is None: + raise ModuleNotFoundError( + "Package `torch` is required to be installed to use this experiment." + "Please use `pip install torch torchvision torchaudio` to install the package" + ) + if cv2 is None: + raise ModuleNotFoundError( + "Package `cv2` is required to be installed to use this experiment." + "Please use `pip opencv-python` to install the package" + ) + self.use_auth_token = use_auth_token + self.completion_fn = self.sd_completion_fn + self.compare_images_folder = compare_images_folder + if os.getenv("DEBUG", default=False): + self.completion_fn = mock_stable_diffusion + self.model_params = dict(hf_model_path=hf_model_path) + + self.call_params = dict(prompt=prompt) + for k, v in kwargs.items(): + self.CALL_PARAMETERS.append(k) + self.call_params[k] = v + + self.all_args = self.model_params | self.call_params + super().__init__() + + def prepare(self) -> None: + r""" + Combo builder. + """ + self.model_argument_combos = [ + dict(zip(self.model_params, val, strict=False)) for val in itertools.product(*self.model_params.values()) + ] + self.call_argument_combos = [ + dict(zip(self.call_params, val, strict=False)) for val in itertools.product(*self.call_params.values()) + ] + + def sd_completion_fn( + self, + **params: Dict[str, Any], + ): + r""" + Local model helper function to make request. + """ + client = params["client"] + image_folder = params["image_folder"] + if not os.path.exists(image_folder): + os.makedirs(image_folder) + response = client(params["prompt"]) + img = response["images"][0] + img_path = params["image_folder"] + "_".join(params["prompt"].split(" ")) + ".png" + img.save(img_path) + main_img = cv2.imread(img_path) + logging.info("Resizing comparison images to match Stable Diffusion response image size for comparison.") + for fil in os.listdir(self.compare_images_folder): + compare_img = cv2.imread(self.compare_images_folder+fil) + compare_img = cv2.resize(compare_img, (main_img.shape[1], main_img.shape[0])) + cv2.imwrite(self.compare_images_folder+fil, compare_img) + return main_img + + def run( + self, + runs: int = 1, + ) -> None: + r""" + Create tuples of input and output for every possible combination of arguments. + For each combination, it will execute `runs` times, default to 1. + # TODO This can be done with an async queue. + """ + if not self.argument_combos: + logging.info("Preparing first...") + self.prepare() + results = [] + latencies = [] + for model_combo in self.model_argument_combos: + for call_combo in self.call_argument_combos: + if self.use_auth_token: + client = StableDiffusionPipeline.from_pretrained( + model_combo["hf_model_path"], + use_auth_token=self.use_auth_token + ) + else: + client = DiffusionPipeline.from_pretrained( + model_combo["hf_model_path"], + {k: call_combo[k] for k in call_combo if k != "prompt"} + ) + client.to("cuda") + for _ in range(runs): + call_combo["client"] = client + start = perf_counter() + res = self.completion_fn(**call_combo) + latencies.append(perf_counter() - start) + results.append(res) + self.argument_combos.append(model_combo | call_combo) + if len(results) == 0: + logging.error("No results. Something went wrong.") + raise PromptExperimentException + self._construct_result_dfs(self.argument_combos, results, latencies, extract_response_equal_full_result=True) + + @staticmethod + def _extract_responses(output: object) -> object: + return cv2.cvtColor(output, cv2.COLOR_BGR2GRAY) diff --git a/prompttools/mock/mock.py b/prompttools/mock/mock.py index ff83b590..e7ad4685 100644 --- a/prompttools/mock/mock.py +++ b/prompttools/mock/mock.py @@ -8,6 +8,11 @@ These mock functions exist for testing and demo purposes. """ import json +import warnings +try: + import cv2 +except ImportError: + cv2 = None def mock_openai_chat_completion_fn(**kwargs): @@ -125,3 +130,12 @@ def mock_mindsdb_completion_fn(**kwargs): def mock_lc_completion_fn(**kwargs): return "The first president of the United States was George Washington." + + +def mock_stable_diffusion(**kwargs): + if cv2 is None: + raise ModuleNotFoundError( + "Package `cv2` is required to be installed to use this experiment." + "Please use `pip install opencv-python` to install the package" + ) + return cv2.imread("/mock_data/images/Just_a_fruit_basket.png") diff --git a/prompttools/mock/mock_data/images/Just_a_fruit_basket.png b/prompttools/mock/mock_data/images/Just_a_fruit_basket.png new file mode 100644 index 0000000000000000000000000000000000000000..aa0f903dda6e34a1fdda3ed947c8dd8b9ab85ced GIT binary patch literal 498246 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%0AxYuj}sW^=waR2HBTWXbW5CUd1>KmdzM@ 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∾;v_FZ)pcE;UtWfBT)ieq)>U0w@8dLp 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

?-_ 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 ro%W00000NkvXXu0mjff!PiB literal 0 HcmV?d00001 diff --git a/prompttools/utils/similarity.py b/prompttools/utils/similarity.py index 0e3232dd..42042569 100644 --- a/prompttools/utils/similarity.py +++ b/prompttools/utils/similarity.py @@ -12,7 +12,17 @@ import pandas.core.series import logging -EMBEDDING_MODEL = [] # +try: + import cv2 +except ImportError: + cv2 = None +try: + from skimage.metrics import structural_similarity +except ImportError: + structural_similarity = None + + +EMBEDDING_MODEL = [] CHROMA_CLIENT = [] @@ -81,6 +91,35 @@ def evaluate(prompt: str, response: str, metadata: Dict, expected: str) -> float return compute(expected, response) +def ssim(row: pandas.core.series.Series, expected: str, response_column_name: str = "response") -> float: + r""" + Structural similarity index measure (SSIM) between two images. + + Args: + ---- + row (pandas.core.series.Series): A row of data from the full DataFrame (including input, model response, other + metrics, etc). + expected (str): the path to the expected image responses for each row in the column + response_column_name (str): name of the column that contains the model's response, defaults to ``"response"`` + """ + if cv2 is None: + raise ModuleNotFoundError( + "Package `cv2` is required to be installed to use this experiment." + "Please use `pip install opencv-python` to install the package" + ) + if structural_similarity is None: + raise ModuleNotFoundError( + "Package `skimage` is required to be installed to use this experiment." + "Please use `pip install scikit-image` to install the package" + ) + if len(expected) == 1: + logging.warn("Expected should be a list of strings." + "You may have passed in a single string") + expected_img = cv2.imread(expected) + expected_img = cv2.cvtColor(expected_img, cv2.COLOR_BGR2GRAY) + (score, _) = structural_similarity(row[response_column_name], expected_img, full=True) + return score + + def semantic_similarity(row: pandas.core.series.Series, expected: str, response_column_name: str = "response") -> float: r""" A simple test that checks semantic similarity between the expected response (provided by the user) From 321fdc339cee3b56c7eb6eaaf09f55a76a8e4a79 Mon Sep 17 00:00:00 2001 From: "Steven Krawczyk (Hegel AI)" Date: Mon, 21 Aug 2023 13:50:29 -0700 Subject: [PATCH 003/182] Fix badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c214f0ce..6b1ee2e8 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@

- Total Downloads + Total Downloads From 4a58e8501b20610cfb698d9da4360640b3dce8c0 Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 17 Aug 2023 15:17:58 -0700 Subject: [PATCH 004/182] Adding optional response extractor argument to the result construction method --- .../experiment/experiments/experiment.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/prompttools/experiment/experiments/experiment.py b/prompttools/experiment/experiments/experiment.py index 924624a8..4a906ee2 100644 --- a/prompttools/experiment/experiments/experiment.py +++ b/prompttools/experiment/experiments/experiment.py @@ -197,6 +197,7 @@ def _construct_result_dfs( results: list[dict[str, object]], latencies: list[float], extract_response_equal_full_result: bool = False, + response_extractors: Optional[dict[str, Callable]] = None, ): r""" Takes in the input, results, and other metrics from the experiment's run, and construct a few DataFrames that @@ -212,11 +213,15 @@ def _construct_result_dfs( Args: input_args (list[dict[str, object]]): list of dictionaries, where each of them is a set of - input argument that was passed into the model + input argument that was passed into the model results (list[dict[str, object]]): list of responses from the model latencies (list[float]): list of latency measurements extract_response_equal_full_result (bool): if ``True``, ``result_df`` will only contain - the extracted response, lead to a simpler (but incomplete) columns of results. + the extracted response, lead to a simpler (but incomplete) columns of results. + response_extractors (Optional[dict[str, Callable]]): Optional dictionary of response extractors, + defaults to ``None``, which will use the ``_extract_responses`` defined by the class. + The key of the dictionary will be the name of the resulting column, the value of the dictionary + will be an extractor function that accepts the response from the model and returns a value. """ # `input_arg_df` contains all all input args input_arg_df = pd.DataFrame(input_args) @@ -224,7 +229,13 @@ def _construct_result_dfs( dynamic_input_arg_df = _get_dynamic_columns(input_arg_df) # `response_df` contains the extracted response (often being the text response) - response_df = pd.DataFrame({"response": [self._extract_responses(result) for result in results]}) + if response_extractors is None: + response_df = pd.DataFrame({"response": [self._extract_responses(result) for result in results]}) + else: + res_dict = {} + for col_name, extractor in response_extractors.items(): + res_dict[col_name] = [extractor(result) for result in results] + response_df = pd.DataFrame(res_dict) # `result_df` contains everything returned by the completion function if extract_response_equal_full_result: result_df = response_df From e22a0f3eb2e87a6bae82479613239603551ecdec Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 21 Aug 2023 22:23:34 -0700 Subject: [PATCH 005/182] Initial replicate experiment --- prompttools/experiment/__init__.py | 2 + .../experiments/replicate_experiment.py | 78 +++++++++++++++++++ prompttools/mock/mock.py | 18 ++++- 3 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 prompttools/experiment/experiments/replicate_experiment.py diff --git a/prompttools/experiment/__init__.py b/prompttools/experiment/__init__.py index 76605c41..ba423813 100644 --- a/prompttools/experiment/__init__.py +++ b/prompttools/experiment/__init__.py @@ -18,6 +18,7 @@ from .experiments.mindsdb_experiment import MindsDBExperiment from .experiments.langchain_experiment import SequentialChainExperiment, RouterChainExperiment from .experiments.stablediffusion_experiment import StableDiffusionExperiment +from .experiments.replicate_experiment import ReplicateExperiment __all__ = [ "AnthropicCompletionExperiment", @@ -30,6 +31,7 @@ "MindsDBExperiment", "OpenAIChatExperiment", "OpenAICompletionExperiment", + "ReplicateExperiment", "RouterChainExperiment", "SequentialChainExperiment", "StableDiffusionExperiment", diff --git a/prompttools/experiment/experiments/replicate_experiment.py b/prompttools/experiment/experiments/replicate_experiment.py new file mode 100644 index 00000000..316b7a05 --- /dev/null +++ b/prompttools/experiment/experiments/replicate_experiment.py @@ -0,0 +1,78 @@ +# Copyright (c) Hegel AI, Inc. +# All rights reserved. +# +# This source code's license can be found in the +# LICENSE file in the root directory of this source tree. +import itertools + +from prompttools.mock.mock import mock_replicate_stable_diffusion_completion_fn + +import os + + +try: + import replicate + +except ImportError: + replicate = None + +from .experiment import Experiment + + +class ReplicateExperiment(Experiment): + r""" + Perform an experiment with the Replicate API to test different embedding functions or retrieval arguments. + You can query from an existing table, or create a new one (and insert documents into it) during + the experiment. + + Note: + Set your API token to ``os.environ["REPLICATE_API_TOKEN"]``. + + Args: + models (list[str]): "stability-ai/stable-diffusion:27b93a2413e" + input_kwargs (dict[str, list]): keyword arguments that can be used across all models + + model_specific_kwargs (dict[str, dict[str, list]]): model-specific keyword arguments that will only be used + by a specific model (e.g. ``stability-ai/stable-diffusion:27b93a2413`` + """ + + def __init__( + self, models: list[str], input_kwargs: dict[str, list], model_specific_kwargs: dict[str, dict[str, list]] = {} + ): + if replicate is None: + raise ModuleNotFoundError( + "Package `replicate` is required to be installed to use this experiment." + "Please use `pip install replicate` to install the package" + ) + try: + os.environ["REPLICATE_API_TOKEN"] + except KeyError: + raise RuntimeError('`os.environ["REPLICATE_API_TOKEN]` needs to be set.') + self.models = models + self.input_kwargs = input_kwargs + self.model_specific_kwargs = model_specific_kwargs + if os.getenv("DEBUG", default=False): + self.completion_fn = mock_replicate_stable_diffusion_completion_fn + else: + self.completion_fn = self.replicate_completion_fn + super().__init__() + + def prepare(self): + for model in self.models: + for base_combo in itertools.product(*self.input_kwargs.values()): + arg_dict = dict(zip(self.input_kwargs.keys(), base_combo)) + # arg_dict['model_version'] = model + for model_combo in itertools.product(*self.model_specific_kwargs[model].values()): + model_arg_dict = dict(zip(self.model_specific_kwargs[model].keys(), model_combo)) + for k, v in model_arg_dict.items(): + arg_dict[k] = v + self.argument_combos.append({"model_version": model, "input": arg_dict}) + + @staticmethod + def replicate_completion_fn(model_version: str, **kwargs): + return replicate.run(model_version, input=kwargs) + + @staticmethod + def _extract_responses(output: dict) -> list[str]: + # TODO: May need to extract image from the URI, perhaps with `cv2.imread` + return output["data"] diff --git a/prompttools/mock/mock.py b/prompttools/mock/mock.py index e7ad4685..db7f8c82 100644 --- a/prompttools/mock/mock.py +++ b/prompttools/mock/mock.py @@ -123,7 +123,8 @@ def mock_palm_completion_fn(**kwargs): def mock_mindsdb_completion_fn(**kwargs): return [ ( - "The first president of the United States was George Washington. However, if you're referring to a different country, please specify so I can provide the correct information.", + "The first president of the United States was George Washington. However, " + "if you're referring to a different country, please specify so I can provide the correct information.", ) ] @@ -139,3 +140,18 @@ def mock_stable_diffusion(**kwargs): "Please use `pip install opencv-python` to install the package" ) return cv2.imread("/mock_data/images/Just_a_fruit_basket.png") + + +# TODO: Consider return URI pointing to local images instead +def mock_replicate_stable_diffusion_completion_fn(model_version: str, **kwargs): + json_string = r""" + { + "title": "Output", + "data": [ + "https://mock.com/1.jpeg", + "https://mock.com/2.jpeg", + "https://mock.com/3.jpeg" + ] + } + """ + return json.loads(json_string) From ed88143dadb861b2bcf6d311aa87ac7061b11c5a Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 21 Aug 2023 22:23:40 -0700 Subject: [PATCH 006/182] Initial replicate experiment example --- examples/notebooks/ReplicateExperiment.ipynb | 242 +++++++++++++++++++ 1 file changed, 242 insertions(+) create mode 100644 examples/notebooks/ReplicateExperiment.ipynb diff --git a/examples/notebooks/ReplicateExperiment.ipynb b/examples/notebooks/ReplicateExperiment.ipynb new file mode 100644 index 00000000..a500a4c0 --- /dev/null +++ b/examples/notebooks/ReplicateExperiment.ipynb @@ -0,0 +1,242 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0a13ddc8", + "metadata": {}, + "source": [ + "# Replicate Experiment Example" + ] + }, + { + "cell_type": "markdown", + "id": "623f0cfe", + "metadata": {}, + "source": [ + "## Installations" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "885dabeb", + "metadata": {}, + "outputs": [], + "source": [ + "# !pip install --quiet --force-reinstall prompttools" + ] + }, + { + "cell_type": "markdown", + "id": "2eac35f8", + "metadata": {}, + "source": [ + "## Setup imports and API keys" + ] + }, + { + "cell_type": "markdown", + "id": "5edba05a", + "metadata": {}, + "source": [ + "First, we'll need to set our API keys." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "ed4e635e", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "\n", + "os.environ[\"DEBUG\"] = \"1\" # Set this to \"\" to call Replicate's API, otherwise a mock function is used\n", + "os.environ[\"REPLICATE_API_TOKEN\"] = \"\"" + ] + }, + { + "cell_type": "markdown", + "id": "842f1e47", + "metadata": {}, + "source": [ + "Then we'll import the relevant `prompttools` modules to setup our experiment." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "beaa70a1", + "metadata": {}, + "outputs": [], + "source": [ + "from prompttools.experiment import ReplicateExperiment" + ] + }, + { + "cell_type": "markdown", + "id": "622dea9a", + "metadata": {}, + "source": [ + "## Run an experiment" + ] + }, + { + "cell_type": "markdown", + "id": "3babfe5a", + "metadata": {}, + "source": [ + "Next, we create our test inputs. We can iterate over models, inputs, and configurations like temperature." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "347590cf", + "metadata": {}, + "outputs": [], + "source": [ + "sd1 = \"stability-ai/stable-diffusion:27b93a2413e7f36cd83da926f3656280b2931564ff050bf9575f1fdf9bcd7478\"\n", + "models = [sd1] # You can specify multiple models here\n", + "input_kwargs = {\"prompt\": [\"a 19th century portrait of a wombat gentleman\", \"a 22nd century portrait of a wombat gentleman\"]}\n", + "model_specific_kwargs = {sd1: {}}\n", + "\n", + "experiment = ReplicateExperiment(models, input_kwargs, model_specific_kwargs)" + ] + }, + { + "cell_type": "markdown", + "id": "f3fa5450", + "metadata": {}, + "source": [ + "We can then run the experiment to get results." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "1a261583", + "metadata": {}, + "outputs": [], + "source": [ + "experiment.run()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "fc4c4fd2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inputresponselatency
0{'prompt': 'a 19th century portrait of a wombat gentleman'}[https://mock.com/1.jpeg, https://mock.com/2.jpeg, https://mock.com/3.jpeg]0.000008
1{'prompt': 'a 22nd century portrait of a wombat gentleman'}[https://mock.com/1.jpeg, https://mock.com/2.jpeg, https://mock.com/3.jpeg]0.000003
\n", + "
" + ], + "text/plain": [ + " input \\\n", + "0 {'prompt': 'a 19th century portrait of a wombat gentleman'} \n", + "1 {'prompt': 'a 22nd century portrait of a wombat gentleman'} \n", + "\n", + " response \\\n", + "0 [https://mock.com/1.jpeg, https://mock.com/2.jpeg, https://mock.com/3.jpeg] \n", + "1 [https://mock.com/1.jpeg, https://mock.com/2.jpeg, https://mock.com/3.jpeg] \n", + "\n", + " latency \n", + "0 0.000008 \n", + "1 0.000003 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment.visualize()" + ] + }, + { + "cell_type": "markdown", + "id": "266c13eb", + "metadata": {}, + "source": [ + "## Evaluate the model response" + ] + }, + { + "cell_type": "markdown", + "id": "bebb8023", + "metadata": {}, + "source": [ + "This will be updated once we add image evaluation functions. Please don't hesitate to open an issue if you have any suggestions. Stay tuned." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "78c0c9f6", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From ce6734e39647045d6a89a43f7e575783aaf11f6e Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 21 Aug 2023 22:37:04 -0700 Subject: [PATCH 007/182] Touch StableDiffusion experiment and structural similarity, and add to documentation --- docs/source/experiment.rst | 5 +++++ docs/source/utils.rst | 2 ++ .../image_experiments/StableDiffusion.ipynb | 6 +++--- .../experiments/stablediffusion_experiment.py | 13 +++++------- prompttools/utils/similarity.py | 21 ++++++++++--------- 5 files changed, 26 insertions(+), 21 deletions(-) diff --git a/docs/source/experiment.rst b/docs/source/experiment.rst index 64ae6200..a4662120 100644 --- a/docs/source/experiment.rst +++ b/docs/source/experiment.rst @@ -58,3 +58,8 @@ Vector DBs .. autoclass:: WeaviateExperiment .. autoclass:: LanceDBExperiment + +Computer Vision ++++++++++++++++++++++++++++++++++++++++++ + +.. autoclass:: StableDiffusionExperiment diff --git a/docs/source/utils.rst b/docs/source/utils.rst index 0201015b..0a5c7bf6 100644 --- a/docs/source/utils.rst +++ b/docs/source/utils.rst @@ -22,4 +22,6 @@ They can also be used with ``prompttest`` for be part of your CI/CD system. .. autofunction:: prompttools.utils.semantic_similarity +.. autofunction:: prompttools.utils.structural_similarity + .. autofunction:: prompttools.utils.similarity.compute diff --git a/examples/notebooks/image_experiments/StableDiffusion.ipynb b/examples/notebooks/image_experiments/StableDiffusion.ipynb index 3ddb49a1..9dde5fb0 100644 --- a/examples/notebooks/image_experiments/StableDiffusion.ipynb +++ b/examples/notebooks/image_experiments/StableDiffusion.ipynb @@ -34,7 +34,7 @@ ], "source": [ "from prompttools.experiment import StableDiffusionExperiment\n", - "from prompttools.utils.similarity import ssim" + "from prompttools.utils.similarity import structural_similarity" ] }, { @@ -185,7 +185,7 @@ "\n", "experiment.evaluate(\n", " \"ssim_score\",\n", - " ssim,\n", + " structural_similarity,\n", " expected=compare_images_paths,\n", " image_experiment=True\n", ")\n", @@ -210,7 +210,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.12" + "version": "3.11.4" }, "vscode": { "interpreter": { diff --git a/prompttools/experiment/experiments/stablediffusion_experiment.py b/prompttools/experiment/experiments/stablediffusion_experiment.py index 2741f340..a5fcbea0 100644 --- a/prompttools/experiment/experiments/stablediffusion_experiment.py +++ b/prompttools/experiment/experiments/stablediffusion_experiment.py @@ -33,10 +33,9 @@ class StableDiffusionExperiment(Experiment): r""" - Experiment for testing Stable Diffusion. + Experiment for experiment with the Stable Diffusion model. Args: - ---- hf_model_path (str): path to model on hugging face use_auth_token (bool): boolean to determine if hf login is necessary [needed without GPU] kwargs (dict): keyword arguments to call the model with @@ -114,9 +113,9 @@ def sd_completion_fn( main_img = cv2.imread(img_path) logging.info("Resizing comparison images to match Stable Diffusion response image size for comparison.") for fil in os.listdir(self.compare_images_folder): - compare_img = cv2.imread(self.compare_images_folder+fil) + compare_img = cv2.imread(self.compare_images_folder + fil) compare_img = cv2.resize(compare_img, (main_img.shape[1], main_img.shape[0])) - cv2.imwrite(self.compare_images_folder+fil, compare_img) + cv2.imwrite(self.compare_images_folder + fil, compare_img) return main_img def run( @@ -137,13 +136,11 @@ def run( for call_combo in self.call_argument_combos: if self.use_auth_token: client = StableDiffusionPipeline.from_pretrained( - model_combo["hf_model_path"], - use_auth_token=self.use_auth_token + model_combo["hf_model_path"], use_auth_token=self.use_auth_token ) else: client = DiffusionPipeline.from_pretrained( - model_combo["hf_model_path"], - {k: call_combo[k] for k in call_combo if k != "prompt"} + model_combo["hf_model_path"], {k: call_combo[k] for k in call_combo if k != "prompt"} ) client.to("cuda") for _ in range(runs): diff --git a/prompttools/utils/similarity.py b/prompttools/utils/similarity.py index 42042569..368ed099 100644 --- a/prompttools/utils/similarity.py +++ b/prompttools/utils/similarity.py @@ -17,9 +17,9 @@ except ImportError: cv2 = None try: - from skimage.metrics import structural_similarity + from skimage.metrics import structural_similarity as skimage_structural_similarity except ImportError: - structural_similarity = None + skimage_structural_similarity = None EMBEDDING_MODEL = [] @@ -91,32 +91,33 @@ def evaluate(prompt: str, response: str, metadata: Dict, expected: str) -> float return compute(expected, response) -def ssim(row: pandas.core.series.Series, expected: str, response_column_name: str = "response") -> float: +def structural_similarity( + row: pandas.core.series.Series, expected: str, response_column_name: str = "response" +) -> float: r""" - Structural similarity index measure (SSIM) between two images. + Compute the structural similarity index measure (SSIM) between two images. Args: - ---- row (pandas.core.series.Series): A row of data from the full DataFrame (including input, model response, other metrics, etc). - expected (str): the path to the expected image responses for each row in the column - response_column_name (str): name of the column that contains the model's response, defaults to ``"response"`` + expected (str): the column name of the expected image responses in each row + response_column_name (str): the column name that contains the model's response, defaults to ``"response"`` """ if cv2 is None: raise ModuleNotFoundError( "Package `cv2` is required to be installed to use this experiment." "Please use `pip install opencv-python` to install the package" ) - if structural_similarity is None: + if skimage_structural_similarity is None: raise ModuleNotFoundError( "Package `skimage` is required to be installed to use this experiment." "Please use `pip install scikit-image` to install the package" ) if len(expected) == 1: - logging.warn("Expected should be a list of strings." + "You may have passed in a single string") + logging.warning("Expected should be a list of strings. You may have passed in a single string.") expected_img = cv2.imread(expected) expected_img = cv2.cvtColor(expected_img, cv2.COLOR_BGR2GRAY) - (score, _) = structural_similarity(row[response_column_name], expected_img, full=True) + score, _ = skimage_structural_similarity(row[response_column_name], expected_img, full=True) return score From 1ccaf4233df1871326fb446c8ca8cf2907170b8a Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 21 Aug 2023 22:43:59 -0700 Subject: [PATCH 008/182] Updating README examples --- examples/notebooks/README.md | 4 ++++ examples/notebooks/ReplicateExperiment.ipynb | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/examples/notebooks/README.md b/examples/notebooks/README.md index 60e21549..d57169a4 100644 --- a/examples/notebooks/README.md +++ b/examples/notebooks/README.md @@ -48,3 +48,7 @@ have something to share. - [LangChain Sequential Chain Experiment](LangChainSequentialChainExperiment.ipynb) - [LangChain Router Chain Experiment](LangChainRouterChainExperiment.ipynb) - [MindsDB Experiment](MindsDBExperiment.ipynb) + +### Computer Vision +- [Stable Diffusion](image_experiments/StableDiffusion.ipynb) +- [Replicate's hosted Stable Diffusion](ReplicateExperiment.ipynb) diff --git a/examples/notebooks/ReplicateExperiment.ipynb b/examples/notebooks/ReplicateExperiment.ipynb index a500a4c0..22e776b6 100644 --- a/examples/notebooks/ReplicateExperiment.ipynb +++ b/examples/notebooks/ReplicateExperiment.ipynb @@ -206,7 +206,7 @@ "id": "bebb8023", "metadata": {}, "source": [ - "This will be updated once we add image evaluation functions. Please don't hesitate to open an issue if you have any suggestions. Stay tuned." + "This will be updated with structural similarity evaluation. Please don't hesitate to open an issue if you have any suggestions. Stay tuned." ] }, { From 31d3440b7d050a44661d62374170da4aa7092322 Mon Sep 17 00:00:00 2001 From: Kevin Tse Date: Tue, 22 Aug 2023 09:12:38 -0700 Subject: [PATCH 009/182] Remove torch reference (#85) --- .../experiment/experiments/stablediffusion_experiment.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/prompttools/experiment/experiments/stablediffusion_experiment.py b/prompttools/experiment/experiments/stablediffusion_experiment.py index a5fcbea0..696a27fa 100644 --- a/prompttools/experiment/experiments/stablediffusion_experiment.py +++ b/prompttools/experiment/experiments/stablediffusion_experiment.py @@ -20,10 +20,6 @@ from diffusers import DiffusionPipeline, StableDiffusionPipeline except ImportError: DiffusionPipeline = None -try: - import torch -except ImportError: - torch = None from prompttools.mock.mock import mock_stable_diffusion @@ -59,11 +55,6 @@ def __init__( "Please use `pip install diffusers` and \ `pip install invisible_watermark transformers accelerate safetensors` to install the package" ) - if torch is None: - raise ModuleNotFoundError( - "Package `torch` is required to be installed to use this experiment." - "Please use `pip install torch torchvision torchaudio` to install the package" - ) if cv2 is None: raise ModuleNotFoundError( "Package `cv2` is required to be installed to use this experiment." From e1f55a32d0a38bb22eed9bf9291d8842668da98a Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 22 Aug 2023 09:15:59 -0700 Subject: [PATCH 010/182] Passing kwargs to StableDiffusion experiment --- .../experiment/experiments/stablediffusion_experiment.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prompttools/experiment/experiments/stablediffusion_experiment.py b/prompttools/experiment/experiments/stablediffusion_experiment.py index 696a27fa..7b4b0e1e 100644 --- a/prompttools/experiment/experiments/stablediffusion_experiment.py +++ b/prompttools/experiment/experiments/stablediffusion_experiment.py @@ -131,7 +131,7 @@ def run( ) else: client = DiffusionPipeline.from_pretrained( - model_combo["hf_model_path"], {k: call_combo[k] for k in call_combo if k != "prompt"} + model_combo["hf_model_path"], **{k: call_combo[k] for k in call_combo if k != "prompt"} ) client.to("cuda") for _ in range(runs): From 184455635aff4d23c3bad65c88aeacdbeda5d4b5 Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 23 Aug 2023 23:55:54 -0700 Subject: [PATCH 011/182] Adding Azure OpenAI Config to OpenAI Completion Experiment --- .../openai_completion_experiment.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/prompttools/experiment/experiments/openai_completion_experiment.py b/prompttools/experiment/experiments/openai_completion_experiment.py index 8619c745..bccc2b84 100644 --- a/prompttools/experiment/experiments/openai_completion_experiment.py +++ b/prompttools/experiment/experiments/openai_completion_experiment.py @@ -27,6 +27,7 @@ class OpenAICompletionExperiment(Experiment): Args: model (list[str]): list of ID(s) of the model(s) to use + If you are using Azure OpenAI service, put the models' deployment names here prompt (list[str]): the prompt(s) to generate completions for, encoded as a string, array of strings, array of tokens, or array of token arrays. @@ -77,9 +78,15 @@ class OpenAICompletionExperiment(Experiment): probability per token). Results cannot be streamed. logit_bias (list[dict]): - Defaults to [None]. Modify the likelihood of specified tokens appearing in the completion. Accepts a + Defaults to ``[None]``. Modify the likelihood of specified tokens appearing in the completion. Accepts a json object that maps tokens (specified by their token ID in the tokenizer) to an associated bias value from -100 to 100. + + azure_openai_service_configs (Optional[dict]): + Defaults to ``None``. If it is set, the experiment will use Azure OpenAI Service. The input dict should + contain these 3 keys (but with values based on your use case and configuration): + ``{"AZURE_OPENAI_ENDPOINT": "https://YOUR_RESOURCE_NAME.openai.azure.com/", + "API_TYPE": "azure", "API_VERSION": "2023-05-15"`` """ def __init__( @@ -99,6 +106,7 @@ def __init__( frequency_penalty: Optional[List[float]] = [0], best_of: Optional[List[int]] = [1], logit_bias: Optional[Dict] = [None], + azure_openai_service_configs: Optional[dict] = None, ): self.completion_fn = openai.Completion.create if os.getenv("DEBUG", default=False): @@ -132,6 +140,14 @@ def __init__( best_of=best_of, logit_bias=logit_bias, ) + if azure_openai_service_configs: + openai.api_key = os.environ["AZURE_OPENAI_KEY"] + openai.api_base = azure_openai_service_configs["AZURE_OPENAI_ENDPOINT"] + openai.api_type = azure_openai_service_configs["API_TYPE"] + openai.api_version = azure_openai_service_configs["API_VERSION"] + del self.all_args["model"] + self.all_args["engine"] = model + super().__init__() @staticmethod From 6cc7d5b993a7210d5f6e90472f87e0049e460e12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20=C5=81ukawski?= Date: Thu, 24 Aug 2023 10:01:58 +0200 Subject: [PATCH 012/182] Implement QdrantExperiment (#54) * Add initial implementation of the QdrantExperiment * Add mock and use _construct_result_dfs * Create QdrantExperiment.ipynb --- examples/notebooks/QdrantExperiment.ipynb | 419 ++++++++++++++++++ examples/prompttests/test_qdrant.py | 52 +++ .../experiments/qdrant_experiment.py | 190 ++++++++ prompttools/mock/mock.py | 14 + 4 files changed, 675 insertions(+) create mode 100644 examples/notebooks/QdrantExperiment.ipynb create mode 100644 examples/prompttests/test_qdrant.py create mode 100644 prompttools/experiment/experiments/qdrant_experiment.py diff --git a/examples/notebooks/QdrantExperiment.ipynb b/examples/notebooks/QdrantExperiment.ipynb new file mode 100644 index 00000000..c3ead11d --- /dev/null +++ b/examples/notebooks/QdrantExperiment.ipynb @@ -0,0 +1,419 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "21672bc8", + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } + }, + "source": [ + "# Qdrant Experiment Example" + ] + }, + { + "cell_type": "markdown", + "id": "996489f1", + "metadata": {}, + "source": [ + "## Installations" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "311dbd94", + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-22T09:30:56.338732Z", + "start_time": "2023-08-22T09:30:56.335000Z" + } + }, + "outputs": [], + "source": [ + "# !pip install --quiet --force-reinstall prompttools\n", + "# !pip install qdrant-client" + ] + }, + { + "cell_type": "markdown", + "id": "fa75a78f", + "metadata": {}, + "source": [ + "Qdrant offers three deployment modes: in-memory/on-disk built-in into Python client, on-premise with Docker containers and Qdrant Cloud. For the purposes of the demo it's easiest to spin up a Docker container with the following command:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "4c26e3dc", + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-22T09:30:56.414005Z", + "start_time": "2023-08-22T09:30:56.341387Z" + } + }, + "outputs": [], + "source": [ + "# !docker run -p \"6333:6333\" -p \"6334:6334\" qdrant/qdrant:v1.4.0" + ] + }, + { + "cell_type": "markdown", + "id": "22d3f9c0", + "metadata": {}, + "source": [ + "## Run an experiment\n", + "\n", + "Collection configuration plays a crucial role in balancing speed vs accuracy. HNSW parameters might be tuned to control how exact the search operations will be, but on the other hand that may result in increased latency. There are also some other parameters, such as embeddings or distance function you may want to test before starting a project." + ] + }, + { + "cell_type": "markdown", + "id": "dcba0c8d", + "metadata": {}, + "source": [ + "Embedding function is a key component for semantic search. For the purposes of that experiment we are going to use `all-MiniLM-L6-v2` from SentenceTransformers." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "b66c4fde", + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-22T09:30:59.383420Z", + "start_time": "2023-08-22T09:30:56.417456Z" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/kacper/.virtualenvs/prompttools/lib/python3.10/site-packages/torch/cuda/__init__.py:107: UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount(). Did you run some cuda functions before calling NumCudaDevices() that might have already set an error? Error 804: forward compatibility was attempted on non supported HW (Triggered internally at ../c10/cuda/CUDAFunctions.cpp:109.)\n", + " return torch._C._cuda_getDeviceCount() > 0\n" + ] + } + ], + "source": [ + "from sentence_transformers import SentenceTransformer\n", + "\n", + "\n", + "model = SentenceTransformer(\"sentence-transformers/all-MiniLM-L6-v2\")\n", + "\n", + "\n", + "def embedding_function(text: str):\n", + " return model.encode(text).tolist()" + ] + }, + { + "cell_type": "markdown", + "id": "b27d68a4", + "metadata": {}, + "source": [ + "Some of the parameters are going to be fixed during the whole experiment. We are not going to change the Qdrant client, embedding function, vector size, document and queries. We can define them as a first dictionary." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "ed0f6571", + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-22T09:30:59.855859Z", + "start_time": "2023-08-22T09:30:59.386197Z" + } + }, + "outputs": [], + "source": [ + "from qdrant_client import QdrantClient\n", + "\n", + "\n", + "frozen_parameters = {\n", + " \"client\": QdrantClient(\"http://localhost:6333\"),\n", + " \"collection_name\": \"test_collection\",\n", + " \"embedding_fn\": embedding_function,\n", + " \"vector_size\": 384, # We need to know the dimensionality of the embedding\n", + " \"documents\": [\"test document 1\", \"test document 2\"],\n", + " \"queries\": [\"test query 1\", \"test query 2\"],\n", + "}" + ] + }, + { + "cell_type": "markdown", + "id": "ce48bd74", + "metadata": {}, + "source": [ + "Our experiment will check how the system behaves under different configurations. We can define both collection and query parameters:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "e8598eb0", + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-22T09:30:59.862158Z", + "start_time": "2023-08-22T09:30:59.857916Z" + } + }, + "outputs": [], + "source": [ + "test_parameters = {\n", + " \"collection_params\": {\n", + " \"vectors_config__distance\": [\"Cosine\", \"Euclid\", \"Dot\"],\n", + " \"hnsw_config__m\": [16, 32, 64, 128],\n", + " },\n", + " \"query_params\": {\n", + " \"search_params__hnsw_ef\": [1, 16, 32, 64, 128],\n", + " \"search_params__exact\": [True, False],\n", + " },\n", + "}" + ] + }, + { + "cell_type": "markdown", + "id": "ae9b2c0a", + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-22T09:23:58.301767Z", + "start_time": "2023-08-22T09:23:58.285588Z" + } + }, + "source": [ + "Finally, we are able to launch the experiment." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "d220cbcf", + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-22T09:34:00.733821Z", + "start_time": "2023-08-22T09:34:00.470074Z" + } + }, + "outputs": [], + "source": [ + "from prompttools.experiment.experiments.qdrant_experiment import QdrantExperiment\n", + "\n", + "\n", + "experiment = QdrantExperiment.initialize(test_parameters=test_parameters, frozen_parameters=frozen_parameters)\n", + "experiment.run()" + ] + }, + { + "cell_type": "markdown", + "id": "5dcc381e", + "metadata": {}, + "source": [ + "The results of the experiment might be used further to calculate some metrics and determine the best configuration of the engine in a particular scenario." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "c723b796", + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-22T09:31:00.497373Z", + "start_time": "2023-08-22T09:31:00.497351Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
search_paramsquery_vectorresponselatency
0{'hnsw_ef': 1, 'exact': True}[0.024773715063929558, 0.04144531488418579, 0.01278286799788475, 0.09144901484251022, -0.08428235352039337, 0.026642095297574997, 0.14001256227493286, 0.037845369428396225, -0.036010514944791794, -0.035383205860853195, 0.07331386208534241, -0.09981919080018997, 0.07208795100450516, -0.08177464455366135, -0.03372645005583763, -0.026198092848062515, 0.007823744788765907, -0.05943206325173378, -0.045515742152929306, 0.01116162072867155, -0.036530762910842896, -0.04401981085538864, -0.0475635901093483, 0.070327989757061, 0.019287584349513054, -0.018562251701951027, 0.021239709109067917, 0.014735235832631588, 0.03941147401928902, -0.057817116379737854, -0.019634393975138664, 0.043356701731681824, -0.03757508099079132, 0.06539657711982727, 0.10788384079933167, -0.09214196354150772, 0.0677819475531578, -0.0006760165560990572, -0.01706380769610405, 5.571492147282697e-05, -0.005168926436454058, -0.11285313218832016, 0.06314507126808167, -0.04196688160300255, -0.014073682017624378, 0.047889478504657745, -0.02251909300684929, 0.13618265092372894, -0.040116459131240845, -0.04491341859102249, -0.11577481031417847, -0.017022281885147095, -0.09723599255084991, -0.02146202139556408, -0.021104147657752037, -0.0209374837577343, -0.08296425640583038, 0.007878098636865616, -0.0194426067173481, 0.04828505963087082, -0.009565607644617558, -0.0198497474193573, 0.08935166150331497, 0.027390005066990852, 0.05083496868610382, -0.08648493140935898, 0.02043042704463005, -0.05061521753668785, 0.0643402561545372, -0.0330120213329792, -0.04423206299543381, 0.001910282182507217, -0.03994475677609444, 0.045240066945552826, -0.006637560669332743, 0.01001442689448595, -0.05905541777610779, -0.05051897466182709, 0.04575075954198837, -0.05852947756648064, -0.04943345859646797, -0.07612475752830505, -0.070700503885746, 0.016476262360811234, 0.022484982386231422, 0.05507957190275192, 0.11701894551515579, -0.0023378280457109213, -0.03449930250644684, -0.044528309255838394, 0.0598871186375618, 0.05605398491024971, -0.04443911090493202, 0.042640648782253265, 0.02585383877158165, 0.017724832519888878, 0.03406650945544243, -0.023438140749931335, 0.0613379031419754, 0.11572054773569107, ...][test document 1, test document 2]0.028570
1{'hnsw_ef': 1, 'exact': True}[0.04173979535698891, 0.05546772852540016, 0.020573439076542854, 0.08281106501817703, -0.08270967751741409, 0.023233482614159584, 0.11520404368638992, 0.04725329205393791, -0.03447265177965164, -0.040253203362226486, 0.10197387635707855, -0.10148394852876663, 0.059999171644449234, -0.08607508987188339, -0.030827024951577187, -0.014220409095287323, 0.014857304282486439, -0.037770576775074005, -0.03734028711915016, -0.010152825154364109, -0.005581939127296209, -0.038822367787361145, -0.03395431861281395, 0.049912165850400925, 0.004501402378082275, 0.012198868207633495, 0.009263121522963047, 0.021756915375590324, 0.04381023347377777, -0.05678417533636093, -0.0228099524974823, 0.0496208630502224, -0.07200998812913895, 0.05564706027507782, 0.0998462662100792, -0.10447440296411514, 0.0801955834031105, 0.005559707060456276, -0.0032220862340182066, -0.01756117306649685, -0.01011226698756218, -0.12116091698408127, 0.058426838368177414, -0.033617377281188965, 0.0041591632179915905, 0.06505881249904633, -0.010240594856441021, 0.11785278469324112, -0.034987181425094604, -0.035445909947156906, -0.12772171199321747, -0.01835581660270691, -0.09354864805936813, -0.0261138454079628, -0.016325369477272034, 0.01150042936205864, -0.08788514882326126, 0.01320055965334177, -0.0148471025750041, 0.0443340465426445, -0.004045989830046892, -0.014519786462187767, 0.0674666166305542, 0.03183493763208389, 0.04295126348733902, -0.09864385426044464, 0.015303893014788628, -0.0419088713824749, 0.06560134887695312, -0.042264118790626526, -0.02623181790113449, 0.018841687589883804, -0.03793366253376007, 0.0456632599234581, 0.009519274346530437, 0.007414438296109438, -0.06541277468204498, -0.059219252318143845, 0.0485326312482357, -0.06716195493936539, -0.04326607286930084, -0.08472464978694916, -0.06466094404459, 0.006325343623757362, 0.02181394025683403, 0.044670071452856064, 0.11075355857610703, -0.018852435052394867, -0.0656016618013382, -0.04895343631505966, 0.06365404278039932, 0.05050959438085556, -0.05286119133234024, 0.041251301765441895, 0.035188935697078705, 0.025902139022946358, 0.02305779606103897, -0.0182491447776556, 0.06755796819925308, 0.11445797234773636, ...][test document 2, test document 1]0.005107
2{'hnsw_ef': 1, 'exact': False}[0.024773715063929558, 0.04144531488418579, 0.01278286799788475, 0.09144901484251022, -0.08428235352039337, 0.026642095297574997, 0.14001256227493286, 0.037845369428396225, -0.036010514944791794, -0.035383205860853195, 0.07331386208534241, -0.09981919080018997, 0.07208795100450516, -0.08177464455366135, -0.03372645005583763, -0.026198092848062515, 0.007823744788765907, -0.05943206325173378, -0.045515742152929306, 0.01116162072867155, -0.036530762910842896, -0.04401981085538864, -0.0475635901093483, 0.070327989757061, 0.019287584349513054, -0.018562251701951027, 0.021239709109067917, 0.014735235832631588, 0.03941147401928902, -0.057817116379737854, -0.019634393975138664, 0.043356701731681824, -0.03757508099079132, 0.06539657711982727, 0.10788384079933167, -0.09214196354150772, 0.0677819475531578, -0.0006760165560990572, -0.01706380769610405, 5.571492147282697e-05, -0.005168926436454058, -0.11285313218832016, 0.06314507126808167, -0.04196688160300255, -0.014073682017624378, 0.047889478504657745, -0.02251909300684929, 0.13618265092372894, -0.040116459131240845, -0.04491341859102249, -0.11577481031417847, -0.017022281885147095, -0.09723599255084991, -0.02146202139556408, -0.021104147657752037, -0.0209374837577343, -0.08296425640583038, 0.007878098636865616, -0.0194426067173481, 0.04828505963087082, -0.009565607644617558, -0.0198497474193573, 0.08935166150331497, 0.027390005066990852, 0.05083496868610382, -0.08648493140935898, 0.02043042704463005, -0.05061521753668785, 0.0643402561545372, -0.0330120213329792, -0.04423206299543381, 0.001910282182507217, -0.03994475677609444, 0.045240066945552826, -0.006637560669332743, 0.01001442689448595, -0.05905541777610779, -0.05051897466182709, 0.04575075954198837, -0.05852947756648064, -0.04943345859646797, -0.07612475752830505, -0.070700503885746, 0.016476262360811234, 0.022484982386231422, 0.05507957190275192, 0.11701894551515579, -0.0023378280457109213, -0.03449930250644684, -0.044528309255838394, 0.0598871186375618, 0.05605398491024971, -0.04443911090493202, 0.042640648782253265, 0.02585383877158165, 0.017724832519888878, 0.03406650945544243, -0.023438140749931335, 0.0613379031419754, 0.11572054773569107, ...][test document 1, test document 2]0.003965
3{'hnsw_ef': 1, 'exact': False}[0.04173979535698891, 0.05546772852540016, 0.020573439076542854, 0.08281106501817703, -0.08270967751741409, 0.023233482614159584, 0.11520404368638992, 0.04725329205393791, -0.03447265177965164, -0.040253203362226486, 0.10197387635707855, -0.10148394852876663, 0.059999171644449234, -0.08607508987188339, -0.030827024951577187, -0.014220409095287323, 0.014857304282486439, -0.037770576775074005, -0.03734028711915016, -0.010152825154364109, -0.005581939127296209, -0.038822367787361145, -0.03395431861281395, 0.049912165850400925, 0.004501402378082275, 0.012198868207633495, 0.009263121522963047, 0.021756915375590324, 0.04381023347377777, -0.05678417533636093, -0.0228099524974823, 0.0496208630502224, -0.07200998812913895, 0.05564706027507782, 0.0998462662100792, -0.10447440296411514, 0.0801955834031105, 0.005559707060456276, -0.0032220862340182066, -0.01756117306649685, -0.01011226698756218, -0.12116091698408127, 0.058426838368177414, -0.033617377281188965, 0.0041591632179915905, 0.06505881249904633, -0.010240594856441021, 0.11785278469324112, -0.034987181425094604, -0.035445909947156906, -0.12772171199321747, -0.01835581660270691, -0.09354864805936813, -0.0261138454079628, -0.016325369477272034, 0.01150042936205864, -0.08788514882326126, 0.01320055965334177, -0.0148471025750041, 0.0443340465426445, -0.004045989830046892, -0.014519786462187767, 0.0674666166305542, 0.03183493763208389, 0.04295126348733902, -0.09864385426044464, 0.015303893014788628, -0.0419088713824749, 0.06560134887695312, -0.042264118790626526, -0.02623181790113449, 0.018841687589883804, -0.03793366253376007, 0.0456632599234581, 0.009519274346530437, 0.007414438296109438, -0.06541277468204498, -0.059219252318143845, 0.0485326312482357, -0.06716195493936539, -0.04326607286930084, -0.08472464978694916, -0.06466094404459, 0.006325343623757362, 0.02181394025683403, 0.044670071452856064, 0.11075355857610703, -0.018852435052394867, -0.0656016618013382, -0.04895343631505966, 0.06365404278039932, 0.05050959438085556, -0.05286119133234024, 0.041251301765441895, 0.035188935697078705, 0.025902139022946358, 0.02305779606103897, -0.0182491447776556, 0.06755796819925308, 0.11445797234773636, ...][test document 2, test document 1]0.005105
4{'hnsw_ef': 16, 'exact': True}[0.024773715063929558, 0.04144531488418579, 0.01278286799788475, 0.09144901484251022, -0.08428235352039337, 0.026642095297574997, 0.14001256227493286, 0.037845369428396225, -0.036010514944791794, -0.035383205860853195, 0.07331386208534241, -0.09981919080018997, 0.07208795100450516, -0.08177464455366135, -0.03372645005583763, -0.026198092848062515, 0.007823744788765907, -0.05943206325173378, -0.045515742152929306, 0.01116162072867155, -0.036530762910842896, -0.04401981085538864, -0.0475635901093483, 0.070327989757061, 0.019287584349513054, -0.018562251701951027, 0.021239709109067917, 0.014735235832631588, 0.03941147401928902, -0.057817116379737854, -0.019634393975138664, 0.043356701731681824, -0.03757508099079132, 0.06539657711982727, 0.10788384079933167, -0.09214196354150772, 0.0677819475531578, -0.0006760165560990572, -0.01706380769610405, 5.571492147282697e-05, -0.005168926436454058, -0.11285313218832016, 0.06314507126808167, -0.04196688160300255, -0.014073682017624378, 0.047889478504657745, -0.02251909300684929, 0.13618265092372894, -0.040116459131240845, -0.04491341859102249, -0.11577481031417847, -0.017022281885147095, -0.09723599255084991, -0.02146202139556408, -0.021104147657752037, -0.0209374837577343, -0.08296425640583038, 0.007878098636865616, -0.0194426067173481, 0.04828505963087082, -0.009565607644617558, -0.0198497474193573, 0.08935166150331497, 0.027390005066990852, 0.05083496868610382, -0.08648493140935898, 0.02043042704463005, -0.05061521753668785, 0.0643402561545372, -0.0330120213329792, -0.04423206299543381, 0.001910282182507217, -0.03994475677609444, 0.045240066945552826, -0.006637560669332743, 0.01001442689448595, -0.05905541777610779, -0.05051897466182709, 0.04575075954198837, -0.05852947756648064, -0.04943345859646797, -0.07612475752830505, -0.070700503885746, 0.016476262360811234, 0.022484982386231422, 0.05507957190275192, 0.11701894551515579, -0.0023378280457109213, -0.03449930250644684, -0.044528309255838394, 0.0598871186375618, 0.05605398491024971, -0.04443911090493202, 0.042640648782253265, 0.02585383877158165, 0.017724832519888878, 0.03406650945544243, -0.023438140749931335, 0.0613379031419754, 0.11572054773569107, ...][test document 1, test document 2]0.003591
...............
1555NaNNaN[test document 2, test document 1]0.004494
1556NaNNaN[test document 1, test document 2]0.002611
1557NaNNaN[test document 2, test document 1]0.002219
1558NaNNaN[test document 1, test document 2]0.004089
1559NaNNaN[test document 2, test document 1]0.002871
\n", + "

1560 rows × 4 columns

\n", + "
" + ], + "text/plain": [ + " search_params \\\n", + "0 {'hnsw_ef': 1, 'exact': True} \n", + "1 {'hnsw_ef': 1, 'exact': True} \n", + "2 {'hnsw_ef': 1, 'exact': False} \n", + "3 {'hnsw_ef': 1, 'exact': False} \n", + "4 {'hnsw_ef': 16, 'exact': True} \n", + "... ... \n", + "1555 NaN \n", + "1556 NaN \n", + "1557 NaN \n", + "1558 NaN \n", + "1559 NaN \n", + "\n", + " query_vector \\\n", + "0 [0.024773715063929558, 0.04144531488418579, 0.01278286799788475, 0.09144901484251022, -0.08428235352039337, 0.026642095297574997, 0.14001256227493286, 0.037845369428396225, -0.036010514944791794, -0.035383205860853195, 0.07331386208534241, -0.09981919080018997, 0.07208795100450516, -0.08177464455366135, -0.03372645005583763, -0.026198092848062515, 0.007823744788765907, -0.05943206325173378, -0.045515742152929306, 0.01116162072867155, -0.036530762910842896, -0.04401981085538864, -0.0475635901093483, 0.070327989757061, 0.019287584349513054, -0.018562251701951027, 0.021239709109067917, 0.014735235832631588, 0.03941147401928902, -0.057817116379737854, -0.019634393975138664, 0.043356701731681824, -0.03757508099079132, 0.06539657711982727, 0.10788384079933167, -0.09214196354150772, 0.0677819475531578, -0.0006760165560990572, -0.01706380769610405, 5.571492147282697e-05, -0.005168926436454058, -0.11285313218832016, 0.06314507126808167, -0.04196688160300255, -0.014073682017624378, 0.047889478504657745, -0.02251909300684929, 0.13618265092372894, -0.040116459131240845, -0.04491341859102249, -0.11577481031417847, -0.017022281885147095, -0.09723599255084991, -0.02146202139556408, -0.021104147657752037, -0.0209374837577343, -0.08296425640583038, 0.007878098636865616, -0.0194426067173481, 0.04828505963087082, -0.009565607644617558, -0.0198497474193573, 0.08935166150331497, 0.027390005066990852, 0.05083496868610382, -0.08648493140935898, 0.02043042704463005, -0.05061521753668785, 0.0643402561545372, -0.0330120213329792, -0.04423206299543381, 0.001910282182507217, -0.03994475677609444, 0.045240066945552826, -0.006637560669332743, 0.01001442689448595, -0.05905541777610779, -0.05051897466182709, 0.04575075954198837, -0.05852947756648064, -0.04943345859646797, -0.07612475752830505, -0.070700503885746, 0.016476262360811234, 0.022484982386231422, 0.05507957190275192, 0.11701894551515579, -0.0023378280457109213, -0.03449930250644684, -0.044528309255838394, 0.0598871186375618, 0.05605398491024971, -0.04443911090493202, 0.042640648782253265, 0.02585383877158165, 0.017724832519888878, 0.03406650945544243, -0.023438140749931335, 0.0613379031419754, 0.11572054773569107, ...] \n", + "1 [0.04173979535698891, 0.05546772852540016, 0.020573439076542854, 0.08281106501817703, -0.08270967751741409, 0.023233482614159584, 0.11520404368638992, 0.04725329205393791, -0.03447265177965164, -0.040253203362226486, 0.10197387635707855, -0.10148394852876663, 0.059999171644449234, -0.08607508987188339, -0.030827024951577187, -0.014220409095287323, 0.014857304282486439, -0.037770576775074005, -0.03734028711915016, -0.010152825154364109, -0.005581939127296209, -0.038822367787361145, -0.03395431861281395, 0.049912165850400925, 0.004501402378082275, 0.012198868207633495, 0.009263121522963047, 0.021756915375590324, 0.04381023347377777, -0.05678417533636093, -0.0228099524974823, 0.0496208630502224, -0.07200998812913895, 0.05564706027507782, 0.0998462662100792, -0.10447440296411514, 0.0801955834031105, 0.005559707060456276, -0.0032220862340182066, -0.01756117306649685, -0.01011226698756218, -0.12116091698408127, 0.058426838368177414, -0.033617377281188965, 0.0041591632179915905, 0.06505881249904633, -0.010240594856441021, 0.11785278469324112, -0.034987181425094604, -0.035445909947156906, -0.12772171199321747, -0.01835581660270691, -0.09354864805936813, -0.0261138454079628, -0.016325369477272034, 0.01150042936205864, -0.08788514882326126, 0.01320055965334177, -0.0148471025750041, 0.0443340465426445, -0.004045989830046892, -0.014519786462187767, 0.0674666166305542, 0.03183493763208389, 0.04295126348733902, -0.09864385426044464, 0.015303893014788628, -0.0419088713824749, 0.06560134887695312, -0.042264118790626526, -0.02623181790113449, 0.018841687589883804, -0.03793366253376007, 0.0456632599234581, 0.009519274346530437, 0.007414438296109438, -0.06541277468204498, -0.059219252318143845, 0.0485326312482357, -0.06716195493936539, -0.04326607286930084, -0.08472464978694916, -0.06466094404459, 0.006325343623757362, 0.02181394025683403, 0.044670071452856064, 0.11075355857610703, -0.018852435052394867, -0.0656016618013382, -0.04895343631505966, 0.06365404278039932, 0.05050959438085556, -0.05286119133234024, 0.041251301765441895, 0.035188935697078705, 0.025902139022946358, 0.02305779606103897, -0.0182491447776556, 0.06755796819925308, 0.11445797234773636, ...] \n", + "2 [0.024773715063929558, 0.04144531488418579, 0.01278286799788475, 0.09144901484251022, -0.08428235352039337, 0.026642095297574997, 0.14001256227493286, 0.037845369428396225, -0.036010514944791794, -0.035383205860853195, 0.07331386208534241, -0.09981919080018997, 0.07208795100450516, -0.08177464455366135, -0.03372645005583763, -0.026198092848062515, 0.007823744788765907, -0.05943206325173378, -0.045515742152929306, 0.01116162072867155, -0.036530762910842896, -0.04401981085538864, -0.0475635901093483, 0.070327989757061, 0.019287584349513054, -0.018562251701951027, 0.021239709109067917, 0.014735235832631588, 0.03941147401928902, -0.057817116379737854, -0.019634393975138664, 0.043356701731681824, -0.03757508099079132, 0.06539657711982727, 0.10788384079933167, -0.09214196354150772, 0.0677819475531578, -0.0006760165560990572, -0.01706380769610405, 5.571492147282697e-05, -0.005168926436454058, -0.11285313218832016, 0.06314507126808167, -0.04196688160300255, -0.014073682017624378, 0.047889478504657745, -0.02251909300684929, 0.13618265092372894, -0.040116459131240845, -0.04491341859102249, -0.11577481031417847, -0.017022281885147095, -0.09723599255084991, -0.02146202139556408, -0.021104147657752037, -0.0209374837577343, -0.08296425640583038, 0.007878098636865616, -0.0194426067173481, 0.04828505963087082, -0.009565607644617558, -0.0198497474193573, 0.08935166150331497, 0.027390005066990852, 0.05083496868610382, -0.08648493140935898, 0.02043042704463005, -0.05061521753668785, 0.0643402561545372, -0.0330120213329792, -0.04423206299543381, 0.001910282182507217, -0.03994475677609444, 0.045240066945552826, -0.006637560669332743, 0.01001442689448595, -0.05905541777610779, -0.05051897466182709, 0.04575075954198837, -0.05852947756648064, -0.04943345859646797, -0.07612475752830505, -0.070700503885746, 0.016476262360811234, 0.022484982386231422, 0.05507957190275192, 0.11701894551515579, -0.0023378280457109213, -0.03449930250644684, -0.044528309255838394, 0.0598871186375618, 0.05605398491024971, -0.04443911090493202, 0.042640648782253265, 0.02585383877158165, 0.017724832519888878, 0.03406650945544243, -0.023438140749931335, 0.0613379031419754, 0.11572054773569107, ...] \n", + "3 [0.04173979535698891, 0.05546772852540016, 0.020573439076542854, 0.08281106501817703, -0.08270967751741409, 0.023233482614159584, 0.11520404368638992, 0.04725329205393791, -0.03447265177965164, -0.040253203362226486, 0.10197387635707855, -0.10148394852876663, 0.059999171644449234, -0.08607508987188339, -0.030827024951577187, -0.014220409095287323, 0.014857304282486439, -0.037770576775074005, -0.03734028711915016, -0.010152825154364109, -0.005581939127296209, -0.038822367787361145, -0.03395431861281395, 0.049912165850400925, 0.004501402378082275, 0.012198868207633495, 0.009263121522963047, 0.021756915375590324, 0.04381023347377777, -0.05678417533636093, -0.0228099524974823, 0.0496208630502224, -0.07200998812913895, 0.05564706027507782, 0.0998462662100792, -0.10447440296411514, 0.0801955834031105, 0.005559707060456276, -0.0032220862340182066, -0.01756117306649685, -0.01011226698756218, -0.12116091698408127, 0.058426838368177414, -0.033617377281188965, 0.0041591632179915905, 0.06505881249904633, -0.010240594856441021, 0.11785278469324112, -0.034987181425094604, -0.035445909947156906, -0.12772171199321747, -0.01835581660270691, -0.09354864805936813, -0.0261138454079628, -0.016325369477272034, 0.01150042936205864, -0.08788514882326126, 0.01320055965334177, -0.0148471025750041, 0.0443340465426445, -0.004045989830046892, -0.014519786462187767, 0.0674666166305542, 0.03183493763208389, 0.04295126348733902, -0.09864385426044464, 0.015303893014788628, -0.0419088713824749, 0.06560134887695312, -0.042264118790626526, -0.02623181790113449, 0.018841687589883804, -0.03793366253376007, 0.0456632599234581, 0.009519274346530437, 0.007414438296109438, -0.06541277468204498, -0.059219252318143845, 0.0485326312482357, -0.06716195493936539, -0.04326607286930084, -0.08472464978694916, -0.06466094404459, 0.006325343623757362, 0.02181394025683403, 0.044670071452856064, 0.11075355857610703, -0.018852435052394867, -0.0656016618013382, -0.04895343631505966, 0.06365404278039932, 0.05050959438085556, -0.05286119133234024, 0.041251301765441895, 0.035188935697078705, 0.025902139022946358, 0.02305779606103897, -0.0182491447776556, 0.06755796819925308, 0.11445797234773636, ...] \n", + "4 [0.024773715063929558, 0.04144531488418579, 0.01278286799788475, 0.09144901484251022, -0.08428235352039337, 0.026642095297574997, 0.14001256227493286, 0.037845369428396225, -0.036010514944791794, -0.035383205860853195, 0.07331386208534241, -0.09981919080018997, 0.07208795100450516, -0.08177464455366135, -0.03372645005583763, -0.026198092848062515, 0.007823744788765907, -0.05943206325173378, -0.045515742152929306, 0.01116162072867155, -0.036530762910842896, -0.04401981085538864, -0.0475635901093483, 0.070327989757061, 0.019287584349513054, -0.018562251701951027, 0.021239709109067917, 0.014735235832631588, 0.03941147401928902, -0.057817116379737854, -0.019634393975138664, 0.043356701731681824, -0.03757508099079132, 0.06539657711982727, 0.10788384079933167, -0.09214196354150772, 0.0677819475531578, -0.0006760165560990572, -0.01706380769610405, 5.571492147282697e-05, -0.005168926436454058, -0.11285313218832016, 0.06314507126808167, -0.04196688160300255, -0.014073682017624378, 0.047889478504657745, -0.02251909300684929, 0.13618265092372894, -0.040116459131240845, -0.04491341859102249, -0.11577481031417847, -0.017022281885147095, -0.09723599255084991, -0.02146202139556408, -0.021104147657752037, -0.0209374837577343, -0.08296425640583038, 0.007878098636865616, -0.0194426067173481, 0.04828505963087082, -0.009565607644617558, -0.0198497474193573, 0.08935166150331497, 0.027390005066990852, 0.05083496868610382, -0.08648493140935898, 0.02043042704463005, -0.05061521753668785, 0.0643402561545372, -0.0330120213329792, -0.04423206299543381, 0.001910282182507217, -0.03994475677609444, 0.045240066945552826, -0.006637560669332743, 0.01001442689448595, -0.05905541777610779, -0.05051897466182709, 0.04575075954198837, -0.05852947756648064, -0.04943345859646797, -0.07612475752830505, -0.070700503885746, 0.016476262360811234, 0.022484982386231422, 0.05507957190275192, 0.11701894551515579, -0.0023378280457109213, -0.03449930250644684, -0.044528309255838394, 0.0598871186375618, 0.05605398491024971, -0.04443911090493202, 0.042640648782253265, 0.02585383877158165, 0.017724832519888878, 0.03406650945544243, -0.023438140749931335, 0.0613379031419754, 0.11572054773569107, ...] \n", + "... ... \n", + "1555 NaN \n", + "1556 NaN \n", + "1557 NaN \n", + "1558 NaN \n", + "1559 NaN \n", + "\n", + " response latency \n", + "0 [test document 1, test document 2] 0.028570 \n", + "1 [test document 2, test document 1] 0.005107 \n", + "2 [test document 1, test document 2] 0.003965 \n", + "3 [test document 2, test document 1] 0.005105 \n", + "4 [test document 1, test document 2] 0.003591 \n", + "... ... ... \n", + "1555 [test document 2, test document 1] 0.004494 \n", + "1556 [test document 1, test document 2] 0.002611 \n", + "1557 [test document 2, test document 1] 0.002219 \n", + "1558 [test document 1, test document 2] 0.004089 \n", + "1559 [test document 2, test document 1] 0.002871 \n", + "\n", + "[1560 rows x 4 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2c72a759-f020-4b7f-ab92-effb1e71928a", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/prompttests/test_qdrant.py b/examples/prompttests/test_qdrant.py new file mode 100644 index 00000000..87b220c3 --- /dev/null +++ b/examples/prompttests/test_qdrant.py @@ -0,0 +1,52 @@ +import hashlib +from typing import List + +from qdrant_client import QdrantClient + +from prompttools.experiment.experiments.qdrant_experiment import QdrantExperiment + + +def embedding_function(text: str) -> List[float]: + r""" + Create vector embedding from text. This is a dummy function for testing purposes + and returns a vector of 16 floats. + + Args: + text (str): Text to be vectorized + Returns: + List[float]: Vector embedding of the text + """ + import numpy as np + import struct + + vectorized_text = np.abs( + np.array(struct.unpack(">ffffffffffffffff", hashlib.sha512(text.encode("utf-8")).digest())) + ) + normalized_vector = vectorized_text / np.linalg.norm(vectorized_text) + return normalized_vector.tolist() + + +test_parameters = { + "collection_params": { + "vectors_config__distance": ["Cosine", "Euclid", "Dot"], + "hnsw_config__m": [16, 32, 64, 128], + }, + "query_params": { + "search_params__hnsw_ef": [1, 16, 32, 64, 128], + "search_params__exact": [True, False], + }, +} +frozen_parameters = { + # Run Qdrant server locally with: + # docker run -p "6333:6333" -p "6334:6334" qdrant/qdrant:v1.4.0 + "client": QdrantClient("http://localhost:6333"), + "collection_name": "test_collection", + "embedding_fn": embedding_function, + "vector_size": 16, + "documents": ["test document 1", "test document 2"], + "queries": ["test query 1", "test query 2"], +} +experiment = QdrantExperiment.initialize(test_parameters=test_parameters, frozen_parameters=frozen_parameters) +experiment.run() + +print(experiment.get_table(True)) diff --git a/prompttools/experiment/experiments/qdrant_experiment.py b/prompttools/experiment/experiments/qdrant_experiment.py new file mode 100644 index 00000000..6f968f7e --- /dev/null +++ b/prompttools/experiment/experiments/qdrant_experiment.py @@ -0,0 +1,190 @@ +import itertools +import json +import logging +import os +import time +import warnings +from collections import defaultdict +from typing import Callable, List, Iterable, Optional, Dict, Any + +from prompttools.experiment.experiments.error import PromptExperimentException +from prompttools.mock.mock import mock_qdrant_fn + +try: + import qdrant_client +except ImportError: + qdrant_client = None + +from prompttools.experiment import Experiment + +VALID_TASKS = [""] + + +Embedding = List[float] +EmbeddingFn = Callable[[str], Embedding] + + +class QdrantExperiment(Experiment): + DEFAULT_DISTANCE = "Cosine" + + def __init__( + self, + client: "qdrant_client.QdrantClient", + collection_name: str, + embedding_fn: EmbeddingFn, + vector_size: int, + documents: Iterable[str], + queries: Iterable[str], + collection_params: Optional[Dict[str, List[Any]]] = None, + query_params: Optional[Dict[str, List[Any]]] = None, + ): + if qdrant_client is None: + raise ModuleNotFoundError( + "Package `qdrant-client` is required to be installed to use this " + "experiment. Please use `pip install qdrant-client` to install the " + "package" + ) + self.client = client + self.collection_name = collection_name + self.embedding_fn = embedding_fn + self.documents = documents + self.queries = queries + self.collection_params = collection_params or {} + + if "vectors_config__size" in collection_params: + warnings.warn( + "The parameter 'vectors_config__size' is not allowed in " + "QdrantExperiment. The vector size is determined by the embedding " + "function. It will be overwritten by {}".format(vector_size) + ) + # The vector size is a required parameter for Qdrant and has to be overwritten + self.collection_params["vectors_config__size"] = [vector_size] + + # The distance is set only if not provided by the user + if "vectors_config__distance" not in collection_params: + self.collection_params["vectors_config__distance"] = [self.DEFAULT_DISTANCE] + + self.query_params = query_params or {} + self.completion_fn = self.qdrant_completion_fn + if os.getenv("DEBUG", default=False): + self.completion_fn = mock_qdrant_fn + self.collection_args_combo: List[dict] = [] + self.query_argument_combos: List[dict] = [] + self.vectorized_documents: List["qdrant_client.models.Record"] = [] + super().__init__() + + @classmethod + def initialize(cls, test_parameters: dict[str, dict[str, list]], frozen_parameters: dict): + required_frozen_params = ( + "client", + "collection_name", + "embedding_fn", + "vector_size", + "documents", + ) + for arg_name in required_frozen_params: + if arg_name not in frozen_parameters or arg_name in test_parameters: + raise RuntimeError(f"'{arg_name}' must be a frozen parameter in QdrantExperiment.") + return cls(**test_parameters, **frozen_parameters) + + def qdrant_completion_fn(self, **kwargs) -> List["qdrant_client.qdrant_client.types.ScoredPoint"]: + query_result = self.client.search(self.collection_name, with_vectors=True, with_payload=True, **kwargs) + return query_result + + def prepare(self) -> None: + from qdrant_client import models + + # Vectorize the documents and queries + self.vectorized_documents = [ + models.Record( + id=i, + vector=self.embedding_fn(document), + payload={"document": document}, + ) + for i, document in enumerate(self.documents) + ] + self.query_params["query_vector"] = [self.embedding_fn(query) for query in self.queries] + + self.collection_args_combo: list[dict] = [] + for combo in itertools.product(*self.collection_params.values()): + self.collection_args_combo.append(dict(zip(self.collection_params.keys(), combo))) + + self.query_argument_combos: list[dict] = [] + for combo in itertools.product(*self.query_params.values()): + self.query_argument_combos.append(dict(zip(self.query_params.keys(), combo))) + + def run(self, runs: int = 1) -> None: + from qdrant_client import models + + input_args, results, latencies = [], [], [] + if not self.query_argument_combos: + logging.info("Preparing first...") + self.prepare() + for collection_args in self.collection_args_combo: + collection_args = self._create_nested_object(collection_args) + + try: + # Create the collection + self.client.create_collection(self.collection_name, **collection_args) + + # Upload and index the documents + self.client.upload_records(self.collection_name, self.vectorized_documents) + + # Wait for the collection to be indexed + while True: + collection_info = self.client.get_collection(self.collection_name) + if collection_info.status == models.CollectionStatus.GREEN: + logging.info("Collection is indexed") + break + logging.info("Waiting for collection to be indexed...") + time.sleep(1) + + # Run the queries + for query_args in self.query_argument_combos: + query_args = self._create_nested_object(query_args) + for _ in range(runs): + input_args.append(query_args) + self.queue.enqueue(self.completion_fn, query_args) + + results.extend(self.queue.get_results()) + latencies.extend(self.queue.get_latencies()) + finally: + self.client.delete_collection(self.collection_name) + + self._construct_result_dfs(input_args, results, latencies) + + @staticmethod + def _extract_responses(output: List["qdrant_client.qdrant_client.types.ScoredPoint"]) -> list[str]: + return [response.payload["document"] for response in output] + + def _create_nested_object(self, args: Dict[str, Any]) -> Dict[str, Any]: + r""" + Create a nested object using a flat argument dictionary. If a dict key contains + a double underscore, it is considered a nested object. For example, if the + argument dictionary contains the key `a__b__c`, this function will return + a nested object of the form `{"a": {"b": {"c": }}}`. + + If there are multiple keys with the same prefix, the returned object will + contain a list of nested objects. For example, if the argument dictionary + contains the keys `a__b__c` and `a__b__d`, this function will return + a nested object of the form `{"a": {"b": [{"c": }, {"d": }]}}`. + + Args: + args: A flat argument dictionary + + Returns: + dict: A nested object + """ + tree = lambda: defaultdict(tree) + + nested_object = tree() + for key, value in args.items(): + key_parts = key.split("__") + current = nested_object + for key_part in key_parts[:-1]: + current = current[key_part] + current[key_parts[-1]] = value + + # Convert defaultdict to dict + nested_object = json.loads(json.dumps(nested_object)) + return nested_object diff --git a/prompttools/mock/mock.py b/prompttools/mock/mock.py index db7f8c82..bd52595d 100644 --- a/prompttools/mock/mock.py +++ b/prompttools/mock/mock.py @@ -155,3 +155,17 @@ def mock_replicate_stable_diffusion_completion_fn(model_version: str, **kwargs): } """ return json.loads(json_string) + + +def mock_qdrant_fn(**kwargs): + from qdrant_client.conversions.common_types import ScoredPoint + + return [ + ScoredPoint( + id="cf515c6f-1d95-4a21-9052-1a2ecdab34b3", + version=13, + score=0.7435235231239, + payload={"document": "The first president of the United States was George Washington."}, + vector=[0.1, 0.2, 0.3], + ) + ] From 7d0b68fb16dec297db2f23f7d4ebca272ecae85c Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 24 Aug 2023 23:45:34 -0700 Subject: [PATCH 013/182] Adding Qdrant to import path and documentation --- docs/source/experiment.rst | 2 ++ examples/notebooks/QdrantExperiment.ipynb | 2 +- examples/notebooks/README.md | 1 + examples/prompttests/test_qdrant.py | 2 +- prompttools/experiment/__init__.py | 2 ++ 5 files changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/source/experiment.rst b/docs/source/experiment.rst index a4662120..8718d39d 100644 --- a/docs/source/experiment.rst +++ b/docs/source/experiment.rst @@ -59,6 +59,8 @@ Vector DBs .. autoclass:: LanceDBExperiment +.. autoclass:: QdrantExperiment + Computer Vision +++++++++++++++++++++++++++++++++++++++++ diff --git a/examples/notebooks/QdrantExperiment.ipynb b/examples/notebooks/QdrantExperiment.ipynb index c3ead11d..4da56499 100644 --- a/examples/notebooks/QdrantExperiment.ipynb +++ b/examples/notebooks/QdrantExperiment.ipynb @@ -199,7 +199,7 @@ }, "outputs": [], "source": [ - "from prompttools.experiment.experiments.qdrant_experiment import QdrantExperiment\n", + "from prompttools.experiment import QdrantExperiment\n", "\n", "\n", "experiment = QdrantExperiment.initialize(test_parameters=test_parameters, frozen_parameters=frozen_parameters)\n", diff --git a/examples/notebooks/README.md b/examples/notebooks/README.md index d57169a4..979a4216 100644 --- a/examples/notebooks/README.md +++ b/examples/notebooks/README.md @@ -42,6 +42,7 @@ have something to share. - [Weaviate Experiment](WeaviateExperiment.ipynb) shows how you can easily try different vectorizers, configuration, and query functions, and compare the final results. - [LanceDB Experiment](LanceDBExperiment.ipynb) allows you to try different embedding functions, and query methods. +- [Qdrant Experiment](QdrantExperiment.ipynb) explores different ways to query Qdrant, including with vectors. ### Frameworks diff --git a/examples/prompttests/test_qdrant.py b/examples/prompttests/test_qdrant.py index 87b220c3..ae27cd30 100644 --- a/examples/prompttests/test_qdrant.py +++ b/examples/prompttests/test_qdrant.py @@ -3,7 +3,7 @@ from qdrant_client import QdrantClient -from prompttools.experiment.experiments.qdrant_experiment import QdrantExperiment +from prompttools.experiment import QdrantExperiment def embedding_function(text: str) -> List[float]: diff --git a/prompttools/experiment/__init__.py b/prompttools/experiment/__init__.py index ba423813..4ada9be5 100644 --- a/prompttools/experiment/__init__.py +++ b/prompttools/experiment/__init__.py @@ -19,6 +19,7 @@ from .experiments.langchain_experiment import SequentialChainExperiment, RouterChainExperiment from .experiments.stablediffusion_experiment import StableDiffusionExperiment from .experiments.replicate_experiment import ReplicateExperiment +from .experiments.qdrant_experiment import QdrantExperiment __all__ = [ "AnthropicCompletionExperiment", @@ -31,6 +32,7 @@ "MindsDBExperiment", "OpenAIChatExperiment", "OpenAICompletionExperiment", + "QdrantExperiment", "ReplicateExperiment", "RouterChainExperiment", "SequentialChainExperiment", From 2a4f47ce5e036c28f102c74d4bc545768c769dbd Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 25 Aug 2023 10:13:37 -0700 Subject: [PATCH 014/182] Adding Azure OpenAI Completion Example --- .../AzureOpenAICompletionExperiment.ipynb | 273 ++++++++++++++++++ .../openai_completion_experiment.py | 10 + 2 files changed, 283 insertions(+) create mode 100644 examples/notebooks/AzureOpenAICompletionExperiment.ipynb diff --git a/examples/notebooks/AzureOpenAICompletionExperiment.ipynb b/examples/notebooks/AzureOpenAICompletionExperiment.ipynb new file mode 100644 index 00000000..cea7ef3a --- /dev/null +++ b/examples/notebooks/AzureOpenAICompletionExperiment.ipynb @@ -0,0 +1,273 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0a13ddc8", + "metadata": {}, + "source": [ + "# Azure OpenAI Completion Experiment Example" + ] + }, + { + "cell_type": "markdown", + "id": "a6ce89a6", + "metadata": {}, + "source": [ + "The purpose of this example is to show how you can use Azure OpenAI Service in addition to OpenAI's API. If you are interested to learn more about what you can do with experiments and evaluation. Please have a look at other notebooks." + ] + }, + { + "cell_type": "markdown", + "id": "623f0cfe", + "metadata": {}, + "source": [ + "## Installations" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "885dabeb", + "metadata": { + "ExecuteTime": { + "end_time": "2023-08-23T20:15:59.891935Z", + "start_time": "2023-08-23T20:15:59.888576Z" + } + }, + "outputs": [], + "source": [ + "# !pip install --quiet --force-reinstall prompttools" + ] + }, + { + "cell_type": "markdown", + "id": "2eac35f8", + "metadata": {}, + "source": [ + "## Setup imports and API keys" + ] + }, + { + "cell_type": "markdown", + "id": "5edba05a", + "metadata": {}, + "source": [ + "First, we'll need to set our Azure API key." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "ed4e635e", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "\n", + "os.environ[\"AZURE_OPENAI_KEY\"] = \"\" # Insert your Azure OpenAI key here" + ] + }, + { + "cell_type": "markdown", + "id": "842f1e47", + "metadata": {}, + "source": [ + "Then we'll import the relevant `prompttools` modules to setup our experiment." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "beaa70a1", + "metadata": {}, + "outputs": [], + "source": [ + "from prompttools.experiment import OpenAICompletionExperiment" + ] + }, + { + "cell_type": "markdown", + "id": "622dea9a", + "metadata": {}, + "source": [ + "## Run an experiment" + ] + }, + { + "cell_type": "markdown", + "id": "3babfe5a", + "metadata": {}, + "source": [ + "To use the Azure OpenAI Serivce instead of OpenAI's API, you can use the same experiment with some minor changes:\n", + "- Pass the names of your deployed models into the `models` parameter\n", + "- Create a dictionary to specify your Azure OpenAI configs, which include 1) link to your end point, 2) API Type (\"azure\"), and 3) API version\n", + "\n", + "Everything else should be the same and you can test over different prompts and parameters as usual." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "9114cfbf", + "metadata": {}, + "outputs": [], + "source": [ + "# You can test multiple deployed models here, use their deployment names on Azure\n", + "models = [\"REPLACE_WITH_YOUR_DEPLOYMENT_NAME\", \"DEPLOYMENT2\"]\n", + "prompts = [\n", + " \"Write a tagline for an ice cream shop.\",\n", + " \"Tell me a joke.\"\n", + "]\n", + "\n", + "azure_openai_service_configs = {\"AZURE_OPENAI_ENDPOINT\": \"https://YOURENDPOINTNAME.openai.azure.com/\",\n", + " \"API_TYPE\": \"azure\",\n", + " \"API_VERSION\": \"2023-05-15\"} # Specify which API version to use\n", + "temperatures = [0.0, 1.0]\n", + "# You can add more parameters that you'd like to test here.\n", + "\n", + "experiment = OpenAICompletionExperiment(models, prompts, temperature=temperatures,\n", + " azure_openai_service_configs=azure_openai_service_configs)" + ] + }, + { + "cell_type": "markdown", + "id": "f3fa5450", + "metadata": {}, + "source": [ + "We can then run the experiment to get results." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "779d3d26", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
prompttemperatureresponselatency
0Write a tagline for an ice cream shop.0.0The tagline should be no more than seven words.\\n\\nWhat is your favorite ice1.077183
1Write a tagline for an ice cream shop.1.0Use wordplay and be creative!\\n\\nEnjoy the cold, always here to comfort your0.810754
2Tell me a joke.0.0(laughing)\\n\\nI'm not sure I can help you with that.\\n\\n0.617487
3Tell me a joke.1.0A joke? Okay, um. How are you doing today? I'm good0.704616
\n", + "
" + ], + "text/plain": [ + " prompt temperature \\\n", + "0 Write a tagline for an ice cream shop. 0.0 \n", + "1 Write a tagline for an ice cream shop. 1.0 \n", + "2 Tell me a joke. 0.0 \n", + "3 Tell me a joke. 1.0 \n", + "\n", + " response \\\n", + "0 The tagline should be no more than seven words.\\n\\nWhat is your favorite ice \n", + "1 Use wordplay and be creative!\\n\\nEnjoy the cold, always here to comfort your \n", + "2 (laughing)\\n\\nI'm not sure I can help you with that.\\n\\n \n", + "3 A joke? Okay, um. How are you doing today? I'm good \n", + "\n", + " latency \n", + "0 1.077183 \n", + "1 0.810754 \n", + "2 0.617487 \n", + "3 0.704616 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment.run()\n", + "experiment.visualize()" + ] + }, + { + "cell_type": "markdown", + "id": "266c13eb", + "metadata": {}, + "source": [ + "## Evaluate the model response" + ] + }, + { + "cell_type": "markdown", + "id": "bebb8023", + "metadata": {}, + "source": [ + "The notebook is meant to demonstrate how to use Azure's API instead of OpenAI's API. For evaluation examples, please examine the other notebook examples." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/prompttools/experiment/experiments/openai_completion_experiment.py b/prompttools/experiment/experiments/openai_completion_experiment.py index bccc2b84..3337917b 100644 --- a/prompttools/experiment/experiments/openai_completion_experiment.py +++ b/prompttools/experiment/experiments/openai_completion_experiment.py @@ -140,6 +140,16 @@ def __init__( best_of=best_of, logit_bias=logit_bias, ) + + # These parameters aren't supported by `gpt-35-turbo`, we can remove them if they are equal to defaults + # This has no impact on the default case + if self.all_args["echo"] == [False]: + del self.all_args["echo"] + if self.all_args["logit_bias"] == [None]: + del self.all_args["logit_bias"] + if self.all_args["best_of"] == [1]: + del self.all_args["best_of"] + if azure_openai_service_configs: openai.api_key = os.environ["AZURE_OPENAI_KEY"] openai.api_base = azure_openai_service_configs["AZURE_OPENAI_ENDPOINT"] From 460594fbba965ae27ff423ea5cb3e289b4d0e4bc Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 25 Aug 2023 10:23:29 -0700 Subject: [PATCH 015/182] Update README for list of supported models --- README.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 6b1ee2e8..78b34496 100644 --- a/README.md +++ b/README.md @@ -97,22 +97,27 @@ LLMs - HuggingFace (Hub API, Inference Endpoints) - **Supported** - Anthropic - **Supported** - Google PaLM - **Supported** -- Replicate - Exploratory +- Azure OpenAI Service - **Supported** +- Replicate - _In Progress_ - Ollama - _In Progress_ -Frameworks -- LangChain - **Supported** -- MindsDB - **Supported** - Vector Databases and Data Utility - Chroma - **Supported** - Weaviate - **Supported** -- Qdrant - _In Progress_ +- Qdrant - **Supported** - LanceDB - **Supported** - Milvus - Exploratory - Pinecone - Exploratory + +Frameworks +- LangChain - **Supported** +- MindsDB - **Supported** - LlamaIndex - Exploratory +Computer Vision +- Stable Diffusion - **Supported** +- Replicate's hosted Stable Diffusion - _In Progress_ + If you have any API that you'd like to see being supported soon, please open an issue or a PR to add it. Feel free to discuss in our Discord channel as well. From ba913ce20ddea2c43291bb49fa75d045c993881a Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 25 Aug 2023 15:57:24 -0700 Subject: [PATCH 016/182] Specifying that you can use an OpenAI fine-tuned model --- README.md | 2 +- examples/notebooks/OpenAIChatExperiment.ipynb | 368 +++++++++++++++--- .../OpenAIChatFunctionExperiment.ipynb | 2 +- .../experiments/openai_chat_experiment.py | 2 +- .../openai_completion_experiment.py | 2 +- 5 files changed, 324 insertions(+), 52 deletions(-) diff --git a/README.md b/README.md index 78b34496..3a81db42 100644 --- a/README.md +++ b/README.md @@ -92,7 +92,7 @@ and more description of individual components. Check it out! Here is a list of APIs that we support with our experiments: LLMs -- OpenAI (Completion, ChatCompletion) - **Supported** +- OpenAI (Completion, ChatCompletion, Fine-tuned models) - **Supported** - LLaMA.Cpp (LLaMA 1, LLaMA 2) - **Supported** - HuggingFace (Hub API, Inference Endpoints) - **Supported** - Anthropic - **Supported** diff --git a/examples/notebooks/OpenAIChatExperiment.ipynb b/examples/notebooks/OpenAIChatExperiment.ipynb index a7443644..cf6ab6b5 100644 --- a/examples/notebooks/OpenAIChatExperiment.ipynb +++ b/examples/notebooks/OpenAIChatExperiment.ipynb @@ -23,8 +23,7 @@ "metadata": {}, "outputs": [], "source": [ - "# !pip install --quiet --force-reinstall prompttools\n", - "# !pip install --quiet matplotlib" + "# !pip install --quiet --force-reinstall prompttools" ] }, { @@ -98,7 +97,7 @@ "metadata": {}, "outputs": [], "source": [ - "models = [\"gpt-3.5-turbo\", \"gpt-3.5-turbo-0613\"]\n", + "models = [\"gpt-3.5-turbo\", \"gpt-3.5-turbo-0613\"] # You can also use a fine-tuned model here, e.g. [\"ft:gpt-3.5-turbo:org_id\"]\n", "messages = [\n", " [\n", " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", @@ -129,6 +128,281 @@ "experiment.run()" ] }, + { + "cell_type": "code", + "execution_count": 6, + "id": "7598332b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modeltemperaturemessagesresponselatency
0gpt-3.5-turbo0.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]George Washington2.917135e-06
1gpt-3.5-turbo1.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]George Washington1.291977e-06
2gpt-3.5-turbo-06130.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]George Washington8.328352e-07
3gpt-3.5-turbo-06131.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]George Washington7.499475e-07
\n", + "
" + ], + "text/plain": [ + " model temperature \\\n", + "0 gpt-3.5-turbo 0.0 \n", + "1 gpt-3.5-turbo 1.0 \n", + "2 gpt-3.5-turbo-0613 0.0 \n", + "3 gpt-3.5-turbo-0613 1.0 \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " response latency \n", + "0 George Washington 2.917135e-06 \n", + "1 George Washington 1.291977e-06 \n", + "2 George Washington 8.328352e-07 \n", + "3 George Washington 7.499475e-07 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment.visualize_table()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "4bb6b6d4", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/torch/utils/tensorboard/__init__.py:4: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.\n", + " if not hasattr(tensorboard, \"__version__\") or LooseVersion(\n", + "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/torch/utils/tensorboard/__init__.py:6: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.\n", + " ) < LooseVersion(\"1.15\"):\n", + "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/tensorflow/python/debug/cli/debugger_cli_common.py:19: DeprecationWarning: module 'sre_constants' is deprecated\n", + " import sre_constants\n" + ] + } + ], + "source": [ + "from prompttools.utils import similarity\n", + "\n", + "experiment.evaluate_by_row(\"similar_to_expected\", similarity.semantic_similarity_row, expected=[\"George Washington\"] * 4)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "07d4bd2a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modeltemperaturemessagesresponselatencysimilar_to_expected
0gpt-3.5-turbo0.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]George Washington2.917135e-061.0
1gpt-3.5-turbo1.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]George Washington1.291977e-061.0
2gpt-3.5-turbo-06130.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]George Washington8.328352e-071.0
3gpt-3.5-turbo-06131.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]George Washington7.499475e-071.0
\n", + "
" + ], + "text/plain": [ + " model temperature \\\n", + "0 gpt-3.5-turbo 0.0 \n", + "1 gpt-3.5-turbo 1.0 \n", + "2 gpt-3.5-turbo-0613 0.0 \n", + "3 gpt-3.5-turbo-0613 1.0 \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " response latency similar_to_expected \n", + "0 George Washington 2.917135e-06 1.0 \n", + "1 George Washington 1.291977e-06 1.0 \n", + "2 George Washington 8.328352e-07 1.0 \n", + "3 George Washington 7.499475e-07 1.0 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment.visualize_table()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "a508b623", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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vGAb65SKrKwsGWO8LmOdbmEtCwAAAAAAvAv68EGSatSooZYtWyo/P1+rV6++4PIpKSmSzh3dsGfPHq/LbN++3W1ZAAAAAADgXZkIHyTp7Nmzbv+eT506dVStWjVJ0rJly7wuY03v0KFDgHoIAAAAAEBwKhPhQ0ZGhvOIhxYtWlxweYfDoZtuukmS9M4773jMX758uTZt2qTw8HDdcMMNge0sAAAAAABBJijCh19++UV/+9vfnKdCuPrqq6/Uq1cvnT17Vr1791b9+vWd8yZOnKjk5GT179/fo93jjz+uiIgIzZ8/X+PHj3de+yEzM1ODBw+WJN13333OIyQAAAAAAIB3QRE+HD9+XM8//7zq16+v6tWrq127dmrRooUqVqyoXr16adOmTWrXrp3effddt3ZZWVnKzMzUvn37PNZZt25dTZ06VSEhIXriiSdUu3ZttW7dWikpKdq8ebPatGmj8ePHX6pdBAAAAACg1AqK8KFFixaaNGmSbrjhBsXExGjTpk3atGmToqOj1atXL02fPl3Lly9X5cqVfVrvgAED9P3336tv3746ffq0NmzYoHr16ik1NVVLly5VTEyMTXsEAAAAAEDwcJjC7iWJgLLur9qlSxctXry4uLsDAAAAAAhyJel7aFAc+QAAAAAAAEouwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGCrsOLuAEoeh8NR3F0A/MZdhAEAAICSgyMfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArYIifDDGaOnSpXr88cd1xRVXqEKFCoqIiFCNGjV0yy23aNGiRT6vMzU1VQ6H47w/mzZtsmFvAAAAAAAILmHF3YFAWLhwobp37y5JCgkJUYMGDRQTE6MtW7bo008/1aeffqpnnnlGo0eP9nndtWvXVp06dbzOK1eunF/9BgAAAACgLAiK8MEYowYNGuivf/2r+vfvr4oVK0qSzpw5o9TUVL300ksaM2aMOnTooL59+/q07sGDBys1NdWGXgMAAAAAUDYExWkX7du318aNGzV06FBn8CBJERERevHFF9WrVy9J0tSpU4uriwAAAAAAlFlBET7ExcUpLKzwgzh69OghSfr1118vVZcAAAAAAMD/ExSnXVxIdna2JCk6OtrntosWLdL69et16NAhVapUSe3bt9eAAQNUrVq1QHcTAAAAAICgFPThgzFGM2bMkCR16tTJ5/bfffed2/9nzpyp1NRUvfHGGxo4cGAguggAAAAAQFAL+vBh6tSpWrVqlSIiIvTwww8XuV316tX11FNP6aabblK9evUUHR2tVatWacyYMZo3b54GDx6shIQEXX/99T71Jz09XV27dvWpzcCBAwk6AAAAAKAMS0tLU1pamk9t0tPTbenLxQjq8GHlypUaMWKEJGnMmDGqX79+kds++OCDHtM6duyoOXPm6JZbbtGsWbP0yCOPqG/fvnI4HEVe79GjR7VkyZIiLy/J57ACAAAAABBcMjIyfP4uWZIEbfiwY8cO9e3bV9nZ2brzzjv12GOPBWS9DodDY8eO1axZs7Rt2zatWbNGLVq0KHL7+Ph4tWzZ0qdtJicn+9ZJAAAAAEBQSU5OVpcuXXxqk56erqNHj9rUI98EZfiwb98+9ejRQ3v37lWfPn2Ulpbm09EJF9KwYUNVqlRJhw8f1tatW30KH1q2bKnFixcHrC8AAAAAgOB3Mafjd+3atcQcLREUt9p0dfjwYfXo0UPbtm1Tly5dNGPGDIWHhwd8O9Y6z549G/B1AwAAAAAQTIIqfDhx4oR69+6tdevWqV27dvriiy8u6vaaF3Lw4EEdOHBAklSrVq2Arx8AAAAAgGASNOFDTk6O+vXrp59++klNmzbVV199pfLly9uyrQkTJsgYo/j4eLVr186WbQAAAAAAECyCInzIy8tT//79tXDhQtWvX1/ffPONKlWqdMF2EydOVHJysvr37+82ff369Ro2bJjWr1/vNj07O1svvviiXn75ZUnSyJEjFREREbgdAQAAAAAgCAXFBSf/+9//6rPPPpMkhYSE6LbbbvO6XPXq1TVjxgzn/7OyspSZmelxN4nc3Fy9+eabevPNN1WlShXVqVNHkrRx40adOnVKkjRkyBCNGjUq8DsDAAAAAECQCYrwIScnx/n7li1btGXLFq/LJSUlFWl9ycnJGj16tJYvX65NmzZp8+bNOnPmjBITE9W7d2/dd9996tmzZ0D6DgAAAABAsHMYY0xxd6IssG5x0qVLlxJ/q81A3pYUKC68tQEAAKCsK0nfQ4Pimg8AAAAAAKDkInwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2InwAAAAAAAC2CorwwRijpUuX6vHHH9cVV1yhChUqKCIiQjVq1NAtt9yiRYsWXfS6f/jhB/Xr109VqlRRdHS0mjRpotGjRys7OzuAewAAAAAAQPAKivBh4cKF6ty5s1555RWtWLFCVatWVbNmzXT8+HF9+umn6tatm5599lmf1/vBBx+oc+fOmj17tiIjI9W4cWNt3bpVzz33nK6++mqdOnXKhr0BAAAAACC4BEX4YIxRgwYN9MYbb+jgwYPavHmzVq5cqUOHDunJJ5+UJI0ZM0ZffvllkdeZkZGhIUOGKC8vT+PGjdOuXbu0cuVKbdmyRZdddplWrFihJ554wq5dAgAAAAAgaARF+NC+fXtt3LhRQ4cOVcWKFZ3TIyIi9OKLL6pXr16SpKlTpxZ5nePHj1dOTo6uvfZaPf7443I4HJKkpKQkTZs2TZI0ZcoU7d+/P4B7AgAAAABA8AmK8CEuLk5hYWGFzu/Ro4ck6ddffy3S+owxmjVrliRpyJAhHvM7duyoRo0aKTc3V59//vlF9BgAAAAAgLIjKMKHC7EuDhkdHV2k5Xfu3Km9e/dKkjp16uR1GWv6Tz/9FIAeAgAAAAAQvAo/XCBIGGM0Y8YMSYUHCQVt2bJFkhQZGakaNWp4XaZevXpuyxZVenq6unbt6lObgQMHauDAgT61AQAAAAAEj7S0NKWlpfnUJj093Za+XIygDx+mTp2qVatWKSIiQg8//HCR2hw5ckSSVKFCBee1Hgqyri1hLVtUR48e1ZIlS3xq42tYAQAAAAAILhkZGT5/lyxJgjp8WLlypUaMGCHp3N0u6tevX6R21mkaERERhS4TGRkpSTp9+rRPfYqPj1fLli19apOcnOzT8gAAAACA4JKcnKwuXbr41CY9PV1Hjx61qUe+CdrwYceOHerbt6+ys7N155136rHHHity26ioKEnSmTNnCl0mJydHUtGvI2Fp2bKlFi9e7FMbAAAAAEDZdjGn43ft2rXEHC0RlBec3Ldvn3r06KG9e/eqT58+SktLK/T0CW+sUyqysrJkjPG6jHW6heutPQEAAAAAgKegCx8OHz6sHj16aNu2berSpYtmzJih8PBwn9aRkpIi6dzRDXv27PG6zPbt292WBQAAAAAA3gVV+HDixAn17t1b69atU7t27fTFF1/4fFqEJNWpU0fVqlWTJC1btszrMtb0Dh06XHyHAQAAAAAoA4ImfMjJyVG/fv30008/qWnTpvrqq69Uvnz5i1qXw+HQTTfdJEl65513POYvX75cmzZtUnh4uG644Qa/+g0AAAAAQLALivAhLy9P/fv318KFC1W/fn198803qlSp0gXbTZw4UcnJyerfv7/HvMcff1wRERGaP3++xo8f77z2Q2ZmpgYPHixJuu+++5xHSAAAAAAAAO+C4m4X//3vf/XZZ59JkkJCQnTbbbd5Xa569eqaMWOG8/9ZWVnKzMz0eivLunXraurUqRo0aJCeeOIJTZo0SYmJiVq3bp1yc3PVpk0bjR8/3o7dAQAAAAAgqARF+GDd9lKStmzZoi1btnhdLikpyaf1DhgwQA0aNNBLL72k5cuXa8OGDapXr57uuOMOjRw50nlLTgAAAAAAUDiHKexekggo6/6qXbp00eLFi4u7O+fly21JgZKKtzYAAACUdSXpe2hQXPMBAAAAAACUXIQPAAAAAADAVgG75sOBAwe0Zs0aZWRk6PDhwzp9+rSio6NVqVIlJScnq0WLFqpSpUqgNgcAAAAAAEqJiw4fjDFasGCBZs2apa+++kqZmZkXbJOcnKyePXvqpptuUvfu3bm2AAAAAAAAZYDP4cPhw4f15ptv6l//+pf27NnjnF6Ui7tlZGTorbfe0ltvvaUaNWroL3/5i4YOHapKlSr52g0AAAAAAFBKFDl8OH78uMaPH6+JEyfq5MmTbmFDuXLl1LZtWzVu3FgJCQmqVKmS4uLidOzYMR0+fFiHDh3Sxo0b9b///U+nTp2SJO3evVvPPfecxo4dq0ceeUSPPfaY4uLiAr+HAAAAAACgWBUpfHjvvfc0cuRIHThwwBk6XHnllbr11lvVtWtXNW/eXKGhoRdcT15entasWaPvvvtOn3zyiZYvX66TJ0/qhRde0NSpUzVu3Djdc889/u0RAAAAAAAoUYoUPgwcOFCSVL58eT3wwAN68MEH1aBBA583FhoaqlatWqlVq1YaMWKEtm/frn/961+aMmWK9u/fr0GDBhE+AAAAAAAQZIp0q82YmBilpqZq586dGj9+/EUFD97Uq1dP48aN086dO5Wamqpy5coFZL0AAAAAAKDkKNKRD9u2bVNiYqJtnYiLi9Nzzz2noUOH2rYNAAAAAABQPIp05IOdwYOrKlWqXJLtAAAAAACAS6dI4QMAAAAAAMDFInwAAAAAAAC2KtI1H/xx+vRp/etf/9L333+vs2fPqmXLlho6dKiqV69u96YBAAAAAEAJ4Ff4sGHDBvXv318Oh0P/+te/dOWVV7rNP3bsmDp37qx169Y5p82ZM0dvvvmm5s+fr1atWvmzeQAAAAAAUAr4ddrFvHnztG7dOh04cEBXXHGFx/ynn35aa9eulTHG7efQoUO65ZZblJOT48/mAQAAAABAKeBX+LBw4UI5HA716NFDDofDbd7x48f1zjvvyOFwqE6dOpo1a5bS09N1//33S5IyMzP1/vvv+7N5AAAAAABQCvgVPmRmZkqS19Mn5s2bp+zsbEnS22+/rX79+ql58+Z66623dPnll0uSPvvsM382DwAAAAAASgG/wofff/9dkrxePHLJkiXOed27d3ebd9ttt8kYozVr1vizeQAAAAAAUAr4FT4cOXLk3EpCPFfz/fffy+Fw6JprrvGYl5SUJOmP8AIAAAAAAAQvv8KHcuXKSfIMEbKysrR+/XpJUseOHT3aRUVFSZLy8vL82TwAAAAAACgF/AofkpOTJUlLly51m/7ll1/KGCNJ6tSpk0e7Q4cOSZLi4+P92TwAAAAAACgF/AofOnfuLGOMZs+e7bx+w7FjxzR+/HhJUs2aNdWsWTOPduvWrZMk1a1b15/NAwAAAACAUsCv8OH+++9XSEiIsrOz1b59e11xxRWqX7++1q1bJ4fD4bytZkHWLTrbtm3rz+YBAAAAAEAp4Ff40Lx5c/3tb3+TMUZnzpzRihUrdOjQIRljdPnll+uxxx7zaLN27Vpt2rRJkvSnP/3Jn80DAAAAAIBSIMzfFTz77LNq2bKlpkyZoq1btyomJkbXXnutRo0apejoaI/lJ0+eLElyOBzq2rWrv5sHAAAAAAAlnN/hgyRdf/31uv7664u07JQpUzRlypRAbBYAAAAAAJQCfp12AQAAAAAAcCGEDwAAAAAAwFaEDwAAAAAAwFZFCh9uu+02bd++3daOrF27VjfeeKOt2wAAAAAAAJdekcKHmTNnqnHjxho4cKDWr18f0A6sXbtWt99+u1q1aqUvvvgioOsGAAAAAADFr0jhQ48ePZSbm6t///vfat68ubp06aLp06fr8OHDF7XRgwcP6vXXX1fbtm3VsmVLffLJJ8rPz1ePHj0uan0AAAAAAKDkKtKtNr/++mvNnDlTo0aN0rZt27R06VItXbpUDzzwgJo2baorrrhCHTp0UOPGjVWpUiVVqlRJcXFxOnbsmA4fPqzDhw9r06ZN+vHHH/XTTz9p/fr1ysvLkzFGktSgQQONHTtWN998s607CwAAAAAALr0ihQ+SdMstt+jGG2/UtGnT9Oqrr+rXX39VXl6e1q5dq7Vr12rq1KlF3qgVOjRq1EiPPfaY7r33XoWGhvreewAAAAAAUOL5dLeL0NBQ3X///dq0aZO++uor9e/fX7GxsTLGFPknLi5Od999t7755htt2LBBgwcPJngAAAAAACCIFfnIh4KuvfZaXXvttTp79qyWL1+uH3/8UWvXrlVGRoYOHz6snJwcRUZGKiEhQcnJyWrevLmuuOIKXXnllYQNAAAAAACUIRcdPjhXEBamq6++WldffXUg+gMAAAAAAIKMT6ddAAAAAAAA+IrwAQAAAAAA2IrwAQAAAAAA2IrwAQAAAAAA2IrwAQAAAAAA2IrwAQAAAAAA2IrwAQAAAAAA2IrwAQAAAAAA2IrwAQAAAAAA2IrwAQAAAAAA2IrwAQAAAAAA2IrwAQAAAAAA2Mqv8OGJJ57Qtm3bAtUXAAAAAAAQhPwKH1555RU1bNhQ3bt31yeffKKzZ88Gql8AAAAAACBI+H3ahTFGixYt0u23365atWrpqaee0vbt2wPRNwAAAAAAEAT8Ch/ee+89de7cWcYYGWN04MABvfzyy2rYsKF69uypWbNmKS8vL1B9BQAAAAAApZBf4cPdd9+tJUuWaOPGjRoxYoQqVaokY4zy8/O1YMEC3Xrrrapdu7aeffZZZWZmBqrPAAAAAACgFAnI3S4uu+wyvfbaa9q9e7fee+89XXXVVc6jIfbt26cXX3xR9evXV58+fTR79mzl5+cHYrMAAAAAAKAUCOitNiMjI3X33Xfru+++04YNGzR8+HC3oyG++uor3XTTTapTp45SU1O1a9euQG4eAAAAAACUQAENH1w1atRIEydO1O7du/Xuu++qU6dOzqMh9uzZo9GjR6tevXq64YYbNG/ePLu6AQAAAAAAiplt4YMlMjJS99xzj+bOnauHHnpIkuRwOCRJeXl5mjNnjvr27atGjRppxowZdncHAAAAAABcYraHD7/88oseeOAB1axZU//4xz/kcDhkjJHD4VBKSorzaIhff/1V/fv3V//+/blDBgAAAAAAQcSW8OHkyZOaMmWK2rRpo/bt2+udd97RiRMnZIxRQkKCnnjiCW3ZskWbN2/WmjVr9OCDDyoqKkrGGM2YMUNvvvmmHd0CAAAAAADFIKDhwy+//KIHH3xQ1atX19ChQ5Wenu48sqFjx47697//rd9++01jx45V3bp1JUnNmjXTm2++qbVr1yopKUnGGL3zzjuB7BYAAAAAAChGYf6u4OTJk/rggw80ZcoUrVq1SpJkjJEkxcbG6q677tKwYcN0+eWXn3c99evX16OPPqrhw4dr27Zt/nYLAAAAAACUEH6FD3/5y1/00Ucf6cSJE5L+CB2aNWumoUOH6p577lFsbGyR11e/fn1J5wINAAAAAAAQHPwKH6ZMmeK8gGRERIRuueUWDR06VFddddVFrS8kxPbrXwIAAAAAgEvM79MukpKS9MADD2jIkCGqUqWKX+vq2bOn8vPz/e0SAAAAAAAoQfwKH7744gv17t1bDocjUP0BAAAAAABBxq/woU+fPoHqBwAAAAAACFJcZAEAAAAAANjKr/Dh999/1zXXXKNu3bpp/vz5RWozf/58devWTT169NDRo0f92TwAAAAAACgF/AofPv74Yy1atEi//PKLOnfuXKQ2nTt31sqVK7Vw4UJ9/PHH/mweAAAAAACUAn6FDwsWLJAk9erVS9HR0UVqEx0drT59+sgYo6+//tqfzQMAAAAAgFLAr/BhzZo1cjgc6tChg0/t2rdv72wPAAAAAACCm1/hw/79+yVJNWvW9Kld9erVJUl79+71Z/MAAAAAAKAUCMjdLvLy8i5qeV/bAQAAAACA0sev8KFy5cqSpG3btvnUzlq+UqVK/mweAAAAAACUAn6FD82bN5cxRrNmzfKp3aeffiqHw6GmTZv6s3kAAAAAAFAK+BU+XHfddZKk9PR0TZkypUht3nrrLaWnp0s6d5cMAAAAAAAQ3PwKHwYNGqSEhARJ0kMPPaRXXnlFZ8+e9brs2bNnNX78eA0fPlySFB8fr/vuu8+fzQMAAAAAgFIgzJ/GMTExeuONN3T77bfr7NmzGjlypCZMmKDevXurSZMmio2N1YkTJ7RhwwbNnTtX+/fvlzFGDodDb7zxhuLi4gK1HwAAAAAAoITyK3yQpNtuu00HDx7Uww8/rNzcXO3fv1/Tp0/3uqwxRmFhYXrttdfUv39/fzcNAAAAAABKgYDcanPo0KFatmyZ8xoOxhiPH0nq3bu3li9frv/7v/8LxGYBAAAAAEAp4PeRD5a2bdtqzpw5OnTokJYuXapdu3bp2LFjiouLU61atdS5c2fn9SEAAAAAAEDZEbDwwZKQkKB+/foFerUXtGPHDi1YsEA///yzfv75Z61fv155eXkaPXq0nnnmGZ/Xl5qaqr///e/nXWbjxo1q1KjRxXYZAAAAAIAyIeDhQ3GZNGmSJk2aFPD11q5dW3Xq1PE6r1y5cgHfHgAAAAAAwSZowofKlSurb9++at++vdq1a6e3335bM2fO9Hu9gwcPVmpqqv8dBAAAAACgjApo+JCfn69t27bpyJEjys7OLlKbq6++OiDbLnhqxccffxyQ9QIAAAAAAP8EJHxYunSpxo8frwULFhQ5dJAkh8Ohs2fPBqILAAAAAACghPI7fBg3bpyeeuopt1tqBpNFixZp/fr1OnTokCpVqqT27dtrwIABqlatWnF3DQAAAACAUsGv8OG7777TqFGj5HA4ZIxRrVq19Kc//Uk1a9ZUZGRkoPpYrL777ju3/8+cOVOpqal64403NHDgQJ/Xl56erq5du/rUZuDAgRe1LQAAAABAcEhLS1NaWppPbdLT023py8XwK3xwvbvEuHHj9Oijj8rhcPjdqZKgevXqeuqpp3TTTTepXr16io6O1qpVqzRmzBjNmzdPgwcPVkJCgq6//nqf1nv06FEtWbLEpza+hhUAAAAAgOCSkZHh83fJksSv8OGHH36Qw+HQzTffrMceeyxQfSoRHnzwQY9pHTt21Jw5c3TLLbdo1qxZeuSRR9S3b1+fApf4+Hi1bNnSp74kJyf7tDwAAAAAILgkJyerS5cuPrVJT0/X0aNHbeqRb/wKHw4fPixJ6tOnT0A6Uxo4HA6NHTtWs2bN0rZt27RmzRq1aNGiyO1btmypxYsX29dBAAAAAEDQuZjT8bt27VpijpYI8adx5cqVJUkxMTEB6Uxp0bBhQ1WqVEmStHXr1mLuDQAAAAAAJZtf4YN1+sC2bdsC0ZdSJTw8XJK4VSgAAAAAABfgV/gwZMgQGWP00UcfBao/pcLBgwd14MABSVKtWrWKuTcAAAAAAJRsfoUPN910k2655RatXbtWjz/+eKD6VOJNmDBBxhjFx8erXbt2xd0dAAAAAABKNL/CB0l6//33deedd2rChAnq1q2bZs+erYMHDwaib7abOHGikpOT1b9/f7fp69ev17Bhw7R+/Xq36dnZ2XrxxRf18ssvS5JGjhypiIiIS9ZfAAAAAABKI7/udhEaGur83RijJUuW+HQlTYfDEbBrJixbtkz9+vVz/v/EiROSpJdeekkTJ050Tl+1apVq164tScrKylJmZqbHrSxzc3P15ptv6s0331SVKlVUp04dSdLGjRt16tQpSedOORk1alRA+g4AAAAAQDDzK3wwxpz3/5dSbm6uDh065DH91KlTzsBAkvLy8i64ruTkZI0ePVrLly/Xpk2btHnzZp05c0aJiYnq3bu37rvvPvXs2TOg/QcAAAAAIFj5FT5cffXVcjgcgeqLX7p27epz+JGamqrU1FSP6RUqVNAzzzwToJ4BAAAAAFC2+RU+LF68OEDdAAAAAAAAwcrvC04CAAAAAACcD+EDAAAAAACwFeEDAAAAAACwlV/XfHCVn5+vmTNn6uuvv9aGDRt0+PBh5ebmatu2bW7LrVu3TseOHVN8fLyaNm0aqM0DAAAAAIASKiDhw7Jly3TPPfcoMzPTOc0Y4/VOGLNmzVJqaqri4uK0d+9eRUVFBaILAAAAAACghPL7tIv58+erW7duyszMlDFGoaGhio+PL3T5Bx98UA6HQ8eOHdPcuXP93TwAAAAAACjh/AofsrKydMcddyg3N1fly5fX1KlTlZWVpenTpxfaJjExUZ06dZIkffvtt/5sHgAAAAAAlAJ+hQ///Oc/deTIEYWHh+vrr7/WkCFDVK5cuQu2u+KKK2SM0cqVK/3ZPAAAAAAAKAX8Ch/mzp0rh8OhW2+9VR06dChyu4YNG0qStm/f7s/mAQAAAABAKeBX+PDrr79Kkrp16+ZTO+uaEEePHvVn8wAAAAAAoBTwK3w4duyYJKlixYo+tcvJyZEkhYUF7E6fAAAAAACghPIrfKhUqZIk6eDBgz6127p1qySpcuXK/mweAAAAAACUAn6FDw0aNJAkLV261Kd2s2fPlsPhUMuWLf3ZPAAAAAAAKAX8Ch+uvfZaGWM0c+ZM7dy5s0ht/vOf/2jVqlWSpJ49e/qzeQAAAAAAUAr4FT488MADKleunLKzs3XjjTdq3759513+P//5j+677z5J507ZuPfee/3ZPAAAAAAAKAX8uuJj1apV9dJLL2nEiBFavXq1GjVqpLvuukuhoaHOZb744gutW7dOn376qVauXCljjBwOh15//XWVK1fO7x0AAAAAAAAlm9+3m3jooYe0f/9+vfTSSzp27Jj+9a9/SZIcDock6cYbb3QuawUPY8aM0R133OHvpgEAAAAAQCng12kXljFjxmjOnDlq1aqVjDGF/lx++eWaO3eunnzyyUBsFgAAAAAAlAJ+H/lgue6663Tddddp3bp1+u6775SRkaGsrCzFxsaqVq1a6tq1q1q3bh2ozQEAAAAAgFIiYOGDpVmzZmrWrFmgVwsAAAAAAEqpgJx2AQAAAAAAUBi/woeQkBCFhYVp9uzZPrX7+uuvFRoaqrCwgB94AQAAAAAAShi/v/0bYy5pOwAAAAAAULpw2gUAAAAAALBVsYQPp06dkiRFRUUVx+YBAAAAAMAlVCzhw48//ihJSkxMLI7NAwAAAACAS6jI13xYs2aN0tPTvc5buHChsrKyztveGKOTJ09q5cqVev/99+VwONSuXTtf+goAAAAAAEqhIocPs2bN0vPPP+8x3RijyZMn+7RRY4wcDof+8pe/+NQOAAAAAACUPj6ddmGMcfspbPqFfqpWraqpU6eqW7duAd8hAAAAAABQshT5yIcbb7xRycnJbtMGDRokh8Oh/+//+//UunXr87YPCQlRbGys6tatq8svv1yhoaEX1WEAAAAAAFC6FDl8aNGihVq0aOE2bdCgQZKka665RjfccENgewYAZczfkt4p7i4Afvt75pDi7gIAACiBihw+eDN9+nRJuuBRDwAAAAAAoOzyK3y49957A9UPAAAAAAAQpHy64CQAAAAAAICvCB8AAAAAAICt/DrtwtXy5cv17rvv6scff9Rvv/2mY8eOKT8//7xtHA6Hzp49G6guAAAAAACAEsjv8OHUqVMaPHiwZsyYIUkyxvjdKQAAAAAAEDz8Dh/uuusuzZ49W8YYxcTE6PLLL9ePP/4oh8OhJk2aKDo6WhkZGTp48KCkc0c7tGnTRjExMX53HgAAAAAAlHx+XfNhwYIF+vzzzyVJN910k/bs2aPly5c757/wwgv6+eefdeDAAf3444/q2bOnjDHKyclRWlqaFi1a5F/vAQAAAABAiedX+PDee+9JkqpXr64PPvhA5cuXL3TZ9u3ba968eRoxYoTWrl2rG2+8UWfOnPFn8wAAAAAAoBTwK3ywTq+4/fbbFRUV5THf2/UfXn31VTVq1Ehr1qzRtGnT/Nk8AAAAAAAoBfwKH/bt2ydJat68udt0h8MhScrJyfHcYEiI7r77bhlj9N///tefzQMAAAAAgFLAr/AhOztbkhQXF+c23bqY5JEjR7y2a9CggSRp8+bN/mweAAAAAACUAn6FDxUqVJB07nabrhISEiRJW7du9drOCiUOHTrkz+YBAAAAAEAp4Ff4kJKSIknKzMx0m96sWTMZY7RgwQKv7ZYsWSLJ84gJAAAAAAAQfPwKH9q2bStjjFatWuU2/brrrpMkrVmzRm+99ZbbvE8//VT/+c9/5HA41LZtW382DwAAAAAASgG/wodrrrlGkrRw4ULl5eU5p991113OUy+GDRum9u3b684771T79u112223Oe+C8cADD/izeQAAAAAAUAr4FT707NlTycnJioiIcDvFokKFCnr77bcVGhoqY4x++eUX/ec//9Evv/ziDB4GDx6sG2+80a/OAwAAAACAks+v8CEyMlLbt2/X3r171bNnT7d5/fr105IlS3TNNdc4QwhjjBo2bKg33nhDU6dO9avjAAAAAACgdAizc+VXXnmlvvnmG509e1YHDx5UTEyMypcvb+cmAQAAAABACWNr+ODcSFiYqlWrdik2BQAAAAAAShi/Tru4WBMmTFC9evVUv3794tg8AAAAAAC4hC7JkQ8FHTlyRBkZGXI4HMWxeQAAAAAAcAkVy5EPAAAAAACg7CB8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtgor6oKhoaF29gMAAAAAAASpIocPxhg5HA4ZY/zeqMPh8HsdAAAAAACgdPDptItABA+BXA8AAAAAACj5inzkQ35+vp39AAAAAAAAQYoLTgIAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsFTfiwY8cOTZ06Vffff79atGihsLAwORwOjRkzxq/1/vDDD+rXr5+qVKmi6OhoNWnSRKNHj1Z2dnaAeg4AAAAAQHALK+4OBMqkSZM0adKkgK7zgw8+0L333qu8vDzVrFlTtWvX1rp16/Tcc8/piy++0OLFi1WuXLmAbhMAAAAAgGATNEc+VK5cWX379tXzzz+vefPm6ZZbbvFrfRkZGRoyZIjy8vI0btw47dq1SytXrtSWLVt02WWXacWKFXriiScC1HsAAAAAAIJX0Bz58Mwzz7j9/+OPP/ZrfePHj1dOTo6uvfZaPf74487pSUlJmjZtmjp16qQpU6bo2WefVdWqVf3aFgAAAAAAwSxojnwIJGOMZs2aJUkaMmSIx/yOHTuqUaNGys3N1eeff36puwcAAAAAQKlC+ODFzp07tXfvXklSp06dvC5jTf/pp58uWb8AAAAAACiNgua0i0DasmWLJCkyMlI1atTwuky9evXcli2q9PR0de3a1ac2AwcO1MCBA31qAwAAAAAIHmlpaUpLS/OpTXp6ui19uRiED14cOXJEklShQgU5HA6vy1SsWNFt2aI6evSolixZ4lMbX8MKAAAAAEBwycjI8Pm7ZElC+OBFdna2JCkiIqLQZSIjIyVJp0+f9mnd8fHxatmypU9tkpOTfVoeAAAAABBckpOT1aVLF5/apKen6+jRozb1yDeED15ERUVJks6cOVPoMjk5OZKk6Ohon9bdsmVLLV68+KL7BgAAAAAoey7mdPyuXbuWmKMluOCkF9YpFVlZWTLGeF3GOt3CWhYAAAAAAHhH+OBFSkqKpHNHN+zZs8frMtu3b3dbFgAAAAAAeEf44EWdOnVUrVo1SdKyZcu8LmNN79ChwyXrFwAAAAAApRHhgxcOh0M33XSTJOmdd97xmL98+XJt2rRJ4eHhuuGGGy519wAAAAAAKFXKdPgwceJEJScnq3///h7zHn/8cUVERGj+/PkaP36889oPmZmZGjx4sCTpvvvucx4hAQAAAAAAvAua8GHZsmWqXLmy8+fjjz+WJL300ktu03ft2uVsk5WVpczMTO3bt89jfXXr1tXUqVMVEhKiJ554QrVr11br1q2VkpKizZs3q02bNho/fvwl2z8AAAAAAEqroLnVZm5urg4dOuQx/dSpUzp16pTz/3l5eUVe54ABA9SgQQO99NJLWr58uTZs2KB69erpjjvu0MiRI5235AQAAAAAAIULmvCha9euhd4WszCpqalKTU097zIdO3bUF1984UfPAAAAAAAo24LmtAsAAAAAAFAyET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbhRV3BwAAAIpL4uc1i7sLgN8O9Ntd3F0AgAviyAcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGCrsOLuAAAAAICypcdru4u7C4DfvnmkZnF3oVThyAcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGCroAsf5s6dq+7du6tSpUqKiYlR69atNXnyZOXn5/u0ntTUVDkcjvP+bNq0yaa9AAAAAAAgeIQVdwcCaezYsXryySclSfXq1VNsbKxWr16t4cOHa8GCBZo1a5ZCQnzLW2rXrq06dep4nVeuXDm/+wwAAAAAQLALmvDhhx9+0FNPPaWQkBC9//77uuOOOyRJq1evVs+ePTV79mxNmDBBjz32mE/rHTx4sFJTU23oMQAAAAAAZUPQnHYxZswYGWN03333OYMHSWrRooUmTJgg6dyREbm5ucXVRQAAAAAAyqSgCB+OHTumBQsWSJKGDBniMf+2225TXFycDh06pEWLFl3q7gEAAAAAUKYFRfiwatUqnTlzRlFRUWrdurXH/PDwcLVr106S9NNPP/m07kWLFum2225Tt27ddOutt2rcuHHat29fQPoNAAAAAEBZEBTXfNiyZYskqU6dOgoL875L9erV07fffutctqi+++47t//PnDlTqampeuONNzRw4ECf+5qenq6uXbv61GbgwIEXtS0AAAAAQHBIS0tTWlqaT23S09Nt6cvFCIrw4ciRI5KkihUrFrqMNc9a9kKqV6+up556SjfddJPq1aun6OhorVq1SmPGjNG8efM0ePBgJSQk6Prrr/epr0ePHtWSJUt8auNrWAEAAAAACC4ZGRk+f5csSYIifMjOzpYkRUREFLpMZGSkJOn06dNFWueDDz7oMa1jx46aM2eObrnlFs2aNUuPPPKI+vbtK4fDUeS+xsfHq2XLlkVeXpKSk5N9Wh4AAAAAEFySk5PVpUsXn9qkp6fr6NGjNvXIN0ERPkRFRUmSzpw5U+gyOTk5kqTo6Gi/tuVwODR27FjNmjVL27Zt05o1a9SiRYsit2/ZsqUWL17sVx8AAAAAAGXLxZyO37Vr1xJztERQXHCyKKdUFOXUjKJq2LChKlWqJEnaunWr3+sDAAAAACCYBUX4kJKSIknauXOnzp4963WZ7du3uy3rr/DwcEkqdHsAAAAAAOCcoAgfWrVqpfDwcGVnZ2vlypUe83Nzc7VixQpJUocOHfze3sGDB3XgwAFJUq1atfxeHwAAAAAAwSwowoe4uDh1795dkvTOO+94zJ8xY4aOHTumhISEgNw5YsKECTLGKD4+Xu3atfN7fQAAAAAABLOgCB8k6emnn5bD4dDbb7+tjz76yDl99erV+utf/ypJeuKJJ9zuiDFx4kQlJyerf//+butav369hg0bpvXr17tNz87O1osvvqiXX35ZkjRy5Mjz3mEDAAAAAAAEUfjQqVMnjR49Wvn5+brzzjtVv359tWjRQq1bt9b+/fvVp08fPfroo25tsrKylJmZqX379rlNz83N1ZtvvqlmzZopMTFRbdu2Vdu2bZWQkKCnn35a+fn5GjJkiEaNGnUpdxEAAAAAgFIpaMIH6dzRD1988YW6deumQ4cOaevWrbr88ss1ceJEff755woNDS3SepKTkzV69Gj16tVLsbGx2rx5s9auXatKlSrp1ltv1VdffaW3335bDofD5j0CAAAAAKD0CyvuDgRa37591bdv3yItm5qaqtTUVI/pFSpU0DPPPBPgngEAAAAAUDYF1ZEPAAAAAACg5CF8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtgor7g4AAHAppJ9YpqyzB1UhrLJaxnYq7u4AZUL2t6eUd+CsQhPDFHVNueLuDlBm7Pn5vzp9eJeiK9VWjfZ/Lu7uAJI48gEAUEasPrlM3x37QqtPLivurgBlRvbCUzr1nxPKXniquLsClCl7VvxXO+a/pj0r/lvcXQGcCB8AAAAAAICtCB8AAAAAAICtCB8AAAAAAICtCB8AAAAAAICtCB8AAAAAAICtgi58mDt3rrp3765KlSopJiZGrVu31uTJk5Wfn39R6/vhhx/Ur18/ValSRdHR0WrSpIlGjx6t7OzsAPccAAAAAIDgFFThw9ixY9WnTx99++23qlixoho0aKDVq1dr+PDhuummm3wOID744AN17txZs2fPVmRkpBo3bqytW7fqueee09VXX61Tp7htFAAAAAAAFxI04cMPP/ygp556SiEhIfrwww+1bds2rV69WitXrlTVqlU1e/ZsTZgwocjry8jI0JAhQ5SXl6dx48Zp165dWrlypbZs2aLLLrtMK1as0BNPPGHjHgEAAAAAEByCJnwYM2aMjDG67777dMcddzint2jRwhk6jB07Vrm5uUVa3/jx45WTk6Nrr71Wjz/+uBwOhyQpKSlJ06ZNkyRNmTJF+/fvD/CeAAAAAAAQXIIifDh27JgWLFggSRoyZIjH/Ntuu01xcXE6dOiQFi1adMH1GWM0a9asQtfXsWNHNWrUSLm5ufr888/97D0AAAAAAMEtKMKHVatW6cyZM4qKilLr1q095oeHh6tdu3aSpJ9++umC69u5c6f27t0rSerUqZPXZazpRVkfAAAAAABlWVhxdyAQtmzZIkmqU6eOwsK871K9evX07bffOpctyvoiIyNVo0aNQtfnuuyFbN26VZK0dOlSVahQoUhtLNWqVVO1atV8agOUdV27di3uLvgsY//e4u5CUNt3Zpfz33f3jyvm3gSvJV3/Xdxd8EnWwYPF3YWgdnZHrvPfrKd5rO3S9bWuxd0Fn63+Lae4uxDUju9e7/z3f/+8tZh7E7y6fh55Sbe3b98+7du3z6c2J06ckPTH99HiFBThw5EjRyRJFStWLHQZa561bFHWV6FCBee1HvxZn/THk56Xl6ejR48WqY3l6NGj2rx5s09tgLJuyZIlxd0FlFA55rQyc34t7m4ErcwlPLbwZE4Z5a4/U9zdCFpLxJgH7/Kyjytr24/F3Y2gtWRbcfeg6Kzvo8UpKMKH7OxsSVJEREShy0RGnkulTp8+fcnXJ0l169bV5s2blZeXp+jo6CK1sXDkAwAAAACUbRdz5MPp06cVGhqqunXr2tSroguK8CEqKkqSdOZM4Yl6Ts65Q7uK8sU/0OuTzl2XAgAAAACAsigoLjhZlFMginJqRsH1ZWVlyRjj9/oAAAAAACjLgiJ8SElJkXTuLhVnz571usz27dvdli3K+nJycrRnzx6/1wcAAAAAQFkWFOFDq1atFB4eruzsbK1cudJjfm5urlasWCFJ6tChwwXXV6dOHec1FpYtW+Z1GWt6UdYHAAAAAEBZFhThQ1xcnLp37y5Jeueddzzmz5gxQ8eOHVNCQkKRbr/ncDh00003Fbq+5cuXa9OmTQoPD9cNN9zgX+cBAAAAAAhyQRE+SNLTTz8th8Oht99+Wx999JFz+urVq/XXv/5VkvTEE0+43cFi4sSJSk5OVv/+/T3W9/jjjysiIkLz58/X+PHjndd+yMzM1ODBgyVJ9913H3ehAAAAAADgAoImfOjUqZNGjx6t/Px83Xnnnapfv75atGih1q1ba//+/erTp48effRRtzZZWVnKzMz0eruSunXraurUqQoJCdETTzyh2rVrq3Xr1kpJSdHmzZvVpk0bjR8//lLtHgAAAAAApVbQhA/SuaMfvvjiC3Xr1k2HDh3S1q1bdfnll2vixIn6/PPPFRoa6tP6BgwYoO+//159+/bV6dOntWHDBtWrV0+pqalaunSpYmJibNoTAAAAAACCR1CFD5LUt29fffvtt8rKytLJkyeVnp6uESNGeA0eUlNTZYzR4sWLC11fx44d9cUXX+jQoUPKzs7Wpk2b9Le//U1RUVE27oX9Bg4cKIfDobS0tICsLzk5WQ6HQxkZGQFZH1CYrl27yuFwnLduSzJqD6VVSag96gelVUmon4tF3aG0Ks11F6yCLnwALrWJEycqNTVVWVlZF72OtLQ0DRo0SC1atFBiYqLCw8OVkJCgbt26KS0tTfn5+T6v0/qwcL6f7Oxsn9f72WefKTU1Venp6T63BQKJ2gMuHvUD6dwpyI899pjq16+vqKgoVa9eXXfddZc2btx4wbZ79uzRo48+qkaNGikmJkbx8fFq1qyZhg0bpszMTI/lV6xYoQkTJuj333+XdO4UZ4fDoaVLl553O3a8zooLdQepeOquf//+zporzroLu6hWAJwmTpyozMxMDRw4UBUqVLiodTzzzDPavXu3ypUrp5o1a6pOnTratWuXFi1apEWLFum///2vPvvsM7cLphZVSkqKEhMTvc4LCfE9f/zss8/07rvvKjk5WS1btvS5PRAo1B5w8agf7Nu3T1deeaUyMjJUrlw5NW3aVLt27dKHH36oWbNm6auvvtLVV1/tte3XX3+tP//5zzp27JhiY2N12WWX6cyZM9q5c6fefPNN9e7dW0lJSW5t7r//fq1evdrnftr5OrvUqDuU9bojfABKgCeffFJt27ZVu3bt3N7c586dq/79+2vevHmaNGmSHn/8cZ/X/dRTT2ngwIEB7C0QPKg94OJRP6XbwIEDlZGRoauuukqfffaZEhISlJubq0cffVSTJ0/Wn//8Z23bts2j3erVq3XjjTcqPz9f//znP3Xfffc5v4Dk5+frp59+UvXq1T3a1atXT02aNNFXX32lI0eOqFq1al4v+l6Qna+z0oi6K92KWncFry3ob921b99e7du31+23367ffvvtgv2063XGaRdACfB///d/6tChg0eq3Lt3bz377LOSzqXHAAKL2gMuHvVTev3vf//T119/rbCwMH3wwQdKSEiQJIWHh+u1115T48aNtX//fk2ZMsWj7YMPPqjs7Gy99dZbGjZsmNtfPkNCQnTllVcqOTnZo92nn36qDz/8UHFxcZJU5AvB8zpzx+NRehVn3T38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x+733383kydPNr/++qvbunJycsy4ceOMJONwOMzPP//ssb2XXnrJORi4vvY++OADExISUmi7YcOGmVtuucWMHTvWLFy40FxxxRVl+oMYdVd0pbnujPnj8Xv99df9rruqVaua6tWrO19/ZanujKH2LrXSXHuMeYFD3V1apbnuXAWi7qpWrWrS09Od04ur7ggfSjnCh8Cxe9+tN4eOHTv61I4B4dJYsWKFkWTCwsJMZmam27yzZ8+axo0bG0lmwoQJPj12vXv3NpLMU0895TY9JyfHVKxY0UgylStX9njt3X///UaSueGGGy64DeuxLKsfxM6HunNXmuvOmKI/fkWpuw8//NDj9VdW6s4Yau9SK821x5gXONTdpVWa684XRR3zCiqOuuOaD15Y5zZJ0qxZs9SxY0fFxsaqatWquvfee7Vv3z7nstOnT1ebNm0UExOjxMRE/eUvf9HRo0cLXffy5ct18803q2rVqoqIiFCtWrU0YMCAQs/xkaSTJ0/qySefVN26dRUVFaXk5GQ9+uijOnHixAX35eeff1b//v1Vs2ZNRUREqGrVqrrtttu0atUqHx6R4vPtt9+qW7duiouLU4UKFXTNNddo4cKFysjIkMPhUHJystvyrtONMZo8ebIuv/xylStXTomJibrnnnu0c+dOtzZpaWlyOBzKzMyUJNWtW9ftHLdAXaSmUaNGkqRTp04FZH0Xy3qM3n33XUnSoEGD3PY3NTXVbbmCj7Er11opbPrMmTN19dVXq0KFCoVeYOrnn392tomJidFll12mRo0aFVp306ZNU926dRUaGqqQkBCFhYUpJSVFI0eO1OHDhz3WX5S6mzlzpiSpR48eqlOnjlvdxcTEaO/evZKkjz/++PwPsNzr7quvvpIkzZgxw63uFi1apCNHjiguLk4xMTEe6xgyZIgk6euvv3aeH3upUHeBV1Lrrk+fPs52HTt21KhRowod84wxeuCBB1S+fHlnmwoVKujhhx/2WnfShWuvYN1Jf4x5DRo00JYtWyRJ48eP92nMs85/nThxotuY51p3t956q0f74qw7idqzQ0mtPcY8d4x5iwOyL9Tdhce8SpUqKSYmRh07dtRnn31W6HaNMXr//ffVpUsXVahQQdHR0WrUqFGhdVcU3sY8S2hoqO69915J5+rHF4U97yVyzPMrughS+n/ntLz++utGOncuaIsWLUxkZKSRZJo0aWJOnz5thg8fbiSZevXqmaZNm5qwsDAjyXTp0sXk5+d7rPeNN94wDofDSDKJiYmmbdu2pkKFCkaSiYqKMl9++aVHmxMnTpj27ds7D6dp1qyZadKkiXE4HKZ169amf//+hSaKEyZMcG6vUqVKplWrViYhIcFIMuHh4WbmzJkebUrSkQ/vvvuus/+VK1c27dq1MwkJCSYkJMSMHz/eSDJJSUlubXbs2OGcPnToUCPJ1KlTx7Rp08ZERUUZSaZKlSpm06ZNzjZz5841nTp1cj6/bdu2dTvHbeXKlQHZnyeffNJIMoMHD/apnZUa9+nTx/Tr18/86U9/Mrfffrt5/fXXTVZWls/92Lt3r+nUqZPz/MCC5/e98847xhj3x7IwVq0UNt06L7tq1aqmXbt2pkqVKs7XlpWgPv/88yYiIsLZJi4uzvl7jRo1POrOOiyt4I/1WklKSjLbtm1z9qWodde1a1cjyYwZM8Zr3Vnn5zkcDnP77bcXue5iYmKcfXStu9TUVCPJdO/e3Wvd5ebmOl+z33333Xmf00D+FYi6O6es1F1sbKxHLcXHx3uMeadOnTINGzZ0ey27tqlTp45b3RlTtNpzrTtjPMe8evXqObfhy5hnjcfW/lm151p3xniOecVVd8ZQe5ayUnuMeYx51F3xjHlt27Z1nnInybz66qse687Pzzd33nmnc5l69eqZ1q1bO2u3YN0VVcExr6Dvv//eSDIRERHm7NmzRVpnfn6+6dixo5Fk3nvvPbd5Bce8goqj7ggfvLBeaDExMW6HqOzatcs0aNDASDI33nijiY+PNwsWLHDOX7NmjalUqZKRZObOneu2zlWrVjk/DI0bN855nlZ2drYZNmyY8wPfnj173No98sgjzhf5unXrnNPT09NNzZo1nR8ACw4I8+bNMw6Hw1SuXNkjZHj77bdNWFiYKV++vMf2Skr4kJmZacqVK2ckmWeeecZZgLm5uWbUqFHO/S5sQAgLCzPh4eHmo48+cs47ePCg6d69u5Fk2rdv7xEQ2bHvZ86cMdu3bzcvvPCCCQsLM4mJiT6v3xoQvP1UrFjRzJs376L6dqFD4QIxIERERJgpU6Y4H+vc3FyTm5trjPnjTSwsLMz5hcKqO6tvYWFh5uuvv3aru+joaCPJlC9f3syfP9+t7po0aWIkmQ4dOhhjfKs76wJOH374ode62717t8cXr/PV3auvvmruvvtuI8lceeWV5q233nKru7vuustIMg888EChr72UlBQjyTlIFyZQAwJ194eyUncnTpxwa2fNS09PdxvzmjdvbqRzF8OaP3++MebcmGcdzulad8YUvfaqVavmrDtjPMc817qrVq3aBWuvYsWK5uqrr3bWXW5urtuYd/PNNzvrzhjvr79LXXfGUHuuykrtMeYx5gUKdefbmGfMuS/s1h+ZrTHP1eTJk93qzmKFKgXHvKJyrTtvXOvuQuHGyZMnzerVq93qztpvi2vdFeZS1x3hgxfWkz5ixAiPeW+99ZZz/muvveYxf9SoUUaSGT58uNt068nv16+fR5v8/HzTtGlTI8k8++yzzunHjh1zvinOmTPHo92nn37q7EvBom7durWRZD7//HOv+/joo48a6VwS6KqkhA/W41hYUmcVQGEDgrfnwBhj9u/f70z4Fi5c6DYvkPs+YsQItzduh8NhBg0aZDIyMnxe1/PPP29efPFFs3r1anPs2DFz/PhxM3/+fNOhQwcjyURGRpoVK1b4vN5LMSA89NBDhba1nsPExERz+vRpj7qzviQMGDDAre6sv+C41p/1ehk8eLDzC9S3337rU91ZtTZz5kyvdXfq1CmPAbngY2d9SLR+YmNjTWpqqjl16pQxxr3urPPzRo4cWehrz/pL1CuvvFLo4+j6WPo7IFB3fygrdefabsSIEW51Z4z7mOdt3LNeM9YF5L799ltjTNHHPOuL0rx587yOea51Z/0VsuDj16JFi/PWnTF/1J71IWvkyJHGGO+vv0tdd8ZQe67KSu0x5jHm+Yu6u7gxz1XBMc+Yc7VSu3Ztr2OeMcb89ttvbnXnC6vWCgtzXOvuf//7n9dlijLmWVzrrjCXuu645sN5WOfBuGrZsqXz98GDB3vMb9WqlSRp+/btbtPnz58vSXrooYc82jgcDg0fPtxtOUn6/vvvderUKSUlJalXr14e7fr166eaNWt6TM/MzNTKlSuVmJioG264wduuOadf6L6wxeWbb76RdO4cMW8Km+7q//7v/zymJSYmOs95+vrrr/3o4fnVq1dPnTp1Utu2bVW5cmUZYzR37tzznltWmGeffVZPPvmkmjdvrvLlyys2NlY9evTQd999p/bt2ysnJ0cjR44M/E4EwIABAy64zJAhQxQVFeX2f0kaNmyYpHPP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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment.aggregate_by_row(metric_name=\"latency\", column_name=\"model\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bde10f4b", + "metadata": {}, + "outputs": [], + "source": [ + "experiment.aggregate(metric_name=\"latency\", column_name=\"model\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ae154478", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "40f611d4", + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "markdown", "id": "266c13eb", @@ -147,37 +421,24 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 13, "id": "8ddbb951", "metadata": {}, "outputs": [], "source": [ - "from prompttools.utils import semantic_similarity" + "from prompttools.utils import similarity" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 14, "id": "e80dfeec", "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/torch/utils/tensorboard/__init__.py:4: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.\n", - " if not hasattr(tensorboard, \"__version__\") or LooseVersion(\n", - "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/torch/utils/tensorboard/__init__.py:6: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.\n", - " ) < LooseVersion(\"1.15\"):\n", - "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/tensorflow/python/debug/cli/debugger_cli_common.py:19: DeprecationWarning: module 'sre_constants' is deprecated\n", - " import sre_constants\n" - ] - } - ], + "outputs": [], "source": [ - "experiment.evaluate(\"similar_to_expected\", semantic_similarity, expected=[\"George Washington\"] * 4)" + "experiment.evaluate(\"similar_to_expected\", similarity.evaluate, expected=[\"George Washington\"] * 4)" ] }, { @@ -190,7 +451,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 15, "id": "4d09c18e", "metadata": { "scrolled": true @@ -217,44 +478,49 @@ " \n", " \n", " \n", - " model\n", - " temperature\n", + " messages\n", " response\n", " latency\n", " similar_to_expected\n", + " model\n", + " temperature\n", " \n", " \n", " \n", " \n", " 0\n", - " gpt-3.5-turbo\n", - " 0.0\n", + " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " George Washington\n", - " 3.125053e-06\n", + " 0.000007\n", " 1.0\n", + " gpt-3.5-turbo\n", + " 0.0\n", " \n", " \n", " 1\n", - " gpt-3.5-turbo\n", - " 1.0\n", + " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " George Washington\n", - " 9.580981e-07\n", + " 0.000004\n", + " 1.0\n", + " gpt-3.5-turbo\n", " 1.0\n", " \n", " \n", " 2\n", - " gpt-3.5-turbo-0613\n", - " 0.0\n", + " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " George Washington\n", - " 6.670598e-07\n", + " 0.000003\n", " 1.0\n", + " gpt-3.5-turbo-0613\n", + " 0.0\n", " \n", " \n", " 3\n", - " gpt-3.5-turbo-0613\n", - " 1.0\n", + " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " George Washington\n", - " 5.410984e-07\n", + " 0.000002\n", + " 1.0\n", + " gpt-3.5-turbo-0613\n", " 1.0\n", " \n", " \n", @@ -262,17 +528,23 @@ "" ], "text/plain": [ - " model temperature response latency \\\n", - "0 gpt-3.5-turbo 0.0 George Washington 3.125053e-06 \n", - "1 gpt-3.5-turbo 1.0 George Washington 9.580981e-07 \n", - "2 gpt-3.5-turbo-0613 0.0 George Washington 6.670598e-07 \n", - "3 gpt-3.5-turbo-0613 1.0 George Washington 5.410984e-07 \n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " response latency similar_to_expected model \\\n", + "0 George Washington 0.000007 1.0 gpt-3.5-turbo \n", + "1 George Washington 0.000004 1.0 gpt-3.5-turbo \n", + "2 George Washington 0.000003 1.0 gpt-3.5-turbo-0613 \n", + "3 George Washington 0.000002 1.0 gpt-3.5-turbo-0613 \n", "\n", - " similar_to_expected \n", - "0 1.0 \n", - "1 1.0 \n", - "2 1.0 \n", - "3 1.0 " + " temperature \n", + "0 0.0 \n", + "1 1.0 \n", + "2 0.0 \n", + "3 1.0 " ] }, "metadata": {}, @@ -285,13 +557,13 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 11, "id": "d0007a1f", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABAYAAAKxCAYAAADARa4uAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABgtklEQVR4nO3deViVdf7/8ddBVhdAcV+PuOYSqLmSQuYyLqVmzlhZkliOzq9tJs0xp5ggLWkcnfpqaSptk42ZqeOSWYq5jl8Fdw0XsHJLFNSU/f794ZczEqDncA6g534+rutcyX1/lvcNp+vmvPjc920xDMMQAAAAAAAwJY+KLgAAAAAAAFQcggEAAAAAAEyMYAAAAAAAABMjGAAAAAAAwMQIBgAAAAAAMDGCAQAAAAAATIxgAAAAAAAAEyMYAAAAAADAxAgGAAAAAAAwMYIBAAAAAABMjGCgApw4cULz58/XU089pZCQEHl6espisSg2NraiS7PLzp079cQTT6hx48by8fFRrVq11L17d7388svKzc2t6PIAAAAAAA7wrOgCzGj27NmaPXt2RZdRKq+//rpeeeUV5efnq06dOgoJCdHFixeVmJio7du3689//rOqVq1a0WUCAAAAAOxEMFABatasqcGDB6tLly7q3Lmz3n//fS1durSiy7qlefPmaerUqWrYsKEWLlyovn372vZdu3ZN69evl4+PTwVWCAAAAABwFMFABZg6dWqhrxcvXlxBldjv3LlzevHFF+Xr66t169bprrvuKrTfz89PDzzwQAVVBwAAAAAoLe4xcAcxDEOLFy9W3759FRQUJB8fHwUHB+vZZ5/VmTNnynTuhQsX6vLlyxo1alSRUAAAAAAAcOdixcAdIicnR4899piWLFkiSapfv74aNWqk5ORkvf322/r888+1ceNGtWzZskzmX7lypSRp8ODBSk5O1nvvvad9+/bJy8tLoaGhioqKUtOmTctkbgAAAABA2WHFwB3ilVde0ZIlS9ShQwclJibqp59+UlJSks6fP68JEybo9OnTeuyxx8pk7vz8fCUmJkqSkpOTFRISor/97W9at26dVq1apddff12tW7fWxx9/XCbzAwAAAADKDsHAHeDnn3/W3//+d/n7+2vFihUKDQ217fPz89Pbb7+tzp0763//93/13XffuXz+jIwMXbt2TZI0ZcoUNWnSRAkJ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ZGSkJKlatWp6+umnNW7cODVv3tzhySpVqqQOHTqoQ4cOeu6553T8+HG9++67mjdvns6ePasnn3ySYAAAAAAAgHJk1+MKq1SpoujoaJ08eVJxcXGlCgWKExwcrBkzZujkyZOKjo5W5cqVXTIuAAAAAACwj10rBo4dO6batWuXWRH+/v565ZVXNH78+DKbAwAAAAAAFGXXioGyDAVuVKtWrXKZBwAAAAAAXGdXMAAAAAAAANwTwQAAAAAAACZm1z0GnHHt2jW9++67+u6775Sbm6vQ0FCNHz9e9erVK+upAQAAAADALTgVDBw8eFAjR46UxWLRu+++q+7duxfaf+nSJfXs2VP79++3bVu1apXmzp2rdevWqUOHDs5MDwAAAAAAnOTUpQRr1qzR/v37de7cOXXr1q3I/pdffln79u2TYRiFXmlpaRo+fLiysrKcmR4AAAAAADjJqWDg22+/lcViUd++fWWxWArtu3z5shYsWCCLxaLGjRtr2bJlSkpK0lNPPSVJSk1N1ccff+zM9AAAAAAAwElOBQOpqamSVOwlAWvWrFFmZqYk6f3339eQIUN0991367333lP79u0lSV9++aUz0wMAAAAAACc5FQz8/PPPklTsjQQTEhJs+/r06VNo34gRI2QYhvbu3evM9AAAAAAAwElOBQMXL168PohH0WG+++47WSwW3X///UX2NWnSRNJ/gwUAAAAAAFAxnAoGKleuLKnoB/z09HQdOHBAktSjR48i/Xx9fSVJeXl5zkwPAAAAAACc5FQwYLVaJUmbN28utP3f//63DMOQJIWFhRXpl5aWJkkKCAhwZnoAAAAAAOAkp4KBnj17yjAMrVixwna/gEuXLikuLk6S1KBBA7Vr165Iv/3790uSmjZt6sz0AAAAAADASU4FA0899ZQ8PDyUmZmpLl26qFu3bmrWrJn2798vi8ViezThrxU85vCee+5xZnoAAAAAAOAkp4KBu+++W6+++qoMw1B2drZ27typtLQ0GYah9u3b68UXXyzSZ9++fTp8+LAk6b777nNmegAAAAAA4CSnggFJ+stf/qLly5dr0KBBatmypTp27KjJkydr06ZN8vPzK9L+7bffliRZLBZFREQ4O70kyTAMbd68WRMnTlS3bt0UGBgob29v1a9fX8OHD9eGDRscHjM6OloWi+Wmr4KAAwAAAACAO5WnKwZ5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u++Unp6u0NBQNWzYUB999JFWrlypCxcuqH79+ho4cKB++9vfFjmGsuLs+wwmYgBwW3l5eUb79u0NScaAAQOMCxcu2PZ9/vnnho+Pj+Hl5WVIMk6cOGHb16RJE0OS4enpafzxj380srOzDcMwjJycHGPSpEmGJMPf3984depUoflGjx5tSDIWLVrksmPIz883Tp8+bXz88cdGvXr1DE9PT+PLL790aIxFixYZkop9VapUyYiNjS1VbQXjjh49usQ2Bd/LG7+/NwoPDzckGRs2bCh2e6VKlYynn37a+OWXX2z7rl69ahiGYbz66qu2n1P79u0LzZGQkGAEBAQYkox33nmn0NiJiYmGp6enIcmYMWOGkZeXZxiGYWRmZhoTJkwwJBkBAQFFfr4AUJE4p13HOa18zmmPPfaYIcl4+umnS2zTokULQ5KxYMEC27bp06cbkozhw4cb9913X7E/p7CwsELv35IUvAdjYmIcqt0V7zOYD5cSAG7s66+/1r59+xQUFKRPP/200F2Khw8frsmTJysnJ6fE/m3bttXf/vY3W1Lu6empN998Ux07dtSlS5dsSzfLwpdffimLxSIPDw/Vq1dPo0aNUsuWLbVx40YNGTLEobECAwP1zDPPaMuWLTp79qwyMzOVmJioxx9/XHl5eZo6dareeeedMjoS57Rr105z585V5cqVbdtuvLGQJOXm5io+Pl5Wq9W2rVevXoqJiZEkvfXWWzIMw7avYDnmkCFDNHHiRNtfLXx8fPTOO++obdu2ysjI0Ny5c8vwyADAMZzTruOcVj7ntIsXL0q6+RMeCvYVtJWk06dPS5JWrFihDRs26OWXX9aZM2d09epVLV26VDVr1tSWLVtslyK4kivfZzAfggHAjX399deSpIceeqjY5WMF1xOWZMKECTfd/tVXXzlZYcmCgoIUFhambt26qUGDBrJYLPrPf/6jDz/8UNeuXXNorKFDh+of//iHevToodq1a8vHx0ehoaH68MMP9fzzz0u6fsOf2/E5v6NGjbrlcsPu3burY8eORbaPGTNGvr6+SklJ0ZEjR2zb161bJ0l65plnivSxWCx69tlnC7UDgNsB57TrOKeVzzktMzNTkuTt7V1iGx8fH0kq9DP85ZdfJEk5OTl6/PHHFRsbqzp16sjPz08PPfSQFixYIElatmyZ9u7d61BNt+LK9xnMh2AA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", + "image/png": "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714lJiYWu+/7779Xenr6TfsbhqErV65o9+7d+uSTT2SxWNSlSxdHagUAAAAAAC5mdzCwfPlyvfHGG0W2G4ahd99916FJDcOQxWLRM88841A/AAAAAADgWg5dSmAYRqFXSdtv9apTp44WLFigvn37uvyAAAAAAACA/exeMTBs2DBZrdZC25588klZLBb993//tzp16nTT/h4eHqpSpYqaNm2q9u3bq1KlSqUqGAAAAAAAuI7dwUBISIhCQkIKbXvyySclSffdd58efPBB11YGAAAAAADKnN3BQHEWL14sSbdcLQAAAAAAAG5PTgUDY8eOdVUdAAAAAACgAjh080EAAAAAAOBeCAYAAAAAADAxpy4luNHWrVv10Ucfafv27fr555918eJF5efn37SPxWJRbm6uq0oAAAAAAAAOcjoYuHr1qsaNG6elS5dKkgzDcLooAAAAAABQPpwOBh5//HGtXLlShmHI399f7du31/bt22WxWNS2bVv5+fkpJSVF586dk3R9lUDnzp3l7+/vdPEAAAAAAMA5Tt1jYP369VqxYoUkafjw4Tp58qS2bt1q2//mm2/q3//+t86ePavt27drwIABMgxDWVlZiouL04YNG5yrHgAAAAAAOMWpYOAf//iHJKlevXr69NNPVbVq1RLbdu3aVV9//bWef/557du3T8OGDVN2drYz0wMAAAAAACc5FQwUXDLwX//1X/L19S2yv7j7Dfz1r39V69attXfvXi1atMiZ6QEAAAAAgJOcCgZOnz4tSerQoUOh7RaLRZKUlZVVdEIPD40ePVqGYeif//ynM9MDAAAAAAAnORUMZGZmSpICAgIKbS+4seCFCxeK7de8eXNJ0pEjR5yZHgAAAAAAOMmpYKBatWqSrj+y8EZBQUGSpOTk5GL7FQQGaWlpzkwPAAAAAACc5FQw0KJFC0lSampqoe3t2rWTYRhav359sf3i4+MlFV1pAAAAAAAAypdTwcDdd98twzCUkJBQaPvvfvc7SdLevXv1wQcfFNr35Zdf6vPPP5fFYtHdd9/tzPQAAAAAAMBJTgUD9913nyTp+++/V15enm37448/brucYNKkSeratasee+wxde3aVSNHjrQ9reDpp592ZnoAAAAAAOAkp4KBAQMGyGq1ytvbu9BlA9WqVdOHH36oSpUqyTAM7dq1S59//rl27dplCwXGjRun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d6ivPccbHBws6fpfln5r2bJlN12iaK+tW7cqMTGxyPZFixYpMzNTTZo0KfRXsgEDBkiS3n333SJ9DMOwbS9oBwC3A85pt8Y5rTBnzmn33nuvqlevrosXL+qLL74osr/gJoIDBgwotBqhWbNmtpsnfvTRR0X6JSYmas+ePZKkvn37OlRTaZTF+wxuquyfiAigouTl5RkdOnQwJBlDhgwxLly4YNu3fPlyw9fX95bPfJ48eXKhZz7/6U9/MiQZVatWNX755ZdC88XGxhqSjFGjRhn5+fkO1/vLL78Yzz//vLF///4i+7Zt22Z0797dkGS0b9/eyM3NLbR/6dKlRpMmTYxevXoV2p6RkWGMGjXK2LFjR6Htubm5xvz58w1fX99bPqe4JDt37jQkGU2bNi30TOYbzZ0715BkNG7c2Pjxxx9t2//9738b9evXt33/S3rm82+33+jGZz6HhIQYKSkptn2bNm0yqlevbkgy3n333UL9bnzm8zvvvGN75nNWVpbx7LPP2p75fOrUKQe/IwBQdjincU4r73Pam2++aUgy6tatayQmJtq2f/rpp4aHh4dhsViM7du3F+m3atUqQ5JRuXJlY+3atbbtP//8s9GpUydDknHPPffccv6xY8cakozo6OgS2zjzPgNuRDAAuLk9e/YY1apVs52g7r77bsNqtRqSjGeffdb2C9OJEydsfQq2zZgxw7BYLEZQUJDRpUsXo2bNmoYkw8PDw/jss8+KzJWcnGx4e3sbkowmTZoYvXv3NsLCwozFixfbVevx48cNSYYko0aNGkanTp2Mjh072uaVZDRr1sxITk4u0nfx4sW2eW904cIFW99q1aoZHTt2NLp06WL7nkgyBg4caFy7ds2h76thXP8ltUWLFoYkIygoyOjRo4cRFhZmPP/887Y2165dM+666y7bLzvt2rUzWrZsaftls6Rflhz5Jer3v/+90ahRI8PT09MIDQ01WrVqZTu2Bx54wPZL0o3mzp1rWCwWQ5JRp06dQt8THx8f41//+pfD3w8AKGuc0zinlec5LScnx/jd735ne5906NDBCA4OttUzY8aMEvsWhE6SjBYtWhidOnWyBSfBwcFGampqkT6bN282goKCbC8fHx/be/3G7Te+v515nwE3IhgATCA5OdkYNWqUERQUZPj6+hrt27c33nvvPcMwDNuJ48a/vBT8EnX8+HFj7dq1Rp8+fYyqVasaVapUMfr27WvEx8eXONc333xjhIWFGQEBAbaT9Ouvv25XndeuXTM++OAD45FHHjFatmxpBAYGGp6enkatWrWMvn37Gn//+9+Nq1evFtu3pF+isrOzjZkzZxrDhg0zmjdvbgQEBBheXl5G3bp1jcGDBxuff/55qf4SVODHH380Hn74YaN27dpGpUqVDElGWFhYoTZnzpwxIiMjjdq1axs+Pj5G69atbX/VcMUvUa+//rpx6tQpY9y4cUa9evUMb29vo1WrVsbbb79t5OTklNh/8+bNxrBhw4xatWoZXl5eRv369Y3Ro0cbBw4cKPX3AwDKGuc0zmnFKatzWm5urjF79mwjJCTEqFy5shEYGGj07dvXrrBhxYoVxn333WdUq1bN8PHxMVq2bGlMnTrVOH/+fLHtN2zYYPswf7PXjStinHmfATeyGIaDd0kB4DbS0tJUs2ZNVatWrdB1gVarVampqTp+/LisVmvFFQgAgJ04pwFA6XHzQcDEFi9eLEnq2bNnBVcCAIBzOKcBQOkRDABubt++fZo/f36h5z4bhqFPPvlEf/7znyVJzzzzTEWVBwCA3TinAUDZ8KzoAgCUrbS0NE2YMEGTJk1SkyZNFBQUpGPHjiktLU2SNGHCBD3wwAMVXCUAALfGOQ0AygYrBgA317ZtW02ZMkXt27dXRkaGEhISZBiG7rvvPi1ZskTvv/9+RZcIAIBdOKcBQNng5oMAAAAAAJgYKwYAAAAAADAxggEAAAAAAEyMYAAAAAAAABMjGAAAAAAAwMQIBgAAAAAAMDGCAQAAAAAATIxgAAAAAAAAEyMYAAAAAADAxP4f5zY2h9CCSSUAAAAASUVORK5CYII=", "text/plain": [ "
" ] diff --git a/examples/notebooks/OpenAIChatFunctionExperiment.ipynb b/examples/notebooks/OpenAIChatFunctionExperiment.ipynb index 13c5922b..f983c0b3 100644 --- a/examples/notebooks/OpenAIChatFunctionExperiment.ipynb +++ b/examples/notebooks/OpenAIChatFunctionExperiment.ipynb @@ -98,7 +98,7 @@ "metadata": {}, "outputs": [], "source": [ - "models = [\"gpt-3.5-turbo\", \"gpt-3.5-turbo-0613\"]\n", + "models = [\"gpt-3.5-turbo\", \"gpt-3.5-turbo-0613\"] # You can also use a fine-tuned model here, e.g. [\"ft:gpt-3.5-turbo:org_id\"]\n", "messages = [\n", " [\n", " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index 28ca9c30..f77593e1 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -27,7 +27,7 @@ class OpenAIChatExperiment(Experiment): - For detailed description of the input arguments, please reference at OpenAI's chat completion API. Args: - model (list[str]): list of ID(s) of the model(s) to use + model (list[str]): list of ID(s) of the model(s) to use, e.g. ``["gpt-3.5-turbo", "ft:gpt-3.5-turbo:org_id"]`` messages (list[dict]): A list of messages comprising the conversation so far. Each message is represented as a dictionary with the following keys: ``role: str``, ``content: str``. diff --git a/prompttools/experiment/experiments/openai_completion_experiment.py b/prompttools/experiment/experiments/openai_completion_experiment.py index 3337917b..f04a2e1f 100644 --- a/prompttools/experiment/experiments/openai_completion_experiment.py +++ b/prompttools/experiment/experiments/openai_completion_experiment.py @@ -26,7 +26,7 @@ class OpenAICompletionExperiment(Experiment): - For detailed description of the input arguments, please reference at OpenAI's completion API. Args: - model (list[str]): list of ID(s) of the model(s) to use + model (list[str]): list of ID(s) of the model(s) to use, e.g. ``["gpt-3.5-turbo", "ft:gpt-3.5-turbo:org_id"]`` If you are using Azure OpenAI service, put the models' deployment names here prompt (list[str]): the prompt(s) to generate completions for, encoded as a string, array of strings, From bba353ed93b96004301ed3eddc111445969b7361 Mon Sep 17 00:00:00 2001 From: Kevin Date: Sat, 26 Aug 2023 23:49:52 -0700 Subject: [PATCH 017/182] Updating OpenAI Chat experiment to work with Azure --- .../experiments/openai_chat_experiment.py | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index f77593e1..21828beb 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -28,6 +28,8 @@ class OpenAIChatExperiment(Experiment): Args: model (list[str]): list of ID(s) of the model(s) to use, e.g. ``["gpt-3.5-turbo", "ft:gpt-3.5-turbo:org_id"]`` + If you are using Azure OpenAI service, put the models' deployment names here + messages (list[dict]): A list of messages comprising the conversation so far. Each message is represented as a dictionary with the following keys: ``role: str``, ``content: str``. @@ -75,6 +77,12 @@ class OpenAIChatExperiment(Experiment): function_call (list[dict]): Defaults to [None]. A dictionary containing the name and arguments of a function that should be called, s generated by the model. + + azure_openai_service_configs (Optional[dict]): + Defaults to ``None``. If it is set, the experiment will use Azure OpenAI Service. The input dict should + contain these 3 keys (but with values based on your use case and configuration): + ``{"AZURE_OPENAI_ENDPOINT": "https://YOUR_RESOURCE_NAME.openai.azure.com/", + "API_TYPE": "azure", "API_VERSION": "2023-05-15"`` """ def __init__( @@ -92,6 +100,7 @@ def __init__( logit_bias: Optional[Dict] = [None], functions: Optional[List[Dict]] = [None], function_call: Optional[List[Dict[str, str]]] = [None], + azure_openai_service_configs: Optional[dict] = None, ): self.completion_fn = openai.ChatCompletion.create if os.getenv("DEBUG", default=False): @@ -126,6 +135,20 @@ def __init__( frequency_penalty=frequency_penalty, logit_bias=logit_bias, ) + + # These parameters aren't supported by `gpt-35-turbo`, we can remove them if they are equal to defaults + # This has no impact on the default case + if self.all_args["logit_bias"] == [None]: + del self.all_args["logit_bias"] + + if azure_openai_service_configs: + openai.api_key = os.environ["AZURE_OPENAI_KEY"] + openai.api_base = azure_openai_service_configs["AZURE_OPENAI_ENDPOINT"] + openai.api_type = azure_openai_service_configs["API_TYPE"] + openai.api_version = azure_openai_service_configs["API_VERSION"] + del self.all_args["model"] + self.all_args["engine"] = model + super().__init__() @staticmethod From d3e8c2a9e7ef474ef70d2aea3f87675b84b5f687 Mon Sep 17 00:00:00 2001 From: Kevin Date: Sat, 26 Aug 2023 23:50:15 -0700 Subject: [PATCH 018/182] Updating Azure experiment example to include Chat completion use case --- ...ynb => AzureOpenAIServiceExperiment.ipynb} | 159 +++++++++++++++++- 1 file changed, 154 insertions(+), 5 deletions(-) rename examples/notebooks/{AzureOpenAICompletionExperiment.ipynb => AzureOpenAIServiceExperiment.ipynb} (54%) diff --git a/examples/notebooks/AzureOpenAICompletionExperiment.ipynb b/examples/notebooks/AzureOpenAIServiceExperiment.ipynb similarity index 54% rename from examples/notebooks/AzureOpenAICompletionExperiment.ipynb rename to examples/notebooks/AzureOpenAIServiceExperiment.ipynb index cea7ef3a..8bd47786 100644 --- a/examples/notebooks/AzureOpenAICompletionExperiment.ipynb +++ b/examples/notebooks/AzureOpenAIServiceExperiment.ipynb @@ -5,7 +5,7 @@ "id": "0a13ddc8", "metadata": {}, "source": [ - "# Azure OpenAI Completion Experiment Example" + "# Azure OpenAI Experiment Example" ] }, { @@ -57,7 +57,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "id": "ed4e635e", "metadata": {}, "outputs": [], @@ -77,12 +77,12 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "beaa70a1", "metadata": {}, "outputs": [], "source": [ - "from prompttools.experiment import OpenAICompletionExperiment" + "from prompttools.experiment import OpenAICompletionExperiment, OpenAIChatExperiment" ] }, { @@ -102,7 +102,17 @@ "- Pass the names of your deployed models into the `models` parameter\n", "- Create a dictionary to specify your Azure OpenAI configs, which include 1) link to your end point, 2) API Type (\"azure\"), and 3) API version\n", "\n", - "Everything else should be the same and you can test over different prompts and parameters as usual." + "Everything else should be the same and you can test over different prompts and parameters as usual.\n", + "\n", + "Note: If you do not have an Azure OpenAI Endpoint and deployment set up, you should first follow Azure's official instruction to do so." + ] + }, + { + "cell_type": "markdown", + "id": "f2e51d6c", + "metadata": {}, + "source": [ + "#### In the first example, we will show you how to use Azure with `OpenAICompletionExperiment`. This is for text completion." ] }, { @@ -232,6 +242,145 @@ "experiment.visualize()" ] }, + { + "cell_type": "markdown", + "id": "9384ab39", + "metadata": {}, + "source": [ + "#### In the second example, we will show you how to use Azure with `OpenAIChatExperiment`. This is for chat completion." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "4cf5897b", + "metadata": {}, + "outputs": [], + "source": [ + "# You can test multiple deployed models here, use their deployment names on Azure\n", + "models = [\"REPLACE_WITH_YOUR_DEPLOYMENT_NAME\", \"DEPLOYMENT2\"]\n", + "messages = [\n", + " [\n", + " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", + " {\"role\": \"user\", \"content\": \"Who was the first president?\"},\n", + " ],\n", + " [\n", + " {\"role\": \"system\", \"content\": \"You are a creative copywriter.\"},\n", + " {\"role\": \"user\", \"content\": \"Write a tagline for an ice cream shop.\"},\n", + " ],\n", + "]\n", + "\n", + "azure_openai_service_configs = {\"AZURE_OPENAI_ENDPOINT\": \"https://YOURENDPOINTNAME.openai.azure.com/\",\n", + " \"API_TYPE\": \"azure\",\n", + " \"API_VERSION\": \"2023-05-15\"} # Specify which API version to use\n", + "temperatures = [0.0, 1.0]\n", + "# You can add more parameters that you'd like to test here.\n", + "\n", + "experiment = OpenAIChatExperiment(models, messages, temperature=temperatures,\n", + " azure_openai_service_configs=azure_openai_service_configs)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "6eab3877", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperaturemessagesresponselatency
00.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington.0.903520
11.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.0.815370
20.0[{'role': 'system', 'content': 'You are a creative copywriter.'}, {'role': 'user', 'content': 'Write a tagline for an ice cream shop.'}]\"Scoops of happiness in every cone!\"0.517402
31.0[{'role': 'system', 'content': 'You are a creative copywriter.'}, {'role': 'user', 'content': 'Write a tagline for an ice cream shop.'}]\"Scoops of happiness in every cone.\"0.508131
\n", + "
" + ], + "text/plain": [ + " temperature \\\n", + "0 0.0 \n", + "1 1.0 \n", + "2 0.0 \n", + "3 1.0 \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a creative copywriter.'}, {'role': 'user', 'content': 'Write a tagline for an ice cream shop.'}] \n", + "3 [{'role': 'system', 'content': 'You are a creative copywriter.'}, {'role': 'user', 'content': 'Write a tagline for an ice cream shop.'}] \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. \n", + "1 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "2 \"Scoops of happiness in every cone!\" \n", + "3 \"Scoops of happiness in every cone.\" \n", + "\n", + " latency \n", + "0 0.903520 \n", + "1 0.815370 \n", + "2 0.517402 \n", + "3 0.508131 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment.run()\n", + "experiment.visualize()" + ] + }, { "cell_type": "markdown", "id": "266c13eb", From c4ee218f883fc912b86f87880168a61b19ca7e90 Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 28 Aug 2023 23:59:46 -0700 Subject: [PATCH 019/182] Add image visualization to Replicate experiment --- .../experiment/experiments/replicate_experiment.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/prompttools/experiment/experiments/replicate_experiment.py b/prompttools/experiment/experiments/replicate_experiment.py index 316b7a05..bd6fe073 100644 --- a/prompttools/experiment/experiments/replicate_experiment.py +++ b/prompttools/experiment/experiments/replicate_experiment.py @@ -74,5 +74,15 @@ def replicate_completion_fn(model_version: str, **kwargs): @staticmethod def _extract_responses(output: dict) -> list[str]: - # TODO: May need to extract image from the URI, perhaps with `cv2.imread` - return output["data"] + return output[0] + + @staticmethod + def _image_tag(url): + return f'' + + def visualize(self, get_all_cols: bool = False, pivot: bool = False, pivot_columns: list = []) -> None: + images = self.full_df["response"].apply(self._image_tag) + self.full_df["images"] = images + self.partial_df["images"] = images + self.partial_df = self.partial_df.drop("response", axis=1) + super().visualize(get_all_cols, pivot, pivot_columns) From 0d639a55d44649985885ab2c163d2b7ebb65ede5 Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 29 Aug 2023 01:37:49 -0700 Subject: [PATCH 020/182] Update mock and visualization functions for Replicate --- .../experiments/replicate_experiment.py | 24 ++++++++++++++---- prompttools/mock/mock.py | 15 ++--------- .../images/19th_century_wombat_gentleman.png | Bin 0 -> 613978 bytes 3 files changed, 21 insertions(+), 18 deletions(-) create mode 100644 prompttools/mock/mock_data/images/19th_century_wombat_gentleman.png diff --git a/prompttools/experiment/experiments/replicate_experiment.py b/prompttools/experiment/experiments/replicate_experiment.py index bd6fe073..636e879e 100644 --- a/prompttools/experiment/experiments/replicate_experiment.py +++ b/prompttools/experiment/experiments/replicate_experiment.py @@ -3,9 +3,15 @@ # # This source code's license can be found in the # LICENSE file in the root directory of this source tree. + +import logging import itertools from prompttools.mock.mock import mock_replicate_stable_diffusion_completion_fn +from IPython.display import display, HTML +from tabulate import tabulate +from ..widgets.utility import is_interactive + import os @@ -81,8 +87,16 @@ def _image_tag(url): return f'' def visualize(self, get_all_cols: bool = False, pivot: bool = False, pivot_columns: list = []) -> None: - images = self.full_df["response"].apply(self._image_tag) - self.full_df["images"] = images - self.partial_df["images"] = images - self.partial_df = self.partial_df.drop("response", axis=1) - super().visualize(get_all_cols, pivot, pivot_columns) + if pivot: + table = self.pivot_table(pivot_columns, get_all_cols=get_all_cols) + else: + table = self.get_table(get_all_cols) + + images = table["response"].apply(self._image_tag) + table["images"] = images + + if is_interactive(): + display(HTML(table.to_html(escape=False, columns=[col for col in table.columns if col != "response"]))) + else: + logging.getLogger().setLevel(logging.INFO) + logging.info(tabulate(table, headers="keys", tablefmt="psql")) diff --git a/prompttools/mock/mock.py b/prompttools/mock/mock.py index bd52595d..d574f234 100644 --- a/prompttools/mock/mock.py +++ b/prompttools/mock/mock.py @@ -8,7 +8,7 @@ These mock functions exist for testing and demo purposes. """ import json -import warnings + try: import cv2 except ImportError: @@ -142,19 +142,8 @@ def mock_stable_diffusion(**kwargs): return cv2.imread("/mock_data/images/Just_a_fruit_basket.png") -# TODO: Consider return URI pointing to local images instead def mock_replicate_stable_diffusion_completion_fn(model_version: str, **kwargs): - json_string = r""" - { - "title": "Output", - "data": [ - "https://mock.com/1.jpeg", - "https://mock.com/2.jpeg", - "https://mock.com/3.jpeg" - ] - } - """ - return json.loads(json_string) + return ["/mock_data/images/19th_century_wombat_gentleman.png"] def mock_qdrant_fn(**kwargs): diff --git a/prompttools/mock/mock_data/images/19th_century_wombat_gentleman.png b/prompttools/mock/mock_data/images/19th_century_wombat_gentleman.png new file mode 100644 index 0000000000000000000000000000000000000000..1d134d8fcd8137d88dd0c51c2094d4e8d94e5547 GIT binary patch literal 613978 zcmWKXcQo5w7{`A}5PK_XkJji=qqQZ9TCLqdwJ55nUDU`x)hJ>Wt(B@hYOku=SX-H3>8nSv%_;R%|`@Qo6o5voP{COIRzWkK^SX!P} zKVc+LR$l&TMmDpw;#*sPzkuwyf5H9w{PLQDZnv3@io%=D^&asL(p@JU{oNzRU)7O9 z;vbCL;4v~D4{_@|fw!!6OlK^fxR#kHpL~5#w&_-%a65P0<#G8C&TGrP)+#XN=27Eg z_qKt_MjMZZwKrE3(uk8R=dSKUfi?)!7O%;2!dRpyYR>H%Wh!H{>NG6Coo}tGFtq#Q zTeXVj1#(~g74_554dG5iC$z@h z=V~J+6mx68tZUiPoz)`Ro|w#5w}k|Bs7*h2eKcEznU56PJn}f@Wt`aA3_-M<^+&T@ z=PmaNJJOkGRCoz7)|uGJ-8tUrCm)3Ap@w0wro_fSzE3NmymS>+fm3vocan!|m~C+T zSQgT)=KCnG>0|unei`jGoe=%2jep6D=kLQ&sCE&q_RlyNzNay@G3N(Jz)1j=JA5ox zbDqd^7V_wAX!~b@&oW6JPE%~X+8IYP&8=~IhXJ_&98x0x%`K?jN{2OqBaZ$ zp`hZv#9KS`O_H0Pa=#CJzty1Sse?@DIcr^q9NhY<@SKb6^0Ie$r8pP&EqCV|ak6q} zn2d~i81?e?917D8TO{*8&i!?;4pD4FA;+3TdL9WLzcj(g*L(HbVP>~Jslpy4MBr3b z$@`8|_@2MB2kp!irznk{z!Uk3S~lF|YCd(<2N&?0I{b|%6w!&2!mI6Uz9p4YhavBf z6{MSrAxky!WUmE{xQc&am+DZ7nm_IgWFxyoO{kbs>`qQQohh3fR7~M{D+8>^@$?&! zU_6gWA{?|KJE(z_*)!Q(8OecYk&vgj?+4m2URCO!1lhsp5VJ#a()AofVa10`{Cw^yEpWZE7dgo}UUwb3JVQw$42h&rHCVZ@^zUOY2 zexvxqWVWmOVL?O1w0zMBZ0zrFW_fAJywPT9`Pb&o>S3SjE3Y5ojS&?D!|^F%G9iGn zUNocU(%v_JIz#Pg3w<(#JpR5($lcDWliC)jlWK=OGyRj>C?%4$=llan?T8gZz8+)! zmtI21L#!s5R48<^?oT|#cs8_O+iG}%Z|~F!+ID?_Jb`-j6n&}N-Zy&Om;VxHA5n4P z;>)_$858TR<_XpUnB&3hyo23EQnBXA_yhHTokXEl2}e`h=!PVAJg2#K+z>vK)878W zEML|AkADZS<7_*u$oV zV&IMi2HGAoovj7)vKQS2w>I^dH%JF(Y_eX(BNiV#cVUWzH)77$tf4F04FJ;4Z6=&X z>3FwD`P8wj0IE*AWh+?`q4`zXV(ywaYrTnrDBU2EwKp#dhXVX^$e{L-C1mEt1A zEGw$=yIo+MHaIwxy+4K>pv-i8l{3?H+8s3CYUgh`@7^K`qzfbo@N;$y4xA3jh};#W z*Ek*yG*xd>djUDKo>13b%M=-f|K23`%Eepb;@E;IPjlPp7N+SeI?&Ub5vC>)&)Vs< z>1x&?16tCjes;hP5?V#ML|g>6hxNE$+wPx}(L)Q&*h7*iT~#dm&z`ooLcOOK_-)BY zLhO*IwYV^6I!`-%zF4&G(+iJ+O_f;`2hFV%`wA3?rY3OKUHIo@hkEjRy2&0ZD@tY-TsBP;S8OhhO>3pg*-)A{!u!BEigxAwO;ymQ`)@>5jX zFz1*G(~T*bDT?~rG||i7#c7rVEZgjGjXN&3x-=H@g#;D36w35E!bB|%L}7qY#ICWY zW})atZ!FK^FNmt?%&<9y4IgCgCt~lTHN`TS*yYf*qFCD3VshVvvm)|YrDnY~)jAKC zTm;~JRXhv66}xLa&}f}xnhmtdI4&4S;Me*n0GhqXCJ5Ke- z`5%eAAx)OfD8L)zC-)oydxDGy5!nHHNQ+uI#!V+DFTCf)fKcM;-uY z=a0JSl!mm~r{q99jt*pRO!t$v#t(ZVxtsOv!(Dt?8<216w96i>`yM91sH&7;gf-i! zn$i%IVU5$iwoPnPJIhfI5!eC<-35LzF!ERh)Y<4f%)A-kQZ6yMIgH3;)_&d^frtWH zyCHpQP_i17SO-D5d!@tMs>ggTr!>%^$~}FUeZgicOtX6*N>_u~+}s5Z1o49H|B5if zd+(v02@xh>*|WXchjy;K-&UB_H}9dI?Vye`2}wI!^(gXu^7-GgCqx0Ze$?K0ou)sv z_?+@dm3%bEMO3%TK{}0y=x^=nd?ucmPHaV@nx-j>#$##CTerz$icekApBx5kUae?I zaBrOM-L7b;Y#43(HSXl-Kf9Isp|Ijs4L*XH4tY2$*FNgfv-6?qb71_*sMqk^xTEP@ zTD8kg|5TFt7_mzS5%9P3dI)7GRTK5NS@U3J_@rhm=iKJ~`F19up>ffYn8Y-^TTEqc zS=dq}BsaGH_|o*(vB43K&)Q3!$|>c9lH6wR-(Qs~p6@?%+WI0>@8R4cxKMV6@o89= zYAP)l>TEHQ%06PJu|m(hYQ0IiRaF*Dh1fqW2{7@l&9$dw(82mB*4JdHwHM2OSli<5 z+o_*eyID_q~Y> z9x6&&3ejk$91kO^gCV@!Okq_>0$NAa-$g!9+(Y>lQaHmG>ax>?Z` zLvg74qXeia+f6DdE5bFU!5w5F$D!ULU!)Gv0Q5q5^$zWppEk27E$a{(X50=jykKu9 zIup~|=H)QOOLw)S&CX5R2hkp3ffG09G-uj;)>i|=HK1*}GnT^Z90 z3TP10qxHtpNvm8=`|`oFM6g`MhSnRDrww8^uP{K1C@;`<+?H0+2QKEyfEln|w-TZ7 zSH6DztCe=#W(mRn-Q{LO?-d&$S-`9L9yR(-?{)AE~tWglE zYyT?3Pt!#aiogBdz7^Fowfd@7kL5zZvMm(5e70Rs`;9L=V{GmZ(f*U73a8 zX9#qN$q4Kiph5R$tbN?nN)Y>EnV=`>%>N^9vK&(^Y=&u^9 zT>3VTtex9^%zuGTqIq8ZTvqoO@gZ zu2$s(a1B_TF0z>(I-VXD`Qt_P z#TTE?61a$)vy8;dkZeFh!-cwtr4Fe35oe)ywql}s2z^oAgky}!^oWQ^odgCk(xx=` z{4p+|;e0w1_pAUF@WDCosUsw$Vb*HJb9UCsL2*!hD|NAgclvox6hVYyS}D}#G8%^Z zo$yEP#qghx^^V8H*@I)XHC%2ze#f&BzvEWp7&tyV5LmDkS^31#^!%uYu={Xei@`+- zm5qCro*no#J8)xj>j`hp&InbNxCcA0B3#Eg+-Dhjy&=n;%~j7eoqlo&vr<@);qGT|2!{8A>g+a|%ghz-S|cJU?Be8LsK;{Z#|Z;SmGCq3dCmp9 zxux9y{AkU6CG^S{py zXalS#=gNNrqHK(ARG#z{~H<`SO8Z!am-De(cZH(N~I#KGTO z&s(quiYpNgV-pnL+`#geutu`^r+CbAO1WxV4 zrUd1mrR{lQNG;{Al8zO?H?4sNX-F&h*o2l10`>#4hP7E|gcfcV{`|zeO52N8k-dx_ zeDr%^M9WER6x^z|n!;FMb+`NL^)iu{lU<~#Eo~MM%aUXg;xnd#MOd=n)SSykqH140 z#V1AI3NQe644d!KgP3YimR?caUfls5ISZBkfU~H?jmo{f_JYPSH_Z&)o4+!)7wmQx z=Ks=Q+h+T2>(77${hP-nh^byXxE+pmutCqod?Y$|QpT>-hT(Q*MRSp5ED#HN^XX4# zTWNu|wtKyojyIzioN%XL-tyr(>5=2573T*ZN^84cm9^sk22Mx1WV!8VkWn*t9EvoL zTK%D9YcgIgaJrV2Vv6+onbYLe#fpP@3~OjO4{K~-Fn4EDj+tjh^e=3^&z*B>r*6kL zOjnIJd^=)pSxs(yys=?AQ|0LSCGXE=f&Q0u$fE2T>%i)B(vFQrzeqjTv587A@7A1>u?E|+e8iv0e zylNqBDNq04{Wd)WJ63AhLZnYk2<6t7UWOi@`p!Oi;-+3|%)Phs%TJPe@rpmuaviW+ z!rG17y7LIHryS!}W@9A1^Ui3*PEyETi}{T=tzA%!`?AtBEG9IMCbxiGB8N0Yt$=yQjCGmu~oSj<7vGdWU)i z=gqj_k~1eJW%W7xbl#SHtt-=^gI2&=g(=!QAFpMqHBVygPEHB!h+1VfJy(TwWbb5I&BRZ(MIw z2@o(mKduNZsJ2ka4GDVvJN%9JLJ%DBD|r9+nJ^54URfO!xYee03Cp6Y>BYq=`#FXg zW<=A>Op4EmYwMZ3d}$1dh3@92&P+y2>MzqK%IPpNxF&^(UNY1*d1b1^s^T*wYNlt= ztxD$vx|y`GNH3^3J2LAN z&F;A-tSw>ssb-Ck>bXf+aBdz6)Zl`8Ij~1|Q3t&mMYnl$w<~LMBn8h%P_N=PC$9pm z46esJD}Druu#p3fdFLpoBVrkMy^`B?V93WRjvmhE2cSX?Nm#xX1Bt}KtwVIAd=*E* zSdTKTl7u{wd2tm-s&j>ltXx&)o<}UDY|BY|7TC^r7h^=XaHEl- zKwEBTJ6Jos_0S%3fqVX0NBZ{h4&e?*z{2I?Em4mxkV~M;GFfv5kN6F-pe;!dWf{~o zd7);Yu57@M7F2rW|LA^ZO8CTO%&z9f@j@#1EB}jNGk0|%$dxQ+E2aBPWwHXBFZK0G zxWX^aT3Wl|vk_@ed?y69hUa}gY9a^TobR{Ml8d~KW-GUU&U)?mWl>H(>Qlyuv+Daq za+DN-1lz9XMSXoKr=j5}r}6c<-1&E2LL=_v+r90xIK(yqZ*wH2<#uoOOLaL)-|K$N zVBN!M8Q7`a3h}>eRdu9Gr*`{rLTJla!raVDsqOx$>XsHlGdXyxncT9~+@el+KPyY1 z&Nt7Rgs#Y{Z!b`j+o@~3kFTDuvrUKKLJM2Zvud}plyls6T1gtS4TO{jHpq(i<6AXP zR@#1VH4yH%aE}};4P>392G`lmm~BdSnubScN{X&Xwa$MI@Fg2i-kSjZn`IS+4D0#x zqeDMG+Pj{C6hIS?ub_%yUb`vt6FaD{`s8Il11Y7z#*@@qU#!2aSaJ$M$97NUlN|2nCq=z_1K8G1iG?DD@2*2A)@JsQJPika?hyufY z9l{TW;>%v3VnOj?d7{7Yn#%~F6~$pDwC52)Q}x6%vh&s5h=B#hq><>SihQdG_Dc#5 z_Cf)`<_Bj{7noR!0=pty!5-2Dc3FOy1i`#|;M+gURjr8Kzqllrq*kaU{`W!g*FPn!uCWU163`+FO$Oah(O2$< z@trWb1D@Jipb5|hI}bgmu;YgS-jow)i(0aW4_AUrQchX*c3#$sh;!)D?M87YT4e0{ z-JyiM>>C~f2c0K2NM$ANX6G|T&%8&XnadL&=Cac}U?obW2<#S0suXj*uM)xteXTZj zRlmM7hqR?yMX1aBi+p~Z@=NB;zas}lMbYB2Z{tw0x(5u=7dXG$_E~J3#+WMf~L!c_k39PMRfDoI$0EG7|<^ce>x&BfiZ`CvCNx$ zL2w$CM%@EIT{06#tKF0MPQ2q>)>SwhxG{X2QFIS3kTkmejF##JZ6W4 z)j@*syB&sOb~8PT+wvmE-BJ1MRYFNxs%Hseu;-YwF~nT#d<&DR6jYbOI;#2MHDNPo zFc>XzA3Gre3KoA2LUuzs8`2~ZSplLwiVKzMibg!UTCv(Xg>yDFbK=l%rptDC%*r); zer?wX@aQwRu@Sb0pA9ZOcQgJ-Sn{DY-ag%<<TOK2v2sIbXrC$!AG+YiDGVG`g zRN;T^{p;x&o+o6H!Wwd-UO==9Or0@qOrJ&}VD9?c0yWd6m?@|UY+wj6m$|i7JO6?= z8)pS(3|QS-w{BUy^pY;45d8Ogb!crS^|P+5gEX(JKD13gU5 zy*dhvudDS@j!bCW&X?;+hMpTQ_V6qd3$yjWHU;S@b&?jm$xjsU2>v+(6$Sn=DbWMn zQeez3g_`t1yFDXB@!2!i-f+e53AVY{lj-{46Cikq4&te1=JQ+lZ!C;ADc19Fe} zr0%37fLB|+t9>~FO<0Xs;Gi{c?^QZ<%$&gM+zfIIjr0`fJaq|)5H0>?0QcUL3yO;-R4DWKBYvc9^D1dFGHxwAA$+} z>e~oD5}1?%wilrL1hVU)oV z^g1-D!?)G;XM2D3Kdz)hb1X`@bLklmJR4$YK<;FOt zI7=-_&%8h_-W;?{rj`<6WIY42_a=|B4$od-|Lt;xn&9BgzIiFQ0%=9eS#- zhYoD{Wa@=)9Oy@b{|iT$da$2}YcJ{V4iA48{O<%(2PjMoyh+ceTYfQl^G&CstP&6; z?$b=dNAY}u*h*jcZp@Am%VsKIG>|Bd`eSMXjEljA`?SQJ3TUF^f(CcEU*CzAUM-B`YI#o{YUNA z4BupB_Y{*j$rZ2U?l3D|XUKnV4zy{6XzV4IskCQYOQ)>jl)q{vjQLX}jBbti3dk_w zQ2!}jlENF8EPcnk70yHR-*Qom}ilQYVTy{NoP4l*~ zKyr`%mmc>qDU0DItluKu?lR8RiY*$AakSLkS_CD^Px1Bwj6e{I9&YX<`t_j+N<)xZ z{Bd98-d{FxkC;)zAC}S?9-q&_$nMqvDDlo8>XOx!$iICV-N7=&T7?bEx8>i<_2YH~ zWBzDivLzxE$n`5Ff8CCc$`1~-G`E(d-qW^y+86PoJ7-ApZ;!#eXS@mU@vB7V@?{}vX{?w0Y zQ7Ff=v@ZWD4=ubB`5@AUd=#Nb93bD>!g-3+;k1;zOtorcxfT}n)6YgasrW0zzZjRT zg4}B}Nl~j?kv*ObE<5CKgjVgGkz8}f#&v4b&8LX>{^R!_eJSZTQQhyT()2sV3Z0u| z3bjjk49|@|lbg@2=iS)|uvi#?(1!F`{}2)0R&J^6eoC6C57<&aB94A`B;wB}r;6qS z8d{G`=U?En{nMU!4`psy=2D^wzPoaj^A3+2klhVC({7h;hP>2wj>#}_Ej9XC#F5@c z^$rE~?=?DXyYuYofTcm@df`5F;|o&dpFWR&JbQCXtWT*xmvM@<9srvy%{u$e-O^1E zsVgJy_$z70!2Cbyi+2%P6N}w*rtt zntxi~54{37nO*XeCH&gkkDF$x34(W0S$q9HaXDMgL@5;tguN3=r|>0l+`~RfhILN$;HO754GWIbeUf zK^~(*1OGw9Cgmw?csy+QY1bt65z{CT57Q`cOfEeMLQe6@Xy0H-7y0}m5 zoH{01(YG`>#eqZ%2FlK@=o;Xr)6$Vly<%pNkqkT znfy)$+`*sd9AZV=@X$Fd#XyFM^&?tJ*Ph=0PXAq?-oWK&x zdG6ONSooMh_PvsTHI3cM2G@~sLHIkd13$sf$n3S2lhE6Ov96J3J!Z{K7&GY`4S#3p zyLhOMw>k4!vBGebJjtYxzz*1K%YWyQi~iEfA!m&FG{qN1Z>Cw%=Syia=KeTLPie7R zX#23yBBfy$a^Mk(*!{i~Rh1o<~+6#sS)^qdSOMWD*9S{}p43y(9zkN(G}Y0;>xk z(I?q%@A~T%dUQhpt1iNSY;dBxFU4em&w*mvhNR}SPL%7+uq?7N%U^jz03&beHYL`}*QS2w`pH<1A z^~2hpvCdEPPq4lD2aGN_)%oNhG(hGQsLz65c3VfZ{4e&C!1&Ig&%ZGOX&%l*2^Y5A zrQP&$k>~9{@9MHc26UHoL#l%4Vw*k~N_bxlWfcb)_~z7CBF3u>jO4mu(OrV|YpIVM zmc@52T1Z1URju-v=pN;TW}QUDT$=#3PR$%sn^z0OU8G~Ll`aHtSFP$MJh)Ax5Q_#Xrl<%LJBWA;^@&g4%aFBgW` z{6)Wk`0%|lmN+{z%{H_kAj^!%tZndCrOyMFQkEQ+(Cy7ujN@9H=zn+wU-FLW4bHVWGIV25a|HXaiX7kB%v+vQ!5;$B^nR4|~iT3lD8dX?U zrF1+qZN!rKN5^Xx4*8dxcy%9%Y7aOVrE=C@JeN^~Im^(->FG??NN&0l`A~{?J_~ zSodpQZI%VOVaqUhG!oQm#PTX(RXhrZS>EZX_D$st8dM!JRdN;nGUWWJ8&vnsLsq?sXjsDS+aGkxv;P}*|oI7l20Ru#1@m1kmcqG?bq5CTj z3|+A)=xdL^Gz8}OCA1#ZO+ISa<01|RUYn|HQ+6`d(AYr3Tufmaj>B3S1qvN_VgA}B zoZQr&zTkHe{%Sm`>17WpwDx?l2<3>OHbWyH+PbampepO%dsc^OKAe@2)A&_jL;W1+ zvh{=fl`s{UO{0-`?A&D%iW+@NlnYv+l(&XHjMqG_=M14xJjsKBXX4Ep&sr94qMmsn z37bM^!&S%sQnn?4{QkkLt=pxQ#~uR-nA!V}uQy(6sr13()~^=*G?H04C>HLvT$Kt} zi1tP1N4&n)oLH#F0UibS$1C}QOKFH`n1LhAcNj8&@e*8ZCC1p|J28&4FvZH9p+F8Q08?W<~0Qy+65 z?GdHF;|i(LmWzL{-65IdahI@iYR4-iIkQTUSae!n;#RYDNfF_Qb~<Ta*k|@0^zQP}ysyRkMAFA@pm%8i zl0r7f)Aw@^+)$FO7^2p@ZNvbq#nS1-O8vbAe&`H336WtG8$O`VC?mpRoQl|joPy57 z2e)%;BX!=fY8WS{gVxp&KWu|WHC*I?3nS{B=l>z;LD+Ob2^qHDpPWgUl*;LHmQ#r& z)k4_H;bfj68!O7~%$!GBb2-CIEL;>$Fa8y;SedrSF?h#XtY_FObtW-1A(SFn5XiSi zlA8d{-O#)ZH)@FQD2kq}p&2s}Dn>WiH%CM_y-&+Xj z{iNf0*0^@8qB3l&ETzy*A+>kSiE!Mc_Whzm3ngoEC?=EXg97?l&G~4i#!kJg#Y^#l zTzxvid87G{gr$$$(P^=4y>@5~1q6vUT$E$_%4C~xQuF@ayJE+4?V4owd)S{Y>Eev| zN8i75mNLxVzG#pHSBPDwJCQKUeh?k{`ES7^-(n?N_^{7`AegB{$03o!+h95J7}zx6 zN~9A%#Xl9;r3THgo)5-1c#nN-6F3mXU8@{WC~1BH&M(c(*G<%q4rfO7Nl=yBbN?VW z4Wb|_{Z1HoYnTl(A8AWT;XB)9J!-vp?l@z~Fa926s3T9y@@?|7yxw46YC^tkVzd@G zH=y8#L_dZQQh_XfqRrlnqDNbWJM=@$RYH8JLg~P>#BBdKw*!X1L1oWibIO8a3lo^$x*S+bvi+4q} z`@Mk6{C$-xvSXji6=niGASP0?x!Ly~nnkWkhSOG6dVCJA(7O~?3^~j%={lPnElveQ zO>Y9vI~hxHXGb|-Wy|&nhAHV>=aZ8!N?c2-pA@KX>7=&}%m;Uu1guAT)vf#qAkTd- z3m_F`63IPjThk&xXB62|`g5z&se9OLQeUj5pIxp{TVqeoS9KSC;psYF)c!-_79zKi zs%iE-UZnMR1CpfqfcgP5CDXJ0rBR|$S!GvwHfE<`cI2`8KdJF!r5yaTL4(JBHX>!i~Nv zQMAjo%(9L~v}VJ@4axiCSAak*h2^G(OOqeILvQGm@CW^jwm)5sI?~iBWA11EW&S1d zu5q2Tp}&kTHEELtuM7;sY3)nOL>K`Kb0S|6@WKiA{@Jm5M@%n!gpjHaaP8~*5B%q$ z%(bXt_oRQlzwaCeX$`%r#1v>H#kgbFlp)2@IXa^vDM2jWOPU?8==%5!AF96a9Ul3F zDHaS89tOpufWVcXF=rqE-4)jERoF8Ly6PaEKMA}6d8d716A$aJ;>Ql{C0)n>UMGE- z{CoWGzVH_WS+EhgTA_($`r5ZW6VH+c#F#fA3q1-1c=<=l(Hf}-`C8EKyVt@988n}J z0T{4d%gxkOk#k%){1hZ3t~<*P8v49HdnI2{Jhw6y?VS2%@r7+_)>4U+-9O{cWO3)! zJ#I;Yso?Ig(ftp}NnSrE@7e9(aqS_iU-hW-y~mD)Rz~Py5-L0**FAr2KfT(AOGoVO zSKvWGdUCY7l|<^rQ-0m+xvAP#61tPH4~BZFHy+U~a&SBfvob?rq8!C#4MkHnNBqrJ z3J3V~PR`j^Z``}HRN6}}a~M&e-b1&4gS^wG`7WpPG3t(NtxyJ@l&nVwb;lE8UqN^jcz$4m9R&?F@&km}ucXP@lLN0E8WaO7(ieU7P zMHuNahT^0%{hI^IwvN^sf0ev~e+S;1wI-i31i6-_Cj5ga< z{rNWIhZtx&DGMeQ`R8)8h#qzxHYr_e|E~|05+r#On6kWJfCEzLEa>t%W$D9({>VHo z>Swu2lUvN!arShv>EVQJ*-`$$6%FaO(~noSM&HR*84qg?UT4rIL)Ak^Et@ZojJ!xJtB|m9AOz%j%=n=NzmtnX8q%nO}VLdl*jl)|G!4+ z^ep$A>8%4MK`UfUV%Isp6mXAtcI`d!?-K%XKQQDz&+cDM)sT~kiy;&*n4^?unF4vF zSkoIjp+!KWC?X-ts8#-ed25%c9=VW8g3O%f{gNjQ9(bMx#PI!wBDb=Fi&wH}Qf=;A zMpEsiK=XdEW# zRQx?I79>uccnbA`jl2qWd$mwVX>TsNrwQsMe`Yj09*#7hIkHr_BRK^hb}x%X~4xsEnJOXTLaWo~N#g4J@Wz_A2&7>7MqlOW?+=q%NKw z8qXIET|8jtV2QY}UnHlfTcO)NCJqFNytq6WlTZ?6S2vz{>*dnBD8Z`LxCC_Q+vvp5 zsz0NfzxDN<(H5Yx-f2sQHGSRT&-<0Yk=h7XL~z|8?V9*skq0I@(gN57gDYA(6qUG# zy@O(tyxIG@aRz@=Sa11GRJLAps1<=HbSw2P>J9>O3((zzoQ~Y+Io<{bDm$m%!v0k= zwTxFkKijgf+et~Wikf|AlYSc_vcLvhN1~pkaiQ6>^*8NgSQtnL=i-p^F-~W6J`I2v z;$?|C42_^>TS0;jcLBJX8O`%A7~HVScpGn571$v&`4ud1E_v`zm2@Jw{55KW9eY>T z#8E_pF6rr~-#*)4X*1iAofj(Y>S&>xszcKh)y#l>rA<87zOGs%PV_(+KLz5uEsq+j zc`7&mZKJ0iyCiT-4d_1}_y_+HOR)*AzIJCYE~vrCPjaAKe;N8O*0x21$J_^m1+Ur) z=&{jDa>K8kg3VYB1a`Chiy`~@|>QC4twq>HW{#tls*rJA%dy4kaBz#qHN~e^e?KC*!*pOR(18mr>cxRMc|*p4Ig`G4(RHTH8R;3??6KL+0$N{z5j zV&MTAm3tqng|S}8FWSFk?rA=S5CH`l@G{~zNZ57Fk}#!xpfXYI@eUf7dT2f-cY@P~ zIU!0RH+V;%Hr?|;%d_rl$)F2grt2Rj0j>pdn>n(&7|=u^wxThn@-xPoE^y(+3!Vl<$UXz#7%hVqnbRWgf;C^ug~NNxs+$Uqv>sZ7QES> zMP~EIT@X#-qrfTS6)Hfl4x(=-1l45HcXr zJ~1DB${#>GswG2x+E$QXXHY2YgzFzmX+Kp8R9hhDCKBI? z5qAEm@-Y63n48+k*zBvl;uNmyD9S6B*MQdc`Jb-h>k76MB{2A>fFJ*Rny%Z;X09qA zQ1OnTK5jjqhP_bM5$A39*OvCzXI1^rHg+C{rm$X~g#cOYaOoA4ohd!X^P$~Vi1rKyLZjX}aMi5QM z=5l75dF`O)eFLUq0cA2;&WX4!9 z^G9N}#vh~1Y?Uj2GmMb;2TcG^+r+P(C)O13f~J?TiS*k0js|ub07dE6ng@A`p*&S+wWB@Eekt}rh% ziEfyR`#kXz9)wV=^5eX-eXd=yAJ}AJIxmlo&sGC<&u|pa%e_br5QiEckD<7*-bru@2z*)l_V z{iOldwO&1vYa$ioamx210nI=9R$J-qnFcmNH#mF`ef?i&&yDBsShJ(1+@K1^C{n+U%9Vz4)h8{(@)ggwZa%*$YFm z+T}W)(+cfuK%Hm2F<6x0#b?&yW=wJT*O++!AWlA?-hUgTTt9tUf{<&aJWi9d(G)ba}3)!>k=-;sfj=M$)#_X3uC zOlX9&tCwI|e!F(NJ@?cp9a3_Q~7H8CsWI&wtcf;mTa? zc!1hkdYZ>xPuYEt*_@eMh-|=A+LPP^5p(fA5x9#24U*Yhqk!Y%RMGorEoT;_g+<@! z7KeHe;ypyo-N^r!yXrDh*pi^+8vW7eE6pfCF9*2~K zzf(fX^^%uKEj>^@@#u}u<--yo^HBhn`L3k`eQhCk6rG@MprZwCD!2o&smzZa4)#4x z1$E6dpZw0v4RcAOf76*rY;~Y>dc1NfwA&OTPx>XE3Szj49+jX6$UlNuf;!HkIE=>u z%R_axNVGKFFDY^JX%Q^uOl4L|m79}-8SKM9<{T-?8N2L)Jx-XE*J1~V)C*=rKM z^zREmbJm(xQj_a^1V4t}?v7#}A@9nZ!~-ZpG|)i<5@k#?0{-Nrh~_-xuAD&>T!{tHopM?bV2PIflewD2>`Jmm6 zpd0ytNtg2dM_Em1(!6Zq4?evD3313zUowKeiNwkEz63{)I{(IAvLRE?7cAuMI3x^%J)J6jnERJ#D-ds`5L00q>i9xPK zD&aqyRCrGL)~s1YnW z{`=fL6MDJ-e~QjBEQ-DhZ3&VAp%b61$E+E;H+SXd-b4iG-JR=5Ru^j`O}Ls(fr zzn7Upsz`a87@X3iqBS4Wl!Ir3u2re#yRIXf66HY3*!?Tuc=6khY;01v4+GSI;U671 zfyV`*;b-x?mLpvAf!crVtmN;_LEcg)E_1PC zIoO#&pXpxo!2x|8^6r`@aO0mw;FX>Dv=BE=H=M44mgQwldPuW_fK0ukz^!$ztfyW3 zLeSuhPhSk)*!ii+!{8YgfrUx?YMJTRcm8gD>5hSaUrO&cz3kg>4>78dHu0Ik)4R^~ z>B#-DsC)n7_kM^h*_*t=D%^Ye#v6jWCwlY>ir42cN(r7Z90P{wkLLcS{8!2z6@ODLal?O;PS{Q=LZgXMxPHh1%#lb&**n8I22kZeIfDe0bFDn+#<{8aFP(6oXk)%SQFb^-+1mGQ!DwC2bA zM6gWR@x<$VBFXmWf8e!J!64ufP&geb(7Y2lq1z@if5~PC0m}FFc8+3lRKOHzDE#ye z;k6t40FgQYbmS{(u}f5N&z)fd_Luj|w%20TcHCqz6m{aWBHT(fZnT8Y4-(Otj+!3J z;X)PV5Sfk1VbqdhRA+Q?oT~B!A?LciU>BB)jJ4NLOHVhKN@YL`eXu6oZK9M3BUc0= zV$HSK=hHH7b!9=%Bv_&u9^#W%=XOI<3qht|R7YH2#Dea^WuT`w7oPf}*sCjc)6E+} z!`DfqWB5kTA_yTd`u(eCTagHE6)N0v4t5-h{nSYV_mndO)fb!=Dk238a*`v577%Q` zbxsSLc1D~yzm{a)>(Q0Les&T*@#<0t2Q@U~$q~t6P}qS~v}kUUNFlOH(kx12n}-*` z&rgM8yOsOYc-bDLDqknP%jma!wI2xz2*x$GCu;LY~OnH z{1gt|CU|NfN=w6Nr!ooAiR0~|dUk(oe5hJ(1+22rBA^R}w z2)0tTO#zWZ87;a9_g%hUl8WCEZfh3~6w2t;RqE~jK6Ch=dyz?%UO-5*z{@ct#rj|B zP>h0@Bu8GXs?%i&hI+rE4*npbEg>)7J@en!Uo*gU37ahk;Xi!{5M+(~?Tmiqjg3i7 zGyx*N*ab~DtDSu8y&%9lj4^n^Q}7=okZTE^+y;>?i>P9|pW7{@kb_t^6Z1#pmZ1gx z8iR;j21pU!wKBMG`$fvO{wk{!;TRDrvNsfZUJBM`n3%VuCgJ^R#m*LH&5k^Lf7}uK zJ5|QxL0aJ6?LkO-@cncq8+!9?(jqwdw%?`hUd7%$pNnGJyK^5;kQKGj3u!W22+j?B zJ4?Fs;d{YF;tWwD|6G3}yk>RjWrImbgY(515(XZzQ*(7`C}}rv66?~~y4?B?$4)MD-%Tpk zs=bDvROqC=3^u$6oJ_kupqBnx-Zsl%)R11=x2C4wzoeXNW2e+}3m}uJESEXVl049^ z$MRv6C{8e+qhd}kXW^H$7eF$0y!_g2%lV@`>LdE}l`0ORk1aR63G(b+wo*DmNEx{( zq%0DXA*5-DYnOcEeknq(Z+eSO{s3P4Njb7jOSC~50PgxVvq|e!@&hb5!+zOM7fnf1 z<`h9B$#rPZCC{=hGLPS5lLc7wOPv|4;8i5NxMD}jHxk2iG_c)kB{6};nP&X9M{)MK zAk-_Q7dgi;o`U}A0lG85n0{cD7X4i}##kcjfeX9S3hiNVGGESo_V+K)J^IxA+@Q6k zIJ0588mcdQKL@%I%1{DJ!Aq40N@bvk6|Rb=el_FFXuyV$ub7uzw*#b>RcBtVjX~5Q z8TOle2zdlH)AR^%)4YjwM0sp8R%0Of$=axec(q%~U2M=@*kiNyH=iu#;gknSL?53D zI(W9ZQ31W@*O$!1@enyy>FH_%ERF)mhz;Zw#yIv(!S?boDu*hbGmA@#6s1h?H^?%8 zSm||;-l!gIOpv^JgA4^!b|3t`-ExBABFy`>5Jvl(85>GbvZ`UuJzM&fP4JU3RpQM@W&ba8tYu&<GLEmHZn1X!+pz%}s0&&aV#! z(YSqhn?JThMkUpUCL4oD#*>BB@xgyctD8vu_0~G%EkwEd5RK_pg)s(xFMC?8D&syV zmOJLZ%-3WwpjVeI-E)5heebP)IqD#k8HHd869oNE9UH|%T{BH4ToZXPf6XX(rDy0s z*_%Q$%?QOA`||NuVFK0F_Rwa>4n#cGv8(La102kynWVcv9*v(&!WF=;p#E*%@R=*pnP)K$@43mIEe;9og|J} z|N9~tf)5m;YUR&WdMyWTOiu9x=bS(F;gsR?xRw6*kO6dco~EO1`iC{I`%!fBSDKE; z+ROu8K0=b41cy@lkupG*I~6_9Dqh+JsT^4*=A_}pM^0=G*l&L{p0*iYSb zJun))`_>}0FMr_h-`$OCMQhN@NakzZ@2xlbQwcX{x5BZ+={fUjHJ^?dxB8P?Edj|p zrj{KMr0pN)mcBkG&C2|ssIfxbI7qeU=uVi)Y-R2fDz+uR{vCrrmu3JItRZ z`u^+Cqk*E%F2PAx$+yYMhhY3YNue4zGIuJ*;|79JKF%yXbAv||*{pBqos=x^?P*I> zt`6_UQvv*={KbC6l&t=2+8h&+6zdhLMkJh_?&ZC~JO{gW=j~6*aMZDazZ(>nG{9(2 zegywh&XD8lhqoyXMcg~*lU?~1V^pJ3sOmD2*RAD$?L1(qVA}&Lt}3~+*%AiC_X~9l zpD0gE+s)dMJDB6T|4MH{z!N6f`Azvx*F zIx?^=nHL-LK$Wrwubt=&IEjF2KK$l(&eCIYsX6YmmM4MSWNcQHe^reJ+pL-` z*8V9=D!j8G^Uk9ad)Qi=cmN&fG2niuG69JuSbmgGwH?FcknlZv>WuN+DkHp-?V6kX zR?5Iv!5n7{Zy-}2>I2Zha$DSoK!HL=*(3=N4laIV7CYPDliWALUT=J4@ANVVu9jBY z;XY4=Tu#J?cQ2o&QLwV{*E-V#Tn9Fh1@BW@9Mza`yDQ!^DopA6J+Mq%y1K3RZ=1^O`XCSIi zZeL{7gEPpgQ5yr#AE>k9kUzv-kI?3Lq_pz%ls-=wp%V>U{VH4+?EB?BU{`XMoz1%FGekN5RKj(BsG8VewL$^xAL4wsSM?Q6f8tyRI@ zv}+T>Ji|7iyh;#{MrVd_+b(A3hUCWO zygIfU)_>Yfw<7;I4`auhZ;x|++%tiOa{S*;g#_-RWc@cwWdr{dGPed!lP-^W}zb}k~{d+`zJ@;+lyklH;=Wg|n z1W4kiE^-h)mm9Jy+u(GuSy?~Nag!Pzw9e1>c)>9(twk17UH74uS(mixo9txKkm=1b zBRi(L{GznANka!!ej8;X2AdJ-hd(Oo=na+k#f^xmj%E!Wsb$9Klai zgrKLCXISO)SL%+pyVt)@xs_t^LoI^Fe>Us0fkjWY3xC;+VLo^%(i$3b{iZDpz7O~Q z9ZEuPrOOUQ$cz3$TPk^y&;{2o;h>Lz5lX~(awpnOkaSdT0?!4`%6Y|I$@GFh3n>U; zeXr1|l!rmCX*XrW*@X3A{bfxS1(V0)7XAuej@sqmt5No`nj9qZ#B>mZCkL!@*E(lh z9a0Y9A_N7A3Ka=y^+A@`G4by>Eg(#kct9ucNF|!C`_!zO^l;DQfyZvLcnO3#j$sBy z&c2?aHsxEJ`{vVPQh3a<2Dx^X9$)*z&Klo7+o=*N7dweZQBi3G5$hI!*`k%3380$*Oc!F4Ziqu*VnoiHWK_c3_i_&MkM zs=xr$f78o^%eWDf?_mWM11$=*L~%TzfgN=l0>}CIROsLn9)ZpZ@^&d1ejGNQfVXc* z!>0wTRl7A}@9847EV(74AO78?u@aUqhYnPZqAMgqlvCJ#XuQUcpD4Tmh_o>(O5c9` z7NbJ7(VLQzX;rC#EO95WGeYn=K|E6bB$3j3gk#=gaM2Oys(6~e87qYSmhhw#n|YLt zmbW!~uj*Vq1VW#W}-6|F0+w&5?#{c=`-o;P~0Mc65mbuNqhfVH$vb=+2 zjYKYYx}$tw?IZ{nVeAyz2v6A*C54Iyx^k-E&M5HH04ig;gEvRS z0X7H16yo|tKm~OKGk9j;;3T6SV?UT#R=)Kj+^J&E^JUeyiyvp;>z=u#H}K%=-O7r! z&*yGrBy*m3wZl1>zs<7V2l=wWOJTCt(E?-wGs)6;dlwcCbw4foXAPGIX7~~x&5T~# z?%mfU4z&eKuHSwx@zkaNtE{DUE2~-k&t#TQeqd%8TQ%I!cKs;u>uRZcRy7w4FzvX_RAmEZFqfB zyW{06E1w{<9JR{nk}U&JpQNr=vS($-CkDpeC%T4afD8EO zIKO0s?`Cy2(k9D@KNPnXdVqe|ATk8LVb<}i^2a{nRAi2R(vC{k zoN;|#f2BmU0}(`83hmsPaAcVu+IuCdDntSDMxkuXdO7yUNzm&r!^3)XAcuO9hD?;B zqGhK9-7fd@uaO z2f&m5Oqra&>if`UWtmt0mufPx^65~(5O+6?C382?vTA#m_bjd+KarztuxFztp{$0WG3p|G|0k_tDq{}L81>Ix zoMc=oRK5b$B+g1NQp6XMhM%03M{X$eOHieN`zew5*J)w7Fvj%vi+F|L*hw((){9fy zTq!{r5oYi4nTJe3gv)^x-(~EW&J9&%Q+U&8*O*(_P+0>n7tg;#_}ScuTg^vm_X_|W zL^g5PkvyNyc--g5N2{inEINn;A1dZKeA<4I=dEJH8U$H86g%ix)Tf9ole}_%!hWXz zLtIQP6a}Xi+@P>jRlR{05=`I-^3qzb2!xS@5$eE1wfaJZ5-`{;{aBMcWCE9sfroal z#UC$o4>{$$NshbOHd}HCqE%{+r{>>hmJdf{==5EA_j8dAFb0sDtKbIuctvhTgC`+; zD*NSq`F~9>A^H&f>7)&j0V2f6M=wGujUKh`DX%w|R(l)dZh#}8vjlkHBVNjLxi@z< zl>H$p0}q72AXH$SI6AEU$3XoIhlgvNT^(?w!gsZ8<;zmgvi5_=s80-q&=D&9^}KHt zO2YCBkba?#3N6-KFuv<;;5gk9V-YxY%2@iagbFYe)1PB1^8#-Yc8?94U-7nVWsmO_ zq-Q(iww@09toG1c4?<4P*H#(Nuhqo&r{$50=9qOIpPTOM{cUNF^DYz9{g`&Q?@PD2 zm9oBp9p--aQ@Z}g{p&ubeBbYlER*NRgUWi!|BR=TU*4XD%Ox2j#}GHM#PhH_^T!tcJ(;XUMO3+_SqU0AVuCh1#+y+Q(kcOVal+Z7?{}}Y5p>My8qQc@v z1vm$|U=bNOg1cxb9}ic@K~=F#LnR_AAj=YVWw@(nuE`6gf36R_k#p85ixbt`-$#m^ zB$J|V$t=4gWNVxeG7gI(TKoa*8xT8Tx-p38F*yjI-e6FQYkMtHL|g{UZKs{0C0Y36 ztwL&jdd!;8MMS=Qqf6 zB@wVA%tBCjqhi-+`I><7EV+VVx2L4)v6izRSwYItjK9?BM3`!&N1Zajp2D}(AQoYh8$6gIT;)feAb$2XqwXU?eH#yjg-}4QO?B21`H42;=u&CGt$QLU{j#x1T@; zuRH%!0DIj{s@jz>K&Fr(L)E8lMA&t&=&0T@X;SN_%9kwyFlkR&zLI7PUJv3!5+tZZmC?=|# zVw2SBEu`Q)rp;`iZ;}s;x=MTp7ba!D;O0`y#0if1w1fw;#x|8YeYAQp7@8z0^j;+* z?Ap&dvzFs2pn(58%JY>-C;96nxJ}ZS9J?JuQHURTkAP~3a6F1QNg}~2pTXL32OHz# z9yDyB$CAqhnn`lPvcEVPPe) zB1N+3@AelemqxhivTv8onhD^*hFEl$-z8xoe^)#TB~O8+La%p=7X*d$EMy$UCZC?N zA;5wKb1b(9M;eE@NA2et1j~&@#GJr@+Xv;UTGb(P7aI@?prD9S^ay#|^M;`@HN z5KW=t&ABFP%zOF$o45dqS)Qsqg40{$9Pm>=QV|H#_9qBs`(XDelF`;XM-unUArIWi z;mgYe_Eg8Q#@9d^q2-YUlr%$w9YA10;veu;@Xsg6@gFz9iTEII$?y>(M=-oxXvDi7 zkMx+5msOoqnTw4DuM+}Vc9OkA9wBGC-D02iuNVz51-gIK$Yd3_%1r`akyKfvN+HJC z2Dudqe=wbhB8=i#fFEq5pOcrEY@dc+n3e(tugM>TXKmR(9O4^(JBX#t10;80Z(x&ruWB8!2~WREM6+ zyY!ji3UlTn%HA`9`+L1xwZHs1t;mh|KMz5I_bHbUjZ+So{$1I#mDUV_2uaWc`16LG zTpNko0LE9>{x>={fuUlr{LerrPl5VfX>reu=2!5g=2uly1PMwte?m`TdJFa2BCL8N zsQy)n1LHfih#xD?1=OJ?p>)p~LB zXU_V1{hSZ)+G0Wab^8yyj-1<3w!oEy7t#TVl&F^Cy)F(XmU)4DV4mJg+|s9ShB@u6 zKXa}f`x1g$=M#cG|GOvFSKRJ=A}xmp*L}W_H@Div_U`V7-9ujB*N4~p_s!JlR!CGc zg^R#d_T&?z=Vn&l(~J*%!1}h6J7>AI3#8a}@3g7CWwWO*tFTzXEL;yxl7Y29oYa7W zQV}WXbhc43KJL7bqA2&(hn2lxK~5~)t6O!fc7M+U8v4*iQj z6m^zD2Z_nbqrq%hx)Hqs0}pO`Q9q=xWldz`X1}dzDrsLIZf0nwo^*#wJ;|F-WiS*B ze&8agR(7VgNT%laJ4SgpRpcPk-by1Jj>;O7wniedKM~I4s-x7h8)Q6ARN^dLYXy(p z4TWKX3S{r&-%XXmS&UNP^Ec{AYuiZ_>k~TKs8M!N_N4rmlDHXNH}#!pjV4oK&Q!Le zEGpE-C+tv4-KHCC4ii{gKX@am5fmc;ebSjKZl z38*LFh`Og(t#FjvG3MKyOSdd(KqXJZe?`kTgWfzU_z~}gl2h_$y}|~MDlM-`Jyu>; z?)df<4MUvqNTA7UxboxX?+%+GXL1abDja#EI%uzHd9B!prH&?qd-R0D-5WP{3pKNl zOGbML6S?T}u$uuj3Js@#Jq$-n9Z~bRJp){si^>u@Y3;=fqNrhBply6 z(o;uHE(`K&_l+F#j4R&z?@Rqj@OSJ}%6GDa7gnvVPp`8;rIJ3$Oz2D=fBnRuB?OtV z!yMHM)mCowaV6QBa;XTHD23&3@hDbTq`E)-k&LjU8CReK#d#_!FU9EBS%;W)76^Za zfeM3-M2^>z@?tpqSUzN-5)rrfz`u3<$ynvAptf@S=g&H)Y2PWSTWh~9j7iEEP>%?o zcs`$d3?8}B+GV3NaKDGUP<~;*;~6yW?r!}uX0VRN2=aZXiVl(=MIKN%bSZdK#;d9& z$66kL!Pg9+_|EEZBNitq$VKPG-0gMWg+IT#i%*n%91|mHi_3KCWZgT}_O@qu^NsR3 zPU3P4LuGOGO!ovSSqQ#S#QZkLXHo|fMgqa~gIamO-BY0?)pO-(N_XnYI2TAtHBi4T(UMq1u zo?Lgp?zi_ICFB5lwLo46dRCz8JA&krqMY&?`S#JvtEC(~twwE)7E0QGYSd+blimRg zGl@SY3?i`Y-_-yu>J{^jtW{jxdLJ=!~YV>cF;Ie%l{HlZCdReVdtKkFAC9{1KJJ??$}B*8_S z{=)H*Y-?N7#R7KG^Iuc2r|Z&1@EwB&7r!HCxS%k_Q_e30P%B35+~QIOBVmdaa z@5uhtvW<$fPbb%l#<$Gwe!0xU&ZU05dMce9^(^dGb zK4z^%o~Glb==9C~rV#Y63i2(hrU^f};BzKVfWIWJ4>Rl#J#0fj%intwwY)St$vc}X zgszM_B!jW0LU^{`C|83J9A_U8N@h_1(vK3X(7@kP$I&NnOVl&8DmXZe6#P!!tLUL9 z%>F%`1bMf3Zp2~PP4JXnq;?nGLH1fB`w@fbm%YWs@$x$|;rSBz$(61Tb4!Ah#cx5U zy)zr22=M@N?k>-+%-fmOrJ61VnbLqP(CHkv!osK zlFF_~q9f8$d;b&bzi09pz*b=88}}2AXj)tVvowb?(|^)B+$CR!J2EOrjDl|CLTPBm z`;N-zu|~o@V2K8@@a6bVR?9xJHZ6U^E)h!0CdKgK$K?Vn-bmR+vT>A8=xxdVh|7B@ z;v5HN^}StWvt>qnZoq~doTcI|voYK3h#6Y!?feyHFMo3p1RXDW+3(t97}H^cpN<=w zk?`a{2fT}52nOUS^B+w+7qLQb-(IXKhJ%=h%yd^xMb4^s6NAT~YC~$x zN?Rj{`fW*kXSF9k?FqqeB`!Ug(P1y51cw3vnjlv!u?Pq_d@)Fh;4`8FNpgdMj}E(@ z1Y;rK`M7sR7u?e#bOS?0ESA3|Uekd-5Cb@2wi&tuUC;hGcW>&%-CDneeMNbx_Nu(K zeg4@%M)8btLL+0~qepdR3HHi;4$RT`%>TQ|fb$7YRVaQXUj5=J*7oKjADAE&%CjFp z_`2Hhr2g`Y2!bPTO;2gwG3WG8lmGyJ3jyfB%1CNa2zlTLXoP>O_Wxg4PCqD>3gbj` zLLSb}Z?+fj{COb9?_I6@VmDJ5k<0sSnN+zMWXmQ<-xRhBb5G!GWHtk_D?vk#q&~Zf zH%o~=Y5Y=PCImZLw(-It7on$_pxZTT4B>CRXiY5XUc$aR?NGBwFBfRzxc$BPa_mot zzhLkQpVjtm`v~(<>x1CcbldT}qfgS?Zuj7+`>XUZU+kc()JghXx%BOSxh@*WQ$2x_ z_RFTJ(_gK1+YmQw%Xa7iR(kvM#X>quz&PW0iQG}a_V_STICw8JvBYjzp0NY_;_TAm zN040YZ5gx6JsJ)cgm_vwp zY_Z$f20++3f;!w`56+zo9Z(QeNyJ3^t2;lhVfp&@AK3~~9=CCu96jR?dpHqcGNKe! z$Y{{Q$#7Uwm)v9q7B=1gToVl>9v=+%8BSDX8$Bxs_&^P&`GdV;ng@@TZsw(Y*?jRMV&bTbucSiZpw6*eFY(Gy!^&-rcV`^qO=Vn)rZrXl06Ut zE0OJe@v*Nkzq+UUO_~<*z3zJFG(qB+x}i~GN9P-b>K!!vE7UgchT+{ z%3Et{_ylStEATPQ%KoA0Bitn`vaew?AaL~}8SC=24SMZ~x(FE0bHnTm_dR>%8nj}meI_B+#Gm@R0=vFYpgTa9iv3wc%iq7>INgT+X0Ry0ER1EVC z9kH&pGqfh@S;u~q^HP1g(<#(h*!!IR(8NCY+r4*B*6>`)eB$&qj|5)rzm7BPt4^5U zN??cFBkPAq-UfMr>o?{W&8^N0C|ky^O?Zt(Jz)FR8*Q!lD0H{1YV|c6>pO%!1V-Lx zfe3)MD8GTfe~~InJ%5!i3}8T?m-zL1rTp<+qO|m0nG7hQ(WP`mLPh#7c|+>WbFw~Yy#C2zM-0EfnAjIo|bIbzS3`nPh{+)VU!r%$F8#*_=G`6{k;9Oo z)!~);ennIw&)M7)pi_e*0894*@eiH+^S1jpY9)v{{oHt@6dpV2sc8_tIu9fY9|J{B z-aa7Qn;2o0g3Jaw#RhBRD=(@3L5O(b6h5}sqCFf_c(gQ@#INcceAIX4l~#)Y;)Z2T zdQYc+k`-RaVy8}%eM690EjQMfMEUW|wxgoa)BPm|9gDjrP0UpK$ETQ-T8Wy*kF55fTNWs?i7HrGu2;*YXB2CBLPk4~&<6t-v zOSx@094yu9_czk3bzQT0;;m3p_m$Vb*~rt*^}6J<_Kd0qb0R@BDmQNXR|PT9ymJ1- zF?}oE$>s5mgLTw?aFC8du4Q#oUyy_8d4T(Fh5Z^ko+6MJ-gc*Z1-ZwSAR=l6Nn;_g zyB1b%Ia`0M$m{?>5y1r&=81kLKcA0C-2&4QuAwc+9~M&S!`KzFO({BZ2ADw>En7vT z-@r=!l=r(6Y`eXL!)@n;-`L!Ya%n&M;+ixXJ!rjo0giZ)Tn@v%B_pq|u!Xj6h6@u^(pC zNS;}~sj5u#e55nG?JfWuQqS^*lHHporQQA8j7CK`zeGK`z|y)!wmfOg z-_e=tpVaG=4x>51n?8KW`1a6DbGw5Xl46Q{cy3G@zPqJ2l5+Z>k8KO=2Oq!#R1Oq8 z-&$gj<~9%rOax+MK|G{c!HGg(@V}8nV!7vhXTlrA>Pew)VG`99@gDKg%h_D4ANJ=k zbhapA$SsC^>kT6`D3gc0h9Ck=>o4_}v_10Wov1otd2T~D$$v6$=m-51mQY+=Igj`* zX}S@$emL_w35j0=ntc2O!jx=QQhy156>tM;&zNN}uVJtF5z$0S+$DMu&06(zo!BOs z?kAdztRU05@en_YE+c198U-rtLnR$3|hx zCgi>gfAeMn8~y}0D-oR$`8#c9vFp5h4vmvM_6BJHL0~d&W-ad;#V_ z{7yvW74b*~&MG06Mgllm54JCgedV$G0Xtv*E9{4dNCcntL$-GTZ)f{fSeAUd9dHwzg(@n-{RQ27u*ZFJ{ zf@AXyUUlEh!QQ0j_ErBT)fT~GG);zQ{O2#fS>Jp_gYt3|rIlrnU(!18Rh5NbBVqlzf0 zlt^T)frb050>aE8^mJIT7VHm5y-Kp*`YWKxl@m(SJn(aV)ElGFx2>KyB+l>wgP zUC29-8a)*RU^-RzCnnmLdrrK7tp+%YpC<7^0ktM{K;xF@M8m z3DI=;X^Cj~btHKrK1x!P>&{yx z@zsK@IE~ zP(;rYg}Lt`pvcEnE}~K__C^EIebV7@vjTWo`?kk=bz$5+6JV?()YApa2BylYB zEy}&IlmCqE&b{UJ<{j;rkjGnH4x}L(o-EFQTi&8@p~)kxu{mETQGpB5@4lRseX=xq z99~ZVCghshTp$tLx#qvH{_%XmSkRK>*+qmF?#QY2Y0VFOf-fh%^Do(>MK+j4*#515 z|E2(f{6{dga{KcQ;C#KSD;TlTMe+#s!V;&vAp9Q-0)LuJ3&oXZ$O2~Iiw`w}V)_Ir ziJUO)ku!kUZz7JjC0&Dpc>odlp@3S09v&Jer<=8O>;Z_i4xpm7V(we6`MWhYajcuq zq`-m;2rUFUY_08 z96373la^20ZrDKu%uu_u=G}0+tTysmI&gcy1lhn5yh;?jeSyTNN?lCsj)zxY=bU~F zY?BXOzJGjnxq)1=$nD6}Z<}(Na@4@G$gq40zbY&Dh(!W(}J>p(b*(S_qrAKwkv zBgMneS-2wgPmwY4Ih&%tX^W8J=668Ylh2}1&px11?>w=VLgDpe-7Fu1+sh8=RqGh^ zs{`t+)0mB3Ls^mY|EhEagJX|Uc`jWH2|OOG9%LZ46PXW6OL-YVXXV2dBH!#}))a@3 zDHGSd*zO0odxJ_S#PrC`E5U`7ApU2cCMM?pvxpaO7V8*(2R{ZaBfsMXnER3w&(0*O z2`dq$G>-H>%Hy_qUb{`;H~(Y4T&;qfo|qm){}s}7GyWO`1#k67nfvUUtBTA))gpqP z?JBvaXt+a|<1H1QJR}3vw*IJ^ZEoCl%cMtlKFbtekuka@FQi68pd$i$N!jUO>G2Kg zjk(jR)r$kb;^t(VEdA>ti?~AKJavYIZQw*>@9{zaKH~YTNJWiDEe}G0Ua><8ObsFd zF^L_3p_Le4lFtF{bF?H+@ymU8F(YgFQ;$16U6v3iO9unyYpt>lg&cJ6b!EeU_sDW_ z?~CWT1E#6%JeXI3$o+=0Nr*7%s|$Wi=pWm&`iGhpHDq-6G@x999eU0I@>jk*FOym! zmt1Mpqnm7ikp~_J3@*oK1@wj#Q=(bsF?) z!>O}guKh_&Xs!FBV8+$v!2vByc+>fAtIb z(FYs#iQ@J?i!8LU$|;#6I?aM4f(~4IPn~!@6@@C5??a&Y7#TfrP^K&zCG2>|bn!VHC3?bHj3Na| z;lc>>nGpc~ZM7@t2WWx>@y32cpEwl%^hReF{uqUdoPEyeyvp&02?lNGlPH}#Z=e37 zR=k7{Y@v=^H83DSn5?+1L?1?cxh}txG8^O$UpoZ5MKx=FLIR#&6_q$3(U% zb8j0&~AwXHy<1+O(wg^vfKf;^g}&ewIdq?F>``7 zPl#tk@o%rc?^*!FlRTCkmgqZE*x@Lc#~@DxS?lKooL_WLbQgqtIsO#z<@SYC>cYu= zr#jB{+(y$#7HrEZ2Ow1Bxq=HOJRZ6~r6bl~#WQ}^{jLtAQmy=u1Tt~rBoz~|`FpY! zOt+QIFl9-oYlMTG#zBC&C2;B7g+*BCc5*3$5I>*%)&-%7U0)B}{+>*nLd&H=4o`}! zY+;rKaGR?UOhx_qG%WfL-Rw`5y~W_TJELdMPl-JzPp7_+>nN-o48M=r`0us>F)$~wHmbDNhf@~@Djs$p>d*QDlNEHp0*f$uMb32NOIHyEQP-HU z!#!=s?U=J>%lg;(^jb^2T+44n>Hr>EuX3m^I37QVAA-SBlVw`Lz8$`KS+KD(&A6<} zIn_1z4j|DHp8WX$hBsf4oOkagUHr6owsAe)vUIv|PjX}4P7JYPy;b47LSh6Qw}-I~ z4{j#~5=#zl7Iii6j@G?4hLOP!gZ~!t25+?;XeG{{1aB{p&F6-2!n!<%~8g66bAm9l@;(ts%10j zW37*PZpu#TmUoxvq7#6nK>}EwrM-_40K7-P2Y?aH`gqY(9Ks5*idH>t-O7Ff%QRk5 zW7Z}2u%NsdjoD|1|KR7*OBz8H^e6oU!%TZZqt7p&kCXOj1G=W!cV6IrXpb2X59PX4 zN;%q+3%*z>M~d?Y>;;PrYIz4YgXa69h*)K@uL?cR3^h<7cB`j%6`!M}mYZ)e4)CyA zqxZR$*6+{RQ~w$6Y^zP!tr&04H*(JWLly=vs$DJI2fQzDtBZ{3-hE6(UG1@N^S zR}EYO=YC1$ZJ{o%fHQYsrB zC8$tTA9HHPJ)BuBPojFW^nzo@O8VyOtQ-*M)A*yxj8f9}68kfsH9woiswT)zGT|b> zkI3d7iixl2rsSXQVN|W}Mq(HX4DiFHTTSdh^MdOl!rx3uEcxGQXGirPeJWtCAw{^N z?45liFEmwkQRiJlD-*o01$y1*7NR zG+-{VDy*fPmNQk6@wY6496!x41=d2m)nwQWmI9400JIsG=drVXR_}@GM>9p`o_X0& z)1}oO?Y>oDTHK&|+OJG)$NgRQ{tF5z8eqHDH-%mCf2F5*PIK-q|G(b9*+uCLT;=aQa~4;)n&S?~rcL2i-B6JowLQFgW6 zn=tz5SV7^9#e^76k}!OzRnNcpTROsbJfF|iaSR*L%@5Z<+c&bj9wDZE&#FPd<*2%c z!POS?hqWh>{(=!p-;>q`ulBwDFt!)zhgI^CQK6fa$0hOeyCsLehE=ljqShX{Tn?9} zsvYbd4xYM?CQaJW^+oce_4mmMhsCi*?3nyveksQ1%AnA_%>9^p6Et+j%$oya zp5@7PTQgTJ&%UGO?*tB@-w2)6W)QFQtLmY=>aJ~#@dT-(ml_cJ)6q&I&vuw-1>BjZe0cYBK5ggexRe~ zR2(P$*LGP~+E(s9b%D}ZH8=$4?*YOC1Jta7$kDTs?>|jgSZc&(t<^|6YpDmBF&*=9I*o>?IP zSQQry)a!hMyRfpRQ}lW)C~G)zw&eUEjpB=1dVdW3#l>nR4#5x z0CmlUk<$MBIt#2*-cQW%x#oGSgAv&d!$8PoYQZ%v&ilF=VK(2}tf=*P=@&1pe0RPG zrrw$Ec&~G$L;D3cCvb=Bjy>!C{dUq@r!-x_^tZ4?*e%s@41}| zA_Zzs#*l{_oFDb!!b|xCw>6R~?FpKrYNp$<=$5t@66iP9+OEE2pr37fDqnPRGZ#UW zEE2J9X#Q3WC8a=$fKMgqC)<66Qi&cjLjO{4kKe9O@+^^4Ds&Q|%J=+ks;2d;I?&t<5c9jj%sSzC|x+n*SOUM_~P zo~lHhk|Yu(v~;3csJs?+THnQVX+=#+>ZG|h`DsG;Mc3*rhdy@F+{Tch-s2zk^>^t* z=zX<6|4d-h%^14~B5023*2EJWbn4D7y`=yPccLo%YBlvezk`MP2cow{sEiHcRJBF+ zk>(^Z&2;2ChYj_Psi1~30r&VnhT%IZNF0 zx*?>x8Tj~)O>EeZG+8())I}2thUxrVb+Ifw`HJ^ksdvWC?9FCWDejX`4SnN8@gcXG z)!Pq?XLvIguGnCm0F%qq_Jb8cubVcsCA67LPl3GOp9;CArzzwEDW(yKx&+pRIPL|Q zoWm)c{F%s3SorciYCCj#L|te-{GC&v=erhPSoGub7xj zVTJcQR#s#fw82$UiO^^Y+NR&dBOmY#!X93jsSBmuNZ=}b>Yh_s9s#aOF$%XQP#Hsk z+q3;QGk(;$fgN0K(ao?~*l@d|fARJH7fyrIn;-=gsNuU8q#WMr>NLIz@742%m&4e0 z;glRK@Vx;weK_mR&tqgWcWW`iS0?yn7G-7(anlBI4xzvu7v-j+@3nEyadIj3K0!wT z|3$7wG`$$0)8N5GX<*Tt^Rkh!NUFm>Cmbt*P@SJTXV_ZS2 z`XDZ@gH&v`=g!C=a4B zEAVTMoYNv1;l~LhAP3&2!7vf|cRa>Ub*Qu*ea?)zZMfC91HJ#y55VqX-&kYr$)oHm z2f8Eh>6VbEf#ov@UqX-h5GUF;0MNdsm z-Q%5mZ}mV4D*SP&XcRG=+ZHNvL`f+A`780TNd3}zEnSyOZ>RO@XpPUP{U&kR$YLZv z+*5)WA2plNN%-CY0xON!U!GYh)dvuZ*2+J1DykmFg^jfRzBGRKg8Ss+wdmS4m@vbx z_30f}71>J)5P)Sh|G3l6L&8gm>w}*hUU~;SffC<>De?10JG=?c7pnZa46ec1*u-h= zjA^#jgPrva6K?*kFjMo}j{_XGdlIyCMA?qeXv7{S5>Eoqyw_SSsr$|IZoM)|iBKpi zd;4ky+B@qcnBT0QxtmP()rm;aXfdBd3uj4wOf%%?_ww}Mp=z2`GVc10lYKaCR^78a z$%@&CH9n(fI=j>CJ`C_gO(zZ9dpcYbN^D64NSh+~o>t;D?E%1<1={zVk^+d3yh}%m z3=A0WGu&bRBui3b&}AlC`n<~J>Kp1SP(Hlw_Kh%0VTAqH;nmW1NBr%u|CKVR_pp9r z8=%k%iTn+EzG6Np1l$nj`z+&X8|zK}?1RNM-G*H{C7NmXb&xD3iSI7xV(Sqj?l$3j z6F{&17W+sZLj7BlwCecw4|)&nD5H{pGZf$c>-Vgj;ah^j4HTS*L8e<_Hbv7b7r7-=^i@9pUR)3H&{L`C%5U03JZxq5*-1G8LOjgE~p+lH#ASFTC~*O_mY>j|~I} zbMt)zIQY0ut3+!J#UdD2X@$A`bEfRyQkDe&B(Yk6^Wpfq*acn+c(PKqzvmS0&vGVV zFRX(Ebh1(hs$ezn$MK80f8{i=fy3Pgi+D0)~BnIg(*#q<}7RZ1)VVWPuf=CxFqXZ#EF3!e02HF;Lc zLABXB5C;&_8nA|!6F>5&YezZJn@8@e0CiE;2M*w|<^CXn-+^G1E$0MS4sXq|;r~|% zRo!){3;;CBi&41e1kr6W>D_Ow0DA(XsBeREjyelV2tKU@CNUcHh?{O(k{?OO(?h-h zK}NkaX(4;L_fgX`<=iw{0iV8t+?%Hr1a3dB!cLDL%%WJ(Dn`wkn}0+=aW8q(}? zjt=~C>wBUU4k|+mzX*UjC>uCUsU+(oYvY(Sk^p60($`xD^2;a%Ag{ww`JA2c5V$7c zU~bc@$HBJ208YcKa)uJceydX-Xy9%-G-uRbOXI7dr?6=i^`d!ihHe%CP+w84N^R?l zpGHw19V=hH37#|)Cmekh;x;n6!q1Ep9Y+RxDIQy$#YCySyj=XmG$MaB7k);tyw)Eg z%ij&D91Oum!noTcRZn+qM(5A}9KU})zIK@PHqS`?^1^+@T{7Q7^6J+|=23mBx4dm# z{C$qzM%mI4udXJo*|asW6YkNp8+>{mRZSml3kr%XeyLTV$1Y6HKdyAWc2svczJG@< zry9)LiXh&UuC)m2v;vz6qWXp#1g*t9#2G|!v&*xr!1XkUWn<*b7vW&l)Wf~)KXW1} zmjGlSJ1HmLkuYTfc=-bm)kR_ZO3U#$K!U#!cENqP+@g0(kE^<75gp zxo%K^$b}?@)Pl>n^n4F32uBcMF8);wjhrp%%`WpdgJ;f(KN2|uW){+rckhJVqL*=Z&H5lz$a##!2b{Y2r^@i^%Y zVi4pCfpJ|5;S9Cz+eGKeSbXVmYeJf>Ky4@2L~dqw#xDk|s>5z;`9cG(vrPKu9=-)5 zF(~o};@!EAST(q+0;pHV){aigR*c+80=^k@M01%pYs7+L!JZ{&#V`aC)p8HZiwofn zs5mAY$YkL`#eJM4v2tF3@Xx;>R6mN8h*1U4 zj%#G0iUsNdrH^d$mDd|kIaws{T(0mJ0O+oPG!X=K6!Koio<(dC zT3dA#{#VF)bHRkya)=YGvLcxr2a!AjSYc~XIUq7@j=BVi14plPS8DB;SD`47j!Z%C z(nV1_WpU#xjig7C*hJt{Ary;OISe~K+u!sZS&#y z+5sgHyMIeB78)(R$kx>La59Lw_m-acf7z=5UVyfD?y13sy{F<|<&UZeQircQ>6dy+ zCDPpJKPaCE%W8VjF(;|#cIN^1;SyD`QW<7mH2h`3222wHR?(h=!%~z_^#k*l$)43A zOT3BiI0lFh2slMw2&wND---OfE^J15eOo+pKJTlEKp=md=0V2qA>V50umJnQQ-4aF zQ|8gL$|?FDN*P`Bk<@ic6EH(cAG6cGPqfLLriIXU1*ejtS-D3&98kEUp_GB`kLBJT zQr8H@)|Vh)3nQsB5?)?(M*t!mku@8r(6&R3Fk$C3H>Dakx@{mGQBL;5*4yj9t^1G! z%0Bl%tp#rTl(3a$)3d`;^*3r41wx}U^Pxs(1Lxd&>R0r+Yu;ULX`Pp0qiZ%@Ci+na zJN+YB$MeTu4u@d&+`z(?r@#Nr7u2cmS0wWEhjXqTxg1D<98`R_&n#-M;RA%J7SYF( zOFJcFoU8H47hdc`QEqU6#L$XQx=-(ZSNrb@5b7BS3tLTwL@T}AMt^@C?q{^+Oitg3 z@IZjo9;g$##Bsw8gnOc7TS6abkA!`ftcoWxM1(KRyzfSKSDixOt(ei?n9AN z8ouU@O0Jw>$hL{#M?W{2ss%})hU~fif?)Qa60N4p@g?En;M@Y6L3x31`GdL@pu?4> zK40o}MTm-T(r?=%BEj?g;nzh9TU&5D7{S^MPV>ANAE+tVUis=v_RWK8KxK)vTB&P7 z;CsP@YTo^A2dLIppz*2!cC4!9El1rls9gZx#;it$+-_oLZ)EntQ5@I69Vfjj`rw4VuK5)45#(5P*BUKxR z1HF07;OpF7$V%@?A0Xyn36S2OPl}jY3YL>XOgYRw+^`((N&)r990^K`0w<1~nb%k8 znWG?uFETuea+_^4|Pq#2${H`yrp_SE;7r2WCa+aRwkgNAtyq>}sEKHT%sB0hc*v zI1Qcqqd2A7gJ&w8BX*d{UR~xFGp%!uiexe7Y6mLqUz*x=oOHY zzO0)npik%SIGrL>M)$0e9lE1am$0@k!k{$E0__xPe%eeVFh^gOBU>Sb}X$@81b{jq2iE z$aXlyfC(zqOpo5oP470K=g;apAnjlu`gHXC)SR{Cs9hc`ueq^ElwIT+1(&Z_E~;{_ zJvy-X(cGVIzZQY2g9P5FZ18g zFNxml#!fO$f8BU0O}AR^ep8U1QSFy%V5D8?R;rjiANn+Zy6aU{5v>-pX+)qj&-;Ru z32tW4ZIm?N5%q#zyM-N#TFpy(nMCu=RP7I!>Rq&?S^r@;8r-BYm#W0wgw-6B>|e3_ z6)SVGn9%=2E6_8s0N$Xuuwq~jmh~_}Yxukt1=;y{)iS*9>Bb*?uqr<6b=oIHK|TtVjHOFPHaGrQWpljGeYwLT%L@boxS!W9n{xh z2-ob5RbVYLQjn-^+~ItdXD#o5>rPtOSQ+^H`Uk|+=d;~kB)Kg&#p9<*P(9bHg#7^z zlc`BQg}zYvr2{a>pqZcosekZEm_BtN);0=y2ksgg)fDxvNk-L2Nx= z7T<&fu!NhO`5FhIpm))7-JV?_+{(6MseYuiC61=I{>=9Jt4F z-Ro*cofJxCa)S-%O{a&!1+L-b4ztn&8!FbKj!WFqwkV)GQ|w{qRc+dfkAr@sMesUYceq8gC5SuB|3D;sVeZJ6h0MI7pX<~! zbs&JGx@Fa?aS}8bi_WkhQm8MqrsjE#5cAX2^tM%{em7HByu|c7vV|Zxy4xZK(@nb(D-dd2{boJ#kX8;9YX(G{86j)?r>P;x#gD z(57PlOyKL;Z_Q2k=6YTdDpelUsIErQ_U94C=v+lfnKFJ%mU%$kv;W%G|E!0w)y_jq@D=JzNd4!_&a)ZOHTA3OU3TWKo2G~zbLq~(GZB-p{czab&F`aD_=TZuUS}`G3rd2gX-)sy4)~EqI8PAb+vi6p zCeeT_HqS)dy#*mOL;`D4bEQoQVh4_Ba(^;*+fV|z0Eo>>2@=tGH2x4g&=bANfm?t% zBJbTxQ2Ps^;zL_$%B6HDiNvn*U)EruOJt#!-%sx3t^C}I%6TYjay(X6b~MxYVZKpB zI-Ja+!kY6T3h(a6{rzP6QO;&Y`Qvt*VYAWedu15lTYI<{3_X4q2XUm>Bnx}!`%XLn_nv4Vd|bt`?@@c@aDaq)3p zHk|dAx#~ZN=wN~NTImWcCwhF>g>UKGH^xV)Z}>lC;O|vo#`J8tYKrEYS0lUz_5FJ6 zuk~XzaN`|NXpoP4;p>~f$(eS zYYM0(fwEa|y(*`>aD+UwpJ3*oKM_`UFo=DbjnyLPI0!ly$EgSaSi2A~U*kUHY_^{h zXJnjt-dN7}mg0R~{Ha4!S@3)u+sYR;9@?DbI6My=t$;sJ)z0QdcGe@(h$7_S>|l*X zBawxDj-5a0JEQ}q50G!~3=ZV5UG2&*=&(k(-R^zU8*KI0%C{l~1e21OAW6_hT$9C7 zU9=dEniA<$%=bm{PaZFS$gtKbjnj5NwhD}lR&r%&q}y(__*u-aEdPd@>PM2pmEWo6 zjPK_%_Y_uHzsVC3NZD1?jIHQ9dbEJ=Mdf|f5_M_AeRvV4`+QD+vwB^{to4hn8A@`u z0yvH8LVU#EU~2=p&$sP?1HkYJCilV3B&clK-8mKleOkRB$|;7L@f&MRaOb74%=MG0 z2LU2ObI+T({0fFdzDEh%AQ`txXhmVJiiHqHsx`O>Ap zlN8i=H zOuB>)soLkoHno&A=s5UtV>(ZtblS(n@Ns0vw3GIS*?LrOY zkQn?Q3AW*0d5#tv4{#{8QumiEW z_+NV*>x}+Fe-yW_x&ds+>_GP~e(P&Q!;OJLgcrASzRq3H{nLZrzY7Y+Sd>eCeK}$4 zXWl4JUHvZoD9#LX{5r%2P6Eb1aG?z;KtN97GPlwx{f>K_)b~aQh*@XnkUVy0DRI{xp3# zx#2&xs8EZ&200dou_qc$gys@C9r2`h?{u%$WApvLqA3!))dGOS9|yB(t=HQ|W5@i> zv;azPKn(K--VA?>-J2`quK~*Z99QfI zx4rb#2cfqfGSAh)cdPbNgk62wtMca=f4Eix^2eq{Zgcxwb=u(L3DNZDU+43?)#|}u z_D^pZYbKva6gR>V-sy@@+6}m69UQlP-jw4E+$7#$Hs4&Hg@DLp$Vw@r(WI`xLKzM?`hz1wK4R2N}92c$^%ZK;~_Qv=iQxF|-tEfF~C!KaeqKkf}Q z)};Fod)`7$9wo7k;kc*$Z;DTUHM^?2L`Uo*d4qY<;9^|W@P_6KoLcjx{j5sJ?+R!t z6Zr0}!Q)>}HJJ|}b4Csf&CI>-6sQD8td>&-KPKCdhS%)-yh_pFhNsko=B=rZBj~;u zmaM?8$+P5eypO_LyOq88E(p{FM`q8yEAYQ3C~d+&RrxrkrA`j4_jQ zEt;5D)=$I?iN{1^PRTk1Em5AN2+CFgV*$sKZh{PTvl*+}jkmqYt>afPWXUh zQN2$f853HQyVF!z^YXzNLD_8nZ*v2<2B4(6Es0uiJGWfAqQIXrDwDq)8zF};89r>_ z^J$lN5~mMLeBqUzIyKPhCF_z?^K#?<&4nJB^ur%th>niD;#I@NabJ?we(G}F{eNZP z(Co<_*eLV$Cg&3&;@VZHP;SU#JePrceu&)Tt%{QEbdbn(U3c5aM43pWIIa2D<}8ar zAoqJN?Nr-7GS6z@tbngZxFMT64pv#)^NQSf(~Q@5-l;(6?`dkShQP3D)!%n8u=*`P zWn>)|hTl4>NZTBd!vj*S=~ru`F5!H)Xog3%k(}t&s97TRiN_v0f*x=R;N))5MeWcc zkTuLO5f5VLubUtM8sX~1C`2zL5H)jcAD%&piksqLfrX|w7M`q1+zavqG4)H!pu1rV ztim~ioB(Pf)dx)Ur10}8B0^+2L2G za#?01C|k-%5&8Rj*faAINkK>H>MraSvmer-0RAgyjXv3+Uh)Q{>4XXg01lkd1+CDO zG8%TEhDHj2o}6Zb*z7RVK@*aW4nt{-w@7#&N}w%#DgGE()1a3e-f7$(+E$F?P`9Ej zKj%YM&hcc@CK#NG4)i?4(E(lo$qpi$F$c`XkTbgd#OtSUe|M=VaW~<(MpVL_uzALq$1HP!uXeHoobbnw00W8(x!W*C70?AYY zyeaZ%3^nu+vE7*_3Cao?S`f)H0Xy(yUUw6?bQc6thOVDg@KPQkklC=kD?OKsckVUX zE1zG*CZS0luzk!yt-0Q#+kA|uxMv)t_ggc8w@1P}9%xG@@S+U> zWUAh#FgL%-`_~;@@UXkFdXrPmfkGpHEj$x#8fuKTOpK1ujU8zAjSZ(1md1;iq3$T< zV3UP6N=Y8P`Fs6S1&f7Bu`X*u{glY@V8nosqs#}vAjBaEM4-nv2TfP5>_QwE{K5&J1J*y#+}J&MSWc9ea_~XNzMSsV z{~}f#P6@%|C)esQN)%@nY{(^{GH>c`z)lA8l!QOAPZWqdyW4wr8Z4T=OSj1iXmwq? zr{g~L6utZ`Km%lo+*`q}_kq=xgbrPi^OEXd#~S~Mj40OD6=({Sy`Xdhw*P_n9-99^uI@4Vnj91$=XWQJ-r(Zf6 zo1HGS)6|MeAR4cIBBTYHdCPxBJrfG$1;Co&W&T)*L!k*@ch}5T6y1KG1~}KFe^GVp zK;ZZH$C1xYGxiP!uv{pRSL9_WC4fM)Ivh$Op=cbu?}j+X#WSUZmS`QNsZ8qB;rb>*9HPQ61s6*ZpPDGB7k&@gqxs@lr4ab+=uidRc>PIQUWJ zT9Tv@yC|PV0emT1bD>BY*P5=_7+J?IO?4S`Ra^N?_QZ9PRqaaibhLla$`-7ejIO`+ zd-%m{cixeac!UNurUMO&F0J#LsE|6(KFP*Q%gH>G{4hoMfn_K9y(!^o#Q5VOI zmBtp=uwoO=t`Nqrit=s=|na1Yv?Od1}K>hb*2-0 zintbkk~?QDm=%dgc<@#?T1_K;rC{IE-tOtHdKTfV7H7(U;e8+%33dIAQoN2o>OImG z0fL-mJGlv;hA#9&&=G!jVk2s)9rmUu0YI+{lSwHfT-;}TPPPh^?PYT7Zv$jBJ)g~Wf5{DM0F-VJfD!=peXtV4lo4lnPz$)1$Rx+HWC19sbU3~Sj^{>Ecd5!NMcb<*61oKtY4pPcxQ zb-<#=UEsn{x=;1~*D3znDC;s$lZuZy--(=p*Bg?G;N&n=vvG&eyctrQfeW5ejX$LPrW=#a?uvNghSc@NX8WrdjE=e@uA+7h9kn@Rovl zkUJEQYambyH*$R~rlB*8gBJT=_VczCGEb@m13&YSnm1AD0So5q}5N5KPaA_ECztr-%N-?}v$hS4I~n zyr2)3**|@-rLj~K+^;=>_)4wcwSWfH@(s&Byz9OPcytPG*vE0E$uT_68W z{`n!6=1pjZNYuT%hJ>OmfthntwuL8l>~onDBn5J8n=*}5){ntbQuuhveCtc4`^AUw znI)SySUe#+h$^is~8kR#1dcPw4^RyXOYIWZ$$yXKe1fPCdb z)wJ3TPY}r`Yn&^Mg+Iz- zg#*V%8>diZlI9D=gn41rM;&*u56z9OI}K4mK?b`*tMoO?Pm~e*M!1dVk<7xro*-}g zI&U?0JaQ?=xy&ETc)mf|;WFX!w`9Zr4$|x>)DR7#XAg#Wv@Vc!VN&a}NFcFJgGJLS z0xzA>d9s{<+$U-#ag08!_$bwxM=rLCH2N6BjFAAT!va8xoyvod1wZCDp0{{nwGfG1 zpKYlcHfRrZGL#S}TtK2K1+Bh_&KU^2A+bX3O7j+eq37ARBK)f@2S~+^ky$^Z-|bL5 z2HYfQ#AdG*++~b^%_DuyxO+8xc@ucvyC5)gE%$|CoI#Uq3EcD^mJ&G(0(WwONM5P$ zvH>bc1Qak3Sxx;M-5bmn0|Kms58|Je`eWwj#bOChQs;Y?ZJshRED#1Bo9wkoaWnv* zZ~eUoa2?Fw*qZxs^5ZhGF8=0hqsPx*#P@we$6^Cwv{D24GZC=m26I1g!E7qQI^ zJ$w0x;Z0rBH3s@^9Q?5~yuxSFH0#}7Ykbz8Qc5&5)SBdbQCo=${qqqI*Ak=OVB1jw z6swO-HiYR7s6BhbpLDN$lLYJX*FPESm;e0AH3UWrqdC2mjgqE zW5=3}0%43NAyLI@n^_PL7@$InBueDD_NHIVouj-bX z4ZY9T#>ZeA@-O6HC4_L)0Va{oZ)SDAm)Gc!1fD3B6&IZ_j(a9aM1 zb9T<_oF9s_#!plsVi6Zh+;?|Ek2Tl+z&a%(_W7O|UR_#lzn77p{;)=vzk0})$uh3c z)3p7c`B^v%L%8>NbnNnt(ZkU3cfm#MM};sZwI8$yUsL`Y)TAnf6wWq*Znt9F86>U6r{;}dg`@;~= zC;Zb^>aE<47zMOK_l+Ja(5P+z+KFLILr6;RJ-4An8I}D=6*idk z{>KN;Tf1gH2kX_8Ts{dZaOr{KojNwQvJ8DoqdP$1n_mkHnhS^^dI_16bU+__(`x4Q zJllzp+yN7}VkL4uc?l2za*5Yg_73_E?3XOP3?>e1_?i$p35?n@7=;!@+mb3?sGW(C zL|Bo13XoVDNRW#rjy!2cJ|SyUkZ$x-to&_PZ=5=RzFgNE3k}WE_EUp8n3XTRW_)a9 zcjaWU*kWlpa$(3q4}s?Ku_T!YKhl66f8}c@6=s!6MOKw67-=s(>5;;+Cpbqw5{#CB zL@U_B+XelQ^`wi>r1H^$09lcrL8#mr38_x7BPqbNsw=H9RiYA&#?RCbfzZ9D6swJk z`6J+0ozQp|Kh9rN>FBL{*q3kxz3-mB{Z4u~3@r2)H~NUg1ws9xVSx@!*)ON!mj+Zf z;U-sMQnVST#&#aZJ)|sxI5W}%kEd%;!GF91O$b)$F@wsOq%2meg4x8WkPDylIvrR) zVVAUQs97H{VyuNUlMhKr&naOrvxZ2dR3F3bPn4!jl|Q8MFF=}bsN-YR9~O!Bz2wnh z<$KBxIE*KZk{r(ApEaz3r31dCFHbXlfV$ub=L#tejt(GH<`!i22MaQ`#;6MYYbK5f zCDe#Nn5ZnLL{uxjx%sI?e}>PE&K^Wv^H*UW4E2bTTz<9+^uFw0@$x~b#N+b@uXHTk zy|%ql6}Z0o80oHSo==Rvb9*af7F;Q=dV1)*7XN$i&Ea8DwUKVposto1V=%XRi;eB6~5 z0vl=Xsw3=yNq!}AU*P>5jTYn_a4igtk_2&od;eqjKz+cVM13nHQU+FUiv<4bDp>Af zoXw(1+fcn&WeN$rP+OVS67id3=2Pi6JNd7OS0JqzOZU~m5W5qKXiB)j*nuB&e!FgGybU10cA<2?9lL&k!dD4u)H0+-AqQgs@cXLr&vc+S_RrIcJwoNy(YEEAb=<`Jat& zsP`vFat9d4`_m|hIsgug9LiGKkwqAP{C)Fr6gue{O}AY)G;}(vQp-pFK|I=sINxng z+<=+@T2TIWSlK5Et-o}jnLmC<|41;H=h@H+5u#+!0#kR!3ZlCpM@V1y8SJrPO{rZf zZty6|Y!Mnx_*esXqc)#sW|4Au$&87vu-PQH!Q!G^YOwcJNaRt>8-^cM3XWZoxE&2q zB=~E#dSFhIT37L;Vi0vxxNcL1GLrmtb%n|XYl;Isp3XPiF>H0crZd{vGnb^_fwx}j zVmqBocUcm%h?$`{eXOvJ7E`l9?YtfjILS~Bv4a33XuU2TSGLTQht>Uh@KJu?Z7DDK z<;DYkMG-d#TJbyRyO*R;fKBV%eZ4Dy0nyHgcWi@igQ%}>DZ$e)S`b}tOC&=MsQa9Y zbJO7WSv0TKtDCeM5j3Mb*0ev!u@FR3+Ar{RZqc=jfj> zU^VgPJ+{GWX+J+E<2p5tAh)5=oPTdqfJS2Ki3UDR(u_ z=?lu`TnfZ?Fd_5M{noljbLn6RpLPquF>`|`aI?^R?%t@gdmGc-~=@(5l1BmdrA{X$F0e}CO? zeS61Z`S7ht&(xdvf#|_FagPB+j9GpFGw7J?ov<(!1})UJCNK`aXI9|MDRqd zq_12F&7B56$C(_pXP>xhJpR|cj5%8?o-H@XJ_0gdZv52y&#m1EJkO$QQf!G>GQc^ zuXYL+r~#A0oTvwyK~PqH--n!d&XaMIG=0Q}U+#G9vJ17Iu%8{ue9uN<|QE6xJ@i0lFuHz&i*^Un&R*iqIQ><84z9C{1Po1G3$3F$U9? z_RdcQ_^)#VMHRRv)lcZI6%r`?5*ipzf~QXSHPZ-6?|T9D_u8%MKX}lt)_k*YE46o{ z2neq7MgbsOhwl6xjE)^YoV3h%r}RBYzsA!I#oPB#x<(B!1Yz>|F~mP=s5ZV~GpAS) z6+<~F*DBLgLp-qa$E0##FXtEF4R-*aO(IA_Jy=s^qg7L4#FC&Fpqpfk0yvcYhrwfS zPP-m;tn`nxM!St_w=;nuu7?9>H*i4i{ZSvr_mm$+qL=Pp$w*|n`1nSSRAPFp4hW?_ zFQ85SNLE!GZV!T3a7dk~P*Tc_b1SVQbyC!}f=(sp}hI{3a?a)G!6zEBg&#=G8G3M33nD>lRj~5w5-*#%`lul+ERlHgzN#AW zwj&K^Ja|g@@UxyK8l0uvNJU1JI{pLn2KC7u26}pOFCzVFW|wH-SQXT@y>*Z6%fcX6 zl6?+9`_z0L0HdShugcy=W&TX%1Oqt;$}nT)1aRbqu^Ev|3L}Z0Ek5g|ENjwgn}2nF zCHsku@q^Zlu@8t^%52%pFW=sJS|4un1vuu(;eg!*r8i!7--`+l$X4^3NseR-DeSV; zsw+blj9T!w=mHv{QT8rucdR8Meb_RSeS3HgED6Kf`rb5Lfbi=VgvTc_-no$0-uuRv zA2bU;1W!mdUU5|hH%z6k)pkCAAP{EBnMqK=K);a=k-9DxRm?Wp))9`Bljssnx-3;s zq5Ahfozp(l{?#A)5xT(#mQKcnPbUvjA#1q0{=J6dp18UO5vGnz#XcRXVbF8q(MQ%E|YoSe~-0u)io zy%S=P(5bBNMxF9Qcy~rGDcv5XP*#Kja994h1FpMpBB_949ig>K_J!aOuQmn}-SL|S z0k{~n7$A0vMN!?>3z$In%A0`sPLE4kUt5XM{ozK#jiN{C{vnR*=sWQ(fku-NZp`LA zLQBD0`GF5kD5KTPJ18;Ng9X&-KPGGfqxdglKBQLyr`vfJ5Y zh@K7dSLE?Y!YyF@+2-dr%slzM=*9rmmrhL~#nU(NNDOkJAoV2n3WsioO!Iv&WlYS>j<`Y>oJDgU?+Tu=Dm!nX3ToyispGgpJ;9#13S9V{wOp^s_yJ} zI=n)dU4uD9*AZf{^y%Xx+y*Bk=r-?6X|+iOAWI%W8^t;-=Qilr#*|I+z!$#mnTYy5 z74s=dWl}R9SYon0&^^?>FL|Wapw~W80-_2aX;_2(4a9+mZ~mh>fRkSO@?sZv3i#7V zBG*}S*$o+!!v)KUZIfMr$@gF0RGr71_EP?e!VW6@$#i=j)u>u={@1*iYmBwzv}Mjn zP~+fmppX$K1k~n>NX15tjjKedC@1*+q5Zp7H2%y`+27Cc=Z(LE^JX0b1l4zA!~qw= z)6*FZ5AFN7D=Xhcx#eu~;Xj)89w9b^ytj)u6O(;-etO$-9N+4(?as@Ve~?qJh>JFe z?4|ULIX2A8z9a`-4m32J?YI2e(D4cE3f(9ue{cn5%c=t0C&(9Es-56vM57y;=7fBi zXP3W|ksvs-SrW`UHNjIEsZDEy)F=Khq#y`W?6x@ZrBI>{JDnSVAupnyn@=2i z7_%sJ5KN$%N{A@+n!7uWj0tz-iYv+$v1r!zQ<{KK z4!9{qH=}XXtQ|){Uk@%1#B{Fli^5@`*W+uos}cCOW*gU}>ZH;f*>gkTe`>cVN8?wS z%dTv?u*qE5ny-o*FELqwB>5#BOz8o#c0tV)7kvxV%(36{3IOPVD4!1>dO!>o@62G=)hrA0UvrW|EY%RwrAtNK{_!hhydjI>`j#E^VhA(V@wExB~7$2 zzB2X|93a!?24t{W_c|f784rT_%`QT~*!2@m@+m8ljFt@Z&xmJb#zr4rQ0f2GT__dB zP3-4Er@owxo%7xKcYUPpg7*>tR{sf^yO;U(tPRmv#OG0T)G6@k-=~2b8i;Cp@HC%JFrjen<9kr+81EYbbb*zF z+mQS8@H#hRchwr;=Ho09NJCSiZ}{S=^z9meQ-jo~!+u#6N#09QYvK{*bucD5uv`95 zGag^kf3N7I{}%j7qzC2EnWYp%;an<6J-k5flrq5)O-+{e^S8HVOq)0c1ok;>>etY) z_~qGV9~+(=$gz>}e+-?8J5+5LhtHXP7>s>qLZM`@?8XwZgii|o^3?2nMqU{cq?;jsX+ivDnBpd@gzh(fZn!}qik)shEhjimqjEI&Jb8N&2nL z%FM1+tDQ%wfjLaQotq()qE6-$o3>Pj`@x8B=6t~v1CL0w_CsYJ(qxtIuz9cl^f{C3^n-`uIUD8Tv4XrJJU_u_lTn^Z-U(j4u5Y5? z60n0#&W$kGsTfOEMH!Eb3U`3y3ju7kisH%^X*(P#LM52zH{Gc;Jshb=YO|(-r zh77-SlilD(8#?_*=a%l`#7~pd7DE6uUp4UIZ_q3k%f}+qYmFp(UdA^c#l^;#BP^#W zbtt~g8f70*{;lxCtjnxQ&r`ws_kLsMU1p`yTY1#csqa~#tR{A@(Ot?2;Dn`tbh%_d zF(oIL@jL^N_$3j^lEX`4-Srg85#lyr_UtMIMy3I`k>ot(e#t@@P+nC=!tk^-KhI(# zGjAVX9}~-%%GmHqJ>PoO!8ds$sW}gn(g+8@pC;}0$2?x2?bQ*ubF1~|Eb%DY`JXmd zTL+BA>w1m?vGU@yl+dzTTz(~k>-sX-%zldhw>mfHdZsW+>bet?x0Zg)jdJD3M z-#J2Iw8uGd8uGE8)5!|$Y6kJRYSrq=m!o&M3Drig)&ZAI(NAOlZLogFJ=nR5kh$+D zHuEW54qi2hWi^hE)wVGw>C^O<6Z@Y&Y_)l|>;C24%`L>cBSyP_SBYZ>43~p52@MFC zVj4w`P%G1k&)sKs>MS$)RL@*0gR z@FT;4zB=Wg(|zM=!Sw{qdN?te{K?b}ML8JowF%DY`Dh5BKAviIK^&cN z@d5xbE$J*sPE`dr&kx;BxkLr6T9vLllC))5|Cs*-d!2P)4`4O1)n2YkO~|{-fX( ze@|-{w2(fNzHdZ!m-IgS*K2k2TPNiQ@jGC=_hD(ReQ9M0VUmHh(c$Yg5DC4nqd)%b z3f~h9Q&GpElZ`|mE`hQiI6AZ{LjsYBh$|3O6$8^DkGJT;CY4T-{e8eUlbkFC(a~xA z3HP5SfAmRAQ8ZE@vN{PG7YA!0YI^x|zJ&Z;qMqlo%m%}OT+{+h!({I%KbX8NqI}Ss z|BBFk8bL5^gLJt8@(P|6w8z4RKEU3?>#Fsyu5YImNm0&I?5p4~;JuU;F4gD^mM#gy zv891c?XI4`h_1#QaS&uag$pA=if|8v-v$28VT>6L_A;r2GTJr2OLqi6SxvYRG_D zM*dNvh2y0a5Qpir+EQa$UI+;QUwzv@7_&xN4D}P%zUHzgC&YvJDXx?{9ai=M2=C&t zxnzm_&@4we$QGn3JbHF51II6fOe4T;*0?S zdrpIMNluv3pwnNxS|_tqRXNZ7>$KH~nR*#m_((niQpYn_MP&RqE_1?hmY*iViz2ArL4j;Ts_j1*cvE5v z#)*wo(aukPxV(lzD;?h7u{5$ERHbV4nOOPMg(Uq)5UaEi-9>iVQS7- zEmzZkqFjvaWi!G{U}U$KjX1~hDfHNdtyg@mRzO$UlvHEsD;y}D@2xNy22s~3 zXeIL^R3X+;IKR-{Jzug~9hkriq;bZM}P3L;=+z4}Boil&bWxu$l!#5&4&epX?vSgN4 zoY<3|`^lD1>8$_3@+fINRH5hoRGHIUhdV}~^V>3-rC@%1BWfnvlVR0v)y2)yJyOf} z^9XfrF65SC|ATL6=|EPi$J13Z*qn}6?>JBZP+nAAK$?auhz>DB-XCXuDkCZ{WpnR~ z%!TgB+u;AODf9VC#!9i~WeRZBi~BK~wYUX<$LJDc;@LgQfMbnt{@gagqZae%*)ai{ zY0|P{sshYR`In@!donic9%E^9JKzIS>YArjIx{$`>G$U3ip(5aH6D=8d^i_rRpXnb zzn6GvqFuE){{C)>#rKih->K(e=i~Du@=wsaIpF$AoRQ)cfLr3-X!>G^uIixE)kv|l zmk(*U|J=k^w=U!YexI6tk=gWKThdfQS1P2^r+V9(ZofrUd5^fl29?5W2~wF+RbKnY zkKkuyB}LTM3N#9N@xjyT&!)S3<6o_#{u0~8o=rIO%=IiqD ztM4xmPy5ClQ4V+ARK&ZieQ5f2`2HG&R6L(Y_w|2j7|TL`^)52Mmam;|(35QE_f_v% zi)i@169E)D&o%EvLcxIFbj!azQ3>=&4Z^tqc4d6J64%fH>Iav_M#c^Y^%823S#{O` zV-|h9IGQebWC}ivU=uN2&Q|ktVt&&ApgSQ8%$e%*ZS{>_x@XL4V*|qZ+#l!q2!1md zsnmHJ!ADR$l9z2h{w3!i_Ax2#%BS4*SKZ+5fu!Aq)uhYBX7_gD+I3WX=m+WK_J4Cr zLau(-eCrcDEcMsVTi_5Eib~RKPn*bnOfJ;4?{@X<00DF);*l)cN(}N}3QW1pn|R;- z61%yk64$X`zqCqME}Imsh^5cT>wq;se7}lm9Mx+|eS6c=YgQ;w8l+QvC7iEB9twIQ zvxS8Nx|$z!pSo5R<%@`@jMU+IbGU!c>q=s?6F9>~m<#zko+&SZND=iZ4L)Z>aDTR~ zI0Oq(;(2;mP`B|ugicT1+tvJxGg%PO95J~{8CKY>T(NBU9J4Yd!&;|fQx%qOb@iey z-=${l3&!r74q$qa2Wi2kv+q9cq@9Uhlg1#tmUAMQbnsY_O3p(QqRD z(q|dRw2haCmZZy#y63g7TznHy#OT8KDLXs8&dRbYTzNmv9IUg5qfM&w20to`4o2Pz z;|Z4jJTw z=cw%Xc_eU)Vz2X}RCmgUp9zg0PA{UP$w z&0x|L`}nuL(y7ye&EsWU2B5IQwi)M5VbwS~_O|>9o~T$vM!5_)OftbGbh6Z4R36#=Nc8Xi z6^~V-t@ukm4~~jpNu!*p*c?i>H|BgR}5ad6+Tj+@%^O)90E5D2f28FU0_M0z$`Wo)#4=ks@{Od<|P zQs8apG?YLf0K#eNWV#kNfaaaqDVV-EUSLcb zd;DhQ(b6k{((nFLS;U8zo!md82z{r!mYjS(9bdWo@SgDl?Zvg9vJo)a!PzHNk@Lmi z7vJNY&p}FZ@fr8!xQFKWj8G0ucbj{!Fntuo9*S=fGaeOj1I33-Uma6%h_=h>f`! zBjW>UJsuB{TB)mseR-@ayNzWHr8n=kY5rT;(d@|t@)M=@}ce0tyM!B5EZ zKSUG}l&=2ksxWlPrkZi3^iBy)c`}QtoSP=}#3<=zgNS0vvfI%0D7(Y~7j*r7g~3xA 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

(H#tW%ST3yWQJ4B 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 z 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

7dhkbV@0jue%U;R)YjX0)a3fDn_7 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%0D1h%i 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 Date: Tue, 29 Aug 2023 01:38:00 -0700 Subject: [PATCH 021/182] Update with working Replicate example --- examples/notebooks/ReplicateExperiment.ipynb | 90 ++++++-------------- 1 file changed, 24 insertions(+), 66 deletions(-) diff --git a/examples/notebooks/ReplicateExperiment.ipynb b/examples/notebooks/ReplicateExperiment.ipynb index 22e776b6..472b5c5b 100644 --- a/examples/notebooks/ReplicateExperiment.ipynb +++ b/examples/notebooks/ReplicateExperiment.ipynb @@ -51,8 +51,8 @@ "source": [ "import os\n", "\n", - "os.environ[\"DEBUG\"] = \"1\" # Set this to \"\" to call Replicate's API, otherwise a mock function is used\n", - "os.environ[\"REPLICATE_API_TOKEN\"] = \"\"" + "os.environ[\"DEBUG\"] = \"\" # Set this to \"\" to call Replicate's API, otherwise a mock function is used\n", + "os.environ[\"REPLICATE_API_TOKEN\"] = \"r8_AlGz9ofN7OAwmiIcCqhxa6b4Duqgk4T3IyaaI\"" ] }, { @@ -91,98 +91,55 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 6, "id": "347590cf", "metadata": {}, "outputs": [], "source": [ "sd1 = \"stability-ai/stable-diffusion:27b93a2413e7f36cd83da926f3656280b2931564ff050bf9575f1fdf9bcd7478\"\n", "models = [sd1] # You can specify multiple models here\n", - "input_kwargs = {\"prompt\": [\"a 19th century portrait of a wombat gentleman\", \"a 22nd century portrait of a wombat gentleman\"]}\n", + "input_kwargs = {\"prompt\": [\"a 19th century portrait of a wombat gentleman\", \"a 22nd century portrait of a robotic dog\"]}\n", "model_specific_kwargs = {sd1: {}}\n", "\n", "experiment = ReplicateExperiment(models, input_kwargs, model_specific_kwargs)" ] }, - { - "cell_type": "markdown", - "id": "f3fa5450", - "metadata": {}, - "source": [ - "We can then run the experiment to get results." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "1a261583", - "metadata": {}, - "outputs": [], - "source": [ - "experiment.run()" - ] - }, { "cell_type": "code", - "execution_count": 6, - "id": "fc4c4fd2", + "execution_count": 7, + "id": "ca01ff10", "metadata": {}, "outputs": [ { "data": { "text/html": [ - "

\n", - "\n", "\n", " \n", " \n", " \n", " \n", - " \n", " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - "
inputresponselatencyimages
0{'prompt': 'a 19th century portrait of a wombat gentleman'}[https://mock.com/1.jpeg, https://mock.com/2.jpeg, https://mock.com/3.jpeg]0.0000085.001268
1{'prompt': 'a 22nd century portrait of a wombat gentleman'}[https://mock.com/1.jpeg, https://mock.com/2.jpeg, https://mock.com/3.jpeg]0.000003{'prompt': 'a 22nd century portrait of a robotic dog'}5.024777
\n", - "
" + "" ], "text/plain": [ - " input \\\n", - "0 {'prompt': 'a 19th century portrait of a wombat gentleman'} \n", - "1 {'prompt': 'a 22nd century portrait of a wombat gentleman'} \n", - "\n", - " response \\\n", - "0 [https://mock.com/1.jpeg, https://mock.com/2.jpeg, https://mock.com/3.jpeg] \n", - "1 [https://mock.com/1.jpeg, https://mock.com/2.jpeg, https://mock.com/3.jpeg] \n", - "\n", - " latency \n", - "0 0.000008 \n", - "1 0.000003 " + "" ] }, "metadata": {}, @@ -190,32 +147,33 @@ } ], "source": [ + "experiment.run()\n", "experiment.visualize()" ] }, { "cell_type": "markdown", - "id": "266c13eb", + "id": "f3fa5450", "metadata": {}, "source": [ - "## Evaluate the model response" + "We can then run the experiment to get results." ] }, { "cell_type": "markdown", - "id": "bebb8023", + "id": "266c13eb", "metadata": {}, "source": [ - "This will be updated with structural similarity evaluation. Please don't hesitate to open an issue if you have any suggestions. Stay tuned." + "## Evaluate the model response" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "78c0c9f6", + "cell_type": "markdown", + "id": "bebb8023", "metadata": {}, - "outputs": [], - "source": [] + "source": [ + "This will be updated with structural similarity evaluation. For now, you can reference the example in the Stable Diffusion notebook example. Please don't hesitate to open an issue if you have any suggestions. Stay tuned." + ] } ], "metadata": { From 4b2e0f229fcc03fcb77e0ed6da52d0f304eeb7c2 Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 29 Aug 2023 01:55:11 -0700 Subject: [PATCH 022/182] Fix Replicate kwargs and example --- examples/notebooks/ReplicateExperiment.ipynb | 44 ++++++++++--------- .../experiments/replicate_experiment.py | 13 +++--- 2 files changed, 31 insertions(+), 26 deletions(-) diff --git a/examples/notebooks/ReplicateExperiment.ipynb b/examples/notebooks/ReplicateExperiment.ipynb index 472b5c5b..bd2cad94 100644 --- a/examples/notebooks/ReplicateExperiment.ipynb +++ b/examples/notebooks/ReplicateExperiment.ipynb @@ -51,8 +51,8 @@ "source": [ "import os\n", "\n", - "os.environ[\"DEBUG\"] = \"\" # Set this to \"\" to call Replicate's API, otherwise a mock function is used\n", - "os.environ[\"REPLICATE_API_TOKEN\"] = \"r8_AlGz9ofN7OAwmiIcCqhxa6b4Duqgk4T3IyaaI\"" + "os.environ[\"DEBUG\"] = \"\" # Set this to \"\" to call Replicate's API, \"1\" to call the mock function\n", + "os.environ[\"REPLICATE_API_TOKEN\"] = \"\" # Set your API token here" ] }, { @@ -86,29 +86,39 @@ "id": "3babfe5a", "metadata": {}, "source": [ - "Next, we create our test inputs. We can iterate over models, inputs, and configurations like temperature." + "Next, we create our test inputs. We can iterate over models, inputs, and configurations." ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "id": "347590cf", "metadata": {}, "outputs": [], "source": [ - "sd1 = \"stability-ai/stable-diffusion:27b93a2413e7f36cd83da926f3656280b2931564ff050bf9575f1fdf9bcd7478\"\n", + "sd1 = \"stability-ai/stable-diffusion:ac732df83cea7fff18b8472768c88ad041fa750ff7682a21affe81863cbe77e4\"\n", "models = [sd1] # You can specify multiple models here\n", - "input_kwargs = {\"prompt\": [\"a 19th century portrait of a wombat gentleman\", \"a 22nd century portrait of a robotic dog\"]}\n", + "input_kwargs = {\"prompt\": [\"a 19th century portrait of a wombat gentleman\", \"a 22nd century portrait of a wombat gentleman\"]}\n", "model_specific_kwargs = {sd1: {}}\n", "\n", "experiment = ReplicateExperiment(models, input_kwargs, model_specific_kwargs)" ] }, + { + "cell_type": "markdown", + "id": "e3bbccfa", + "metadata": {}, + "source": [ + "We can then run the experiment to get results." + ] + }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 5, "id": "ca01ff10", - "metadata": {}, + "metadata": { + "scrolled": true + }, "outputs": [ { "data": { @@ -126,14 +136,14 @@ " \n", " 0\n", " {'prompt': 'a 19th century portrait of a wombat gentleman'}\n", - " 5.001268\n", - " \n", + " 4.154633\n", + " \n", " \n", " \n", " 1\n", - " {'prompt': 'a 22nd century portrait of a robotic dog'}\n", - " 5.024777\n", - " \n", + " {'prompt': 'a 22nd century portrait of a wombat gentleman'}\n", + " 6.877061\n", + " \n", " \n", " \n", "" @@ -151,14 +161,6 @@ "experiment.visualize()" ] }, - { - "cell_type": "markdown", - "id": "f3fa5450", - "metadata": {}, - "source": [ - "We can then run the experiment to get results." - ] - }, { "cell_type": "markdown", "id": "266c13eb", diff --git a/prompttools/experiment/experiments/replicate_experiment.py b/prompttools/experiment/experiments/replicate_experiment.py index 636e879e..b486d2e5 100644 --- a/prompttools/experiment/experiments/replicate_experiment.py +++ b/prompttools/experiment/experiments/replicate_experiment.py @@ -6,6 +6,7 @@ import logging import itertools +from functools import partial from prompttools.mock.mock import mock_replicate_stable_diffusion_completion_fn from IPython.display import display, HTML @@ -76,23 +77,25 @@ def prepare(self): @staticmethod def replicate_completion_fn(model_version: str, **kwargs): - return replicate.run(model_version, input=kwargs) + return replicate.run(model_version, **kwargs) @staticmethod def _extract_responses(output: dict) -> list[str]: return output[0] @staticmethod - def _image_tag(url): - return f'' + def _image_tag(url, image_width): + return f'' - def visualize(self, get_all_cols: bool = False, pivot: bool = False, pivot_columns: list = []) -> None: + def visualize( + self, get_all_cols: bool = False, pivot: bool = False, pivot_columns: list = [], image_width=300 + ) -> None: if pivot: table = self.pivot_table(pivot_columns, get_all_cols=get_all_cols) else: table = self.get_table(get_all_cols) - images = table["response"].apply(self._image_tag) + images = table["response"].apply(partial(self._image_tag, image_width=image_width)) table["images"] = images if is_interactive(): From 9930fba57dde3d5e3bd61a5548095c7a1e1f8ca1 Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Tue, 29 Aug 2023 10:51:09 -0700 Subject: [PATCH 023/182] 0.34 version --- docs/source/conf.py | 2 +- prompttools/version.py | 4 ++-- pyproject.toml | 2 +- version.txt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index b8704159..357b0cb1 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -11,7 +11,7 @@ project = "prompttools" copyright = "2023, Hegel AI" author = "Hegel AI" -release = "0.0.33" +release = "0.0.34" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/prompttools/version.py b/prompttools/version.py index f1b7fd0a..ae5e6f47 100644 --- a/prompttools/version.py +++ b/prompttools/version.py @@ -1,2 +1,2 @@ -__version__ = '0.0.33a0+c405e4a' -git_version = 'c405e4ac0b8076f9bfb12cb1812ff953ff09b90e' +__version__ = '0.0.34a0+4b2e0f2' +git_version = '4b2e0f229fcc03fcb77e0ed6da52d0f304eeb7c2' diff --git a/pyproject.toml b/pyproject.toml index 436e5817..8cf278c8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "prompttools" -version = "0.0.33" +version = "0.0.34" authors = [ { name="Hegel AI", email="team@hegel-ai.com" }, ] diff --git a/version.txt b/version.txt index 129b9a8b..a87addd5 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.0.33a0 +0.0.34a0 From 0c68eb15eab9688bb0a25ab5b97f73e8e122796b Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 29 Aug 2023 11:58:53 -0700 Subject: [PATCH 024/182] Renaming and moving Replicate example --- docs/source/experiment.rst | 2 ++ examples/notebooks/README.md | 2 +- .../ReplicateStableDiffusion.ipynb} | 0 3 files changed, 3 insertions(+), 1 deletion(-) rename examples/notebooks/{ReplicateExperiment.ipynb => image_experiments/ReplicateStableDiffusion.ipynb} (100%) diff --git a/docs/source/experiment.rst b/docs/source/experiment.rst index 8718d39d..c18a0806 100644 --- a/docs/source/experiment.rst +++ b/docs/source/experiment.rst @@ -65,3 +65,5 @@ Computer Vision +++++++++++++++++++++++++++++++++++++++++ .. autoclass:: StableDiffusionExperiment + +.. autoclass:: ReplicateExperiment diff --git a/examples/notebooks/README.md b/examples/notebooks/README.md index 979a4216..90ab43e1 100644 --- a/examples/notebooks/README.md +++ b/examples/notebooks/README.md @@ -52,4 +52,4 @@ have something to share. ### Computer Vision - [Stable Diffusion](image_experiments/StableDiffusion.ipynb) -- [Replicate's hosted Stable Diffusion](ReplicateExperiment.ipynb) +- [Replicate's hosted Stable Diffusion](image_experiments/ReplicateStableDiffusion.ipynb) diff --git a/examples/notebooks/ReplicateExperiment.ipynb b/examples/notebooks/image_experiments/ReplicateStableDiffusion.ipynb similarity index 100% rename from examples/notebooks/ReplicateExperiment.ipynb rename to examples/notebooks/image_experiments/ReplicateStableDiffusion.ipynb From 5eda82905720947e0d6a1205b58e39a27752818c Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 30 Aug 2023 23:56:59 -0700 Subject: [PATCH 025/182] Adding Replicate Llama2 Example --- examples/notebooks/ReplicateLlama2.ipynb | 240 +++++++++++++++++++++++ 1 file changed, 240 insertions(+) create mode 100644 examples/notebooks/ReplicateLlama2.ipynb diff --git a/examples/notebooks/ReplicateLlama2.ipynb b/examples/notebooks/ReplicateLlama2.ipynb new file mode 100644 index 00000000..9ef897d9 --- /dev/null +++ b/examples/notebooks/ReplicateLlama2.ipynb @@ -0,0 +1,240 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0a13ddc8", + "metadata": {}, + "source": [ + "# Replicate Llama 2 Example" + ] + }, + { + "cell_type": "markdown", + "id": "623f0cfe", + "metadata": {}, + "source": [ + "## Installations" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "885dabeb", + "metadata": {}, + "outputs": [], + "source": [ + "# !pip install --quiet --force-reinstall prompttools" + ] + }, + { + "cell_type": "markdown", + "id": "2eac35f8", + "metadata": {}, + "source": [ + "## Setup imports and API keys" + ] + }, + { + "cell_type": "markdown", + "id": "5edba05a", + "metadata": {}, + "source": [ + "First, we'll need to set our API keys." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "ed4e635e", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "\n", + "os.environ[\"REPLICATE_API_TOKEN\"] = \"\" # Set your API token here" + ] + }, + { + "cell_type": "markdown", + "id": "842f1e47", + "metadata": {}, + "source": [ + "Then we'll import the relevant `prompttools` modules to setup our experiment." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "beaa70a1", + "metadata": {}, + "outputs": [], + "source": [ + "from prompttools.experiment import ReplicateExperiment" + ] + }, + { + "cell_type": "markdown", + "id": "622dea9a", + "metadata": {}, + "source": [ + "## Run an experiment" + ] + }, + { + "cell_type": "markdown", + "id": "3babfe5a", + "metadata": {}, + "source": [ + "Next, we create our test inputs. We can iterate over models, inputs, and configurations." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "347590cf", + "metadata": {}, + "outputs": [], + "source": [ + "sd1 = \"replicate/llama-2-70b-chat:2796ee9483c3fd7aa2e171d38f4ca12251a30609463dcfd4cd76703f22e96cdf\"\n", + "models = [sd1] # You can specify multiple models here\n", + "input_kwargs = {\"prompt\": [\"Tell me a story about a 19th century wombat gentleman\",\n", + " \"Tell me a story about a 22nd century wombat gentleman\"]}\n", + "model_specific_kwargs = {sd1: {}}`w\n", + "\n", + "experiment = ReplicateExperiment(models, input_kwargs, model_specific_kwargs)" + ] + }, + { + "cell_type": "markdown", + "id": "e3bbccfa", + "metadata": {}, + "source": [ + "We can then run the experiment to get results." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7f6eac1e", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "ca01ff10", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "experiment.run()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "772d0006", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inputresponselatency
0{'prompt': 'Tell me a story about a 19th century wombat gentleman'}<generator object Prediction.output_iterator at 0x1583c3f10>0.384344
1{'prompt': 'Tell me a story about a 22nd century wombat gentleman'}<generator object Prediction.output_iterator at 0x158488220>0.295275
\n", + "
" + ], + "text/plain": [ + " input \\\n", + "0 {'prompt': 'Tell me a story about a 19th century wombat gentleman'} \n", + "1 {'prompt': 'Tell me a story about a 22nd century wombat gentleman'} \n", + "\n", + " response latency \n", + "0 0.384344 \n", + "1 0.295275 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment.visualize()" + ] + }, + { + "cell_type": "markdown", + "id": "266c13eb", + "metadata": {}, + "source": [ + "## Evaluate the model response" + ] + }, + { + "cell_type": "markdown", + "id": "bebb8023", + "metadata": {}, + "source": [ + "This notebook is meant to showcase how you can use Replicate's API for Llama2. Please reference other notebook for evaluating the model's response." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From f2ea6638e573122ef8fc2f30a64ac8121b18454e Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 31 Aug 2023 23:47:27 -0700 Subject: [PATCH 026/182] Refactor ReplicateExperiment to support both image (StableDiffusion) and text (Llama 2) models --- examples/notebooks/ReplicateLlama2.ipynb | 65 +++++++------------ .../ReplicateStableDiffusion.ipynb | 7 +- .../experiments/replicate_experiment.py | 57 ++++++++++------ 3 files changed, 65 insertions(+), 64 deletions(-) diff --git a/examples/notebooks/ReplicateLlama2.ipynb b/examples/notebooks/ReplicateLlama2.ipynb index 9ef897d9..17eda34d 100644 --- a/examples/notebooks/ReplicateLlama2.ipynb +++ b/examples/notebooks/ReplicateLlama2.ipynb @@ -44,7 +44,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "id": "ed4e635e", "metadata": {}, "outputs": [], @@ -64,7 +64,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "beaa70a1", "metadata": {}, "outputs": [], @@ -90,16 +90,16 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "id": "347590cf", "metadata": {}, "outputs": [], "source": [ "sd1 = \"replicate/llama-2-70b-chat:2796ee9483c3fd7aa2e171d38f4ca12251a30609463dcfd4cd76703f22e96cdf\"\n", "models = [sd1] # You can specify multiple models here\n", - "input_kwargs = {\"prompt\": [\"Tell me a story about a 19th century wombat gentleman\",\n", - " \"Tell me a story about a 22nd century wombat gentleman\"]}\n", - "model_specific_kwargs = {sd1: {}}`w\n", + "input_kwargs = {\"prompt\": [\"Tell me a story about a 19th century wombat gentleman. Keep it short.\",\n", + " \"Tell me a story about a 22nd century wombat gentleman. Keep it short.\"]}\n", + "model_specific_kwargs = {sd1: {}}\n", "\n", "experiment = ReplicateExperiment(models, input_kwargs, model_specific_kwargs)" ] @@ -112,30 +112,10 @@ "We can then run the experiment to get results." ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "7f6eac1e", - "metadata": {}, - "outputs": [], - "source": [] - }, { "cell_type": "code", "execution_count": 5, - "id": "ca01ff10", - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "experiment.run()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "772d0006", + "id": "53b89b7f", "metadata": {}, "outputs": [ { @@ -167,28 +147,32 @@ " \n", " \n", " 0\n", - " {'prompt': 'Tell me a story about a 19th century wombat gentleman'}\n", - " <generator object Prediction.output_iterator at 0x1583c3f10>\n", - " 0.384344\n", + " {'prompt': 'Tell me a story about a 19th century wombat gentleman. Keep it short.'}\n", + " Once upon a time, in the late 19th century, there was a wombat named Winston who lived in the rolling hills of the English countryside. Winston was a gentleman of refined taste and manners, known for his impeccable dress sense and love of fine tea. Every afternoon, he would don his finest top hat and tails and venture into the nearby village for a spot of tea and a chat with the locals. Despite his somewhat unconventional appearance, Winston was well-liked by all who knew him, and his wit\n", + " 0.978888\n", " \n", " \n", " 1\n", - " {'prompt': 'Tell me a story about a 22nd century wombat gentleman'}\n", - " <generator object Prediction.output_iterator at 0x158488220>\n", - " 0.295275\n", + " {'prompt': 'Tell me a story about a 22nd century wombat gentleman. Keep it short.'}\n", + " Certainly! Here's a short tale about a 22nd century wombat gentleman:\\n\\nIn the year 2105, a wombat named Winston lived in a sprawling underground burrow complex beneath the city of New Sydney. Winston was a gentleman of leisure, spending his days lounging on plush cushions and sipping tea served by his loyal butler-bot. He was known throughout the city for his impeccable taste in fine hats and his ability to recite Shakespearean sonnets with ease.\n", + " 0.355229\n", " \n", " \n", "\n", "" ], "text/plain": [ - " input \\\n", - "0 {'prompt': 'Tell me a story about a 19th century wombat gentleman'} \n", - "1 {'prompt': 'Tell me a story about a 22nd century wombat gentleman'} \n", + " input \\\n", + "0 {'prompt': 'Tell me a story about a 19th century wombat gentleman. Keep it short.'} \n", + "1 {'prompt': 'Tell me a story about a 22nd century wombat gentleman. Keep it short.'} \n", + "\n", + " response \\\n", + "0 Once upon a time, in the late 19th century, there was a wombat named Winston who lived in the rolling hills of the English countryside. Winston was a gentleman of refined taste and manners, known for his impeccable dress sense and love of fine tea. Every afternoon, he would don his finest top hat and tails and venture into the nearby village for a spot of tea and a chat with the locals. Despite his somewhat unconventional appearance, Winston was well-liked by all who knew him, and his wit \n", + "1 Certainly! Here's a short tale about a 22nd century wombat gentleman:\\n\\nIn the year 2105, a wombat named Winston lived in a sprawling underground burrow complex beneath the city of New Sydney. Winston was a gentleman of leisure, spending his days lounging on plush cushions and sipping tea served by his loyal butler-bot. He was known throughout the city for his impeccable taste in fine hats and his ability to recite Shakespearean sonnets with ease. \n", "\n", - " response latency \n", - "0 0.384344 \n", - "1 0.295275 " + " latency \n", + "0 0.978888 \n", + "1 0.355229 " ] }, "metadata": {}, @@ -196,6 +180,7 @@ } ], "source": [ + "experiment.run()\n", "experiment.visualize()" ] }, @@ -212,7 +197,7 @@ "id": "bebb8023", "metadata": {}, "source": [ - "This notebook is meant to showcase how you can use Replicate's API for Llama2. Please reference other notebook for evaluating the model's response." + "This notebook is meant to showcase how you can use Replicate's API for Llama2. Please reference other notebook for evaluating the model's response. The examples from the notebook examples of OpenAI and Anthropic provide good references on how to evaluate LLM responses." ] } ], diff --git a/examples/notebooks/image_experiments/ReplicateStableDiffusion.ipynb b/examples/notebooks/image_experiments/ReplicateStableDiffusion.ipynb index bd2cad94..668035c9 100644 --- a/examples/notebooks/image_experiments/ReplicateStableDiffusion.ipynb +++ b/examples/notebooks/image_experiments/ReplicateStableDiffusion.ipynb @@ -5,7 +5,7 @@ "id": "0a13ddc8", "metadata": {}, "source": [ - "# Replicate Experiment Example" + "# Replicate Stable Diffusion Example" ] }, { @@ -98,10 +98,11 @@ "source": [ "sd1 = \"stability-ai/stable-diffusion:ac732df83cea7fff18b8472768c88ad041fa750ff7682a21affe81863cbe77e4\"\n", "models = [sd1] # You can specify multiple models here\n", - "input_kwargs = {\"prompt\": [\"a 19th century portrait of a wombat gentleman\", \"a 22nd century portrait of a wombat gentleman\"]}\n", + "input_kwargs = {\"prompt\": [\"a 19th century portrait of a wombat gentleman\",\n", + " \"a 22nd century portrait of a wombat gentleman\"]}\n", "model_specific_kwargs = {sd1: {}}\n", "\n", - "experiment = ReplicateExperiment(models, input_kwargs, model_specific_kwargs)" + "experiment = ReplicateExperiment(models, input_kwargs, model_specific_kwargs, use_image_model=True)" ] }, { diff --git a/prompttools/experiment/experiments/replicate_experiment.py b/prompttools/experiment/experiments/replicate_experiment.py index b486d2e5..5ac3a124 100644 --- a/prompttools/experiment/experiments/replicate_experiment.py +++ b/prompttools/experiment/experiments/replicate_experiment.py @@ -28,23 +28,26 @@ class ReplicateExperiment(Experiment): r""" - Perform an experiment with the Replicate API to test different embedding functions or retrieval arguments. - You can query from an existing table, or create a new one (and insert documents into it) during - the experiment. + Perform an experiment with the Replicate API for both image models and LLMs. Note: Set your API token to ``os.environ["REPLICATE_API_TOKEN"]``. + If you are using an image model, set ``use_image_model=True`` as input argument. Args: models (list[str]): "stability-ai/stable-diffusion:27b93a2413e" input_kwargs (dict[str, list]): keyword arguments that can be used across all models - model_specific_kwargs (dict[str, dict[str, list]]): model-specific keyword arguments that will only be used by a specific model (e.g. ``stability-ai/stable-diffusion:27b93a2413`` + use_image_model (bool): Defaults to ``False``, must set to ``True`` to render output from image models. """ def __init__( - self, models: list[str], input_kwargs: dict[str, list], model_specific_kwargs: dict[str, dict[str, list]] = {} + self, + models: list[str], + input_kwargs: dict[str, list], + model_specific_kwargs: dict[str, dict[str, list]] = {}, + use_image_model: bool = False, ): if replicate is None: raise ModuleNotFoundError( @@ -62,6 +65,7 @@ def __init__( self.completion_fn = mock_replicate_stable_diffusion_completion_fn else: self.completion_fn = self.replicate_completion_fn + self.image_experiment = use_image_model super().__init__() def prepare(self): @@ -79,27 +83,38 @@ def prepare(self): def replicate_completion_fn(model_version: str, **kwargs): return replicate.run(model_version, **kwargs) - @staticmethod - def _extract_responses(output: dict) -> list[str]: - return output[0] + def _extract_responses(self, output) -> str: + if self.image_experiment: + return output[0] # Output should be a list of URIs + else: # Assume `output` is a generator of text + res = "" + for item in output: + res += item + return res @staticmethod def _image_tag(url, image_width): + r""" + Create the HTML code to render the image. + """ return f'' def visualize( - self, get_all_cols: bool = False, pivot: bool = False, pivot_columns: list = [], image_width=300 + self, get_all_cols: bool = False, pivot: bool = False, pivot_columns: list = [], image_width: int = 300 ) -> None: - if pivot: - table = self.pivot_table(pivot_columns, get_all_cols=get_all_cols) - else: - table = self.get_table(get_all_cols) - - images = table["response"].apply(partial(self._image_tag, image_width=image_width)) - table["images"] = images - - if is_interactive(): - display(HTML(table.to_html(escape=False, columns=[col for col in table.columns if col != "response"]))) + if not self.image_experiment: + super().visualize(get_all_cols, pivot, pivot_columns) else: - logging.getLogger().setLevel(logging.INFO) - logging.info(tabulate(table, headers="keys", tablefmt="psql")) + if pivot: + table = self.pivot_table(pivot_columns, get_all_cols=get_all_cols) + else: + table = self.get_table(get_all_cols) + + images = table["response"].apply(partial(self._image_tag, image_width=image_width)) + table["images"] = images + + if is_interactive(): + display(HTML(table.to_html(escape=False, columns=[col for col in table.columns if col != "response"]))) + else: + logging.getLogger().setLevel(logging.INFO) + logging.info(tabulate(table, headers="keys", tablefmt="psql")) From 2f13c8f4efe8b386e0a05afe4b9f14fcf0bbb7d2 Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 4 Sep 2023 11:34:33 -0700 Subject: [PATCH 027/182] Expand ReplicateExperiment arguments in table and fix visualization of image experiments --- prompttools/experiment/experiments/replicate_experiment.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/prompttools/experiment/experiments/replicate_experiment.py b/prompttools/experiment/experiments/replicate_experiment.py index 5ac3a124..f99a5ec0 100644 --- a/prompttools/experiment/experiments/replicate_experiment.py +++ b/prompttools/experiment/experiments/replicate_experiment.py @@ -65,8 +65,8 @@ def __init__( self.completion_fn = mock_replicate_stable_diffusion_completion_fn else: self.completion_fn = self.replicate_completion_fn - self.image_experiment = use_image_model super().__init__() + self.image_experiment = use_image_model def prepare(self): for model in self.models: @@ -77,11 +77,12 @@ def prepare(self): model_arg_dict = dict(zip(self.model_specific_kwargs[model].keys(), model_combo)) for k, v in model_arg_dict.items(): arg_dict[k] = v - self.argument_combos.append({"model_version": model, "input": arg_dict}) + arg_dict["model_version"] = model + self.argument_combos.append(arg_dict) @staticmethod def replicate_completion_fn(model_version: str, **kwargs): - return replicate.run(model_version, **kwargs) + return replicate.run(model_version, input=kwargs) def _extract_responses(self, output) -> str: if self.image_experiment: From 1cb0618b4278f4d44bb2d81a608935233906929e Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 4 Sep 2023 11:34:57 -0700 Subject: [PATCH 028/182] Expand ReplicateLlama2 example with temperature and evaluation --- examples/notebooks/ReplicateLlama2.ipynb | 179 ++++++++++++++++++++--- 1 file changed, 160 insertions(+), 19 deletions(-) diff --git a/examples/notebooks/ReplicateLlama2.ipynb b/examples/notebooks/ReplicateLlama2.ipynb index 17eda34d..a8591e46 100644 --- a/examples/notebooks/ReplicateLlama2.ipynb +++ b/examples/notebooks/ReplicateLlama2.ipynb @@ -98,8 +98,9 @@ "sd1 = \"replicate/llama-2-70b-chat:2796ee9483c3fd7aa2e171d38f4ca12251a30609463dcfd4cd76703f22e96cdf\"\n", "models = [sd1] # You can specify multiple models here\n", "input_kwargs = {\"prompt\": [\"Tell me a story about a 19th century wombat gentleman. Keep it short.\",\n", - " \"Tell me a story about a 22nd century wombat gentleman. Keep it short.\"]}\n", - "model_specific_kwargs = {sd1: {}}\n", + " \"Tell me a story about a 22nd century wombat gentleman. Keep it short.\"],\n", + " \"temperature\": [0.1, 1.5]}\n", + "model_specific_kwargs = {sd1: {}} # Optional, if you have any argument specifc to a model, you can pass it in there.\n", "\n", "experiment = ReplicateExperiment(models, input_kwargs, model_specific_kwargs)" ] @@ -114,7 +115,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "id": "53b89b7f", "metadata": {}, "outputs": [ @@ -139,7 +140,8 @@ " \n", " \n", " \n", - " input\n", + " prompt\n", + " temperature\n", " response\n", " latency\n", " \n", @@ -147,32 +149,60 @@ " \n", " \n", " 0\n", - " {'prompt': 'Tell me a story about a 19th century wombat gentleman. Keep it short.'}\n", - " Once upon a time, in the late 19th century, there was a wombat named Winston who lived in the rolling hills of the English countryside. Winston was a gentleman of refined taste and manners, known for his impeccable dress sense and love of fine tea. Every afternoon, he would don his finest top hat and tails and venture into the nearby village for a spot of tea and a chat with the locals. Despite his somewhat unconventional appearance, Winston was well-liked by all who knew him, and his wit\n", - " 0.978888\n", + " Tell me a story about a 19th century wombat gentleman. Keep it short.\n", + " 0.1\n", + " Once upon a time, in the late 19th century, there was a wombat named Winston who lived in the rolling hills of the English countryside. Winston was a gentleman of refined taste and culture, known for his impeccable manners and love of fine tea. Every afternoon, he would don his finest top hat and take a stroll through the village, exchanging pleasantries with the locals and offering them scones and jam from his personal collection. Despite his dignified demeanor, Winston had a mischievous streak\n", + " 0.538249\n", " \n", " \n", " 1\n", - " {'prompt': 'Tell me a story about a 22nd century wombat gentleman. Keep it short.'}\n", - " Certainly! Here's a short tale about a 22nd century wombat gentleman:\\n\\nIn the year 2105, a wombat named Winston lived in a sprawling underground burrow complex beneath the city of New Sydney. Winston was a gentleman of leisure, spending his days lounging on plush cushions and sipping tea served by his loyal butler-bot. He was known throughout the city for his impeccable taste in fine hats and his ability to recite Shakespearean sonnets with ease.\n", - " 0.355229\n", + " Tell me a story about a 19th century wombat gentleman. Keep it short.\n", + " 1.5\n", + " Once upon a time, in the late 19th century, there was a wombat named Mr. Whiskers who lived in the rolling hills of the English countryside. Mr. Whiskers was a gentleman of great distinction and refinement, known for his impeccable manners and love of fine tea. He spent his days lounging in the sun, enjoying picnics with his friends, and engaging in spirited debates about the finer points of Victorian literature. Despite his leisurely lifestyle, Mr. Whiskers was a\n", + " 0.267989\n", + " \n", + " \n", + " 2\n", + " Tell me a story about a 22nd century wombat gentleman. Keep it short.\n", + " 0.1\n", + " Certainly! Here's a short tale about a 22nd century wombat gentleman:\\n\\nIn the year 2105, a wombat named Winston lived in a sprawling underground burrow complex beneath the city of New Sydney. Winston was a gentleman of leisure, spending his days lounging on plush cushions and sipping tea served by his loyal butler-bot. He was known throughout the city for his impeccable taste in fine hats and his extensive collection of rare, vintage cigars.\\n\n", + " 0.279196\n", + " \n", + " \n", + " 3\n", + " Tell me a story about a 22nd century wombat gentleman. Keep it short.\n", + " 1.5\n", + " Certainly! Here's a short tale about a 22nd century wombat gentleman:\\n\\nIn the year 2105, a wombat named Winston lived in a futuristic underground burrow. He was a gentleman of leisure, spending his days lounging on expensive virtual reality furniture and sipping champagne.\\n\\nOne day, Winston received an invitation to a high-society gathering hosted by a wealthy group of aliens. Eager to make a good impression, he donned his finest tux\n", + " 0.270601\n", " \n", " \n", "\n", "" ], "text/plain": [ - " input \\\n", - "0 {'prompt': 'Tell me a story about a 19th century wombat gentleman. Keep it short.'} \n", - "1 {'prompt': 'Tell me a story about a 22nd century wombat gentleman. Keep it short.'} \n", + " prompt \\\n", + "0 Tell me a story about a 19th century wombat gentleman. Keep it short. \n", + "1 Tell me a story about a 19th century wombat gentleman. Keep it short. \n", + "2 Tell me a story about a 22nd century wombat gentleman. Keep it short. \n", + "3 Tell me a story about a 22nd century wombat gentleman. Keep it short. \n", + "\n", + " temperature \\\n", + "0 0.1 \n", + "1 1.5 \n", + "2 0.1 \n", + "3 1.5 \n", "\n", - " response \\\n", - "0 Once upon a time, in the late 19th century, there was a wombat named Winston who lived in the rolling hills of the English countryside. Winston was a gentleman of refined taste and manners, known for his impeccable dress sense and love of fine tea. Every afternoon, he would don his finest top hat and tails and venture into the nearby village for a spot of tea and a chat with the locals. Despite his somewhat unconventional appearance, Winston was well-liked by all who knew him, and his wit \n", - "1 Certainly! Here's a short tale about a 22nd century wombat gentleman:\\n\\nIn the year 2105, a wombat named Winston lived in a sprawling underground burrow complex beneath the city of New Sydney. Winston was a gentleman of leisure, spending his days lounging on plush cushions and sipping tea served by his loyal butler-bot. He was known throughout the city for his impeccable taste in fine hats and his ability to recite Shakespearean sonnets with ease. \n", + " response \\\n", + "0 Once upon a time, in the late 19th century, there was a wombat named Winston who lived in the rolling hills of the English countryside. Winston was a gentleman of refined taste and culture, known for his impeccable manners and love of fine tea. Every afternoon, he would don his finest top hat and take a stroll through the village, exchanging pleasantries with the locals and offering them scones and jam from his personal collection. Despite his dignified demeanor, Winston had a mischievous streak \n", + "1 Once upon a time, in the late 19th century, there was a wombat named Mr. Whiskers who lived in the rolling hills of the English countryside. Mr. Whiskers was a gentleman of great distinction and refinement, known for his impeccable manners and love of fine tea. He spent his days lounging in the sun, enjoying picnics with his friends, and engaging in spirited debates about the finer points of Victorian literature. Despite his leisurely lifestyle, Mr. Whiskers was a \n", + "2 Certainly! Here's a short tale about a 22nd century wombat gentleman:\\n\\nIn the year 2105, a wombat named Winston lived in a sprawling underground burrow complex beneath the city of New Sydney. Winston was a gentleman of leisure, spending his days lounging on plush cushions and sipping tea served by his loyal butler-bot. He was known throughout the city for his impeccable taste in fine hats and his extensive collection of rare, vintage cigars.\\n \n", + "3 Certainly! Here's a short tale about a 22nd century wombat gentleman:\\n\\nIn the year 2105, a wombat named Winston lived in a futuristic underground burrow. He was a gentleman of leisure, spending his days lounging on expensive virtual reality furniture and sipping champagne.\\n\\nOne day, Winston received an invitation to a high-society gathering hosted by a wealthy group of aliens. Eager to make a good impression, he donned his finest tux \n", "\n", " latency \n", - "0 0.978888 \n", - "1 0.355229 " + "0 0.538249 \n", + "1 0.267989 \n", + "2 0.279196 \n", + "3 0.270601 " ] }, "metadata": {}, @@ -197,7 +227,118 @@ "id": "bebb8023", "metadata": {}, "source": [ - "This notebook is meant to showcase how you can use Replicate's API for Llama2. Please reference other notebook for evaluating the model's response. The examples from the notebook examples of OpenAI and Anthropic provide good references on how to evaluate LLM responses." + "This notebook is meant to showcase how you can use Replicate's API for Llama2. In this case, we will use a simple evalution - compute semantic distance to check if the model's response is similar to our expected output.\n", + "\n", + "Please reference other notebooks for various methods to evaluate a model's response. The examples include structual evaluation (e.g. for Python, JSON) and auto-evaluations (using another LLM)." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "bdc76ecc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
prompttemperatureresponselatencysimilar_to_expected
0Tell me a story about a 19th century wombat gentleman. Keep it short.0.1Once upon a time, in the late 19th century, there was a wombat named Winston who lived in the rolling hills of the English countryside. Winston was a gentleman of refined taste and culture, known for his impeccable manners and love of fine tea. Every afternoon, he would don his finest top hat and take a stroll through the village, exchanging pleasantries with the locals and offering them scones and jam from his personal collection. Despite his dignified demeanor, Winston had a mischievous streak0.5382490.566713
1Tell me a story about a 19th century wombat gentleman. Keep it short.1.5Once upon a time, in the late 19th century, there was a wombat named Mr. Whiskers who lived in the rolling hills of the English countryside. Mr. Whiskers was a gentleman of great distinction and refinement, known for his impeccable manners and love of fine tea. He spent his days lounging in the sun, enjoying picnics with his friends, and engaging in spirited debates about the finer points of Victorian literature. Despite his leisurely lifestyle, Mr. Whiskers was a0.2679890.601912
2Tell me a story about a 22nd century wombat gentleman. Keep it short.0.1Certainly! Here's a short tale about a 22nd century wombat gentleman:\\n\\nIn the year 2105, a wombat named Winston lived in a sprawling underground burrow complex beneath the city of New Sydney. Winston was a gentleman of leisure, spending his days lounging on plush cushions and sipping tea served by his loyal butler-bot. He was known throughout the city for his impeccable taste in fine hats and his extensive collection of rare, vintage cigars.\\n0.2791960.688690
3Tell me a story about a 22nd century wombat gentleman. Keep it short.1.5Certainly! Here's a short tale about a 22nd century wombat gentleman:\\n\\nIn the year 2105, a wombat named Winston lived in a futuristic underground burrow. He was a gentleman of leisure, spending his days lounging on expensive virtual reality furniture and sipping champagne.\\n\\nOne day, Winston received an invitation to a high-society gathering hosted by a wealthy group of aliens. Eager to make a good impression, he donned his finest tux0.2706010.639222
\n", + "
" + ], + "text/plain": [ + " prompt \\\n", + "0 Tell me a story about a 19th century wombat gentleman. Keep it short. \n", + "1 Tell me a story about a 19th century wombat gentleman. Keep it short. \n", + "2 Tell me a story about a 22nd century wombat gentleman. Keep it short. \n", + "3 Tell me a story about a 22nd century wombat gentleman. Keep it short. \n", + "\n", + " temperature \\\n", + "0 0.1 \n", + "1 1.5 \n", + "2 0.1 \n", + "3 1.5 \n", + "\n", + " response \\\n", + "0 Once upon a time, in the late 19th century, there was a wombat named Winston who lived in the rolling hills of the English countryside. Winston was a gentleman of refined taste and culture, known for his impeccable manners and love of fine tea. Every afternoon, he would don his finest top hat and take a stroll through the village, exchanging pleasantries with the locals and offering them scones and jam from his personal collection. Despite his dignified demeanor, Winston had a mischievous streak \n", + "1 Once upon a time, in the late 19th century, there was a wombat named Mr. Whiskers who lived in the rolling hills of the English countryside. Mr. Whiskers was a gentleman of great distinction and refinement, known for his impeccable manners and love of fine tea. He spent his days lounging in the sun, enjoying picnics with his friends, and engaging in spirited debates about the finer points of Victorian literature. Despite his leisurely lifestyle, Mr. Whiskers was a \n", + "2 Certainly! Here's a short tale about a 22nd century wombat gentleman:\\n\\nIn the year 2105, a wombat named Winston lived in a sprawling underground burrow complex beneath the city of New Sydney. Winston was a gentleman of leisure, spending his days lounging on plush cushions and sipping tea served by his loyal butler-bot. He was known throughout the city for his impeccable taste in fine hats and his extensive collection of rare, vintage cigars.\\n \n", + "3 Certainly! Here's a short tale about a 22nd century wombat gentleman:\\n\\nIn the year 2105, a wombat named Winston lived in a futuristic underground burrow. He was a gentleman of leisure, spending his days lounging on expensive virtual reality furniture and sipping champagne.\\n\\nOne day, Winston received an invitation to a high-society gathering hosted by a wealthy group of aliens. Eager to make a good impression, he donned his finest tux \n", + "\n", + " latency similar_to_expected \n", + "0 0.538249 0.566713 \n", + "1 0.267989 0.601912 \n", + "2 0.279196 0.688690 \n", + "3 0.270601 0.639222 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from prompttools.utils import semantic_similarity\n", + "\n", + "expected_responses = [\"wombat gentleman in 19th century\"] * 2 + [\"wombat gentleman in 22nd century\"] * 2\n", + "experiment.evaluate(\"similar_to_expected\", semantic_similarity, expected=expected_responses)\n", + "experiment.visualize()" ] } ], From 46ce1abd43477bbfc6b612060181ad33730d6b41 Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 4 Sep 2023 11:35:28 -0700 Subject: [PATCH 029/182] Expand ReplicateStableDiffusion example with denoising step --- .../ReplicateStableDiffusion.ipynb | 46 +++++++++++++------ 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/examples/notebooks/image_experiments/ReplicateStableDiffusion.ipynb b/examples/notebooks/image_experiments/ReplicateStableDiffusion.ipynb index 668035c9..fb58450b 100644 --- a/examples/notebooks/image_experiments/ReplicateStableDiffusion.ipynb +++ b/examples/notebooks/image_experiments/ReplicateStableDiffusion.ipynb @@ -44,7 +44,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "id": "ed4e635e", "metadata": {}, "outputs": [], @@ -65,7 +65,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "beaa70a1", "metadata": {}, "outputs": [], @@ -91,7 +91,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "id": "347590cf", "metadata": {}, "outputs": [], @@ -99,7 +99,8 @@ "sd1 = \"stability-ai/stable-diffusion:ac732df83cea7fff18b8472768c88ad041fa750ff7682a21affe81863cbe77e4\"\n", "models = [sd1] # You can specify multiple models here\n", "input_kwargs = {\"prompt\": [\"a 19th century portrait of a wombat gentleman\",\n", - " \"a 22nd century portrait of a wombat gentleman\"]}\n", + " \"a 22nd century portrait of a wombat gentleman\"],\n", + " \"num_inference_steps\": [10, 60]}\n", "model_specific_kwargs = {sd1: {}}\n", "\n", "experiment = ReplicateExperiment(models, input_kwargs, model_specific_kwargs, use_image_model=True)" @@ -115,7 +116,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "id": "ca01ff10", "metadata": { "scrolled": true @@ -128,7 +129,8 @@ " \n", " \n", " \n", - " input\n", + " prompt\n", + " num_inference_steps\n", " latency\n", " images\n", " \n", @@ -136,15 +138,31 @@ " \n", " \n", " 0\n", - " {'prompt': 'a 19th century portrait of a wombat gentleman'}\n", - " 4.154633\n", - " \n", + " a 19th century portrait of a wombat gentleman\n", + " 10\n", + " 3.172597\n", + " \n", " \n", " \n", " 1\n", - " {'prompt': 'a 22nd century portrait of a wombat gentleman'}\n", - " 6.877061\n", - " \n", + " a 19th century portrait of a wombat gentleman\n", + " 60\n", + " 5.102608\n", + " \n", + " \n", + " \n", + " 2\n", + " a 22nd century portrait of a wombat gentleman\n", + " 10\n", + " 4.341799\n", + " \n", + " \n", + " \n", + " 3\n", + " a 22nd century portrait of a wombat gentleman\n", + " 60\n", + " 4.258093\n", + " \n", " \n", " \n", "" @@ -175,7 +193,9 @@ "id": "bebb8023", "metadata": {}, "source": [ - "This will be updated with structural similarity evaluation. For now, you can reference the example in the Stable Diffusion notebook example. Please don't hesitate to open an issue if you have any suggestions. Stay tuned." + "The Stable Diffusion notebook example povides an example of structural similarity evaluation. Please reference that example if you are interested automated evaluation of images.\n", + "\n", + "Please don't hesitate to open an issue or PR if you have any other suggestions evaluation of image models!" ] } ], From 34c3df9f9bcf5abf96801483c0cdb3acc252d606 Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 4 Sep 2023 11:55:31 -0700 Subject: [PATCH 030/182] Moving VectorDB and Framework examples into subdirectories --- README.md | 2 +- examples/notebooks/README.md | 14 +++++++------- .../LangChainRouterChainExperiment.ipynb | 0 .../LangChainSequentialChainExperiment.ipynb | 0 .../{ => frameworks}/MindsDBExperiment.ipynb | 0 .../ChromaDBExperiment.ipynb | 0 .../LanceDBExperiment.ipynb | 0 .../QdrantExperiment.ipynb | 0 .../WeaviateExperiment.ipynb | 0 9 files changed, 8 insertions(+), 8 deletions(-) rename examples/notebooks/{ => frameworks}/LangChainRouterChainExperiment.ipynb (100%) rename examples/notebooks/{ => frameworks}/LangChainSequentialChainExperiment.ipynb (100%) rename examples/notebooks/{ => frameworks}/MindsDBExperiment.ipynb (100%) rename examples/notebooks/{ => vectordb_experiments}/ChromaDBExperiment.ipynb (100%) rename examples/notebooks/{ => vectordb_experiments}/LanceDBExperiment.ipynb (100%) rename examples/notebooks/{ => vectordb_experiments}/QdrantExperiment.ipynb (100%) rename examples/notebooks/{ => vectordb_experiments}/WeaviateExperiment.ipynb (100%) diff --git a/README.md b/README.md index 3a81db42..ce41c2ec 100644 --- a/README.md +++ b/README.md @@ -98,7 +98,7 @@ LLMs - Anthropic - **Supported** - Google PaLM - **Supported** - Azure OpenAI Service - **Supported** -- Replicate - _In Progress_ +- Replicate - **Supported** - Ollama - _In Progress_ Vector Databases and Data Utility diff --git a/examples/notebooks/README.md b/examples/notebooks/README.md index 90ab43e1..b7033ea9 100644 --- a/examples/notebooks/README.md +++ b/examples/notebooks/README.md @@ -36,19 +36,19 @@ have something to share. ### Vector Databases -- [ChromaDB Experiment](ChromaDBExperiment.ipynb) demonstrates how to experiment with different +- [ChromaDB Experiment](vectordb_experiments/ChromaDBExperiment.ipynb) demonstrates how to experiment with different embedding functions and query parameters of `Chroma`. The example evaluates the results by computing the ranking correlation against an expected output. -- [Weaviate Experiment](WeaviateExperiment.ipynb) shows how you can easily try different vectorizers, configuration, +- [Weaviate Experiment](vectordb_experiments/WeaviateExperiment.ipynb) shows how you can easily try different vectorizers, configuration, and query functions, and compare the final results. -- [LanceDB Experiment](LanceDBExperiment.ipynb) allows you to try different embedding functions, and query methods. -- [Qdrant Experiment](QdrantExperiment.ipynb) explores different ways to query Qdrant, including with vectors. +- [LanceDB Experiment](vectordb_experiments/LanceDBExperiment.ipynb) allows you to try different embedding functions, and query methods. +- [Qdrant Experiment](vectordb_experiments/QdrantExperiment.ipynb) explores different ways to query Qdrant, including with vectors. ### Frameworks -- [LangChain Sequential Chain Experiment](LangChainSequentialChainExperiment.ipynb) -- [LangChain Router Chain Experiment](LangChainRouterChainExperiment.ipynb) -- [MindsDB Experiment](MindsDBExperiment.ipynb) +- [LangChain Sequential Chain Experiment](frameworks/LangChainSequentialChainExperiment.ipynb) +- [LangChain Router Chain Experiment](frameworks/LangChainRouterChainExperiment.ipynb) +- [MindsDB Experiment](frameworks/MindsDBExperiment.ipynb) ### Computer Vision - [Stable Diffusion](image_experiments/StableDiffusion.ipynb) diff --git a/examples/notebooks/LangChainRouterChainExperiment.ipynb b/examples/notebooks/frameworks/LangChainRouterChainExperiment.ipynb similarity index 100% rename from examples/notebooks/LangChainRouterChainExperiment.ipynb rename to examples/notebooks/frameworks/LangChainRouterChainExperiment.ipynb diff --git a/examples/notebooks/LangChainSequentialChainExperiment.ipynb b/examples/notebooks/frameworks/LangChainSequentialChainExperiment.ipynb similarity index 100% rename from examples/notebooks/LangChainSequentialChainExperiment.ipynb rename to examples/notebooks/frameworks/LangChainSequentialChainExperiment.ipynb diff --git a/examples/notebooks/MindsDBExperiment.ipynb b/examples/notebooks/frameworks/MindsDBExperiment.ipynb similarity index 100% rename from examples/notebooks/MindsDBExperiment.ipynb rename to examples/notebooks/frameworks/MindsDBExperiment.ipynb diff --git a/examples/notebooks/ChromaDBExperiment.ipynb b/examples/notebooks/vectordb_experiments/ChromaDBExperiment.ipynb similarity index 100% rename from examples/notebooks/ChromaDBExperiment.ipynb rename to examples/notebooks/vectordb_experiments/ChromaDBExperiment.ipynb diff --git a/examples/notebooks/LanceDBExperiment.ipynb b/examples/notebooks/vectordb_experiments/LanceDBExperiment.ipynb similarity index 100% rename from examples/notebooks/LanceDBExperiment.ipynb rename to examples/notebooks/vectordb_experiments/LanceDBExperiment.ipynb diff --git a/examples/notebooks/QdrantExperiment.ipynb b/examples/notebooks/vectordb_experiments/QdrantExperiment.ipynb similarity index 100% rename from examples/notebooks/QdrantExperiment.ipynb rename to examples/notebooks/vectordb_experiments/QdrantExperiment.ipynb diff --git a/examples/notebooks/WeaviateExperiment.ipynb b/examples/notebooks/vectordb_experiments/WeaviateExperiment.ipynb similarity index 100% rename from examples/notebooks/WeaviateExperiment.ipynb rename to examples/notebooks/vectordb_experiments/WeaviateExperiment.ipynb From 92d3f2af1a40fa25310b99a4c48898d93627e8bf Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 5 Sep 2023 23:55:56 -0700 Subject: [PATCH 031/182] Clean up WeaviateExample notebook --- .../WeaviateExperiment.ipynb | 235 ++++++++++-------- 1 file changed, 128 insertions(+), 107 deletions(-) diff --git a/examples/notebooks/vectordb_experiments/WeaviateExperiment.ipynb b/examples/notebooks/vectordb_experiments/WeaviateExperiment.ipynb index 69edd25e..33bc0c8c 100644 --- a/examples/notebooks/vectordb_experiments/WeaviateExperiment.ipynb +++ b/examples/notebooks/vectordb_experiments/WeaviateExperiment.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "0a13ddc8", + "id": "2d3afcb7", "metadata": {}, "source": [ "# Weaviate Experiment Example" @@ -66,30 +66,41 @@ { "cell_type": "code", "execution_count": 3, + "id": "ded9af28", + "metadata": {}, + "outputs": [], + "source": [ + "# Optional helper function to have us clear data in this example\n", + "def _clear_existing_class(class_name: str):\n", + " # Clearing existing object and class\n", + " try:\n", + " client.batch.delete_objects(class_name=class_name, where={})\n", + " except Exception:\n", + " pass\n", + " client.schema.delete_class(class_name)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, "id": "4ef6a4a9", "metadata": {}, "outputs": [], "source": [ "# Can skip if you already have data in Weaviate\n", - "\n", "# Create class object\n", "class_name = \"Question\"\n", "\n", - "# Clearing existing\n", - "try:\n", - " client.batch.delete_objects(class_name=class_name, where={})\n", - "except Exception:\n", - " pass\n", - "\n", - "try:\n", - " client.schema.delete_class(class_name)\n", - "except Exception:\n", - " pass\n", + "_clear_existing_class(class_name)\n", "\n", "class_obj = {\n", " \"class\": class_name,\n", " \"vectorizer\": \"text2vec-contextionary\",\n", - " \"moduleConfig\": {\"text2vec-contextionary\": {\"vectorizeClassName\": \"false\"}},\n", + " \"moduleConfig\": {\n", + " \"text2vec-contextionary\": {\n", + " \"vectorizeClassName\": \"false\"\n", + " }\n", + " },\n", "}\n", "\n", "client.schema.create_class(class_obj)" @@ -105,7 +116,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "id": "b93c260e", "metadata": {}, "outputs": [ @@ -126,31 +137,35 @@ ], "source": [ "# Can skip if you already have data in Weaviate\n", - "data = [\n", - " {\"Category\": \"science\", \"Question\": \"How many hydrogens are in H2O?\", \"Answer\": \"2\"},\n", - " {\"Category\": \"math\", \"Question\": \"2+2\", \"Answer\": \"4\"},\n", - " {\"Category\": \"math\", \"Question\": \"Is 13 a prime number?\", \"Answer\": \"Yes\"},\n", - " {\"Category\": \"geography\", \"Question\": \"Which continent is India in?\", \"Answer\": \"Asia\"},\n", - " {\"Category\": \"geography\", \"Question\": \"Which continent is China in?\", \"Answer\": \"Asia\"},\n", - " {\"Category\": \"geography\", \"Question\": \"Which continent is USA in?\", \"Answer\": \"North America\"},\n", - " {\"Category\": \"geography\", \"Question\": \"Which is the largest state in the USA?\", \"Answer\": \"Alaska\"},\n", - " {\"Category\": \"geography\", \"Question\": \"Which is the most populous state in the USA?\", \"Answer\": \"California\"},\n", - "]\n", + "data = [{'Category': 'science', 'Question': 'How many hydrogens are in H2O?', 'Answer': '2'},\n", + " {'Category': 'math', 'Question': '2+2', 'Answer': '4'},\n", + " {'Category': 'math', 'Question': 'Is 13 a prime number?', 'Answer': 'Yes'},\n", + " {'Category': 'geography', 'Question': 'Which continent is India in?', 'Answer': 'Asia'},\n", + " {'Category': 'geography', 'Question': 'Which continent is China in?', 'Answer': 'Asia'},\n", + " {'Category': 'geography', 'Question': 'Which continent is USA in?', 'Answer': 'North America'},\n", + " {'Category': 'geography', 'Question': 'Which is the largest state in the USA?', 'Answer': 'Alaska'},\n", + " {'Category': 'geography', 'Question': 'Which is the most populous state in the USA?', 'Answer': 'California'},]\n", "\n", - "with client.batch(batch_size=100) as batch:\n", - " for i, d in enumerate(data):\n", - " print(f\"importing question: {i+1}\")\n", "\n", - " properties = {\n", - " \"answer\": d[\"Answer\"],\n", - " \"question\": d[\"Question\"],\n", - " \"category\": d[\"Category\"],\n", - " }\n", + "def _insert_data(data, client):\n", + " with client.batch(\n", + " batch_size=100\n", + " ) as batch:\n", + " for i, d in enumerate(data):\n", + " print(f\"importing question: {i+1}\")\n", "\n", - " client.batch.add_data_object(\n", - " properties,\n", - " \"Question\",\n", - " )" + " properties = {\n", + " \"answer\": d[\"Answer\"],\n", + " \"question\": d[\"Question\"],\n", + " \"category\": d[\"Category\"],\n", + " }\n", + "\n", + " client.batch.add_data_object(\n", + " properties,\n", + " \"Question\",\n", + " )\n", + "\n", + "_insert_data(data, client)" ] }, { @@ -169,7 +184,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "id": "cde49886", "metadata": {}, "outputs": [], @@ -191,13 +206,15 @@ " text_query: str,\n", "):\n", " near_text_search_operator = {\n", - " \"concepts\": [text_query],\n", - " \"distance\": 0.6,\n", - " \"moveAwayFrom\": {\"concepts\": [\"where geography \"], \"force\": 0.45},\n", + " \"concepts\": [text_query],\n", + " \"distance\": 0.6,\n", + " \"moveAwayFrom\": {\n", + " \"concepts\": [\"where geography \"],\n", + " \"force\": 0.45\n", + " },\n", " }\n", " return client.query.get(class_name, property_names).with_near_text(near_text_search_operator).with_limit(limit=3)\n", "\n", - "\n", "# A dictionary of the name of query builder and the corresponding callable function.\n", "query_builders = {\"default\": default_query_builder, \"custom\": custom_query_builder}" ] @@ -212,7 +229,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "id": "9db6b381", "metadata": {}, "outputs": [ @@ -232,19 +249,16 @@ "source": [ "from prompttools.experiment import WeaviateExperiment\n", "\n", - "use_existing_data = True\n", "property_names = [\"category\", \"question\", \"answer\"] # Specify what property you would like to query\n", "text_queries = [\"Hydrogen\", \"USA\"] # Your text queries that will be passed in to query builder to create query\n", "\n", "\n", - "experiment = WeaviateExperiment(\n", - " client=client,\n", - " class_name=class_name,\n", - " use_existing_data=use_existing_data,\n", - " property_names=property_names,\n", - " text_queries=text_queries,\n", - " query_builders=query_builders,\n", - ")\n", + "experiment = WeaviateExperiment(client=client,\n", + " class_name=class_name,\n", + " use_existing_data=True,\n", + " property_names=property_names,\n", + " text_queries=text_queries,\n", + " query_builders=query_builders)\n", "experiment.run()" ] }, @@ -258,7 +272,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "id": "b1f4acde", "metadata": {}, "outputs": [ @@ -286,6 +300,7 @@ " text_query\n", " query_builder_name\n", " top objs\n", + " latency\n", " \n", " \n", " \n", @@ -294,24 +309,28 @@ " Hydrogen\n", " default\n", " [{'answer': '2', 'category': 'science', 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'category': 'geography', 'question': 'Which continent is India in?'}]\n", + " 0.008386\n", " \n", " \n", " 1\n", " USA\n", " default\n", " [{'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'question': 'Which continent is USA in?'}]\n", + " 0.004517\n", " \n", " \n", " 2\n", " Hydrogen\n", " custom\n", " [{'answer': '2', 'category': 'science', 'question': 'How many hydrogens are in H2O?'}]\n", + " 0.007075\n", " \n", " \n", " 3\n", " USA\n", " custom\n", " [{'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'question': 'Which continent is USA in?'}]\n", + " 0.005827\n", " \n", " \n", "\n", @@ -324,11 +343,17 @@ "2 Hydrogen custom \n", "3 USA custom \n", "\n", - " top objs \n", - "0 [{'answer': '2', 'category': 'science', 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'category': 'geography', 'question': 'Which continent is India in?'}] \n", - "1 [{'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'question': 'Which continent is USA in?'}] \n", - "2 [{'answer': '2', 'category': 'science', 'question': 'How many hydrogens are in H2O?'}] \n", - "3 [{'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'question': 'Which continent is USA in?'}] " + " top objs \\\n", + "0 [{'answer': '2', 'category': 'science', 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'category': 'geography', 'question': 'Which continent is India in?'}] \n", + "1 [{'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'question': 'Which continent is USA in?'}] \n", + "2 [{'answer': '2', 'category': 'science', 'question': 'How many hydrogens are in H2O?'}] \n", + "3 [{'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'question': 'Which continent is USA in?'}] \n", + "\n", + " latency \n", + "0 0.008386 \n", + "1 0.004517 \n", + "2 0.007075 \n", + "3 0.005827 " ] }, "metadata": {}, @@ -355,18 +380,17 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "id": "6b39dbf4", "metadata": {}, "outputs": [], "source": [ "vectorizers_and_moduleConfigs = [\n", - " (\n", - " \"text2vec-contextionary\",\n", - " { # This runs on CPU, but you can swap to `huggingface` or `openai` as well\n", - " \"text2vec-contextionary\": {\"vectorizeClassName\": \"false\"}\n", - " },\n", - " ),\n", + " (\"text2vec-contextionary\", { # This runs on CPU, but you can swap to `huggingface` or `openai` as well\n", + " \"text2vec-contextionary\": {\n", + " \"vectorizeClassName\": \"false\"\n", + " }\n", + " }),\n", "]" ] }, @@ -380,25 +404,25 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "id": "8d44c491", "metadata": {}, "outputs": [], "source": [ "property_definitions = [\n", - " {\n", - " \"name\": \"category\",\n", - " \"dataType\": [\"text\"],\n", - " },\n", - " {\n", - " \"name\": \"question\",\n", - " \"dataType\": [\"text\"],\n", - " },\n", - " {\n", - " \"name\": \"answer\",\n", - " \"dataType\": [\"text\"],\n", - " },\n", - "]" + " {\n", + " 'name': 'category',\n", + " 'dataType': ['text'],\n", + " },\n", + " {\n", + " 'name': 'question',\n", + " 'dataType': ['text'],\n", + " },\n", + " {\n", + " 'name': 'answer',\n", + " 'dataType': ['text'],\n", + " },\n", + " ]\n" ] }, { @@ -411,7 +435,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "id": "45af37d1", "metadata": {}, "outputs": [], @@ -421,7 +445,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "id": "145b2683", "metadata": {}, "outputs": [], @@ -429,46 +453,36 @@ "class_name = \"Question\"\n", "\n", "# Clearing existing class object\n", - "try:\n", - " client.batch.delete_objects(class_name=class_name, where={})\n", - "except Exception:\n", - " pass\n", - "\n", - "try:\n", - " client.schema.delete_class(class_name)\n", - "except Exception:\n", - " pass" + "_clear_existing_class(class_name)" ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "id": "242334a8", "metadata": {}, "outputs": [], "source": [ - "use_existing_data = False\n", "property_names = [\"question\", \"answer\"] # Specify what property you would like to query\n", "text_queries = [\"continent Asia\"] # Your text queries that will be passed in to query builder to create query\n", "\n", "\n", - "experiment = WeaviateExperiment(\n", - " client=client,\n", - " class_name=class_name,\n", - " use_existing_data=use_existing_data,\n", - " property_names=property_names,\n", - " text_queries=text_queries,\n", - " vectorizers_and_moduleConfigs=vectorizers_and_moduleConfigs,\n", - " property_definitions=property_definitions,\n", - " data_objects=data,\n", - " distance_metrics=distance_metrics,\n", - ")\n", + "experiment = WeaviateExperiment(client=client,\n", + " class_name=class_name,\n", + " use_existing_data=False,\n", + " property_names=property_names,\n", + " text_queries=text_queries,\n", + " vectorizers_and_moduleConfigs=vectorizers_and_moduleConfigs,\n", + " property_definitions=property_definitions,\n", + " data_objects = data,\n", + " distance_metrics = distance_metrics,\n", + " )\n", "experiment.run()" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "id": "dc262c66", "metadata": {}, "outputs": [ @@ -495,6 +509,7 @@ " \n", " vectorIndexConfig\n", " top objs\n", + " latency\n", " \n", " \n", " \n", @@ -502,11 +517,13 @@ " 0\n", " {'vectorIndexConfig': {'distance': 'cosine'}}\n", " [{'answer': 'Asia', 'question': 'Which continent is China in?'}, {'answer': 'Asia', 'question': 'Which continent is India in?'}, {'answer': 'North America', 'question': 'Which continent is USA in?'}]\n", + " 0.002753\n", " \n", " \n", " 1\n", " {'vectorIndexConfig': {'distance': 'l2-squared'}}\n", " [{'answer': 'Asia', 'question': 'Which continent is China in?'}, {'answer': 'Asia', 'question': 'Which continent is India in?'}, {'answer': 'North America', 'question': 'Which continent is USA in?'}]\n", + " 0.002279\n", " \n", " \n", "\n", @@ -517,9 +534,13 @@ "0 {'vectorIndexConfig': {'distance': 'cosine'}} \n", "1 {'vectorIndexConfig': {'distance': 'l2-squared'}} \n", "\n", - " top objs \n", - "0 [{'answer': 'Asia', 'question': 'Which continent is China in?'}, {'answer': 'Asia', 'question': 'Which continent is India in?'}, {'answer': 'North America', 'question': 'Which continent is USA in?'}] \n", - "1 [{'answer': 'Asia', 'question': 'Which continent is China in?'}, {'answer': 'Asia', 'question': 'Which continent is India in?'}, {'answer': 'North America', 'question': 'Which continent is USA in?'}] " + " top objs \\\n", + "0 [{'answer': 'Asia', 'question': 'Which continent is China in?'}, {'answer': 'Asia', 'question': 'Which continent is India in?'}, {'answer': 'North America', 'question': 'Which continent is USA in?'}] \n", + "1 [{'answer': 'Asia', 'question': 'Which continent is China in?'}, {'answer': 'Asia', 'question': 'Which continent is India in?'}, {'answer': 'North America', 'question': 'Which continent is USA in?'}] \n", + "\n", + " latency \n", + "0 0.002753 \n", + "1 0.002279 " ] }, "metadata": {}, @@ -540,7 +561,7 @@ }, { "cell_type": "markdown", - "id": "21f03398", + "id": "974d6065", "metadata": {}, "source": [ "For now, please refer to the ChromaDB example for possible evaluation methods (i.e. ranking correlation). Other examples show case how you can evaluate with LLMs." From 47bbd2fb2f20dbfce3630c36411369c30a2a2430 Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 6 Sep 2023 00:23:58 -0700 Subject: [PATCH 032/182] Add length 1 case to built-in ranking correlation --- prompttools/utils/ranking_correlation.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/prompttools/utils/ranking_correlation.py b/prompttools/utils/ranking_correlation.py index cd6b5bd2..92b92715 100644 --- a/prompttools/utils/ranking_correlation.py +++ b/prompttools/utils/ranking_correlation.py @@ -32,5 +32,8 @@ def ranking_correlation( >>> ] >>> experiment.evaluate("ranking_correlation", ranking_correlation, expected_ranking=EXPECTED_RANKING_LIST) """ - correlation, _ = stats.spearmanr(row[ranking_column_name], expected_ranking) + actual_ranking = row[ranking_column_name] + if len(expected_ranking) == 1 and len(actual_ranking) == 1: + return 1.0 if expected_ranking == actual_ranking else -1.0 + correlation, _ = stats.spearmanr(actual_ranking, expected_ranking) return correlation From 5bf96e25f4cadcac9f479d4d5fe0d4aed1221e55 Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 6 Sep 2023 00:24:20 -0700 Subject: [PATCH 033/182] Adding evaluation to Weaviate Experiment example --- .../WeaviateExperiment.ipynb | 453 ++++++++++++++++-- 1 file changed, 415 insertions(+), 38 deletions(-) diff --git a/examples/notebooks/vectordb_experiments/WeaviateExperiment.ipynb b/examples/notebooks/vectordb_experiments/WeaviateExperiment.ipynb index 33bc0c8c..9e2e4f8a 100644 --- a/examples/notebooks/vectordb_experiments/WeaviateExperiment.ipynb +++ b/examples/notebooks/vectordb_experiments/WeaviateExperiment.ipynb @@ -66,7 +66,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "ded9af28", + "id": "33e7765a", "metadata": {}, "outputs": [], "source": [ @@ -124,37 +124,31 @@ "name": "stdout", "output_type": "stream", "text": [ - "importing question: 1\n", - "importing question: 2\n", - "importing question: 3\n", - "importing question: 4\n", - "importing question: 5\n", - "importing question: 6\n", - "importing question: 7\n", - "importing question: 8\n" + "Inserting data into Weaviate before the experiment...\n" ] } ], "source": [ "# Can skip if you already have data in Weaviate\n", - "data = [{'Category': 'science', 'Question': 'How many hydrogens are in H2O?', 'Answer': '2'},\n", - " {'Category': 'math', 'Question': '2+2', 'Answer': '4'},\n", - " {'Category': 'math', 'Question': 'Is 13 a prime number?', 'Answer': 'Yes'},\n", - " {'Category': 'geography', 'Question': 'Which continent is India in?', 'Answer': 'Asia'},\n", - " {'Category': 'geography', 'Question': 'Which continent is China in?', 'Answer': 'Asia'},\n", - " {'Category': 'geography', 'Question': 'Which continent is USA in?', 'Answer': 'North America'},\n", - " {'Category': 'geography', 'Question': 'Which is the largest state in the USA?', 'Answer': 'Alaska'},\n", - " {'Category': 'geography', 'Question': 'Which is the most populous state in the USA?', 'Answer': 'California'},]\n", + "data = [{'doc_id': 1, 'Category': 'science', 'Question': 'How many hydrogens are in H2O?', 'Answer': '2'},\n", + " {'doc_id': 2, 'Category': 'math', 'Question': '2+2', 'Answer': '4'},\n", + " {'doc_id': 3, 'Category': 'math', 'Question': 'Is 13 a prime number?', 'Answer': 'Yes'},\n", + " {'doc_id': 4, 'Category': 'geography', 'Question': 'Which continent is India in?', 'Answer': 'Asia'},\n", + " {'doc_id': 5, 'Category': 'geography', 'Question': 'Which continent is China in?', 'Answer': 'Asia'},\n", + " {'doc_id': 6, 'Category': 'geography', 'Question': 'Which continent is USA in?', 'Answer': 'North America'},\n", + " {'doc_id': 7, 'Category': 'geography', 'Question': 'Which is the largest state in the USA?', 'Answer': 'Alaska'},\n", + " {'doc_id': 8, 'Category': 'geography', 'Question': 'Which is the most populous state in the USA?', 'Answer': 'California'},]\n", "\n", "\n", "def _insert_data(data, client):\n", + " print(f\"Inserting data into Weaviate before the experiment...\")\n", " with client.batch(\n", " batch_size=100\n", " ) as batch:\n", " for i, d in enumerate(data):\n", - " print(f\"importing question: {i+1}\")\n", "\n", " properties = {\n", + " \"doc_id\": d[\"doc_id\"],\n", " \"answer\": d[\"Answer\"],\n", " \"question\": d[\"Question\"],\n", " \"category\": d[\"Category\"],\n", @@ -309,28 +303,28 @@ " Hydrogen\n", " default\n", " [{'answer': '2', 'category': 'science', 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'category': 'geography', 'question': 'Which continent is India in?'}]\n", - " 0.008386\n", + " 0.004510\n", " \n", " \n", " 1\n", " USA\n", " default\n", " [{'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'question': 'Which continent is USA in?'}]\n", - " 0.004517\n", + " 0.003896\n", " \n", " \n", " 2\n", " Hydrogen\n", " custom\n", " [{'answer': '2', 'category': 'science', 'question': 'How many hydrogens are in H2O?'}]\n", - " 0.007075\n", + " 0.013911\n", " \n", " \n", " 3\n", " USA\n", " custom\n", " [{'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'question': 'Which continent is USA in?'}]\n", - " 0.005827\n", + " 0.004591\n", " \n", " \n", "\n", @@ -350,10 +344,10 @@ "3 [{'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'question': 'Which continent is USA in?'}] \n", "\n", " latency \n", - "0 0.008386 \n", - "1 0.004517 \n", - "2 0.007075 \n", - "3 0.005827 " + "0 0.004510 \n", + "1 0.003896 \n", + "2 0.013911 \n", + "3 0.004591 " ] }, "metadata": {}, @@ -464,7 +458,7 @@ "outputs": [], "source": [ "property_names = [\"question\", \"answer\"] # Specify what property you would like to query\n", - "text_queries = [\"continent Asia\"] # Your text queries that will be passed in to query builder to create query\n", + "text_queries = [\"continent Asia\", \"hydrogen\"] # Your text queries that will be passed in to query builder to create query\n", "\n", "\n", "experiment = WeaviateExperiment(client=client,\n", @@ -480,6 +474,14 @@ "experiment.run()" ] }, + { + "cell_type": "markdown", + "id": "c07c7c7b", + "metadata": {}, + "source": [ + "In this particular case, the results between using different distance function is the same. However, cosine method is marginally faster than L2-squared in terms of latency." + ] + }, { "cell_type": "code", "execution_count": 14, @@ -507,6 +509,7 @@ " \n", " \n", " \n", + " text_query\n", " vectorIndexConfig\n", " top objs\n", " latency\n", @@ -515,32 +518,54 @@ " \n", " \n", " 0\n", + " continent Asia\n", " {'vectorIndexConfig': {'distance': 'cosine'}}\n", " [{'answer': 'Asia', 'question': 'Which continent is China in?'}, {'answer': 'Asia', 'question': 'Which continent is India in?'}, {'answer': 'North America', 'question': 'Which continent is USA in?'}]\n", - " 0.002753\n", + " 0.002494\n", " \n", " \n", " 1\n", + " hydrogen\n", + " {'vectorIndexConfig': {'distance': 'cosine'}}\n", + " [{'answer': '2', 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'question': 'Which continent is India in?'}]\n", + " 0.003155\n", + " \n", + " \n", + " 2\n", + " continent Asia\n", " {'vectorIndexConfig': {'distance': 'l2-squared'}}\n", " [{'answer': 'Asia', 'question': 'Which continent is China in?'}, {'answer': 'Asia', 'question': 'Which continent is India in?'}, {'answer': 'North America', 'question': 'Which continent is USA in?'}]\n", - " 0.002279\n", + " 0.002548\n", + " \n", + " \n", + " 3\n", + " hydrogen\n", + " {'vectorIndexConfig': {'distance': 'l2-squared'}}\n", + " [{'answer': '2', 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'question': 'Which continent is India in?'}]\n", + " 0.002556\n", " \n", " \n", "\n", "" ], "text/plain": [ - " vectorIndexConfig \\\n", - "0 {'vectorIndexConfig': {'distance': 'cosine'}} \n", - "1 {'vectorIndexConfig': {'distance': 'l2-squared'}} \n", + " text_query vectorIndexConfig \\\n", + "0 continent Asia {'vectorIndexConfig': {'distance': 'cosine'}} \n", + "1 hydrogen {'vectorIndexConfig': {'distance': 'cosine'}} \n", + "2 continent Asia {'vectorIndexConfig': {'distance': 'l2-squared'}} \n", + "3 hydrogen {'vectorIndexConfig': {'distance': 'l2-squared'}} \n", "\n", - " top objs \\\n", - "0 [{'answer': 'Asia', 'question': 'Which continent is China in?'}, {'answer': 'Asia', 'question': 'Which continent is India in?'}, {'answer': 'North America', 'question': 'Which continent is USA in?'}] \n", - "1 [{'answer': 'Asia', 'question': 'Which continent is China in?'}, {'answer': 'Asia', 'question': 'Which continent is India in?'}, {'answer': 'North America', 'question': 'Which continent is USA in?'}] \n", + " top objs \\\n", + "0 [{'answer': 'Asia', 'question': 'Which continent is China in?'}, {'answer': 'Asia', 'question': 'Which continent is India in?'}, {'answer': 'North America', 'question': 'Which continent is USA in?'}] \n", + "1 [{'answer': '2', 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'question': 'Which continent is India in?'}] \n", + "2 [{'answer': 'Asia', 'question': 'Which continent is China in?'}, {'answer': 'Asia', 'question': 'Which continent is India in?'}, {'answer': 'North America', 'question': 'Which continent is USA in?'}] \n", + "3 [{'answer': '2', 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'question': 'Which continent is India in?'}] \n", "\n", " latency \n", - "0 0.002753 \n", - "1 0.002279 " + "0 0.002494 \n", + "1 0.003155 \n", + "2 0.002548 \n", + "3 0.002556 " ] }, "metadata": {}, @@ -564,7 +589,359 @@ "id": "974d6065", "metadata": {}, "source": [ - "For now, please refer to the ChromaDB example for possible evaluation methods (i.e. ranking correlation). Other examples show case how you can evaluate with LLMs." + "We will circle back to the first example to demonstrate how we can evaluate the outputs from Weaviate.\n", + "\n", + "We will compute the \"ranking correlation\" between the expected ranking and actual ranking returned from the queries.\n", + "\n", + "Note that this is not the only way to evaluate a vector database, there are other examples show case how you can evaluate with LLMs." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "841b451a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Inserting data into Weaviate before the experiment...\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
text_queryquery_builder_nametop objslatency
0Hydrogendefault[{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'category': 'geography', 'doc_id': 4, 'question': 'Which continent is India in?'}]0.002769
1USAdefault[{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}]0.002926
2Hydrogencustom[{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}]0.003282
3USAcustom[{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}]0.003573
\n", + "
" + ], + "text/plain": [ + " text_query query_builder_name \\\n", + "0 Hydrogen default \n", + "1 USA default \n", + "2 Hydrogen custom \n", + "3 USA custom \n", + "\n", + " top objs \\\n", + "0 [{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'category': 'geography', 'doc_id': 4, 'question': 'Which continent is India in?'}] \n", + "1 [{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}] \n", + "2 [{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}] \n", + "3 [{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}] \n", + "\n", + " latency \n", + "0 0.002769 \n", + "1 0.002926 \n", + "2 0.003282 \n", + "3 0.003573 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "_clear_existing_class(class_name)\n", + "_insert_data(data, client)\n", + "\n", + "property_names = [\"doc_id\", \"category\", \"question\", \"answer\"] # Specify what property you would like to query\n", + "text_queries = [\"Hydrogen\", \"USA\"] # Your text queries that will be passed in to query builder to create query\n", + "\n", + "\n", + "experiment = WeaviateExperiment(client=client,\n", + " class_name=class_name,\n", + " use_existing_data=True,\n", + " property_names=property_names,\n", + " text_queries=text_queries,\n", + " query_builders=query_builders)\n", + "experiment.run()\n", + "experiment.visualize()" + ] + }, + { + "cell_type": "markdown", + "id": "a6e0e7c4", + "metadata": {}, + "source": [ + "We can use write a custom function to extract the top document IDs as an independent column." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "38f416b7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
text_queryquery_builder_nametop objslatencytop doc ids
0Hydrogendefault[{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'category': 'geography', 'doc_id': 4, 'question': 'Which continent is India in?'}]0.002769[1, 7, 4]
1USAdefault[{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}]0.002926[7, 8, 6]
2Hydrogencustom[{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}]0.003282[1]
3USAcustom[{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}]0.003573[7, 8, 6]
\n", + "
" + ], + "text/plain": [ + " text_query query_builder_name \\\n", + "0 Hydrogen default \n", + "1 USA default \n", + "2 Hydrogen custom \n", + "3 USA custom \n", + "\n", + " top objs \\\n", + "0 [{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'category': 'geography', 'doc_id': 4, 'question': 'Which continent is India in?'}] \n", + "1 [{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}] \n", + "2 [{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}] \n", + "3 [{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}] \n", + "\n", + " latency top doc ids \n", + "0 0.002769 [1, 7, 4] \n", + "1 0.002926 [7, 8, 6] \n", + "2 0.003282 [1] \n", + "3 0.003573 [7, 8, 6] " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def get_top_doc_ids(row):\n", + " return [d[\"doc_id\"] for d in row[\"top objs\"]]\n", + "\n", + "experiment.evaluate(\"top doc ids\", get_top_doc_ids)\n", + "experiment.visualize()" + ] + }, + { + "cell_type": "markdown", + "id": "d763a724", + "metadata": {}, + "source": [ + "Then, we can compute the ranking correlation." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "074c6629", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
text_queryquery_builder_nametop objslatencytop doc idsranking_correlation
0Hydrogendefault[{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'category': 'geography', 'doc_id': 4, 'question': 'Which continent is India in?'}]0.002769[1, 7, 4]-0.866025
1USAdefault[{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}]0.002926[7, 8, 6]1.000000
2Hydrogencustom[{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}]0.003282[1]1.000000
3USAcustom[{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}]0.003573[7, 8, 6]1.000000
\n", + "
" + ], + "text/plain": [ + " text_query query_builder_name \\\n", + "0 Hydrogen default \n", + "1 USA default \n", + "2 Hydrogen custom \n", + "3 USA custom \n", + "\n", + " top objs \\\n", + "0 [{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'category': 'geography', 'doc_id': 4, 'question': 'Which continent is India in?'}] \n", + "1 [{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}] \n", + "2 [{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}] \n", + "3 [{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}] \n", + "\n", + " latency top doc ids ranking_correlation \n", + "0 0.002769 [1, 7, 4] -0.866025 \n", + "1 0.002926 [7, 8, 6] 1.000000 \n", + "2 0.003282 [1] 1.000000 \n", + "3 0.003573 [7, 8, 6] 1.000000 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from prompttools.utils import ranking_correlation\n", + "\n", + "EXPECTED_RANKING_LIST = [\n", + " [1, 0, 0], # Padded\n", + " [7, 8, 6],\n", + " [1],\n", + " [7, 8, 6],\n", + "]\n", + "\n", + "experiment.evaluate(\"ranking_correlation\", ranking_correlation, expected_ranking=EXPECTED_RANKING_LIST)\n", + "experiment.visualize()" ] } ], From 2680dbf2b7ba28fec40cf89de5a2347838a1dad4 Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 6 Sep 2023 00:33:06 -0700 Subject: [PATCH 034/182] Update README models supported --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ce41c2ec..52741803 100644 --- a/README.md +++ b/README.md @@ -108,6 +108,7 @@ Vector Databases and Data Utility - LanceDB - **Supported** - Milvus - Exploratory - Pinecone - Exploratory +- Epsilla - _In Progress_ Frameworks - LangChain - **Supported** @@ -116,7 +117,7 @@ Frameworks Computer Vision - Stable Diffusion - **Supported** -- Replicate's hosted Stable Diffusion - _In Progress_ +- Replicate's hosted Stable Diffusion - **Supported** If you have any API that you'd like to see being supported soon, please open an issue or a PR to add it. Feel free to discuss in our Discord channel as well. From c3b96d3f886828348ad78050d487070e6df8ed9a Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 6 Sep 2023 17:33:53 -0700 Subject: [PATCH 035/182] Adding hybrid search to Weaviate --- .../WeaviateExperiment.ipynb | 327 ++++++++++++------ 1 file changed, 216 insertions(+), 111 deletions(-) diff --git a/examples/notebooks/vectordb_experiments/WeaviateExperiment.ipynb b/examples/notebooks/vectordb_experiments/WeaviateExperiment.ipynb index 9e2e4f8a..ec56916c 100644 --- a/examples/notebooks/vectordb_experiments/WeaviateExperiment.ipynb +++ b/examples/notebooks/vectordb_experiments/WeaviateExperiment.ipynb @@ -130,14 +130,14 @@ ], "source": [ "# Can skip if you already have data in Weaviate\n", - "data = [{'doc_id': 1, 'Category': 'science', 'Question': 'How many hydrogens are in H2O?', 'Answer': '2'},\n", - " {'doc_id': 2, 'Category': 'math', 'Question': '2+2', 'Answer': '4'},\n", - " {'doc_id': 3, 'Category': 'math', 'Question': 'Is 13 a prime number?', 'Answer': 'Yes'},\n", - " {'doc_id': 4, 'Category': 'geography', 'Question': 'Which continent is India in?', 'Answer': 'Asia'},\n", - " {'doc_id': 5, 'Category': 'geography', 'Question': 'Which continent is China in?', 'Answer': 'Asia'},\n", - " {'doc_id': 6, 'Category': 'geography', 'Question': 'Which continent is USA in?', 'Answer': 'North America'},\n", - " {'doc_id': 7, 'Category': 'geography', 'Question': 'Which is the largest state in the USA?', 'Answer': 'Alaska'},\n", - " {'doc_id': 8, 'Category': 'geography', 'Question': 'Which is the most populous state in the USA?', 'Answer': 'California'},]\n", + "data = [{'doc_id': \"1\", 'Category': 'science', 'Question': 'How many hydrogens are in H2O?', 'Answer': '2'},\n", + " {'doc_id': \"2\", 'Category': 'math', 'Question': '2+2', 'Answer': '4'},\n", + " {'doc_id': \"3\", 'Category': 'math', 'Question': 'Is 13 a prime number?', 'Answer': 'Yes'},\n", + " {'doc_id': \"4\", 'Category': 'geography', 'Question': 'Which continent is India in?', 'Answer': 'Asia'},\n", + " {'doc_id': \"5\", 'Category': 'geography', 'Question': 'Which continent is China in?', 'Answer': 'Asia'},\n", + " {'doc_id': \"6\", 'Category': 'geography', 'Question': 'Which continent is USA in?', 'Answer': 'North America'},\n", + " {'doc_id': \"7\", 'Category': 'geography', 'Question': 'Which is the largest state in the USA?', 'Answer': 'Alaska'},\n", + " {'doc_id': \"8\", 'Category': 'geography', 'Question': 'Which is the most populous state in the USA?', 'Answer': 'California'},]\n", "\n", "\n", "def _insert_data(data, client):\n", @@ -173,7 +173,14 @@ "\n", "Given that there are many options on how a near text search operator and filters can be constructed. We ask that you define query functions and pass that into the experiment in the form of a dictionary `{name: callable_function}`, as shown below.\n", "\n", - "Note: there is a default query function if you aren't interested in testing different querying methods." + "We have three examples of query functions:\n", + "1. Default query - performs a near text search based on your text query and properties\n", + "2. A custom query - similar to the default, but wants the result to be away from the \"geography\" topic\n", + "3. Hybrid search - combines `bm25` search and vector (near text) search\n", + "\n", + "You can create your own custom query function, such as one that perform generative search.\n", + "\n", + "Note: the default query function is available and used by experiment by default if you aren't interested in testing different querying methods." ] }, { @@ -190,10 +197,10 @@ " text_query: str,\n", "):\n", " near_text_search_operator = {\"concepts\": [text_query]}\n", - " return client.query.get(class_name, property_names).with_near_text(near_text_search_operator).with_limit(limit=3)\n", + " return client.query.get(class_name, property_names).with_additional([\"id\"]).with_near_text(near_text_search_operator).with_limit(limit=3)\n", "\n", "\n", - "def custom_query_builder(\n", + "def away_query_builder(\n", " client: weaviate.Client,\n", " class_name: str,\n", " property_names: list[str],\n", @@ -207,10 +214,20 @@ " \"force\": 0.45\n", " },\n", " }\n", - " return client.query.get(class_name, property_names).with_near_text(near_text_search_operator).with_limit(limit=3)\n", + " return client.query.get(class_name, property_names).with_additional([\"id\"]).with_near_text(near_text_search_operator).with_limit(limit=3)\n", + "\n", + "def hybird_query_builder(\n", + " client: weaviate.Client,\n", + " class_name: str,\n", + " property_names: list[str],\n", + " text_query: str,\n", + "):\n", + " hybrid_kwargs = {\"query\": text_query, \"properties\": property_names, \"vector\": None}\n", + " return client.query.get(class_name, property_names).with_additional([\"id\"]).with_hybrid(**hybrid_kwargs).with_limit(limit=3)\n", + " \n", "\n", "# A dictionary of the name of query builder and the corresponding callable function.\n", - "query_builders = {\"default\": default_query_builder, \"custom\": custom_query_builder}" + "query_builders = {\"default\": default_query_builder, \"away\": away_query_builder, \"hybrid\": hybird_query_builder}" ] }, { @@ -261,7 +278,7 @@ "id": "609edea5", "metadata": {}, "source": [ - "As you can see from the results, the \"custom\" queries try to stay away from geography topics in its responses (unless it is highly relevant), whereas the first one is agnostic." + "As you can see from the results, the \"away\" queries try to stay away from geography topics in its responses (unless it is highly relevant), whereas the first one is agnostic." ] }, { @@ -302,29 +319,43 @@ " 0\n", " Hydrogen\n", " default\n", - " [{'answer': '2', 'category': 'science', 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'category': 'geography', 'question': 'Which continent is India in?'}]\n", - " 0.004510\n", + " [{'_additional': {'id': '5a12d2bb-4eea-408d-b80c-bc730ea6f518'}, 'answer': '2', 'category': 'science', 'question': 'How many hydrogens are in H2O?'}, {'_additional': {'id': 'de282efa-f441-4dcb-a2bb-df8233664dc1'}, 'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '5a691b7a-9d9f-401b-a2c9-208a84faed17'}, 'answer': 'Asia', 'category': 'geography', 'question': 'Which continent is India in?'}]\n", + " 0.004654\n", " \n", " \n", " 1\n", " USA\n", " default\n", - " [{'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'question': 'Which continent is USA in?'}]\n", - " 0.003896\n", + " [{'_additional': {'id': 'de282efa-f441-4dcb-a2bb-df8233664dc1'}, 'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '1f21ccab-185a-417e-806f-2044077b22a7'}, 'answer': 'California', 'category': 'geography', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '020c271d-ba75-4c27-a0ba-263df7e3d0d9'}, 'answer': 'North America', 'category': 'geography', 'question': 'Which continent is USA in?'}]\n", + " 0.003442\n", " \n", " \n", " 2\n", " Hydrogen\n", - " custom\n", - " [{'answer': '2', 'category': 'science', 'question': 'How many hydrogens are in H2O?'}]\n", - " 0.013911\n", + " away\n", + " [{'_additional': {'id': '5a12d2bb-4eea-408d-b80c-bc730ea6f518'}, 'answer': '2', 'category': 'science', 'question': 'How many hydrogens are in H2O?'}]\n", + " 0.003543\n", " \n", " \n", " 3\n", " USA\n", - " custom\n", - " [{'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'question': 'Which continent is USA in?'}]\n", - " 0.004591\n", + " away\n", + " [{'_additional': {'id': 'de282efa-f441-4dcb-a2bb-df8233664dc1'}, 'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '1f21ccab-185a-417e-806f-2044077b22a7'}, 'answer': 'California', 'category': 'geography', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '020c271d-ba75-4c27-a0ba-263df7e3d0d9'}, 'answer': 'North America', 'category': 'geography', 'question': 'Which continent is USA in?'}]\n", + " 0.003603\n", + " \n", + " \n", + " 4\n", + " Hydrogen\n", + " hybrid\n", + " [{'_additional': {'id': '5a12d2bb-4eea-408d-b80c-bc730ea6f518'}, 'answer': '2', 'category': 'science', 'question': 'How many hydrogens are in H2O?'}, {'_additional': {'id': 'de282efa-f441-4dcb-a2bb-df8233664dc1'}, 'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '5a691b7a-9d9f-401b-a2c9-208a84faed17'}, 'answer': 'Asia', 'category': 'geography', 'question': 'Which continent is India in?'}]\n", + " 0.003401\n", + " \n", + " \n", + " 5\n", + " USA\n", + " hybrid\n", + " [{'_additional': {'id': 'de282efa-f441-4dcb-a2bb-df8233664dc1'}, 'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '1f21ccab-185a-417e-806f-2044077b22a7'}, 'answer': 'California', 'category': 'geography', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '020c271d-ba75-4c27-a0ba-263df7e3d0d9'}, 'answer': 'North America', 'category': 'geography', 'question': 'Which continent is USA in?'}]\n", + " 0.004394\n", " \n", " \n", "\n", @@ -334,20 +365,26 @@ " text_query query_builder_name \\\n", "0 Hydrogen default \n", "1 USA default \n", - "2 Hydrogen custom \n", - "3 USA custom \n", + "2 Hydrogen away \n", + "3 USA away \n", + "4 Hydrogen hybrid \n", + "5 USA hybrid \n", "\n", - " top objs \\\n", - "0 [{'answer': '2', 'category': 'science', 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'category': 'geography', 'question': 'Which continent is India in?'}] \n", - "1 [{'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'question': 'Which continent is USA in?'}] \n", - "2 [{'answer': '2', 'category': 'science', 'question': 'How many hydrogens are in H2O?'}] \n", - "3 [{'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'question': 'Which continent is USA in?'}] \n", + " top objs \\\n", + "0 [{'_additional': {'id': '5a12d2bb-4eea-408d-b80c-bc730ea6f518'}, 'answer': '2', 'category': 'science', 'question': 'How many hydrogens are in H2O?'}, {'_additional': {'id': 'de282efa-f441-4dcb-a2bb-df8233664dc1'}, 'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '5a691b7a-9d9f-401b-a2c9-208a84faed17'}, 'answer': 'Asia', 'category': 'geography', 'question': 'Which continent is India in?'}] \n", + "1 [{'_additional': {'id': 'de282efa-f441-4dcb-a2bb-df8233664dc1'}, 'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '1f21ccab-185a-417e-806f-2044077b22a7'}, 'answer': 'California', 'category': 'geography', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '020c271d-ba75-4c27-a0ba-263df7e3d0d9'}, 'answer': 'North America', 'category': 'geography', 'question': 'Which continent is USA in?'}] \n", + "2 [{'_additional': {'id': '5a12d2bb-4eea-408d-b80c-bc730ea6f518'}, 'answer': '2', 'category': 'science', 'question': 'How many hydrogens are in H2O?'}] \n", + "3 [{'_additional': {'id': 'de282efa-f441-4dcb-a2bb-df8233664dc1'}, 'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '1f21ccab-185a-417e-806f-2044077b22a7'}, 'answer': 'California', 'category': 'geography', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '020c271d-ba75-4c27-a0ba-263df7e3d0d9'}, 'answer': 'North America', 'category': 'geography', 'question': 'Which continent is USA in?'}] \n", + "4 [{'_additional': {'id': '5a12d2bb-4eea-408d-b80c-bc730ea6f518'}, 'answer': '2', 'category': 'science', 'question': 'How many hydrogens are in H2O?'}, {'_additional': {'id': 'de282efa-f441-4dcb-a2bb-df8233664dc1'}, 'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '5a691b7a-9d9f-401b-a2c9-208a84faed17'}, 'answer': 'Asia', 'category': 'geography', 'question': 'Which continent is India in?'}] \n", + "5 [{'_additional': {'id': 'de282efa-f441-4dcb-a2bb-df8233664dc1'}, 'answer': 'Alaska', 'category': 'geography', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '1f21ccab-185a-417e-806f-2044077b22a7'}, 'answer': 'California', 'category': 'geography', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '020c271d-ba75-4c27-a0ba-263df7e3d0d9'}, 'answer': 'North America', 'category': 'geography', 'question': 'Which continent is USA in?'}] \n", "\n", " latency \n", - "0 0.004510 \n", - "1 0.003896 \n", - "2 0.013911 \n", - "3 0.004591 " + "0 0.004654 \n", + "1 0.003442 \n", + "2 0.003543 \n", + "3 0.003603 \n", + "4 0.003401 \n", + "5 0.004394 " ] }, "metadata": {}, @@ -521,28 +558,28 @@ " continent Asia\n", " {'vectorIndexConfig': {'distance': 'cosine'}}\n", " [{'answer': 'Asia', 'question': 'Which continent is China in?'}, {'answer': 'Asia', 'question': 'Which continent is India in?'}, {'answer': 'North America', 'question': 'Which continent is USA in?'}]\n", - " 0.002494\n", + " 0.004236\n", " \n", " \n", " 1\n", " hydrogen\n", " {'vectorIndexConfig': {'distance': 'cosine'}}\n", " [{'answer': '2', 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'question': 'Which continent is India in?'}]\n", - " 0.003155\n", + " 0.004716\n", " \n", " \n", " 2\n", " continent Asia\n", " {'vectorIndexConfig': {'distance': 'l2-squared'}}\n", " [{'answer': 'Asia', 'question': 'Which continent is China in?'}, {'answer': 'Asia', 'question': 'Which continent is India in?'}, {'answer': 'North America', 'question': 'Which continent is USA in?'}]\n", - " 0.002548\n", + " 0.002707\n", " \n", " \n", " 3\n", " hydrogen\n", " {'vectorIndexConfig': {'distance': 'l2-squared'}}\n", " [{'answer': '2', 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'question': 'Which continent is India in?'}]\n", - " 0.002556\n", + " 0.002025\n", " \n", " \n", "\n", @@ -562,10 +599,10 @@ "3 [{'answer': '2', 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'question': 'Which continent is India in?'}] \n", "\n", " latency \n", - "0 0.002494 \n", - "1 0.003155 \n", - "2 0.002548 \n", - "3 0.002556 " + "0 0.004236 \n", + "1 0.004716 \n", + "2 0.002707 \n", + "3 0.002025 " ] }, "metadata": {}, @@ -641,29 +678,43 @@ " 0\n", " Hydrogen\n", " default\n", - " [{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'category': 'geography', 'doc_id': 4, 'question': 'Which continent is India in?'}]\n", - " 0.002769\n", + " [{'_additional': {'id': 'd64dc836-3793-47d9-b5cd-157576e9efe8'}, 'answer': '2', 'category': 'science', 'doc_id': '1', 'question': 'How many hydrogens are in H2O?'}, {'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '919798e4-7f06-4f2e-830b-8c39c0e3cc93'}, 'answer': 'Asia', 'category': 'geography', 'doc_id': '4', 'question': 'Which continent is India in?'}]\n", + " 0.002544\n", " \n", " \n", " 1\n", " USA\n", " default\n", - " [{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}]\n", - " 0.002926\n", + " [{'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '9b6af54e-6d62-4674-8c08-22a5bb8e5904'}, 'answer': 'California', 'category': 'geography', 'doc_id': '8', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '4a417618-cedd-422f-bdeb-fe0aadc8855d'}, 'answer': 'North America', 'category': 'geography', 'doc_id': '6', 'question': 'Which continent is USA in?'}]\n", + " 0.002263\n", " \n", " \n", " 2\n", " Hydrogen\n", - " custom\n", - " [{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}]\n", - " 0.003282\n", + " away\n", + " [{'_additional': {'id': 'd64dc836-3793-47d9-b5cd-157576e9efe8'}, 'answer': '2', 'category': 'science', 'doc_id': '1', 'question': 'How many hydrogens are in H2O?'}]\n", + " 0.003149\n", " \n", " \n", " 3\n", " USA\n", - " custom\n", - " [{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}]\n", - " 0.003573\n", + " away\n", + " [{'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '9b6af54e-6d62-4674-8c08-22a5bb8e5904'}, 'answer': 'California', 'category': 'geography', 'doc_id': '8', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '4a417618-cedd-422f-bdeb-fe0aadc8855d'}, 'answer': 'North America', 'category': 'geography', 'doc_id': '6', 'question': 'Which continent is USA in?'}]\n", + " 0.002926\n", + " \n", + " \n", + " 4\n", + " Hydrogen\n", + " hybrid\n", + " [{'_additional': {'id': 'd64dc836-3793-47d9-b5cd-157576e9efe8'}, 'answer': '2', 'category': 'science', 'doc_id': '1', 'question': 'How many hydrogens are in H2O?'}, {'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '919798e4-7f06-4f2e-830b-8c39c0e3cc93'}, 'answer': 'Asia', 'category': 'geography', 'doc_id': '4', 'question': 'Which continent is India in?'}]\n", + " 0.002252\n", + " \n", + " \n", + " 5\n", + " USA\n", + " hybrid\n", + " [{'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '9b6af54e-6d62-4674-8c08-22a5bb8e5904'}, 'answer': 'California', 'category': 'geography', 'doc_id': '8', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '4a417618-cedd-422f-bdeb-fe0aadc8855d'}, 'answer': 'North America', 'category': 'geography', 'doc_id': '6', 'question': 'Which continent is USA in?'}]\n", + " 0.002231\n", " \n", " \n", "\n", @@ -673,20 +724,26 @@ " text_query query_builder_name \\\n", "0 Hydrogen default \n", "1 USA default \n", - "2 Hydrogen custom \n", - "3 USA custom \n", + "2 Hydrogen away \n", + "3 USA away \n", + "4 Hydrogen hybrid \n", + "5 USA hybrid \n", "\n", - " top objs \\\n", - "0 [{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'category': 'geography', 'doc_id': 4, 'question': 'Which continent is India in?'}] \n", - "1 [{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}] \n", - "2 [{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}] \n", - "3 [{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}] \n", + " top objs \\\n", + "0 [{'_additional': {'id': 'd64dc836-3793-47d9-b5cd-157576e9efe8'}, 'answer': '2', 'category': 'science', 'doc_id': '1', 'question': 'How many hydrogens are in H2O?'}, {'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '919798e4-7f06-4f2e-830b-8c39c0e3cc93'}, 'answer': 'Asia', 'category': 'geography', 'doc_id': '4', 'question': 'Which continent is India in?'}] \n", + "1 [{'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '9b6af54e-6d62-4674-8c08-22a5bb8e5904'}, 'answer': 'California', 'category': 'geography', 'doc_id': '8', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '4a417618-cedd-422f-bdeb-fe0aadc8855d'}, 'answer': 'North America', 'category': 'geography', 'doc_id': '6', 'question': 'Which continent is USA in?'}] \n", + "2 [{'_additional': {'id': 'd64dc836-3793-47d9-b5cd-157576e9efe8'}, 'answer': '2', 'category': 'science', 'doc_id': '1', 'question': 'How many hydrogens are in H2O?'}] \n", + "3 [{'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '9b6af54e-6d62-4674-8c08-22a5bb8e5904'}, 'answer': 'California', 'category': 'geography', 'doc_id': '8', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '4a417618-cedd-422f-bdeb-fe0aadc8855d'}, 'answer': 'North America', 'category': 'geography', 'doc_id': '6', 'question': 'Which continent is USA in?'}] \n", + "4 [{'_additional': {'id': 'd64dc836-3793-47d9-b5cd-157576e9efe8'}, 'answer': '2', 'category': 'science', 'doc_id': '1', 'question': 'How many hydrogens are in H2O?'}, {'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '919798e4-7f06-4f2e-830b-8c39c0e3cc93'}, 'answer': 'Asia', 'category': 'geography', 'doc_id': '4', 'question': 'Which continent is India in?'}] \n", + "5 [{'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '9b6af54e-6d62-4674-8c08-22a5bb8e5904'}, 'answer': 'California', 'category': 'geography', 'doc_id': '8', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '4a417618-cedd-422f-bdeb-fe0aadc8855d'}, 'answer': 'North America', 'category': 'geography', 'doc_id': '6', 'question': 'Which continent is USA in?'}] \n", "\n", " latency \n", - "0 0.002769 \n", - "1 0.002926 \n", - "2 0.003282 \n", - "3 0.003573 " + "0 0.002544 \n", + "1 0.002263 \n", + "2 0.003149 \n", + "3 0.002926 \n", + "4 0.002252 \n", + "5 0.002231 " ] }, "metadata": {}, @@ -758,32 +815,48 @@ " 0\n", " Hydrogen\n", " default\n", - " [{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'category': 'geography', 'doc_id': 4, 'question': 'Which continent is India in?'}]\n", - " 0.002769\n", + " [{'_additional': {'id': 'd64dc836-3793-47d9-b5cd-157576e9efe8'}, 'answer': '2', 'category': 'science', 'doc_id': '1', 'question': 'How many hydrogens are in H2O?'}, {'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '919798e4-7f06-4f2e-830b-8c39c0e3cc93'}, 'answer': 'Asia', 'category': 'geography', 'doc_id': '4', 'question': 'Which continent is India in?'}]\n", + " 0.002544\n", " [1, 7, 4]\n", " \n", " \n", " 1\n", " USA\n", " default\n", - " [{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}]\n", - " 0.002926\n", + " [{'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '9b6af54e-6d62-4674-8c08-22a5bb8e5904'}, 'answer': 'California', 'category': 'geography', 'doc_id': '8', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '4a417618-cedd-422f-bdeb-fe0aadc8855d'}, 'answer': 'North America', 'category': 'geography', 'doc_id': '6', 'question': 'Which continent is USA in?'}]\n", + " 0.002263\n", " [7, 8, 6]\n", " \n", " \n", " 2\n", " Hydrogen\n", - " custom\n", - " [{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}]\n", - " 0.003282\n", + " away\n", + " [{'_additional': {'id': 'd64dc836-3793-47d9-b5cd-157576e9efe8'}, 'answer': '2', 'category': 'science', 'doc_id': '1', 'question': 'How many hydrogens are in H2O?'}]\n", + " 0.003149\n", " [1]\n", " \n", " \n", " 3\n", " USA\n", - " custom\n", - " [{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}]\n", - " 0.003573\n", + " away\n", + " [{'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '9b6af54e-6d62-4674-8c08-22a5bb8e5904'}, 'answer': 'California', 'category': 'geography', 'doc_id': '8', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '4a417618-cedd-422f-bdeb-fe0aadc8855d'}, 'answer': 'North America', 'category': 'geography', 'doc_id': '6', 'question': 'Which continent is USA in?'}]\n", + " 0.002926\n", + " [7, 8, 6]\n", + " \n", + " \n", + " 4\n", + " Hydrogen\n", + " hybrid\n", + " [{'_additional': {'id': 'd64dc836-3793-47d9-b5cd-157576e9efe8'}, 'answer': '2', 'category': 'science', 'doc_id': '1', 'question': 'How many hydrogens are in H2O?'}, {'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '919798e4-7f06-4f2e-830b-8c39c0e3cc93'}, 'answer': 'Asia', 'category': 'geography', 'doc_id': '4', 'question': 'Which continent is India in?'}]\n", + " 0.002252\n", + " [1, 7, 4]\n", + " \n", + " \n", + " 5\n", + " USA\n", + " hybrid\n", + " [{'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '9b6af54e-6d62-4674-8c08-22a5bb8e5904'}, 'answer': 'California', 'category': 'geography', 'doc_id': '8', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '4a417618-cedd-422f-bdeb-fe0aadc8855d'}, 'answer': 'North America', 'category': 'geography', 'doc_id': '6', 'question': 'Which continent is USA in?'}]\n", + " 0.002231\n", " [7, 8, 6]\n", " \n", " \n", @@ -794,20 +867,26 @@ " text_query query_builder_name \\\n", "0 Hydrogen default \n", "1 USA default \n", - "2 Hydrogen custom \n", - "3 USA custom \n", + "2 Hydrogen away \n", + "3 USA away \n", + "4 Hydrogen hybrid \n", + "5 USA hybrid \n", "\n", - " top objs \\\n", - "0 [{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'category': 'geography', 'doc_id': 4, 'question': 'Which continent is India in?'}] \n", - "1 [{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}] \n", - "2 [{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}] \n", - "3 [{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}] \n", + " top objs \\\n", + "0 [{'_additional': {'id': 'd64dc836-3793-47d9-b5cd-157576e9efe8'}, 'answer': '2', 'category': 'science', 'doc_id': '1', 'question': 'How many hydrogens are in H2O?'}, {'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '919798e4-7f06-4f2e-830b-8c39c0e3cc93'}, 'answer': 'Asia', 'category': 'geography', 'doc_id': '4', 'question': 'Which continent is India in?'}] \n", + "1 [{'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '9b6af54e-6d62-4674-8c08-22a5bb8e5904'}, 'answer': 'California', 'category': 'geography', 'doc_id': '8', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '4a417618-cedd-422f-bdeb-fe0aadc8855d'}, 'answer': 'North America', 'category': 'geography', 'doc_id': '6', 'question': 'Which continent is USA in?'}] \n", + "2 [{'_additional': {'id': 'd64dc836-3793-47d9-b5cd-157576e9efe8'}, 'answer': '2', 'category': 'science', 'doc_id': '1', 'question': 'How many hydrogens are in H2O?'}] \n", + "3 [{'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '9b6af54e-6d62-4674-8c08-22a5bb8e5904'}, 'answer': 'California', 'category': 'geography', 'doc_id': '8', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '4a417618-cedd-422f-bdeb-fe0aadc8855d'}, 'answer': 'North America', 'category': 'geography', 'doc_id': '6', 'question': 'Which continent is USA in?'}] \n", + "4 [{'_additional': {'id': 'd64dc836-3793-47d9-b5cd-157576e9efe8'}, 'answer': '2', 'category': 'science', 'doc_id': '1', 'question': 'How many hydrogens are in H2O?'}, {'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '919798e4-7f06-4f2e-830b-8c39c0e3cc93'}, 'answer': 'Asia', 'category': 'geography', 'doc_id': '4', 'question': 'Which continent is India in?'}] \n", + "5 [{'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '9b6af54e-6d62-4674-8c08-22a5bb8e5904'}, 'answer': 'California', 'category': 'geography', 'doc_id': '8', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '4a417618-cedd-422f-bdeb-fe0aadc8855d'}, 'answer': 'North America', 'category': 'geography', 'doc_id': '6', 'question': 'Which continent is USA in?'}] \n", "\n", " latency top doc ids \n", - "0 0.002769 [1, 7, 4] \n", - "1 0.002926 [7, 8, 6] \n", - "2 0.003282 [1] \n", - "3 0.003573 [7, 8, 6] " + "0 0.002544 [1, 7, 4] \n", + "1 0.002263 [7, 8, 6] \n", + "2 0.003149 [1] \n", + "3 0.002926 [7, 8, 6] \n", + "4 0.002252 [1, 7, 4] \n", + "5 0.002231 [7, 8, 6] " ] }, "metadata": {}, @@ -827,7 +906,7 @@ "id": "d763a724", "metadata": {}, "source": [ - "Then, we can compute the ranking correlation." + "Then, we can compute the ranking correlation. A positive correlation means it is matching the expected ranking, when a negative means the match is worse." ] }, { @@ -870,8 +949,8 @@ " 0\n", " Hydrogen\n", " default\n", - " [{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'category': 'geography', 'doc_id': 4, 'question': 'Which continent is India in?'}]\n", - " 0.002769\n", + " [{'_additional': {'id': 'd64dc836-3793-47d9-b5cd-157576e9efe8'}, 'answer': '2', 'category': 'science', 'doc_id': '1', 'question': 'How many hydrogens are in H2O?'}, {'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '919798e4-7f06-4f2e-830b-8c39c0e3cc93'}, 'answer': 'Asia', 'category': 'geography', 'doc_id': '4', 'question': 'Which continent is India in?'}]\n", + " 0.002544\n", " [1, 7, 4]\n", " -0.866025\n", " \n", @@ -879,26 +958,44 @@ " 1\n", " USA\n", " default\n", - " [{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}]\n", - " 0.002926\n", + " [{'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '9b6af54e-6d62-4674-8c08-22a5bb8e5904'}, 'answer': 'California', 'category': 'geography', 'doc_id': '8', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '4a417618-cedd-422f-bdeb-fe0aadc8855d'}, 'answer': 'North America', 'category': 'geography', 'doc_id': '6', 'question': 'Which continent is USA in?'}]\n", + " 0.002263\n", " [7, 8, 6]\n", " 1.000000\n", " \n", " \n", " 2\n", " Hydrogen\n", - " custom\n", - " [{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}]\n", - " 0.003282\n", + " away\n", + " [{'_additional': {'id': 'd64dc836-3793-47d9-b5cd-157576e9efe8'}, 'answer': '2', 'category': 'science', 'doc_id': '1', 'question': 'How many hydrogens are in H2O?'}]\n", + " 0.003149\n", " [1]\n", " 1.000000\n", " \n", " \n", " 3\n", " USA\n", - " custom\n", - " [{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}]\n", - " 0.003573\n", + " away\n", + " [{'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '9b6af54e-6d62-4674-8c08-22a5bb8e5904'}, 'answer': 'California', 'category': 'geography', 'doc_id': '8', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '4a417618-cedd-422f-bdeb-fe0aadc8855d'}, 'answer': 'North America', 'category': 'geography', 'doc_id': '6', 'question': 'Which continent is USA in?'}]\n", + " 0.002926\n", + " [7, 8, 6]\n", + " 1.000000\n", + " \n", + " \n", + " 4\n", + " Hydrogen\n", + " hybrid\n", + " [{'_additional': {'id': 'd64dc836-3793-47d9-b5cd-157576e9efe8'}, 'answer': '2', 'category': 'science', 'doc_id': '1', 'question': 'How many hydrogens are in H2O?'}, {'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '919798e4-7f06-4f2e-830b-8c39c0e3cc93'}, 'answer': 'Asia', 'category': 'geography', 'doc_id': '4', 'question': 'Which continent is India in?'}]\n", + " 0.002252\n", + " [1, 7, 4]\n", + " -0.866025\n", + " \n", + " \n", + " 5\n", + " USA\n", + " hybrid\n", + " [{'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '9b6af54e-6d62-4674-8c08-22a5bb8e5904'}, 'answer': 'California', 'category': 'geography', 'doc_id': '8', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '4a417618-cedd-422f-bdeb-fe0aadc8855d'}, 'answer': 'North America', 'category': 'geography', 'doc_id': '6', 'question': 'Which continent is USA in?'}]\n", + " 0.002231\n", " [7, 8, 6]\n", " 1.000000\n", " \n", @@ -910,20 +1007,26 @@ " text_query query_builder_name \\\n", "0 Hydrogen default \n", "1 USA default \n", - "2 Hydrogen custom \n", - "3 USA custom \n", + "2 Hydrogen away \n", + "3 USA away \n", + "4 Hydrogen hybrid \n", + "5 USA hybrid \n", "\n", - " top objs \\\n", - "0 [{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}, {'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'Asia', 'category': 'geography', 'doc_id': 4, 'question': 'Which continent is India in?'}] \n", - "1 [{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}] \n", - "2 [{'answer': '2', 'category': 'science', 'doc_id': 1, 'question': 'How many hydrogens are in H2O?'}] \n", - "3 [{'answer': 'Alaska', 'category': 'geography', 'doc_id': 7, 'question': 'Which is the largest state in the USA?'}, {'answer': 'California', 'category': 'geography', 'doc_id': 8, 'question': 'Which is the most populous state in the USA?'}, {'answer': 'North America', 'category': 'geography', 'doc_id': 6, 'question': 'Which continent is USA in?'}] \n", + " top objs \\\n", + "0 [{'_additional': {'id': 'd64dc836-3793-47d9-b5cd-157576e9efe8'}, 'answer': '2', 'category': 'science', 'doc_id': '1', 'question': 'How many hydrogens are in H2O?'}, {'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '919798e4-7f06-4f2e-830b-8c39c0e3cc93'}, 'answer': 'Asia', 'category': 'geography', 'doc_id': '4', 'question': 'Which continent is India in?'}] \n", + "1 [{'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '9b6af54e-6d62-4674-8c08-22a5bb8e5904'}, 'answer': 'California', 'category': 'geography', 'doc_id': '8', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '4a417618-cedd-422f-bdeb-fe0aadc8855d'}, 'answer': 'North America', 'category': 'geography', 'doc_id': '6', 'question': 'Which continent is USA in?'}] \n", + "2 [{'_additional': {'id': 'd64dc836-3793-47d9-b5cd-157576e9efe8'}, 'answer': '2', 'category': 'science', 'doc_id': '1', 'question': 'How many hydrogens are in H2O?'}] \n", + "3 [{'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '9b6af54e-6d62-4674-8c08-22a5bb8e5904'}, 'answer': 'California', 'category': 'geography', 'doc_id': '8', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '4a417618-cedd-422f-bdeb-fe0aadc8855d'}, 'answer': 'North America', 'category': 'geography', 'doc_id': '6', 'question': 'Which continent is USA in?'}] \n", + "4 [{'_additional': {'id': 'd64dc836-3793-47d9-b5cd-157576e9efe8'}, 'answer': '2', 'category': 'science', 'doc_id': '1', 'question': 'How many hydrogens are in H2O?'}, {'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '919798e4-7f06-4f2e-830b-8c39c0e3cc93'}, 'answer': 'Asia', 'category': 'geography', 'doc_id': '4', 'question': 'Which continent is India in?'}] \n", + "5 [{'_additional': {'id': '1f9bfa43-0b3a-47c0-85f5-12ee6e859617'}, 'answer': 'Alaska', 'category': 'geography', 'doc_id': '7', 'question': 'Which is the largest state in the USA?'}, {'_additional': {'id': '9b6af54e-6d62-4674-8c08-22a5bb8e5904'}, 'answer': 'California', 'category': 'geography', 'doc_id': '8', 'question': 'Which is the most populous state in the USA?'}, {'_additional': {'id': '4a417618-cedd-422f-bdeb-fe0aadc8855d'}, 'answer': 'North America', 'category': 'geography', 'doc_id': '6', 'question': 'Which continent is USA in?'}] \n", "\n", " latency top doc ids ranking_correlation \n", - "0 0.002769 [1, 7, 4] -0.866025 \n", - "1 0.002926 [7, 8, 6] 1.000000 \n", - "2 0.003282 [1] 1.000000 \n", - "3 0.003573 [7, 8, 6] 1.000000 " + "0 0.002544 [1, 7, 4] -0.866025 \n", + "1 0.002263 [7, 8, 6] 1.000000 \n", + "2 0.003149 [1] 1.000000 \n", + "3 0.002926 [7, 8, 6] 1.000000 \n", + "4 0.002252 [1, 7, 4] -0.866025 \n", + "5 0.002231 [7, 8, 6] 1.000000 " ] }, "metadata": {}, @@ -934,10 +1037,12 @@ "from prompttools.utils import ranking_correlation\n", "\n", "EXPECTED_RANKING_LIST = [\n", - " [1, 0, 0], # Padded\n", - " [7, 8, 6],\n", - " [1],\n", - " [7, 8, 6],\n", + " [\"1\", \"0\", \"0\"], # Padded\n", + " [\"7\", \"8\", \"6\"],\n", + " [\"1\"],\n", + " [\"7\", \"8\", \"6\"],\n", + " [\"1\", \"0\", \"0\"],\n", + " [\"7\", \"8\", \"6\"],\n", "]\n", "\n", "experiment.evaluate(\"ranking_correlation\", ranking_correlation, expected_ranking=EXPECTED_RANKING_LIST)\n", From 4245545741d0c32f26653f42d96bb8b4b8862081 Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 12 Sep 2023 09:02:08 -0700 Subject: [PATCH 036/182] Initial RetrievalAugmentedGeneration Harness --- prompttools/harness/__init__.py | 2 + prompttools/harness/rag_harness.py | 103 +++++++++++++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 prompttools/harness/rag_harness.py diff --git a/prompttools/harness/__init__.py b/prompttools/harness/__init__.py index bb1610e4..e904403f 100644 --- a/prompttools/harness/__init__.py +++ b/prompttools/harness/__init__.py @@ -10,6 +10,7 @@ from .chat_model_comparison_harness import ChatModelComparisonHarness from .multi_experiment_harness import MultiExperimentHarness from .prompt_template_harness import PromptTemplateExperimentationHarness +from .rag_harness import RetrievalAugmentedGenerationExperimentationHarness from .system_prompt_harness import SystemPromptExperimentationHarness @@ -19,5 +20,6 @@ "ExperimentationHarness", "MultiExperimentHarness", "PromptTemplateExperimentationHarness", + "RetrievalAugmentedGenerationExperimentationHarness", "SystemPromptExperimentationHarness", ] diff --git a/prompttools/harness/rag_harness.py b/prompttools/harness/rag_harness.py new file mode 100644 index 00000000..5919b167 --- /dev/null +++ b/prompttools/harness/rag_harness.py @@ -0,0 +1,103 @@ +# Copyright (c) Hegel AI, Inc. +# All rights reserved. +# +# This source code's license can be found in the +# LICENSE file in the root directory of this source tree. + +from typing import Optional, Type, Callable +import jinja2 +from .harness import ExperimentationHarness, Experiment +import copy + + +DOC_PROMPT_TEMPLATE = r""" +Given these documents:{{documents}} + +{{prompt}} +""" + + +def _doc_list_to_str(documents: list[str]) -> str: + res = "" + for d in documents: + res += "\n" + res += d + return res + + +def generate_doc_prompt(documents: list[str], prompt: str): + environment = jinja2.Environment() + template = environment.from_string(DOC_PROMPT_TEMPLATE) + doc_str = _doc_list_to_str(documents) + + doc_prompt = template.render( + { + "documents": doc_str, + "prompt": prompt, + } + ) + return doc_prompt + + +class RetrievalAugmentedGenerationExperimentationHarness(ExperimentationHarness): + r""" + An experimentation harness used to test the Retrieval-Augmented Generation Process, which + involves a vector DB and a LLM at the same time. + + Args: + vector_db_experiment (Experiment): An initialized vector DB experiment. + llm_experiment (Type[Experiment]): The experiment constructor that you would like to execute within the harness + (e.g. ``prompttools.experiment.OpenAICompletionExperiment``) + llm_arguments (dict[str, list]): Dictionary of arguments for the LLM. + extract_document_fn (Callable): A function, when given a row of results from the vector DB experiment, + extract the relevant documents (``list[str]``) that will be inserted into the template. + prompt_template (str): A ``jinja``-styled templates, where documents and prompt will be inserted. + """ + + PIVOT_COLUMNS = ["prompt_template", "user_input"] + + def __init__( + self, + vector_db_experiment: Experiment, + llm_experiment: Type[Experiment], + llm_arguments: dict, + extract_document_fn: Callable, + prompt_template: str = DOC_PROMPT_TEMPLATE, + ): + self.vector_db_experiment = vector_db_experiment + self.llm_experiment_cls: Type[Experiment] = llm_experiment + self.llm_experiment: Optional[Experiment] = None + self.llm_arguments = copy.copy(llm_arguments) + self.extract_document_fn = extract_document_fn # Given a row, return a list of documents from the row + self.prompt_templates = prompt_template + + def run(self) -> None: + self.vector_db_experiment.run() + document_lists: list[list[str]] = [] + # latencies = [] # TODO: Include latency results + # Extract documents from the result of + for i, row in self.vector_db_experiment.full_df.iterrows(): + document_lists.append(self.extract_document_fn(row)) + # latencies.append(row["latencies"]) + # Put documents into prompt template + augmented_prompts = [] + for doc in document_lists: + for prompt in self.llm_arguments["prompt"]: # TODO: Make this work for chat + augmented_prompts.append(generate_doc_prompt(doc, prompt)) + + # Pass documents into LLM + self.llm_arguments["prompt"]: list[str] = augmented_prompts + self.llm_experiment = self.llm_experiment_cls(**self.llm_arguments) + + # Run the LLM experiment + self.llm_experiment.run() + # TODO: Need to clean up results, ideally display these columns ("top doc ids", "prompt") + # Right now it is displaying the fully augmented prompt for every row, which take up too much space + # Permutation ordering (doc_list1, prompt, then other arguments) + self.partial_df = self.llm_experiment.partial_df + self.full_df = self.llm_experiment.full_df + + def visualize(self) -> None: + if self.llm_experiment is None: + self.run() + self.llm_experiment.visualize() From 89c201dcbee62002a7d751473cde5ee582010862 Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 12 Sep 2023 10:12:18 -0700 Subject: [PATCH 037/182] Improving Retrieval Augmented Generation harness --- prompttools/harness/rag_harness.py | 34 ++++++++++++++---------------- 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/prompttools/harness/rag_harness.py b/prompttools/harness/rag_harness.py index 5919b167..ee0f8c11 100644 --- a/prompttools/harness/rag_harness.py +++ b/prompttools/harness/rag_harness.py @@ -25,7 +25,7 @@ def _doc_list_to_str(documents: list[str]) -> str: return res -def generate_doc_prompt(documents: list[str], prompt: str): +def _generate_doc_prompt(documents: list[str], prompt: str): environment = jinja2.Environment() template = environment.from_string(DOC_PROMPT_TEMPLATE) doc_str = _doc_list_to_str(documents) @@ -41,34 +41,32 @@ def generate_doc_prompt(documents: list[str], prompt: str): class RetrievalAugmentedGenerationExperimentationHarness(ExperimentationHarness): r""" - An experimentation harness used to test the Retrieval-Augmented Generation Process, which + An experimentation harness used to test the Retrieval-Augmented Generation process, which involves a vector DB and a LLM at the same time. Args: vector_db_experiment (Experiment): An initialized vector DB experiment. - llm_experiment (Type[Experiment]): The experiment constructor that you would like to execute within the harness - (e.g. ``prompttools.experiment.OpenAICompletionExperiment``) + llm_experiment_cls (Type[Experiment]): The experiment constructor that you would like to execute + within the harness (e.g. ``prompttools.experiment.OpenAICompletionExperiment``) llm_arguments (dict[str, list]): Dictionary of arguments for the LLM. extract_document_fn (Callable): A function, when given a row of results from the vector DB experiment, extract the relevant documents (``list[str]``) that will be inserted into the template. prompt_template (str): A ``jinja``-styled templates, where documents and prompt will be inserted. """ - PIVOT_COLUMNS = ["prompt_template", "user_input"] - def __init__( self, vector_db_experiment: Experiment, - llm_experiment: Type[Experiment], + llm_experiment_cls: Type[Experiment], llm_arguments: dict, extract_document_fn: Callable, prompt_template: str = DOC_PROMPT_TEMPLATE, ): self.vector_db_experiment = vector_db_experiment - self.llm_experiment_cls: Type[Experiment] = llm_experiment - self.llm_experiment: Optional[Experiment] = None + self.llm_experiment_cls: Type[Experiment] = llm_experiment_cls + self.experiment: Optional[Experiment] = None self.llm_arguments = copy.copy(llm_arguments) - self.extract_document_fn = extract_document_fn # Given a row, return a list of documents from the row + self.extract_document_fn = extract_document_fn self.prompt_templates = prompt_template def run(self) -> None: @@ -82,22 +80,22 @@ def run(self) -> None: # Put documents into prompt template augmented_prompts = [] for doc in document_lists: - for prompt in self.llm_arguments["prompt"]: # TODO: Make this work for chat - augmented_prompts.append(generate_doc_prompt(doc, prompt)) + for prompt in self.llm_arguments["prompt"]: # TODO: Make this work for chat, check `experiment._is_chat()` + augmented_prompts.append(_generate_doc_prompt(doc, prompt)) # Pass documents into LLM self.llm_arguments["prompt"]: list[str] = augmented_prompts - self.llm_experiment = self.llm_experiment_cls(**self.llm_arguments) + self.experiment = self.llm_experiment_cls(**self.llm_arguments) # Run the LLM experiment - self.llm_experiment.run() + self.experiment.run() # TODO: Need to clean up results, ideally display these columns ("top doc ids", "prompt") # Right now it is displaying the fully augmented prompt for every row, which take up too much space # Permutation ordering (doc_list1, prompt, then other arguments) - self.partial_df = self.llm_experiment.partial_df - self.full_df = self.llm_experiment.full_df + self.partial_df = self.experiment.partial_df + self.full_df = self.experiment.full_df def visualize(self) -> None: - if self.llm_experiment is None: + if self.experiment is None: self.run() - self.llm_experiment.visualize() + self.experiment.visualize() From 70abe29f24350ad6ac1ad7c95b668eaef136f28c Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 12 Sep 2023 10:14:00 -0700 Subject: [PATCH 038/182] Add an initial Retrieval Augmented Generation harness notebook example --- examples/notebooks/README.md | 2 + .../RetrievalAugmentedGeneration.ipynb | 508 ++++++++++++++++++ 2 files changed, 510 insertions(+) create mode 100644 examples/notebooks/vectordb_experiments/RetrievalAugmentedGeneration.ipynb diff --git a/examples/notebooks/README.md b/examples/notebooks/README.md index b7033ea9..e3551f32 100644 --- a/examples/notebooks/README.md +++ b/examples/notebooks/README.md @@ -36,6 +36,8 @@ have something to share. ### Vector Databases +- [Retrieval Augmented Generation](vectordb_experiments/RetrievalAugmentedGeneration.ipynb) combines a vector database + experiment with LLM to evaluate the whole RAG process. - [ChromaDB Experiment](vectordb_experiments/ChromaDBExperiment.ipynb) demonstrates how to experiment with different embedding functions and query parameters of `Chroma`. The example evaluates the results by computing the ranking correlation against an expected output. diff --git a/examples/notebooks/vectordb_experiments/RetrievalAugmentedGeneration.ipynb b/examples/notebooks/vectordb_experiments/RetrievalAugmentedGeneration.ipynb new file mode 100644 index 00000000..28957d57 --- /dev/null +++ b/examples/notebooks/vectordb_experiments/RetrievalAugmentedGeneration.ipynb @@ -0,0 +1,508 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Retrieval Augmented Generation Experiment Example" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Installations" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# !pip install --quiet --force-reinstall prompttools" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Setup imports and API keys" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll import the relevant `prompttools` modules to setup our experiment." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from prompttools.experiment import ChromaDBExperiment, OpenAICompletionExperiment\n", + "from prompttools.harness import RetrievalAugmentedGenerationExperimentationHarness" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will be using OpenAI's LLM in this example. You can set up your API key here." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "\n", + "os.environ[\"OPENAI_API_KEY\"] = \"\" # Put your key here" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Setup data for ChromaDB Experiment" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "There are two main steps in Retrieval Augmented Generation. We will start with the retrieval step.\n", + "\n", + "First, we will setup a vector database experiment. We will insert documents the DB with different embedding functions (vectorizer), and query the results.\n", + "\n", + "For this example, we will use ChromaDB, but you use other vector databases as well.\n", + "\n", + "For detailed explanation about each step, have a look at the ChromaDB example notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/torch/utils/tensorboard/__init__.py:4: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.\n", + " if not hasattr(tensorboard, \"__version__\") or LooseVersion(\n", + "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/torch/utils/tensorboard/__init__.py:6: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.\n", + " ) < LooseVersion(\"1.15\"):\n", + "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/tensorflow/python/debug/cli/debugger_cli_common.py:19: DeprecationWarning: module 'sre_constants' is deprecated\n", + " import sre_constants\n" + ] + } + ], + "source": [ + "import chromadb\n", + "from chromadb.utils import embedding_functions\n", + "\n", + "\n", + "emb_fns = [\n", + " embedding_functions.SentenceTransformerEmbeddingFunction(model_name=\"paraphrase-MiniLM-L3-v2\"),\n", + " embedding_functions.DefaultEmbeddingFunction(),\n", + "] # default is \"all-MiniLM-L6-v2\"\n", + "emb_fns_names = [\"paraphrase-MiniLM-L3-v2\", \"default\"]\n", + "\n", + "chroma_client = chromadb.Client()\n", + "# You can also create and use `chromadb.PersistentClient` or `chromadb.HttpClient`\n", + "TEST_COLLECTION_NAME = \"TEMPORARY_COLLECTION\"\n", + "try:\n", + " chroma_client.delete_collection(TEST_COLLECTION_NAME)\n", + "except Exception:\n", + " pass\n", + "collection_name = TEST_COLLECTION_NAME\n", + "\n", + "use_existing_collection = False # Specify that we want to create a collection during the experiment\n", + "\n", + "# Documents that will be added into the database\n", + "add_to_collection_params = {\n", + " \"documents\": [\"This is a document\", \"This is another document\", \"This is the document.\"],\n", + " \"metadatas\": [{\"source\": \"my_source\"}, {\"source\": \"my_source\"}, {\"source\": \"my_source\"}],\n", + " \"ids\": [\"id1\", \"id2\", \"id3\"],\n", + "}\n", + "\n", + "# Our test queries\n", + "query_collection_params = {\"query_texts\": [\"This is a another query document\"]} #[\"This is a query document\", \"This is a another query document\"]}\n", + "\n", + "\n", + "# Set up the experiment\n", + "vdb_experiment = ChromaDBExperiment(\n", + " chroma_client,\n", + " collection_name,\n", + " use_existing_collection,\n", + " query_collection_params,\n", + " emb_fns,\n", + " emb_fns_names,\n", + " add_to_collection_params,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can visualize the results and see what documents have been fetched." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:chromadb.segment.impl.vector.local_hnsw:Number of requested results 10 is greater than number of elements in index 3, updating n_results = 3\n", + "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/chromadb/utils/read_write_lock.py:29: DeprecationWarning: notifyAll() is deprecated, use notify_all() instead\n", + " self._read_ready.notifyAll()\n", + "WARNING:chromadb.segment.impl.vector.local_hnsw:Number of requested results 10 is greater than number of elements in index 3, updating n_results = 3\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
embed_fntop doc idsdistancesdocumentslatency
0paraphrase-MiniLM-L3-v2[id2, id3, id1][13.375584602355957, 16.815608978271484, 16.913410186767578][This is another document, This is the document., This is a document]0.00923
1default[id2, id1, id3][0.7673601508140564, 0.8709302544593811, 0.9072309732437134][This is another document, This is a document, This is the document.]0.02145
\n", + "
" + ], + "text/plain": [ + " embed_fn top doc ids \\\n", + "0 paraphrase-MiniLM-L3-v2 [id2, id3, id1] \n", + "1 default [id2, id1, id3] \n", + "\n", + " distances \\\n", + "0 [13.375584602355957, 16.815608978271484, 16.913410186767578] \n", + "1 [0.7673601508140564, 0.8709302544593811, 0.9072309732437134] \n", + "\n", + " documents \\\n", + "0 [This is another document, This is the document., This is a document] \n", + "1 [This is another document, This is a document, This is the document.] \n", + "\n", + " latency \n", + "0 0.00923 \n", + "1 0.02145 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "vdb_experiment.visualize()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Setup up Retrieval Augmented Generation Experiment" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After setting up your vector database experiment, we can set up the LLM experiment that will consume the documents retrieved from the vector DB. We need:\n", + "\n", + "1. LLM experiment (we will use `OpenAICompletionExperiment` here, but you can use something else as well)\n", + "2. LLM arguments (this will be passed into the LLM experiment)\n", + "3. A function to extract documents from the resuls of the vector DB experiment" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "These are the arguments we will use for our LLM experiment `OpenAICompletionExperiment`." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "models = [\"babbage-002\"]\n", + "prompts = [\"What happened on 01/01/2025?\", \"Who is the 50th president?\"]\n", + "temperatures = [0.0, 1.0]\n", + "# You can add more parameters that you'd like to test here.\n", + "\n", + "llm_arguments = {\"model\": models, \"prompt\": prompts, \"temperature\": temperatures}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This function extracts the list of documents from each row of the vector DB experiment result." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "def _extract_doc_from_row(row: 'pandas.core.series.Series'):\n", + " return row['documents']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We pass in everything into the RAG experiment" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "rag_experiment = RetrievalAugmentedGenerationExperimentationHarness(\n", + " vector_db_experiment = vdb_experiment,\n", + " llm_experiment_cls = OpenAICompletionExperiment,\n", + " llm_arguments = llm_arguments,\n", + " extract_document_fn = _extract_doc_from_row,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:chromadb.segment.impl.vector.local_hnsw:Number of requested results 10 is greater than number of elements in index 3, updating n_results = 3\n", + "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/chromadb/utils/read_write_lock.py:29: DeprecationWarning: notifyAll() is deprecated, use notify_all() instead\n", + " self._read_ready.notifyAll()\n", + "WARNING:chromadb.segment.impl.vector.local_hnsw:Number of requested results 10 is greater than number of elements in index 3, updating n_results = 3\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
prompttemperatureresponselatency
0\\nGiven these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWhat happened on 01/01/2025?0.0\\nThis is a document\\nThis is a document\\nThis is a document\\n0.619368
1\\nGiven these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWhat happened on 01/01/2025?1.0(What everybody in the world thought about the year 2019 in theis0.243747
2\\nGiven these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWho is the 50th president?0.0\\nA. George Washington\\nB. Abraham Lincoln\\nC. John F.0.498184
3\\nGiven these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWho is the 50th president?1.0And how do you know? You don't. The problem doesn't lie in0.228347
4\\nGiven these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWhat happened on 01/01/2025?0.0\\nThis is the document\\nThis is another document\\nThis is a document\\n0.590188
5\\nGiven these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWhat happened on 01/01/2025?1.0There are N similar days. You can use the cloud function to calculate the date1.993902
6\\nGiven these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWho is the 50th president?0.0\\nA. George Washington\\nB. Abraham Lincoln\\nC. John F.1.901117
7\\nGiven these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWho is the 50th president?1.0Is he black, white or something else?\\n\\nFormat answer using the standard Scien0.612549
\n", + "
" + ], + "text/plain": [ + " prompt \\\n", + "0 \\nGiven these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWhat happened on 01/01/2025? \n", + "1 \\nGiven these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWhat happened on 01/01/2025? \n", + "2 \\nGiven these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWho is the 50th president? \n", + "3 \\nGiven these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWho is the 50th president? \n", + "4 \\nGiven these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWhat happened on 01/01/2025? \n", + "5 \\nGiven these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWhat happened on 01/01/2025? \n", + "6 \\nGiven these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWho is the 50th president? \n", + "7 \\nGiven these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWho is the 50th president? \n", + "\n", + " temperature \\\n", + "0 0.0 \n", + "1 1.0 \n", + "2 0.0 \n", + "3 1.0 \n", + "4 0.0 \n", + "5 1.0 \n", + "6 0.0 \n", + "7 1.0 \n", + "\n", + " response \\\n", + "0 \\nThis is a document\\nThis is a document\\nThis is a document\\n \n", + "1 (What everybody in the world thought about the year 2019 in theis \n", + "2 \\nA. George Washington\\nB. Abraham Lincoln\\nC. John F. \n", + "3 And how do you know? You don't. The problem doesn't lie in \n", + "4 \\nThis is the document\\nThis is another document\\nThis is a document\\n \n", + "5 There are N similar days. You can use the cloud function to calculate the date \n", + "6 \\nA. George Washington\\nB. Abraham Lincoln\\nC. John F. \n", + "7 Is he black, white or something else?\\n\\nFormat answer using the standard Scien \n", + "\n", + " latency \n", + "0 0.619368 \n", + "1 0.243747 \n", + "2 0.498184 \n", + "3 0.228347 \n", + "4 0.590188 \n", + "5 1.993902 \n", + "6 1.901117 \n", + "7 0.612549 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "rag_experiment.run()\n", + "rag_experiment.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} From 44d997c4957659f92d5213000020953e7112ad6c Mon Sep 17 00:00:00 2001 From: "Steven Krawczyk (Hegel AI)" Date: Tue, 12 Sep 2023 13:27:38 -0700 Subject: [PATCH 039/182] Add fine tuning experiment (#88) * Add fine tuning experiment * Finish example * Address comments --- examples/notebooks/FineTuningExperiment.ipynb | 873 ++++++++++++++++++ prompttools/experiment/experiments/_utils.py | 7 +- prompttools/utils/autoeval_from_expected.py | 4 +- 3 files changed, 882 insertions(+), 2 deletions(-) create mode 100644 examples/notebooks/FineTuningExperiment.ipynb diff --git a/examples/notebooks/FineTuningExperiment.ipynb b/examples/notebooks/FineTuningExperiment.ipynb new file mode 100644 index 00000000..66b75fef --- /dev/null +++ b/examples/notebooks/FineTuningExperiment.ipynb @@ -0,0 +1,873 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "cf18498b", + "metadata": {}, + "source": [ + "# Fine Tuning Experiment: OpenAI's GPT-3.5 vs Llama 2 on Replicate" + ] + }, + { + "cell_type": "markdown", + "id": "888171a9", + "metadata": {}, + "source": [ + "## Introduction\n", + "\n", + "This notebook shows how to compare different fine tuned versions of the same model on OpenAI and Replicate. For this example, we'll compare GPT-3.5 to Llama 2 70b, fine tuned to generate SQL queries from natural language questions." + ] + }, + { + "cell_type": "markdown", + "id": "623f0cfe", + "metadata": {}, + "source": [ + "## Installations" + ] + }, + { + "cell_type": "markdown", + "id": "abbc7d2a", + "metadata": {}, + "source": [ + "You may need to install `prompttools`, `replicate`, and HuggingFace's `datasets` to complete this example." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "885dabeb", + "metadata": {}, + "outputs": [], + "source": [ + "# !pip install --quiet --force-reinstall prompttools datasets replicate" + ] + }, + { + "cell_type": "markdown", + "id": "2eac35f8", + "metadata": {}, + "source": [ + "## Setup imports and API keys" + ] + }, + { + "cell_type": "markdown", + "id": "5edba05a", + "metadata": {}, + "source": [ + "First, we'll need to set our API keys. If we are in DEBUG mode, we don't need to use a real OpenAI key, so for now we'll set them to empty strings." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "ed4e635e", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "\n", + "os.environ[\"DEBUG\"] = \"\" # Set this to \"\" to call OpenAI's API\n", + "os.environ[\"OPENAI_API_KEY\"] = \"\" # Insert your key here" + ] + }, + { + "cell_type": "markdown", + "id": "842f1e47", + "metadata": {}, + "source": [ + "Then we'll import the relevant `prompttools` modules to setup our experiment." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "beaa70a1", + "metadata": {}, + "outputs": [], + "source": [ + "from typing import Dict, List\n", + "from datasets import load_dataset\n", + "from prompttools.experiment import OpenAIChatExperiment" + ] + }, + { + "cell_type": "markdown", + "id": "62413948", + "metadata": {}, + "source": [ + "## Preprocess Data\n", + "\n", + "For this experiment, we'll use the `wikisql` dataset from HuggingFace. We can remove some of the metadata from the inputs to create fine tuning data for gpt-3.5 and Llama 2." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "9e94cbd6", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Found cached dataset wikisql (/Users/stevenkrawczyk/.cache/huggingface/datasets/wikisql/default/0.1.0/7037bfe6a42b1ca2b6ac3ccacba5253b1825d31379e9cc626fc79a620977252d)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c5ff2f14b48b44848f2fa1ae4ab3690c", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/3 [00:00\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmessagesresponselatency
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a text-to-SQL helper. Given the following table, produce valid SQL to answer the user question:{'header': ['Player', 'No.', 'Nationality', 'Position', 'Years in Toronto', 'School/Club Team'], 'page_title': 'Toronto Raptors all-time roster', 'page_id': '', 'types': ['text', 'text', 'text', 'text', 'text', 'text'], 'id': '1-10015132-16', 'section_title': 'R', 'caption': 'R', 'rows': [['Aleksandar Radojević', '25', 'Serbia', 'Center', '1999-2000', 'Barton CC (KS)'], ['Shawn Respert', '31', 'United States', 'Guard', '1997-98', 'Michigan State'], ['Quentin Richardson', 'N/A', 'United States', 'Forward', '2013-present', 'DePaul'], ['Alvin Robertson', '7, 21', 'United States', 'Guard', '1995-96', 'Arkansas'], ['Carlos Rogers', '33, 34', 'United States', 'Forward-Center', '1995-98', 'Tennessee State'], ['Roy Rogers', '9', 'United States', 'Forward', '1998', 'Alabama'], ['Jalen Rose', '5', 'United States', 'Guard-Forward', '2003-06', 'Michigan'], ['Terrence Ross', '31', 'United States', 'Guard', '2012-present', 'Washington']], 'name': 'table_10015132_16'}'}, {'role': 'user', 'content': 'What is terrence ross' nationality'}]SELECT Nationality\\nFROM table_10015132_16\\nWHERE Player = 'Terrence Ross'1.120881
1ft:gpt-3.5-turbo-0613:hegel-ai::7ximyJEn[{'role': 'system', 'content': 'You are a text-to-SQL helper. Given the following table, produce valid SQL to answer the user question:{'header': ['Player', 'No.', 'Nationality', 'Position', 'Years in Toronto', 'School/Club Team'], 'page_title': 'Toronto Raptors all-time roster', 'page_id': '', 'types': ['text', 'text', 'text', 'text', 'text', 'text'], 'id': '1-10015132-16', 'section_title': 'R', 'caption': 'R', 'rows': [['Aleksandar Radojević', '25', 'Serbia', 'Center', '1999-2000', 'Barton CC (KS)'], ['Shawn Respert', '31', 'United States', 'Guard', '1997-98', 'Michigan State'], ['Quentin Richardson', 'N/A', 'United States', 'Forward', '2013-present', 'DePaul'], ['Alvin Robertson', '7, 21', 'United States', 'Guard', '1995-96', 'Arkansas'], ['Carlos Rogers', '33, 34', 'United States', 'Forward-Center', '1995-98', 'Tennessee State'], ['Roy Rogers', '9', 'United States', 'Forward', '1998', 'Alabama'], ['Jalen Rose', '5', 'United States', 'Guard-Forward', '2003-06', 'Michigan'], ['Terrence Ross', '31', 'United States', 'Guard', '2012-present', 'Washington']], 'name': 'table_10015132_16'}'}, {'role': 'user', 'content': 'What is terrence ross' nationality'}]SELECT Nationality FROM table_10015132_16 WHERE Player = Terrence Ross1.149571
\n", + "" + ], + "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 ft:gpt-3.5-turbo-0613:hegel-ai::7ximyJEn \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a text-to-SQL helper. Given the following table, produce valid SQL to answer the user question:{'header': ['Player', 'No.', 'Nationality', 'Position', 'Years in Toronto', 'School/Club Team'], 'page_title': 'Toronto Raptors all-time roster', 'page_id': '', 'types': ['text', 'text', 'text', 'text', 'text', 'text'], 'id': '1-10015132-16', 'section_title': 'R', 'caption': 'R', 'rows': [['Aleksandar Radojević', '25', 'Serbia', 'Center', '1999-2000', 'Barton CC (KS)'], ['Shawn Respert', '31', 'United States', 'Guard', '1997-98', 'Michigan State'], ['Quentin Richardson', 'N/A', 'United States', 'Forward', '2013-present', 'DePaul'], ['Alvin Robertson', '7, 21', 'United States', 'Guard', '1995-96', 'Arkansas'], ['Carlos Rogers', '33, 34', 'United States', 'Forward-Center', '1995-98', 'Tennessee State'], ['Roy Rogers', '9', 'United States', 'Forward', '1998', 'Alabama'], ['Jalen Rose', '5', 'United States', 'Guard-Forward', '2003-06', 'Michigan'], ['Terrence Ross', '31', 'United States', 'Guard', '2012-present', 'Washington']], 'name': 'table_10015132_16'}'}, {'role': 'user', 'content': 'What is terrence ross' nationality'}] \n", + "1 [{'role': 'system', 'content': 'You are a text-to-SQL helper. Given the following table, produce valid SQL to answer the user question:{'header': ['Player', 'No.', 'Nationality', 'Position', 'Years in Toronto', 'School/Club Team'], 'page_title': 'Toronto Raptors all-time roster', 'page_id': '', 'types': ['text', 'text', 'text', 'text', 'text', 'text'], 'id': '1-10015132-16', 'section_title': 'R', 'caption': 'R', 'rows': [['Aleksandar Radojević', '25', 'Serbia', 'Center', '1999-2000', 'Barton CC (KS)'], ['Shawn Respert', '31', 'United States', 'Guard', '1997-98', 'Michigan State'], ['Quentin Richardson', 'N/A', 'United States', 'Forward', '2013-present', 'DePaul'], ['Alvin Robertson', '7, 21', 'United States', 'Guard', '1995-96', 'Arkansas'], ['Carlos Rogers', '33, 34', 'United States', 'Forward-Center', '1995-98', 'Tennessee State'], ['Roy Rogers', '9', 'United States', 'Forward', '1998', 'Alabama'], ['Jalen Rose', '5', 'United States', 'Guard-Forward', '2003-06', 'Michigan'], ['Terrence Ross', '31', 'United States', 'Guard', '2012-present', 'Washington']], 'name': 'table_10015132_16'}'}, {'role': 'user', 'content': 'What is terrence ross' nationality'}] \n", + "\n", + " response \\\n", + "0 SELECT Nationality\\nFROM table_10015132_16\\nWHERE Player = 'Terrence Ross' \n", + "1 SELECT Nationality FROM table_10015132_16 WHERE Player = Terrence Ross \n", + "\n", + " latency \n", + "0 1.120881 \n", + "1 1.149571 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "f8f9d237", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmessagesresponselatencycorrectness
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a text-to-SQL helper. Given the following table, produce valid SQL to answer the user question:{'header': ['Player', 'No.', 'Nationality', 'Position', 'Years in Toronto', 'School/Club Team'], 'page_title': 'Toronto Raptors all-time roster', 'page_id': '', 'types': ['text', 'text', 'text', 'text', 'text', 'text'], 'id': '1-10015132-16', 'section_title': 'R', 'caption': 'R', 'rows': [['Aleksandar Radojević', '25', 'Serbia', 'Center', '1999-2000', 'Barton CC (KS)'], ['Shawn Respert', '31', 'United States', 'Guard', '1997-98', 'Michigan State'], ['Quentin Richardson', 'N/A', 'United States', 'Forward', '2013-present', 'DePaul'], ['Alvin Robertson', '7, 21', 'United States', 'Guard', '1995-96', 'Arkansas'], ['Carlos Rogers', '33, 34', 'United States', 'Forward-Center', '1995-98', 'Tennessee State'], ['Roy Rogers', '9', 'United States', 'Forward', '1998', 'Alabama'], ['Jalen Rose', '5', 'United States', 'Guard-Forward', '2003-06', 'Michigan'], ['Terrence Ross', '31', 'United States', 'Guard', '2012-present', 'Washington']], 'name': 'table_10015132_16'}'}, {'role': 'user', 'content': 'What is terrence ross' nationality'}]SELECT Nationality\\nFROM table_10015132_16\\nWHERE Player = 'Terrence Ross'1.1208810.953111
1ft:gpt-3.5-turbo-0613:hegel-ai::7ximyJEn[{'role': 'system', 'content': 'You are a text-to-SQL helper. Given the following table, produce valid SQL to answer the user question:{'header': ['Player', 'No.', 'Nationality', 'Position', 'Years in Toronto', 'School/Club Team'], 'page_title': 'Toronto Raptors all-time roster', 'page_id': '', 'types': ['text', 'text', 'text', 'text', 'text', 'text'], 'id': '1-10015132-16', 'section_title': 'R', 'caption': 'R', 'rows': [['Aleksandar Radojević', '25', 'Serbia', 'Center', '1999-2000', 'Barton CC (KS)'], ['Shawn Respert', '31', 'United States', 'Guard', '1997-98', 'Michigan State'], ['Quentin Richardson', 'N/A', 'United States', 'Forward', '2013-present', 'DePaul'], ['Alvin Robertson', '7, 21', 'United States', 'Guard', '1995-96', 'Arkansas'], ['Carlos Rogers', '33, 34', 'United States', 'Forward-Center', '1995-98', 'Tennessee State'], ['Roy Rogers', '9', 'United States', 'Forward', '1998', 'Alabama'], ['Jalen Rose', '5', 'United States', 'Guard-Forward', '2003-06', 'Michigan'], ['Terrence Ross', '31', 'United States', 'Guard', '2012-present', 'Washington']], 'name': 'table_10015132_16'}'}, {'role': 'user', 'content': 'What is terrence ross' nationality'}]SELECT Nationality FROM table_10015132_16 WHERE Player = Terrence Ross1.1495710.952774
\n", + "
" + ], + "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 ft:gpt-3.5-turbo-0613:hegel-ai::7ximyJEn \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a text-to-SQL helper. Given the following table, produce valid SQL to answer the user question:{'header': ['Player', 'No.', 'Nationality', 'Position', 'Years in Toronto', 'School/Club Team'], 'page_title': 'Toronto Raptors all-time roster', 'page_id': '', 'types': ['text', 'text', 'text', 'text', 'text', 'text'], 'id': '1-10015132-16', 'section_title': 'R', 'caption': 'R', 'rows': [['Aleksandar Radojević', '25', 'Serbia', 'Center', '1999-2000', 'Barton CC (KS)'], ['Shawn Respert', '31', 'United States', 'Guard', '1997-98', 'Michigan State'], ['Quentin Richardson', 'N/A', 'United States', 'Forward', '2013-present', 'DePaul'], ['Alvin Robertson', '7, 21', 'United States', 'Guard', '1995-96', 'Arkansas'], ['Carlos Rogers', '33, 34', 'United States', 'Forward-Center', '1995-98', 'Tennessee State'], ['Roy Rogers', '9', 'United States', 'Forward', '1998', 'Alabama'], ['Jalen Rose', '5', 'United States', 'Guard-Forward', '2003-06', 'Michigan'], ['Terrence Ross', '31', 'United States', 'Guard', '2012-present', 'Washington']], 'name': 'table_10015132_16'}'}, {'role': 'user', 'content': 'What is terrence ross' nationality'}] \n", + "1 [{'role': 'system', 'content': 'You are a text-to-SQL helper. Given the following table, produce valid SQL to answer the user question:{'header': ['Player', 'No.', 'Nationality', 'Position', 'Years in Toronto', 'School/Club Team'], 'page_title': 'Toronto Raptors all-time roster', 'page_id': '', 'types': ['text', 'text', 'text', 'text', 'text', 'text'], 'id': '1-10015132-16', 'section_title': 'R', 'caption': 'R', 'rows': [['Aleksandar Radojević', '25', 'Serbia', 'Center', '1999-2000', 'Barton CC (KS)'], ['Shawn Respert', '31', 'United States', 'Guard', '1997-98', 'Michigan State'], ['Quentin Richardson', 'N/A', 'United States', 'Forward', '2013-present', 'DePaul'], ['Alvin Robertson', '7, 21', 'United States', 'Guard', '1995-96', 'Arkansas'], ['Carlos Rogers', '33, 34', 'United States', 'Forward-Center', '1995-98', 'Tennessee State'], ['Roy Rogers', '9', 'United States', 'Forward', '1998', 'Alabama'], ['Jalen Rose', '5', 'United States', 'Guard-Forward', '2003-06', 'Michigan'], ['Terrence Ross', '31', 'United States', 'Guard', '2012-present', 'Washington']], 'name': 'table_10015132_16'}'}, {'role': 'user', 'content': 'What is terrence ross' nationality'}] \n", + "\n", + " response \\\n", + "0 SELECT Nationality\\nFROM table_10015132_16\\nWHERE Player = 'Terrence Ross' \n", + "1 SELECT Nationality FROM table_10015132_16 WHERE Player = Terrence Ross \n", + "\n", + " latency correctness \n", + "0 1.120881 0.953111 \n", + "1 1.149571 0.952774 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from prompttools.utils import similarity\n", + "experiment.evaluate(\"correctness\", similarity.semantic_similarity, expected=[filtered_test_set[0]['sql']['human_readable']] * 2)\n", + "experiment.visualize()" + ] + }, + { + "cell_type": "markdown", + "id": "8661eb8d", + "metadata": {}, + "source": [ + "For our example, both the base model and fine tuned model do a good job at returning only SQL, but the tuned model is marginally closer to the correct answer and has better syntax." + ] + }, + { + "cell_type": "markdown", + "id": "50edd181", + "metadata": {}, + "source": [ + "# Replicate: Llama 2 70 B\n", + "\n", + "Since Llama 2 has a smaller context window, will restict the size of the rows we use for fine-tuning from the original set." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ce96473c", + "metadata": {}, + "outputs": [], + "source": [ + "filtered_tuning_set = [entry for entry in tuning_set if len(str(entry['table'])) < 2000]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4eadc98f", + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "\n", + "replicate_fine_tuning_rows = []\n", + "for entry in filtered_tuning_set:\n", + " current_row = {'prompt': entry['question'] + \\\n", + " \"\\nGiven the following table, produce \" + \\\n", + " \"valid SQL to answer the question:\" + \\\n", + " str(entry['table']) ,\n", + " 'completion': entry['sql']}\n", + " replicate_fine_tuning_rows.append(current_row)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "99be8ebb", + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "for row in replicate_fine_tuning_rows:\n", + " with open('replicate_fine_tuning_rows.jsonl', 'a') as f:\n", + " f.write(json.dumps(row) + '\\n')" + ] + }, + { + "cell_type": "markdown", + "id": "7425c7fd", + "metadata": {}, + "source": [ + "## Run fine tuning\n", + "\n", + "For replicate, you will need to upload your fine-tuning rows to an accessible URL. For our example, we uploaded the file to an S3 bucket and used a signed URL to provide access.\n", + "\n", + "The fine tuning may take a few hours." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "89554c1e", + "metadata": {}, + "outputs": [], + "source": [ + "import replicate\n", + "\n", + "os.environ[\"REPLICATE_API_TOKEN\"] = \"\"\n", + "\n", + "base_model = \"meta/llama-2-70b-chat:35042c9a33ac8fd5e29e27fb3197f33aa483f72c2ce3b0b9d201155c7fd2a287\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eb1a3e49", + "metadata": {}, + "outputs": [], + "source": [ + "training = replicate.trainings.create(\n", + " version=base_model,\n", + " input={\n", + " \"train_data\": \"S3-URL-HERE\",\n", + " },\n", + " destination=\"YOUR-REPLICATE-ID/prompttools-example\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "42af9b1b", + "metadata": {}, + "source": [ + "Wait for the fine tuning job to finish, then test that the model works." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e7ef8b97", + "metadata": {}, + "outputs": [], + "source": [ + "training.reload()\n", + "if training.status == \"succeeded\":\n", + " print(training.output)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d983af5b", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "output = replicate.run(\n", + " training.output[\"version\"],\n", + " input={\"prompt\": filtered_tuning_set[0]['question'] + \\\n", + " \"\\nGiven the following table, produce \" + \\\n", + " \"valid SQL to answer the question:\" + \\\n", + " str(filtered_tuning_set[0]['table'])}\n", + ")\n", + "for s in output:\n", + " print(s, end=\"\", flush=True)" + ] + }, + { + "cell_type": "markdown", + "id": "a9a1da83", + "metadata": {}, + "source": [ + "## Compared tuned Llama model to base model\n", + "\n", + "Now, we can set up a replicate experiment between the fine tuned and base Llama models." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "9dbe7781", + "metadata": {}, + "outputs": [], + "source": [ + "from prompttools.experiment import ReplicateExperiment\n", + "llama = \"YOUR-REPLICATE-ID/prompttools-example:VERSION\"\n", + "models = [llama, base_model]\n", + "input_kwargs = {\"prompt\": [filtered_test_set[0]['question'] + \\\n", + " \"\\nGiven the following table, produce \" + \\\n", + " \"valid SQL to answer the question:\" + \\\n", + " str(filtered_test_set[0]['table'])]}\n", + "model_specific_kwargs = {llama: {}, base_model: {}}\n", + "\n", + "replicate_experiment = ReplicateExperiment(models, input_kwargs, model_specific_kwargs)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "d3d1ec3f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
model_versionpromptresponselatency
0hegelai/llama-test-large:bb9b696ca41ac10be77c786fdad0f7c17ed80a67dc14879ca66ec02f4d5e8cafWhat is terrence ross' nationality\\nGiven the following table, produce valid SQL to answer the question:{'header': ['Player', 'No.', 'Nationality', 'Position', 'Years in Toronto', 'School/Club Team'], 'page_title': 'Toronto Raptors all-time roster', 'page_id': '', 'types': ['text', 'text', 'text', 'text', 'text', 'text'], 'id': '1-10015132-16', 'section_title': 'R', 'caption': 'R', 'rows': [['Aleksandar Radojević', '25', 'Serbia', 'Center', '1999-2000', 'Barton CC (KS)'], ['Shawn Respert', '31', 'United States', 'Guard', '1997-98', 'Michigan State'], ['Quentin Richardson', 'N/A', 'United States', 'Forward', '2013-present', 'DePaul'], ['Alvin Robertson', '7, 21', 'United States', 'Guard', '1995-96', 'Arkansas'], ['Carlos Rogers', '33, 34', 'United States', 'Forward-Center', '1995-98', 'Tennessee State'], ['Roy Rogers', '9', 'United States', 'Forward', '1998', 'Alabama'], ['Jalen Rose', '5', 'United States', 'Guard-Forward', '2003-06', 'Michigan'], ['Terrence Ross', '31', 'United States', 'Guard', '2012-present', 'Washington']], 'name': 'table_10015132_16'}SELECT Nationality FROM table_ SELECT Nationality FROM table_1001513 SELECT Nationality FROM table_10015132_16 WHERE Player = Nationality FROM table_10015132_16 WHERE Player = 'Terrence Ross'; Nationality FROM table_10015132_16 WHERE Player = 'Terrence Ross';0.291232
1meta/llama-2-70b-chat:35042c9a33ac8fd5e29e27fb3197f33aa483f72c2ce3b0b9d201155c7fd2a287What is terrence ross' nationality\\nGiven the following table, produce valid SQL to answer the question:{'header': ['Player', 'No.', 'Nationality', 'Position', 'Years in Toronto', 'School/Club Team'], 'page_title': 'Toronto Raptors all-time roster', 'page_id': '', 'types': ['text', 'text', 'text', 'text', 'text', 'text'], 'id': '1-10015132-16', 'section_title': 'R', 'caption': 'R', 'rows': [['Aleksandar Radojević', '25', 'Serbia', 'Center', '1999-2000', 'Barton CC (KS)'], ['Shawn Respert', '31', 'United States', 'Guard', '1997-98', 'Michigan State'], ['Quentin Richardson', 'N/A', 'United States', 'Forward', '2013-present', 'DePaul'], ['Alvin Robertson', '7, 21', 'United States', 'Guard', '1995-96', 'Arkansas'], ['Carlos Rogers', '33, 34', 'United States', 'Forward-Center', '1995-98', 'Tennessee State'], ['Roy Rogers', '9', 'United States', 'Forward', '1998', 'Alabama'], ['Jalen Rose', '5', 'United States', 'Guard-Forward', '2003-06', 'Michigan'], ['Terrence Ross', '31', 'United States', 'Guard', '2012-present', 'Washington']], 'name': 'table_10015132_16'}The nationality of Terrence Ross is United States.0.302811
\n", + "
" + ], + "text/plain": [ + " model_version \\\n", + "0 hegelai/llama-test-large:bb9b696ca41ac10be77c786fdad0f7c17ed80a67dc14879ca66ec02f4d5e8caf \n", + "1 meta/llama-2-70b-chat:35042c9a33ac8fd5e29e27fb3197f33aa483f72c2ce3b0b9d201155c7fd2a287 \n", + "\n", + " prompt \\\n", + "0 What is terrence ross' nationality\\nGiven the following table, produce valid SQL to answer the question:{'header': ['Player', 'No.', 'Nationality', 'Position', 'Years in Toronto', 'School/Club Team'], 'page_title': 'Toronto Raptors all-time roster', 'page_id': '', 'types': ['text', 'text', 'text', 'text', 'text', 'text'], 'id': '1-10015132-16', 'section_title': 'R', 'caption': 'R', 'rows': [['Aleksandar Radojević', '25', 'Serbia', 'Center', '1999-2000', 'Barton CC (KS)'], ['Shawn Respert', '31', 'United States', 'Guard', '1997-98', 'Michigan State'], ['Quentin Richardson', 'N/A', 'United States', 'Forward', '2013-present', 'DePaul'], ['Alvin Robertson', '7, 21', 'United States', 'Guard', '1995-96', 'Arkansas'], ['Carlos Rogers', '33, 34', 'United States', 'Forward-Center', '1995-98', 'Tennessee State'], ['Roy Rogers', '9', 'United States', 'Forward', '1998', 'Alabama'], ['Jalen Rose', '5', 'United States', 'Guard-Forward', '2003-06', 'Michigan'], ['Terrence Ross', '31', 'United States', 'Guard', '2012-present', 'Washington']], 'name': 'table_10015132_16'} \n", + "1 What is terrence ross' nationality\\nGiven the following table, produce valid SQL to answer the question:{'header': ['Player', 'No.', 'Nationality', 'Position', 'Years in Toronto', 'School/Club Team'], 'page_title': 'Toronto Raptors all-time roster', 'page_id': '', 'types': ['text', 'text', 'text', 'text', 'text', 'text'], 'id': '1-10015132-16', 'section_title': 'R', 'caption': 'R', 'rows': [['Aleksandar Radojević', '25', 'Serbia', 'Center', '1999-2000', 'Barton CC (KS)'], ['Shawn Respert', '31', 'United States', 'Guard', '1997-98', 'Michigan State'], ['Quentin Richardson', 'N/A', 'United States', 'Forward', '2013-present', 'DePaul'], ['Alvin Robertson', '7, 21', 'United States', 'Guard', '1995-96', 'Arkansas'], ['Carlos Rogers', '33, 34', 'United States', 'Forward-Center', '1995-98', 'Tennessee State'], ['Roy Rogers', '9', 'United States', 'Forward', '1998', 'Alabama'], ['Jalen Rose', '5', 'United States', 'Guard-Forward', '2003-06', 'Michigan'], ['Terrence Ross', '31', 'United States', 'Guard', '2012-present', 'Washington']], 'name': 'table_10015132_16'} \n", + "\n", + " response \\\n", + "0 SELECT Nationality FROM table_ SELECT Nationality FROM table_1001513 SELECT Nationality FROM table_10015132_16 WHERE Player = Nationality FROM table_10015132_16 WHERE Player = 'Terrence Ross'; Nationality FROM table_10015132_16 WHERE Player = 'Terrence Ross'; \n", + "1 The nationality of Terrence Ross is United States. \n", + "\n", + " latency \n", + "0 0.291232 \n", + "1 0.302811 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "replicate_experiment.run()\n", + "replicate_experiment.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "85b46291", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
model_versionpromptresponselatencycorrectness
0hegelai/llama-test-large:bb9b696ca41ac10be77c786fdad0f7c17ed80a67dc14879ca66ec02f4d5e8cafWhat is terrence ross' nationality\\nGiven the following table, produce valid SQL to answer the question:{'header': ['Player', 'No.', 'Nationality', 'Position', 'Years in Toronto', 'School/Club Team'], 'page_title': 'Toronto Raptors all-time roster', 'page_id': '', 'types': ['text', 'text', 'text', 'text', 'text', 'text'], 'id': '1-10015132-16', 'section_title': 'R', 'caption': 'R', 'rows': [['Aleksandar Radojević', '25', 'Serbia', 'Center', '1999-2000', 'Barton CC (KS)'], ['Shawn Respert', '31', 'United States', 'Guard', '1997-98', 'Michigan State'], ['Quentin Richardson', 'N/A', 'United States', 'Forward', '2013-present', 'DePaul'], ['Alvin Robertson', '7, 21', 'United States', 'Guard', '1995-96', 'Arkansas'], ['Carlos Rogers', '33, 34', 'United States', 'Forward-Center', '1995-98', 'Tennessee State'], ['Roy Rogers', '9', 'United States', 'Forward', '1998', 'Alabama'], ['Jalen Rose', '5', 'United States', 'Guard-Forward', '2003-06', 'Michigan'], ['Terrence Ross', '31', 'United States', 'Guard', '2012-present', 'Washington']], 'name': 'table_10015132_16'}SELECT Nationality FROM table_ SELECT Nationality FROM table_1001513 SELECT Nationality FROM table_10015132_16 WHERE Player = Nationality FROM table_10015132_16 WHERE Player = 'Terrence Ross'; Nationality FROM table_10015132_16 WHERE Player = 'Terrence Ross';0.2912320.818023
1meta/llama-2-70b-chat:35042c9a33ac8fd5e29e27fb3197f33aa483f72c2ce3b0b9d201155c7fd2a287What is terrence ross' nationality\\nGiven the following table, produce valid SQL to answer the question:{'header': ['Player', 'No.', 'Nationality', 'Position', 'Years in Toronto', 'School/Club Team'], 'page_title': 'Toronto Raptors all-time roster', 'page_id': '', 'types': ['text', 'text', 'text', 'text', 'text', 'text'], 'id': '1-10015132-16', 'section_title': 'R', 'caption': 'R', 'rows': [['Aleksandar Radojević', '25', 'Serbia', 'Center', '1999-2000', 'Barton CC (KS)'], ['Shawn Respert', '31', 'United States', 'Guard', '1997-98', 'Michigan State'], ['Quentin Richardson', 'N/A', 'United States', 'Forward', '2013-present', 'DePaul'], ['Alvin Robertson', '7, 21', 'United States', 'Guard', '1995-96', 'Arkansas'], ['Carlos Rogers', '33, 34', 'United States', 'Forward-Center', '1995-98', 'Tennessee State'], ['Roy Rogers', '9', 'United States', 'Forward', '1998', 'Alabama'], ['Jalen Rose', '5', 'United States', 'Guard-Forward', '2003-06', 'Michigan'], ['Terrence Ross', '31', 'United States', 'Guard', '2012-present', 'Washington']], 'name': 'table_10015132_16'}The nationality of Terrence Ross is United States.0.3028110.562899
\n", + "
" + ], + "text/plain": [ + " model_version \\\n", + "0 hegelai/llama-test-large:bb9b696ca41ac10be77c786fdad0f7c17ed80a67dc14879ca66ec02f4d5e8caf \n", + "1 meta/llama-2-70b-chat:35042c9a33ac8fd5e29e27fb3197f33aa483f72c2ce3b0b9d201155c7fd2a287 \n", + "\n", + " prompt \\\n", + "0 What is terrence ross' nationality\\nGiven the following table, produce valid SQL to answer the question:{'header': ['Player', 'No.', 'Nationality', 'Position', 'Years in Toronto', 'School/Club Team'], 'page_title': 'Toronto Raptors all-time roster', 'page_id': '', 'types': ['text', 'text', 'text', 'text', 'text', 'text'], 'id': '1-10015132-16', 'section_title': 'R', 'caption': 'R', 'rows': [['Aleksandar Radojević', '25', 'Serbia', 'Center', '1999-2000', 'Barton CC (KS)'], ['Shawn Respert', '31', 'United States', 'Guard', '1997-98', 'Michigan State'], ['Quentin Richardson', 'N/A', 'United States', 'Forward', '2013-present', 'DePaul'], ['Alvin Robertson', '7, 21', 'United States', 'Guard', '1995-96', 'Arkansas'], ['Carlos Rogers', '33, 34', 'United States', 'Forward-Center', '1995-98', 'Tennessee State'], ['Roy Rogers', '9', 'United States', 'Forward', '1998', 'Alabama'], ['Jalen Rose', '5', 'United States', 'Guard-Forward', '2003-06', 'Michigan'], ['Terrence Ross', '31', 'United States', 'Guard', '2012-present', 'Washington']], 'name': 'table_10015132_16'} \n", + "1 What is terrence ross' nationality\\nGiven the following table, produce valid SQL to answer the question:{'header': ['Player', 'No.', 'Nationality', 'Position', 'Years in Toronto', 'School/Club Team'], 'page_title': 'Toronto Raptors all-time roster', 'page_id': '', 'types': ['text', 'text', 'text', 'text', 'text', 'text'], 'id': '1-10015132-16', 'section_title': 'R', 'caption': 'R', 'rows': [['Aleksandar Radojević', '25', 'Serbia', 'Center', '1999-2000', 'Barton CC (KS)'], ['Shawn Respert', '31', 'United States', 'Guard', '1997-98', 'Michigan State'], ['Quentin Richardson', 'N/A', 'United States', 'Forward', '2013-present', 'DePaul'], ['Alvin Robertson', '7, 21', 'United States', 'Guard', '1995-96', 'Arkansas'], ['Carlos Rogers', '33, 34', 'United States', 'Forward-Center', '1995-98', 'Tennessee State'], ['Roy Rogers', '9', 'United States', 'Forward', '1998', 'Alabama'], ['Jalen Rose', '5', 'United States', 'Guard-Forward', '2003-06', 'Michigan'], ['Terrence Ross', '31', 'United States', 'Guard', '2012-present', 'Washington']], 'name': 'table_10015132_16'} \n", + "\n", + " response \\\n", + "0 SELECT Nationality FROM table_ SELECT Nationality FROM table_1001513 SELECT Nationality FROM table_10015132_16 WHERE Player = Nationality FROM table_10015132_16 WHERE Player = 'Terrence Ross'; Nationality FROM table_10015132_16 WHERE Player = 'Terrence Ross'; \n", + "1 The nationality of Terrence Ross is United States. \n", + "\n", + " latency correctness \n", + "0 0.291232 0.818023 \n", + "1 0.302811 0.562899 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "replicate_experiment.evaluate(\"correctness\", similarity.semantic_similarity, expected=[filtered_test_set[0]['sql']['human_readable']] * 2)\n", + "replicate_experiment.visualize()" + ] + }, + { + "cell_type": "markdown", + "id": "3ccb76a7", + "metadata": {}, + "source": [ + "Our fine tuned model did significantly better than the base model at producing SQL in response to the prompt, but neither is as good as gpt-3.5 base or fine tuned." + ] + }, + { + "cell_type": "markdown", + "id": "a0a3b461", + "metadata": {}, + "source": [ + "# Conclusion\n", + "\n", + "GPT-3.5 does better at producing SQL, especially when fine tuned. One advantage is the larger context window, which allows us to tune on larger SQL tables and provide more context at query time. Another advantage is the power of the underlying model, which is already quite good at the task." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "587efa63", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/prompttools/experiment/experiments/_utils.py b/prompttools/experiment/experiments/_utils.py index f9a7e329..5bbff953 100644 --- a/prompttools/experiment/experiments/_utils.py +++ b/prompttools/experiment/experiments/_utils.py @@ -41,4 +41,9 @@ def _get_dynamic_columns(df: pd.DataFrame) -> pd.DataFrame: unique_counts = df[hashable_columns].nunique() columns_with_multiple_unique_values = unique_counts[unique_counts > 1].index - return pd.concat([df[columns_with_multiple_unique_values], df[unhashable_columns]], axis=1) + dfs_to_concat = [df[columns_with_multiple_unique_values], df[unhashable_columns]] + if 'prompt' in df and 'prompt' not in dfs_to_concat: + dfs_to_concat.append(df['prompt']) + elif 'messages' in df and 'messages' not in dfs_to_concat: + dfs_to_concat.append(df['messages']) + return pd.concat(dfs_to_concat, axis=1) diff --git a/prompttools/utils/autoeval_from_expected.py b/prompttools/utils/autoeval_from_expected.py index db686afd..88618e0f 100644 --- a/prompttools/utils/autoeval_from_expected.py +++ b/prompttools/utils/autoeval_from_expected.py @@ -14,7 +14,10 @@ EVALUATION_SYSTEM_PROMPT = """ You are a grader evaluating responses to math questions. Given the PROMPT and EXPECTED, evaluate the ACTUAL answer. +The ACTUAL answer should be the same as the EXPECTED. You should grade the response as either RIGHT or WRONG. +If the ACTUAL answer is the same as the EXPECTED, mark it RIGHT. +Otherwise, mark it WRONG. """ EVALUATION_USER_TEMPLATE = """ @@ -35,7 +38,6 @@ def _get_messages(prompt: str, expected: str, response: str): ] -# TODO: Should this be removed since no one is using it? def compute(prompt: str, expected: str, response: str, model: str = "gpt-4") -> float: r""" Uses a high quality chat model, like GPT-4, to automatically evaluate a given From c463a724e200cac7bd99a526b1c96fc76ae1d018 Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 13 Sep 2023 23:49:29 -0700 Subject: [PATCH 040/182] Change experiment `_is_chat` to static methods --- prompttools/experiment/experiments/experiment.py | 16 ++++++++++++---- .../experiments/openai_chat_experiment.py | 3 ++- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/prompttools/experiment/experiments/experiment.py b/prompttools/experiment/experiments/experiment.py index 4a906ee2..3763805d 100644 --- a/prompttools/experiment/experiments/experiment.py +++ b/prompttools/experiment/experiments/experiment.py @@ -96,7 +96,8 @@ def initialize(cls, test_parameters: dict[str, list], frozen_parameters: dict): frozen_parameters = {k: [v] for k, v in frozen_parameters.items()} return cls(**test_parameters, **frozen_parameters) - def _is_chat(self): + @staticmethod + def _is_chat(): return False # def _get_human_eval_listener(self, i: int) -> Callable: @@ -305,13 +306,20 @@ def cv2_image_to_base64(self, image): "Package `cv2` is required to be installed to use this experiment." "Please use `pip opencv-python` to install the package" ) - _, buffer = cv2.imencode('.png', image) - return base64.b64encode(buffer).decode('utf-8') + _, buffer = cv2.imencode(".png", image) + return base64.b64encode(buffer).decode("utf-8") def display_image_html(self, base64_string): return f'' - def evaluate(self, metric_name: str, eval_fn: Callable, static_eval_fn_kwargs: dict = {}, image_experiment: bool = False, **eval_fn_kwargs) -> None: + def evaluate( + self, + metric_name: str, + eval_fn: Callable, + static_eval_fn_kwargs: dict = {}, + image_experiment: bool = False, + **eval_fn_kwargs, + ) -> None: """ Using the given evaluation function that accepts a row of data, compute a new column with the evaluation result. Each row of data generally contain inputs, model response, and other previously computed metrics. diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index 21828beb..f8a7226c 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -159,7 +159,8 @@ def _extract_responses(output: Dict[str, object]) -> str: else: return message["content"] - def _is_chat(self): + @staticmethod + def _is_chat(): return True def _get_model_names(self): From c2f8239496d8fb3b482af67e12d773c520f2f887 Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 14 Sep 2023 16:10:35 -0700 Subject: [PATCH 041/182] Fix `ValueError: The truth value of a DataFrame is ambiguous` when checking for duplicate column names --- prompttools/experiment/experiments/_utils.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/prompttools/experiment/experiments/_utils.py b/prompttools/experiment/experiments/_utils.py index 5bbff953..6db7f2f0 100644 --- a/prompttools/experiment/experiments/_utils.py +++ b/prompttools/experiment/experiments/_utils.py @@ -42,8 +42,16 @@ def _get_dynamic_columns(df: pd.DataFrame) -> pd.DataFrame: unique_counts = df[hashable_columns].nunique() columns_with_multiple_unique_values = unique_counts[unique_counts > 1].index dfs_to_concat = [df[columns_with_multiple_unique_values], df[unhashable_columns]] - if 'prompt' in df and 'prompt' not in dfs_to_concat: - dfs_to_concat.append(df['prompt']) - elif 'messages' in df and 'messages' not in dfs_to_concat: - dfs_to_concat.append(df['messages']) + if ( + "prompt" in df + and "prompt" not in df[columns_with_multiple_unique_values] + and "prompt" not in df[unhashable_columns] + ): + dfs_to_concat.append(df["prompt"]) + elif ( + "messages" in df + and "messages" not in df[columns_with_multiple_unique_values] + and "messages" not in df[unhashable_columns] + ): + dfs_to_concat.append(df["messages"]) return pd.concat(dfs_to_concat, axis=1) From 6cd6061b2b2ecf86140fa16c7b207bc175f71a22 Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 14 Sep 2023 16:30:50 -0700 Subject: [PATCH 042/182] Update RAG harness to work with chat models as well --- prompttools/harness/rag_harness.py | 31 ++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/prompttools/harness/rag_harness.py b/prompttools/harness/rag_harness.py index ee0f8c11..98eea5da 100644 --- a/prompttools/harness/rag_harness.py +++ b/prompttools/harness/rag_harness.py @@ -4,14 +4,13 @@ # This source code's license can be found in the # LICENSE file in the root directory of this source tree. -from typing import Optional, Type, Callable +from typing import Optional, Type, Callable, Union import jinja2 from .harness import ExperimentationHarness, Experiment import copy -DOC_PROMPT_TEMPLATE = r""" -Given these documents:{{documents}} +DOC_PROMPT_TEMPLATE = r"""Given these documents:{{documents}} {{prompt}} """ @@ -25,7 +24,11 @@ def _doc_list_to_str(documents: list[str]) -> str: return res -def _generate_doc_prompt(documents: list[str], prompt: str): +def _generate_doc_prompt(documents: list[str], prompt_or_msg: Union[str, list[dict[str, str]]], is_chat: bool): + if not is_chat: + prompt = prompt_or_msg + else: # You have a chat message object + prompt = prompt_or_msg[-1]["content"] environment = jinja2.Environment() template = environment.from_string(DOC_PROMPT_TEMPLATE) doc_str = _doc_list_to_str(documents) @@ -36,7 +39,12 @@ def _generate_doc_prompt(documents: list[str], prompt: str): "prompt": prompt, } ) - return doc_prompt + if not is_chat: + return doc_prompt + else: + new_msg = copy.copy(prompt_or_msg) + new_msg[-1]["content"] = doc_prompt + return new_msg class RetrievalAugmentedGenerationExperimentationHarness(ExperimentationHarness): @@ -77,21 +85,24 @@ def run(self) -> None: for i, row in self.vector_db_experiment.full_df.iterrows(): document_lists.append(self.extract_document_fn(row)) # latencies.append(row["latencies"]) + # Put documents into prompt template augmented_prompts = [] + is_chat = self.llm_experiment_cls._is_chat() + input_arg_name = "messages" if is_chat else "prompt" for doc in document_lists: - for prompt in self.llm_arguments["prompt"]: # TODO: Make this work for chat, check `experiment._is_chat()` - augmented_prompts.append(_generate_doc_prompt(doc, prompt)) + for prompt_or_msg in self.llm_arguments[input_arg_name]: + augmented_prompts.append(_generate_doc_prompt(doc, prompt_or_msg, is_chat)) # Pass documents into LLM - self.llm_arguments["prompt"]: list[str] = augmented_prompts + self.llm_arguments[input_arg_name]: list[str] = augmented_prompts self.experiment = self.llm_experiment_cls(**self.llm_arguments) # Run the LLM experiment self.experiment.run() - # TODO: Need to clean up results, ideally display these columns ("top doc ids", "prompt") + # TODO: We can clean up results for visualization, ideally show these columns ("top doc ids", "prompt") # Right now it is displaying the fully augmented prompt for every row, which take up too much space - # Permutation ordering (doc_list1, prompt, then other arguments) + # Note: Permutation ordering (doc_list1, prompt, then other arguments) self.partial_df = self.experiment.partial_df self.full_df = self.experiment.full_df From ecd7425e42331ac6315104c4dfb71a0a9fbc0609 Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 14 Sep 2023 16:31:09 -0700 Subject: [PATCH 043/182] Update RAG notebook example --- .../RetrievalAugmentedGeneration.ipynb | 477 +++++++++++++++--- 1 file changed, 414 insertions(+), 63 deletions(-) diff --git a/examples/notebooks/vectordb_experiments/RetrievalAugmentedGeneration.ipynb b/examples/notebooks/vectordb_experiments/RetrievalAugmentedGeneration.ipynb index 28957d57..4122bd87 100644 --- a/examples/notebooks/vectordb_experiments/RetrievalAugmentedGeneration.ipynb +++ b/examples/notebooks/vectordb_experiments/RetrievalAugmentedGeneration.ipynb @@ -16,7 +16,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -39,11 +39,11 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ - "from prompttools.experiment import ChromaDBExperiment, OpenAICompletionExperiment\n", + "from prompttools.experiment import ChromaDBExperiment, OpenAICompletionExperiment, OpenAIChatExperiment\n", "from prompttools.harness import RetrievalAugmentedGenerationExperimentationHarness" ] }, @@ -56,7 +56,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -87,7 +87,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -157,7 +157,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -205,7 +205,7 @@ " [id2, id3, id1]\n", " [13.375584602355957, 16.815608978271484, 16.913410186767578]\n", " [This is another document, This is the document., This is a document]\n", - " 0.00923\n", + " 0.008317\n", " \n", " \n", " 1\n", @@ -213,7 +213,7 @@ " [id2, id1, id3]\n", " [0.7673601508140564, 0.8709302544593811, 0.9072309732437134]\n", " [This is another document, This is a document, This is the document.]\n", - " 0.02145\n", + " 0.022273\n", " \n", " \n", "\n", @@ -232,9 +232,9 @@ "0 [This is another document, This is the document., This is a document] \n", "1 [This is another document, This is a document, This is the document.] \n", "\n", - " latency \n", - "0 0.00923 \n", - "1 0.02145 " + " latency \n", + "0 0.008317 \n", + "1 0.022273 " ] }, "metadata": {}, @@ -267,16 +267,16 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "These are the arguments we will use for our LLM experiment `OpenAICompletionExperiment`." + "These are the arguments we will use for our LLM experiment `OpenAICompletionExperiment`. For an example with `OpenAIChatExperiment` (that uses `gpt-3.5-turbo`, scroll further below)." ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ - "models = [\"babbage-002\"]\n", + "models = [\"babbage-002\"] # If you want to use \"gpt-3,5-turbo\", look further below for an example\n", "prompts = [\"What happened on 01/01/2025?\", \"Who is the 50th president?\"]\n", "temperatures = [0.0, 1.0]\n", "# You can add more parameters that you'd like to test here.\n", @@ -293,7 +293,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -367,74 +367,74 @@ " \n", " \n", " 0\n", - " \\nGiven these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWhat happened on 01/01/2025?\n", + " Given these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWhat happened on 01/01/2025?\n", " 0.0\n", " \\nThis is a document\\nThis is a document\\nThis is a document\\n\n", - " 0.619368\n", + " 0.319791\n", " \n", " \n", " 1\n", - " \\nGiven these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWhat happened on 01/01/2025?\n", + " Given these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWhat happened on 01/01/2025?\n", " 1.0\n", - " (What everybody in the world thought about the year 2019 in theis\n", - " 0.243747\n", + " \\n\\nReferences in the Notes on this topic contain only a text, not the entire\n", + " 0.195658\n", " \n", " \n", " 2\n", - " \\nGiven these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWho is the 50th president?\n", + " Given these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWho is the 50th president?\n", " 0.0\n", " \\nA. George Washington\\nB. Abraham Lincoln\\nC. John F.\n", - " 0.498184\n", + " 0.204074\n", " \n", " \n", " 3\n", - " \\nGiven these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWho is the 50th president?\n", + " Given these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWho is the 50th president?\n", " 1.0\n", - " And how do you know? You don't. The problem doesn't lie in\n", - " 0.228347\n", + " There are 31 documents.\\n 25\\nSimon is a 67-year-old\n", + " 0.193998\n", " \n", " \n", " 4\n", - " \\nGiven these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWhat happened on 01/01/2025?\n", + " Given these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWhat happened on 01/01/2025?\n", " 0.0\n", - " \\nThis is the document\\nThis is another document\\nThis is a document\\n\n", - " 0.590188\n", + " The first document is the same as the second document, but the second document is\n", + " 0.216036\n", " \n", " \n", " 5\n", - " \\nGiven these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWhat happened on 01/01/2025?\n", + " Given these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWhat happened on 01/01/2025?\n", " 1.0\n", - " There are N similar days. You can use the cloud function to calculate the date\n", - " 1.993902\n", + " Let's STO(1) see.\\n```\\nAssetWare::STO\n", + " 0.201545\n", " \n", " \n", " 6\n", - " \\nGiven these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWho is the 50th president?\n", + " Given these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWho is the 50th president?\n", " 0.0\n", - " \\nA. George Washington\\nB. Abraham Lincoln\\nC. John F.\n", - " 1.901117\n", + " (A) The 50th president is the 50th president is the\n", + " 0.202507\n", " \n", " \n", " 7\n", - " \\nGiven these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWho is the 50th president?\n", + " Given these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWho is the 50th president?\n", " 1.0\n", - " Is he black, white or something else?\\n\\nFormat answer using the standard Scien\n", - " 0.612549\n", + " The documents say 50th is President George, the document that George Bush\n", + " 0.196210\n", " \n", " \n", "\n", "" ], "text/plain": [ - " prompt \\\n", - "0 \\nGiven these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWhat happened on 01/01/2025? \n", - "1 \\nGiven these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWhat happened on 01/01/2025? \n", - "2 \\nGiven these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWho is the 50th president? \n", - "3 \\nGiven these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWho is the 50th president? \n", - "4 \\nGiven these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWhat happened on 01/01/2025? \n", - "5 \\nGiven these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWhat happened on 01/01/2025? \n", - "6 \\nGiven these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWho is the 50th president? \n", - "7 \\nGiven these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWho is the 50th president? \n", + " prompt \\\n", + "0 Given these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWhat happened on 01/01/2025? \n", + "1 Given these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWhat happened on 01/01/2025? \n", + "2 Given these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWho is the 50th president? \n", + "3 Given these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWho is the 50th president? \n", + "4 Given these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWhat happened on 01/01/2025? \n", + "5 Given these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWhat happened on 01/01/2025? \n", + "6 Given these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWho is the 50th president? \n", + "7 Given these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWho is the 50th president? \n", "\n", " temperature \\\n", "0 0.0 \n", @@ -446,25 +446,25 @@ "6 0.0 \n", "7 1.0 \n", "\n", - " response \\\n", - "0 \\nThis is a document\\nThis is a document\\nThis is a document\\n \n", - "1 (What everybody in the world thought about the year 2019 in theis \n", - "2 \\nA. George Washington\\nB. Abraham Lincoln\\nC. John F. \n", - "3 And how do you know? You don't. The problem doesn't lie in \n", - "4 \\nThis is the document\\nThis is another document\\nThis is a document\\n \n", - "5 There are N similar days. You can use the cloud function to calculate the date \n", - "6 \\nA. George Washington\\nB. Abraham Lincoln\\nC. John F. \n", - "7 Is he black, white or something else?\\n\\nFormat answer using the standard Scien \n", + " response \\\n", + "0 \\nThis is a document\\nThis is a document\\nThis is a document\\n \n", + "1 \\n\\nReferences in the Notes on this topic contain only a text, not the entire \n", + "2 \\nA. George Washington\\nB. Abraham Lincoln\\nC. John F. \n", + "3 There are 31 documents.\\n 25\\nSimon is a 67-year-old \n", + "4 The first document is the same as the second document, but the second document is \n", + "5 Let's STO(1) see.\\n```\\nAssetWare::STO \n", + "6 (A) The 50th president is the 50th president is the \n", + "7 The documents say 50th is President George, the document that George Bush \n", "\n", " latency \n", - "0 0.619368 \n", - "1 0.243747 \n", - "2 0.498184 \n", - "3 0.228347 \n", - "4 0.590188 \n", - "5 1.993902 \n", - "6 1.901117 \n", - "7 0.612549 " + "0 0.319791 \n", + "1 0.195658 \n", + "2 0.204074 \n", + "3 0.193998 \n", + "4 0.216036 \n", + "5 0.201545 \n", + "6 0.202507 \n", + "7 0.196210 " ] }, "metadata": {}, @@ -476,6 +476,357 @@ "rag_experiment.visualize()" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can also do the same thing with a LLM chat model, such as GPT-3.5-turbo." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "chat_models = [\"gpt-3.5-turbo\"]\n", + "messages = [\n", + " [\n", + " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", + " {\"role\": \"user\", \"content\": \"Who was the 50th president?\"},\n", + " ],\n", + " [\n", + " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", + " {\"role\": \"user\", \"content\": \"What happened on 01/01/2025?\"},\n", + " ]\n", + "]\n", + "temperatures = [0.0, 1.0]\n", + "# You can add more parameters that you'd like to test here.\n", + "\n", + "llm_chat_arguments = {\"model\": chat_models, \"messages\": messages, \"temperature\": temperatures}" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:chromadb.segment.impl.vector.local_hnsw:Number of requested results 10 is greater than number of elements in index 3, updating n_results = 3\n", + "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/chromadb/utils/read_write_lock.py:29: DeprecationWarning: notifyAll() is deprecated, use notify_all() instead\n", + " self._read_ready.notifyAll()\n", + "WARNING:chromadb.segment.impl.vector.local_hnsw:Number of requested results 10 is greater than number of elements in index 3, updating n_results = 3\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperaturemessagesresponselatency
00.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "This is another document\n", + "This is a document\n", + "This is the document.\n", + "\n", + "Given these documents:\n", + "This is another document\n", + "This is the document.\n", + "This is a document\n", + "\n", + "Who was the 50th president?'}]As of my knowledge, there have been 46 presidents of the United States. Therefore, there is no 50th president.1.649850
11.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "This is another document\n", + "This is a document\n", + "This is the document.\n", + "\n", + "Given these documents:\n", + "This is another document\n", + "This is the document.\n", + "This is a document\n", + "\n", + "Who was the 50th president?'}]As of my knowledge, there have only been 46 presidents of the United States, with the current president being Joe Biden. Therefore, there has not been a 50th president yet.1.842281
20.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "This is another document\n", + "This is a document\n", + "This is the document.\n", + "\n", + "Given these documents:\n", + "This is another document\n", + "This is the document.\n", + "This is a document\n", + "\n", + "What happened on 01/01/2025?'}]Based on the given information, there is no mention of any events or activities that occurred on 01/01/2025.1.428515
31.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "This is another document\n", + "This is a document\n", + "This is the document.\n", + "\n", + "Given these documents:\n", + "This is another document\n", + "This is the document.\n", + "This is a document\n", + "\n", + "What happened on 01/01/2025?'}]Based on the given information, we do not have any specific information about what happened on 01/01/2025. It is not mentioned in the provided documents.1.734258
40.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "This is another document\n", + "This is a document\n", + "This is the document.\n", + "\n", + "Given these documents:\n", + "This is another document\n", + "This is the document.\n", + "This is a document\n", + "\n", + "Who was the 50th president?'}]As of my knowledge, there have been 46 presidents of the United States. Therefore, there is no 50th president.1.443996
51.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "This is another document\n", + "This is a document\n", + "This is the document.\n", + "\n", + "Given these documents:\n", + "This is another document\n", + "This is the document.\n", + "This is a document\n", + "\n", + "Who was the 50th president?'}]There is currently no 50th president as there have only been 46 presidents in the United States as of October 2021.1.351932
60.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "This is another document\n", + "This is a document\n", + "This is the document.\n", + "\n", + "Given these documents:\n", + "This is another document\n", + "This is the document.\n", + "This is a document\n", + "\n", + "What happened on 01/01/2025?'}]Based on the given documents, there is no information about what happened on 01/01/2025.1.207891
71.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "This is another document\n", + "This is a document\n", + "This is the document.\n", + "\n", + "Given these documents:\n", + "This is another document\n", + "This is the document.\n", + "This is a document\n", + "\n", + "What happened on 01/01/2025?'}]Based on the given information, there is no mention of any events or activities that occurred on January 1, 2025.1.534629
\n", + "
" + ], + "text/plain": [ + " temperature \\\n", + "0 0.0 \n", + "1 1.0 \n", + "2 0.0 \n", + "3 1.0 \n", + "4 0.0 \n", + "5 1.0 \n", + "6 0.0 \n", + "7 1.0 \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "This is another document\n", + "This is a document\n", + "This is the document.\n", + "\n", + "Given these documents:\n", + "This is another document\n", + "This is the document.\n", + "This is a document\n", + "\n", + "Who was the 50th president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "This is another document\n", + "This is a document\n", + "This is the document.\n", + "\n", + "Given these documents:\n", + "This is another document\n", + "This is the document.\n", + "This is a document\n", + "\n", + "Who was the 50th president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "This is another document\n", + "This is a document\n", + "This is the document.\n", + "\n", + "Given these documents:\n", + "This is another document\n", + "This is the document.\n", + "This is a document\n", + "\n", + "What happened on 01/01/2025?'}] \n", + "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "This is another document\n", + "This is a document\n", + "This is the document.\n", + "\n", + "Given these documents:\n", + "This is another document\n", + "This is the document.\n", + "This is a document\n", + "\n", + "What happened on 01/01/2025?'}] \n", + "4 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "This is another document\n", + "This is a document\n", + "This is the document.\n", + "\n", + "Given these documents:\n", + "This is another document\n", + "This is the document.\n", + "This is a document\n", + "\n", + "Who was the 50th president?'}] \n", + "5 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "This is another document\n", + "This is a document\n", + "This is the document.\n", + "\n", + "Given these documents:\n", + "This is another document\n", + "This is the document.\n", + "This is a document\n", + "\n", + "Who was the 50th president?'}] \n", + "6 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "This is another document\n", + "This is a document\n", + "This is the document.\n", + "\n", + "Given these documents:\n", + "This is another document\n", + "This is the document.\n", + "This is a document\n", + "\n", + "What happened on 01/01/2025?'}] \n", + "7 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "This is another document\n", + "This is a document\n", + "This is the document.\n", + "\n", + "Given these documents:\n", + "This is another document\n", + "This is the document.\n", + "This is a document\n", + "\n", + "What happened on 01/01/2025?'}] \n", + "\n", + " response \\\n", + "0 As of my knowledge, there have been 46 presidents of the United States. Therefore, there is no 50th president. \n", + "1 As of my knowledge, there have only been 46 presidents of the United States, with the current president being Joe Biden. Therefore, there has not been a 50th president yet. \n", + "2 Based on the given information, there is no mention of any events or activities that occurred on 01/01/2025. \n", + "3 Based on the given information, we do not have any specific information about what happened on 01/01/2025. It is not mentioned in the provided documents. \n", + "4 As of my knowledge, there have been 46 presidents of the United States. Therefore, there is no 50th president. \n", + "5 There is currently no 50th president as there have only been 46 presidents in the United States as of October 2021. \n", + "6 Based on the given documents, there is no information about what happened on 01/01/2025. \n", + "7 Based on the given information, there is no mention of any events or activities that occurred on January 1, 2025. \n", + "\n", + " latency \n", + "0 1.649850 \n", + "1 1.842281 \n", + "2 1.428515 \n", + "3 1.734258 \n", + "4 1.443996 \n", + "5 1.351932 \n", + "6 1.207891 \n", + "7 1.534629 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "rag_experiment_2 = RetrievalAugmentedGenerationExperimentationHarness(\n", + " vector_db_experiment = vdb_experiment,\n", + " llm_experiment_cls = OpenAIChatExperiment,\n", + " llm_arguments = llm_chat_arguments,\n", + " extract_document_fn = _extract_doc_from_row,\n", + ")\n", + "\n", + "rag_experiment_2.run()\n", + "rag_experiment_2.visualize()" + ] + }, { "cell_type": "code", "execution_count": null, From 809ddd549f98d266374c8b7ecddceed0ede1e5e2 Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 15 Sep 2023 01:08:17 -0700 Subject: [PATCH 044/182] Minor touch ups vector DB experiment codes --- prompttools/experiment/experiments/chromadb_experiment.py | 7 +++---- prompttools/experiment/experiments/weaviate_experiment.py | 1 - 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/prompttools/experiment/experiments/chromadb_experiment.py b/prompttools/experiment/experiments/chromadb_experiment.py index f0777a7e..be0d62bb 100644 --- a/prompttools/experiment/experiments/chromadb_experiment.py +++ b/prompttools/experiment/experiments/chromadb_experiment.py @@ -143,7 +143,6 @@ def run(self, runs: int = 1): self.chroma_client.delete_collection(self.collection_name) self._construct_result_dfs(input_args, results, latencies) - # TODO: Collect and add latency def _construct_result_dfs( self, input_args: list[dict[str, object]], @@ -185,15 +184,15 @@ def _construct_result_dfs( @staticmethod def _extract_top_doc_ids(output: Dict[str, object]) -> list[tuple[str, float]]: - r"""Helper function to get distances between documents from ChromaDB.""" + r"""Helper function to get the top document IDs from ChromaDB.""" return output["ids"][0] @staticmethod def _extract_chromadb_dists(output: Dict[str, object]) -> list[tuple[str, float]]: - r"""Helper function to get distances between documents from ChromaDB.""" + r"""Helper function to get distances between the prompt and documents from ChromaDB.""" return output["distances"][0] @staticmethod def _extract_chromadb_docs(output: Dict[str, object]) -> list[tuple[str, float]]: - r"""Helper function to get distances between documents from ChromaDB.""" + r"""Helper function to get the top documents from ChromaDB.""" return output["documents"][0] diff --git a/prompttools/experiment/experiments/weaviate_experiment.py b/prompttools/experiment/experiments/weaviate_experiment.py index a4e4c383..cfe1a962 100644 --- a/prompttools/experiment/experiments/weaviate_experiment.py +++ b/prompttools/experiment/experiments/weaviate_experiment.py @@ -220,7 +220,6 @@ def run(self, runs: int = 1): self.client.schema.delete_class(self.class_name) self._construct_result_dfs([c for c in self.argument_combos for _ in range(runs)], results, latencies) - # TODO: Collect and add latency def _construct_result_dfs( self, input_args: list[dict[str, object]], From 70919a387f8052f208624b466c339a56388eadf6 Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 15 Sep 2023 01:08:42 -0700 Subject: [PATCH 045/182] Adding support for Pinecone --- .../experiments/pinecone_experiment.py | 182 ++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 prompttools/experiment/experiments/pinecone_experiment.py diff --git a/prompttools/experiment/experiments/pinecone_experiment.py b/prompttools/experiment/experiments/pinecone_experiment.py new file mode 100644 index 00000000..f529b8a0 --- /dev/null +++ b/prompttools/experiment/experiments/pinecone_experiment.py @@ -0,0 +1,182 @@ +# Copyright (c) Hegel AI, Inc. +# All rights reserved. +# +# This source code's license can be found in the +# LICENSE file in the root directory of this source tree. + +import os +import pandas as pd +from typing import Any, Dict, Optional + +try: + import pinecone +except ImportError: + pinecone = None + +import itertools +import logging + +# from prompttools.mock.mock import mock_chromadb_fn +from time import perf_counter +from .experiment import Experiment +from ._utils import _get_dynamic_columns + +VALID_TASKS = [""] + + +class PineconeExperiment(Experiment): + r""" + Perform an experiment with ``Pinecone`` to test different embedding functions or retrieval arguments. + You can query from an existing collection, or create a new one (and insert documents into it) during + the experiment. If you choose to create a new collection, it will be automatically cleaned up + as the experiment ends. + + Args: + index_name (str): the index that you will use or create + use_existing_index (bool): determines whether to create a new collection or use + an existing one + query_index_params (dict[str, list]): parameters used to query the collection + Each value is expected to be a list to create all possible combinations + create_index_params (Optional[dict]): documents or embeddings that will be added to + the newly created collection + """ + + PARAMETER_NAMES = ["chroma_client"] + + def __init__( + self, + index_name: str, + use_existing_index: bool, + query_index_params: dict, + create_index_params: Optional[dict] = None, + ): + if pinecone is None: + raise ModuleNotFoundError( + "Package `pinecone` is required to be installed to use this experiment." + "Please use `pip install pinecone-client` to install the package" + ) + pinecone.init(api_key=os.environ["PINECONE_API_KEY"], environment=os.environ["PINECONE_ENVIRONMENT"]) + self.index_name = index_name + self.completion_fn = self.pinecone_completion_fn + # if os.getenv("DEBUG", default=False): + # self.completion_fn = mock_chromadb_fn + self.use_existing_index = use_existing_index + self.create_index_params = create_index_params if create_index_params else {} + self.query_index_params = query_index_params + if use_existing_index and create_index_params: + raise RuntimeError("You can either use an existing collection or create a new one during the experiment.") + if not use_existing_index and create_index_params is None: + raise RuntimeError("If you choose to create a new collection, you must also add to it.") + super().__init__() + + # @classmethod + # def initialize(cls, test_parameters: dict[str, list], frozen_parameters: dict): + # required_frozen_params = ( + # "chroma_client", + # "collection_name", + # "use_existing_collection", + # "query_collection_params", + # ) + # for arg_name in required_frozen_params: + # if arg_name not in frozen_parameters or arg_name in test_parameters: + # raise RuntimeError(f"'{arg_name}' must be a frozen parameter in ChromaDBExperiment.") + # frozen_parameters = {k: [v] for k, v in frozen_parameters.items()} + # return cls(**test_parameters, **frozen_parameters) + + def pinecone_completion_fn( + self, + index: "pinecone.Index", + **query_params: Dict[str, Any], + ): + r""" + Pinecone helper function to make request + """ + results = index.query(**query_params) + return results + + def prepare(self) -> None: + r""" + Creates argument combinations by taking the cartesian product of all inputs. + """ + # TODO: Add support for the case where `create_index_params` are a list, add logic to expand + for combo in itertools.product(*self.query_index_params.values()): + self.argument_combos.append(dict(zip(self.query_index_params.keys(), combo))) + + def run(self, runs: int = 1): + input_args = [] # This will be used to construct DataFrame table + results = [] + latencies = [] + if not self.argument_combos: + logging.info("Preparing first...") + self.prepare() + if not self.use_existing_index: + # TODO: Add support for the case where params are a list , add logic to `prepare` + pinecone.create_index(self.index_name, **self.create_index_params) + + index = pinecone.Index(self.index_name) + + for query_arg_dict in self.argument_combos: + arg_combo = query_arg_dict.copy() + for _ in range(runs): + input_args.append(arg_combo) + start = perf_counter() + results.append(self.pinecone_completion_fn(index, **query_arg_dict)) + latencies.append(perf_counter() - start) + # Clean up + if not self.use_existing_index: + pinecone.delete_index(self.index_name) + self._construct_result_dfs(input_args, results, latencies) + + def _construct_result_dfs( + self, + input_args: list[dict[str, object]], + results: list[dict[str, object]], + latencies: list[float], + ): + r""" + Construct a few DataFrames that contain all relevant data (i.e. input arguments, results, evaluation metrics). + + This version only extract the most relevant objects returned by Pinecone. + + Args: + input_args (list[dict[str, object]]): list of dictionaries, where each of them is a set of + input argument that was passed into the model + results (list[dict[str, object]]): list of responses from the model + latencies (list[float]): list of latency measurements + """ + # `input_arg_df` contains all all input args + input_arg_df = pd.DataFrame(input_args) + # `dynamic_input_arg_df` contains input args that has more than one unique values + dynamic_input_arg_df = _get_dynamic_columns(input_arg_df) + + # `response_df` contains the extracted response (often being the text response) + response_dict = dict() + response_dict["top doc ids"] = [self._extract_top_doc_ids(result) for result in results] + response_dict["scores"] = [self._extract_pinecone_scores(result) for result in results] + response_dict["documents"] = [self._extract_pinecone_docs(result) for result in results] + response_df = pd.DataFrame(response_dict) + # `result_df` contains everything returned by the completion function + result_df = response_df # pd.concat([self.response_df, pd.DataFrame(results)], axis=1) + + # `score_df` contains computed metrics (e.g. latency, evaluation metrics) + self.score_df = pd.DataFrame({"latency": latencies}) + + # `partial_df` contains some input arguments, extracted responses, and score + self.partial_df = pd.concat([dynamic_input_arg_df, response_df, self.score_df], axis=1) + # `full_df` contains all input arguments, responses, and score + self.full_df = pd.concat([input_arg_df, result_df, self.score_df], axis=1) + + @staticmethod + def _extract_top_doc_ids(output: "pinecone.QueryResponse") -> list[tuple[str, float]]: + r"""Helper function to get top document IDs from Pinecone.""" + return [match["id"] for match in output["matches"]] + + @staticmethod + def _extract_pinecone_scores(output: "pinecone.QueryResponse") -> list[tuple[str, float]]: + r"""Helper function to get the scores of documents from Pinecone.""" + return [match["score"] for match in output["matches"]] + + @staticmethod + def _extract_pinecone_docs(output: "pinecone.QueryResponse") -> list[tuple[str, float]]: + r"""Helper function to get top documents from Pinecone.""" + return [match["values"] for match in output["matches"]] From bebdc9ba72ba9a0a2772ea603e7a7637d32f2d36 Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 15 Sep 2023 19:40:35 -0700 Subject: [PATCH 046/182] Adding Pinecone notebook example --- .../PineconeExperiment.ipynb | 581 ++++++++++++++++++ prompttools/experiment/__init__.py | 2 + .../experiments/pinecone_experiment.py | 49 +- 3 files changed, 624 insertions(+), 8 deletions(-) create mode 100644 examples/notebooks/vectordb_experiments/PineconeExperiment.ipynb diff --git a/examples/notebooks/vectordb_experiments/PineconeExperiment.ipynb b/examples/notebooks/vectordb_experiments/PineconeExperiment.ipynb new file mode 100644 index 00000000..ba00a680 --- /dev/null +++ b/examples/notebooks/vectordb_experiments/PineconeExperiment.ipynb @@ -0,0 +1,581 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0a13ddc8", + "metadata": {}, + "source": [ + "# Pinecone Experiment Example" + ] + }, + { + "cell_type": "markdown", + "id": "623f0cfe", + "metadata": {}, + "source": [ + "## Installations" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "885dabeb", + "metadata": {}, + "outputs": [], + "source": [ + "# !pip install --quiet --force-reinstall prompttools" + ] + }, + { + "cell_type": "markdown", + "id": "2eac35f8", + "metadata": {}, + "source": [ + "## Setup imports and API keys" + ] + }, + { + "cell_type": "markdown", + "id": "0957a5dd", + "metadata": {}, + "source": [ + "First, we will set the API key and Pinecone environment name." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "97acda7e", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "\n", + "# os.environ[\"DEBUG\"] = \"1\" # Set this to \"\" to call the API\n", + "os.environ[\"PINECONE_API_KEY\"] = \"\" # Insert your key here\n", + "os.environ[\"PINECONE_ENVIRONMENT\"] = \"\" # Insert the environment name here" + ] + }, + { + "cell_type": "markdown", + "id": "842f1e47", + "metadata": {}, + "source": [ + "We'll import the relevant `prompttools` modules to setup our experiment." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "beaa70a1", + "metadata": { + "ExecuteTime": { + "end_time": "2023-07-20T07:13:56.823039Z", + "start_time": "2023-07-20T07:13:55.927616Z" + } + }, + "outputs": [], + "source": [ + "from prompttools.experiment import PineconeExperiment\n", + "import pinecone" + ] + }, + { + "cell_type": "markdown", + "id": "eacc4c79", + "metadata": {}, + "source": [ + "## Inserting data in advance" + ] + }, + { + "cell_type": "markdown", + "id": "c604708a", + "metadata": {}, + "source": [ + "In general, we recommend inserting your data prior to the experiment before Pinecone is **eventually consistent**, such that there will be a **delay** before you can successfully query your data that you just inserted.\n", + "\n", + "Here is an example of how you can insert your data:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "dfd37f5d", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/pinecone/core/client/rest.py:45: DeprecationWarning: HTTPResponse.getheader() is deprecated and will be removed in urllib3 v2.1.0. Instead use HTTPResponse.headers.get(name, default).\n", + " return self.urllib3_response.getheader(name, default)\n" + ] + } + ], + "source": [ + "index_name = \"test\"\n", + "data = [\n", + " (\"A\", [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]),\n", + " (\"B\", [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]),\n", + " (\"C\", [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]),\n", + " (\"D\", [0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4]),\n", + " (\"E\", [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5])\n", + "]\n", + "\n", + "pinecone.init(api_key=os.environ[\"PINECONE_API_KEY\"], environment=os.environ[\"PINECONE_ENVIRONMENT\"])\n", + "try:\n", + " pinecone.delete_index(index_name) # Optional, delete your index if it already exists\n", + "except Exception:\n", + " pass\n", + "create_index_params = {\"dimension\": 8, \"metric\": \"euclidean\"}\n", + "pinecone.create_index(index_name, **create_index_params)\n", + "index = pinecone.Index(index_name)\n", + "index.upsert(data)" + ] + }, + { + "cell_type": "markdown", + "id": "0c33fe9f", + "metadata": {}, + "source": [ + "You can have a look at your index's status:" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "1bd3c368", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "IndexDescription(name='test', metric='euclidean', replicas=1, dimension=8.0, shards=1, pods=1, pod_type='starter', status={'ready': True, 'state': 'Ready'}, metadata_config=None, source_collection='')" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pinecone.describe_index(index_name)" + ] + }, + { + "cell_type": "markdown", + "id": "99087fbe", + "metadata": {}, + "source": [ + "Make sure the vector count matches what you expect before trying to query. There is generally a delay after insertion because Pinecone is eventually consistent. You can check by:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7ffc3f47", + "metadata": {}, + "outputs": [], + "source": [ + "index.describe_index_stats()" + ] + }, + { + "cell_type": "markdown", + "id": "622dea9a", + "metadata": {}, + "source": [ + "## Run an experiment" + ] + }, + { + "cell_type": "markdown", + "id": "3babfe5a", + "metadata": {}, + "source": [ + "You can also insert your data during the experiment, but there will be delay during the experiment to wait for the data to show up in Pinecone.\n", + "\n", + "If you choose to do this, a new Pinecone index will be temporarily created. The data will be added into it. Then, we will query from it and examine the results. The experiment will automatically clean up the index afterwards." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "9114cfbf", + "metadata": { + "ExecuteTime": { + "end_time": "2023-07-20T07:13:56.829960Z", + "start_time": "2023-07-20T07:13:56.825481Z" + } + }, + "outputs": [], + "source": [ + "index_name = \"test\"\n", + "\n", + "# Index configuration\n", + "create_index_params = {\"dimension\": 8, \"metric\": \"euclidean\"}\n", + "\n", + "# Documents that will be added into the database\n", + "data = [\n", + " (\"A\", [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]),\n", + " (\"B\", [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]),\n", + " (\"C\", [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]),\n", + " (\"D\", [0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4]),\n", + " (\"E\", [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5])\n", + "]\n", + "\n", + "# Our test queries\n", + "test_queries = [\n", + " [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3],\n", + " [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2],\n", + " [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1],\n", + "]\n", + "\n", + "query_index_params = {\n", + " \"vector\": test_queries,\n", + " \"top_k\": [3],\n", + " \"include_values\": [True],\n", + "}\n", + "\n", + "\n", + "# Set up the experiment\n", + "experiment = PineconeExperiment(\n", + " index_name,\n", + " use_existing_index = False, # Switch to `True` if you # Optional. if you inserted data in advnace\n", + " query_index_params = query_index_params,\n", + " create_index_params = create_index_params, # Optional. if you inserted data in advnace\n", + " data = data, # Optional. if you inserted data in advnace\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "f3fa5450", + "metadata": {}, + "source": [ + "We can then run the experiment to get results." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "83b33130", + "metadata": { + "ExecuteTime": { + "end_time": "2023-07-20T07:16:21.469371Z", + "start_time": "2023-07-20T07:16:21.462342Z" + } + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/pinecone/core/client/rest.py:45: DeprecationWarning: HTTPResponse.getheader() is deprecated and will be removed in urllib3 v2.1.0. Instead use HTTPResponse.headers.get(name, default).\n", + " return self.urllib3_response.getheader(name, default)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Waiting for Pinecone's eventual consistency after inserting data.\n", + "Waiting for Pinecone's eventual consistency after inserting data.\n", + "Waiting for Pinecone's eventual consistency after inserting data.\n", + "Waiting for Pinecone's eventual consistency after inserting data.\n" + ] + } + ], + "source": [ + "experiment.run()" + ] + }, + { + "cell_type": "markdown", + "id": "1b013dca", + "metadata": {}, + "source": [ + "You can see the top 3 doc IDs of each of your queries." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "01c7e682", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
vectortop doc idsscoresdocumentslatency
0[0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3][C, D, B][0.0, 0.0799999237, 0.0800000429][[0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3], [0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4], [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]]0.368411
1[0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2][B, A, C][0.0, 0.0800000131, 0.0800000429][[0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2], [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1], [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]]0.107679
2[0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1][A, B, C][0.0, 0.0800000131, 0.32][[0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1], [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2], [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]]0.127923
\n", + "
" + ], + "text/plain": [ + " vector top doc ids \\\n", + "0 [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3] [C, D, B] \n", + "1 [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2] [B, A, C] \n", + "2 [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1] [A, B, C] \n", + "\n", + " scores \\\n", + "0 [0.0, 0.0799999237, 0.0800000429] \n", + "1 [0.0, 0.0800000131, 0.0800000429] \n", + "2 [0.0, 0.0800000131, 0.32] \n", + "\n", + " documents \\\n", + "0 [[0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3], [0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4], [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]] \n", + "1 [[0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2], [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1], [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]] \n", + "2 [[0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1], [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2], [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]] \n", + "\n", + " latency \n", + "0 0.368411 \n", + "1 0.107679 \n", + "2 0.127923 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment.visualize()" + ] + }, + { + "cell_type": "markdown", + "id": "266c13eb", + "metadata": {}, + "source": [ + "## Evaluate the model response" + ] + }, + { + "cell_type": "markdown", + "id": "bebb8023", + "metadata": {}, + "source": [ + "To evaluate the results, we'll define an evaluation function. Sometimes, you know order of the most relevant document should be given a query, and you can compute the correlation between expected ranking and actual ranking.\n", + "\n", + "Note: there is a built-in version of this function that you can import (scroll further below to see an example)." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "8ddbb951", + "metadata": {}, + "outputs": [], + "source": [ + "import scipy.stats as stats\n", + "\n", + "# For each query, you can define what the expected ranking is.\n", + "EXPECTED_RANKING = {\n", + " (0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3): [\"C\", \"D\", \"B\"],\n", + " (0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2): [\"B\", \"C\", \"A\"],\n", + " (0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1): [\"A\", \"C\", \"B\"],\n", + "}\n", + "\n", + "\n", + "def measure_correlation(row: \"pandas.core.series.Series\", ranking_column_name: str = \"top doc ids\") -> float:\n", + " r\"\"\"\n", + " A simple test that compares the expected ranking for a given query with the actual ranking produced\n", + " by the embedding function being tested.\n", + " \"\"\"\n", + " input_query = tuple(row[\"vector\"])\n", + " correlation, _ = stats.spearmanr(row[ranking_column_name], EXPECTED_RANKING[input_query])\n", + " return correlation" + ] + }, + { + "cell_type": "markdown", + "id": "974d6065", + "metadata": {}, + "source": [ + "Finally, we can evaluate and visualize the results." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "e80dfeec", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "experiment.evaluate(\"ranking_correlation\", measure_correlation)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "4d09c18e", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
vectortop doc idsscoresdocumentslatencyranking_correlation
0[0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3][C, D, B][0.0, 0.0799999237, 0.0800000429][[0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3], [0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4], [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]]0.3901671.0
1[0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2][B, A, C][0.0, 0.0800000131, 0.0800000429][[0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2], [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1], [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]]0.102859-1.0
2[0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1][A, B, C][0.0, 0.0800000131, 0.32][[0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1], [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2], [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]]0.1121390.5
\n", + "
" + ], + "text/plain": [ + " vector top doc ids \\\n", + "0 [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3] [C, D, B] \n", + "1 [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2] [B, A, C] \n", + "2 [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1] [A, B, C] \n", + "\n", + " scores \\\n", + "0 [0.0, 0.0799999237, 0.0800000429] \n", + "1 [0.0, 0.0800000131, 0.0800000429] \n", + "2 [0.0, 0.0800000131, 0.32] \n", + "\n", + " documents \\\n", + "0 [[0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3], [0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4], [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]] \n", + "1 [[0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2], [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1], [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]] \n", + "2 [[0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1], [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2], [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]] \n", + "\n", + " latency ranking_correlation \n", + "0 0.390167 1.0 \n", + "1 0.102859 -1.0 \n", + "2 0.112139 0.5 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment.visualize()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/prompttools/experiment/__init__.py b/prompttools/experiment/__init__.py index 4ada9be5..1541e26d 100644 --- a/prompttools/experiment/__init__.py +++ b/prompttools/experiment/__init__.py @@ -20,6 +20,7 @@ from .experiments.stablediffusion_experiment import StableDiffusionExperiment from .experiments.replicate_experiment import ReplicateExperiment from .experiments.qdrant_experiment import QdrantExperiment +from .experiments.pinecone_experiment import PineconeExperiment __all__ = [ "AnthropicCompletionExperiment", @@ -32,6 +33,7 @@ "MindsDBExperiment", "OpenAIChatExperiment", "OpenAICompletionExperiment", + "PineconeExperiment", "QdrantExperiment", "ReplicateExperiment", "RouterChainExperiment", diff --git a/prompttools/experiment/experiments/pinecone_experiment.py b/prompttools/experiment/experiments/pinecone_experiment.py index f529b8a0..f12bd085 100644 --- a/prompttools/experiment/experiments/pinecone_experiment.py +++ b/prompttools/experiment/experiments/pinecone_experiment.py @@ -5,8 +5,10 @@ # LICENSE file in the root directory of this source tree. import os +import time + import pandas as pd -from typing import Any, Dict, Optional +from typing import Any, Dict, Optional, Iterable try: import pinecone @@ -37,18 +39,19 @@ class PineconeExperiment(Experiment): an existing one query_index_params (dict[str, list]): parameters used to query the collection Each value is expected to be a list to create all possible combinations - create_index_params (Optional[dict]): documents or embeddings that will be added to + create_index_params (Optional[dict]): configuration of the new index (e.g. number of dimensions, + distance function) + data (Optional[list]): documents or embeddings that will be added to the newly created collection """ - PARAMETER_NAMES = ["chroma_client"] - def __init__( self, index_name: str, use_existing_index: bool, query_index_params: dict, create_index_params: Optional[dict] = None, + data: Optional[list] = None, ): if pinecone is None: raise ModuleNotFoundError( @@ -62,10 +65,11 @@ def __init__( # self.completion_fn = mock_chromadb_fn self.use_existing_index = use_existing_index self.create_index_params = create_index_params if create_index_params else {} + self.data = data self.query_index_params = query_index_params if use_existing_index and create_index_params: raise RuntimeError("You can either use an existing collection or create a new one during the experiment.") - if not use_existing_index and create_index_params is None: + if not use_existing_index and data is None: raise RuntimeError("If you choose to create a new collection, you must also add to it.") super().__init__() @@ -91,8 +95,8 @@ def pinecone_completion_fn( r""" Pinecone helper function to make request """ - results = index.query(**query_params) - return results + result = index.query(**query_params) + return result def prepare(self) -> None: r""" @@ -102,6 +106,26 @@ def prepare(self) -> None: for combo in itertools.product(*self.query_index_params.values()): self.argument_combos.append(dict(zip(self.query_index_params.keys(), combo))) + @staticmethod + def _batch_upsert(pinecone_index: "pinecone.Index", data: Iterable) -> None: + batch = [] + for d in data: + batch.append(d) + if len(batch) == 100: + pinecone_index.upsert(batch) + batch = [] + pinecone_index.upsert(batch) + + @staticmethod + def _wait_for_eventual_consistency(pinecone_index: "pinecone.Index", n_sample: int) -> None: + i = 0 + while pinecone_index.describe_index_stats()["total_vector_count"] < n_sample: + i += 1 + print("Waiting for Pinecone's eventual consistency after inserting data.") + time.sleep(3) + if i == 20: + raise TimeoutError("Pinecone has not insert data due to eventual consistency after 1 minute.") + def run(self, runs: int = 1): input_args = [] # This will be used to construct DataFrame table results = [] @@ -109,12 +133,20 @@ def run(self, runs: int = 1): if not self.argument_combos: logging.info("Preparing first...") self.prepare() + + # Insert data if not self.use_existing_index: # TODO: Add support for the case where params are a list , add logic to `prepare` pinecone.create_index(self.index_name, **self.create_index_params) + index = pinecone.Index(self.index_name) + self._batch_upsert(index, self.data) + else: + index = pinecone.Index(self.index_name) - index = pinecone.Index(self.index_name) + if not self.use_existing_index: + self._wait_for_eventual_consistency(index, len(self.data)) + # Query for query_arg_dict in self.argument_combos: arg_combo = query_arg_dict.copy() for _ in range(runs): @@ -122,6 +154,7 @@ def run(self, runs: int = 1): start = perf_counter() results.append(self.pinecone_completion_fn(index, **query_arg_dict)) latencies.append(perf_counter() - start) + # Clean up if not self.use_existing_index: pinecone.delete_index(self.index_name) From 4ba10cbcac2771f91c6da7804cfb4015662184c4 Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 15 Sep 2023 19:40:47 -0700 Subject: [PATCH 047/182] Adding Pinecone to README and documentation --- README.md | 2 +- docs/source/experiment.rst | 4 ++++ examples/notebooks/README.md | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 52741803..08e24ff1 100644 --- a/README.md +++ b/README.md @@ -107,7 +107,7 @@ Vector Databases and Data Utility - Qdrant - **Supported** - LanceDB - **Supported** - Milvus - Exploratory -- Pinecone - Exploratory +- Pinecone - **Supported** - Epsilla - _In Progress_ Frameworks diff --git a/docs/source/experiment.rst b/docs/source/experiment.rst index c18a0806..e7387610 100644 --- a/docs/source/experiment.rst +++ b/docs/source/experiment.rst @@ -41,6 +41,8 @@ LLMs .. autoclass:: LlamaCppExperiment +.. autoclass:: ReplicateExperiment + Frameworks +++++++++++++++++++++++++++++++++++++++++ @@ -61,6 +63,8 @@ Vector DBs .. autoclass:: QdrantExperiment +.. autoclass:: PineconeExperiment + Computer Vision +++++++++++++++++++++++++++++++++++++++++ diff --git a/examples/notebooks/README.md b/examples/notebooks/README.md index e3551f32..6645bfc6 100644 --- a/examples/notebooks/README.md +++ b/examples/notebooks/README.md @@ -45,6 +45,7 @@ have something to share. and query functions, and compare the final results. - [LanceDB Experiment](vectordb_experiments/LanceDBExperiment.ipynb) allows you to try different embedding functions, and query methods. - [Qdrant Experiment](vectordb_experiments/QdrantExperiment.ipynb) explores different ways to query Qdrant, including with vectors. +- [Pinecone Experiment](vectordb_experiments/PineconeExperiment.ipynb) looks into different ways to add data into and query from Pinecone. ### Frameworks From 325ceaf3a79b6d49b4bb70d8005309748122e081 Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 15 Sep 2023 19:42:31 -0700 Subject: [PATCH 048/182] Fix typing --- prompttools/experiment/experiments/pinecone_experiment.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prompttools/experiment/experiments/pinecone_experiment.py b/prompttools/experiment/experiments/pinecone_experiment.py index f12bd085..720f7fc2 100644 --- a/prompttools/experiment/experiments/pinecone_experiment.py +++ b/prompttools/experiment/experiments/pinecone_experiment.py @@ -64,8 +64,8 @@ def __init__( # if os.getenv("DEBUG", default=False): # self.completion_fn = mock_chromadb_fn self.use_existing_index = use_existing_index - self.create_index_params = create_index_params if create_index_params else {} - self.data = data + self.create_index_params: dict = create_index_params if create_index_params else {} + self.data: list = data if data is not None else [] self.query_index_params = query_index_params if use_existing_index and create_index_params: raise RuntimeError("You can either use an existing collection or create a new one during the experiment.") From 87692686c8678be430cdf74c76e7e9577e2dee94 Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Mon, 18 Sep 2023 11:23:19 -0700 Subject: [PATCH 049/182] remove print statements --- prompttools/playground/data_loader.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/prompttools/playground/data_loader.py b/prompttools/playground/data_loader.py index 2a5d7d8a..241f895c 100644 --- a/prompttools/playground/data_loader.py +++ b/prompttools/playground/data_loader.py @@ -14,15 +14,12 @@ def render_prompts(templates, vars): - print(templates) - print(vars) prompts = [] for template in templates: for var_set in vars: environment = jinja2.Environment() jinja_template = environment.from_string(template) prompts.append(jinja_template.render(**var_set)) - print(prompts) return prompts From 3fa26d1985405f1be49285327c83c18404834c0d Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 20 Sep 2023 23:59:31 -0700 Subject: [PATCH 050/182] Adding Google Vertex Chat experiment --- .../google_vertex_chat_experiment.py | 119 ++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 prompttools/experiment/experiments/google_vertex_chat_experiment.py diff --git a/prompttools/experiment/experiments/google_vertex_chat_experiment.py b/prompttools/experiment/experiments/google_vertex_chat_experiment.py new file mode 100644 index 00000000..743a51d2 --- /dev/null +++ b/prompttools/experiment/experiments/google_vertex_chat_experiment.py @@ -0,0 +1,119 @@ +# Copyright (c) Hegel AI, Inc. +# All rights reserved. +# +# This source code's license can be found in the +# LICENSE file in the root directory of this source tree. + +try: + from vertexai.preview.language_models import ChatModel +except ImportError: + ChatModel = None + +from prompttools.selector.prompt_selector import PromptSelector +from prompttools.mock.mock import mock_palm_completion_fn +from .experiment import Experiment +from typing import Optional, Union, Iterable +import os +import copy + + +class GoogleVertexChatCompletionExperiment(Experiment): + r""" + This class defines an experiment for Google PaLM's generate text API. It accepts lists for each argument + passed into PaLM's API, then creates a cartesian product of those arguments, and gets results for each. + + Note: + - All arguments here should be a ``list``, even if you want to keep the argument frozen + (i.e. ``temperature=[1.0]``), because the experiment will try all possible combination + of the input arguments. + - You should set ``os.environ["GOOGLE_PALM_API_KEY"] = YOUR_KEY`` in order to connect with PaLM's API. + + Args: + model (list[str]): Which model to call, as a string or a ``types.Model`` (e.g. ``'models/text-bison-001'``). + + prompt (list[str]): Free-form input text given to the model. Given a prompt, the model will + generate text that completes the input text. + + temperature (list[float]): Controls the randomness of the output. Must be positive. + Typical values are in the range: ``[0.0, 1.0]``. Higher values produce a + more random and varied response. A temperature of zero will be deterministic. + + candidate_count (list[int]): The **maximum** number of generated response messages to return. + This value must be between ``[1, 8]``, inclusive. If unset, this will default to ``1``. + + max_output_tokens (list[int]): Maximum number of tokens to include in a candidate. Must be greater + than zero. If unset, will default to ``64``. + + top_k (list[float]): The API uses combined nucleus and top-k sampling. + ``top_k`` sets the maximum number of tokens to sample from on each step. + + top_p (list[float]): The API uses combined nucleus and top-k sampling. ``top_p`` configures the nucleus + sampling. It sets the maximum cumulative probability of tokens to sample from. + + safety_settings (list[Iterable[palm.types.SafetySettingDict]]): A list of unique ``types.SafetySetting`` + instances for blocking unsafe content. + + stop_sequences (list[Union[str, Iterable[str]]]): A set of up to 5 character sequences that will stop output + generation. If specified, the API will stop at the first appearance of a stop sequence. + """ + + def __init__( + self, + model: list[str], + prompt: list[str], + temperature: list[Optional[float]] = [None], + candidate_count: list[Optional[int]] = [None], + max_output_tokens: list[Optional[int]] = [None], + top_p: list[Optional[float]] = [None], + top_k: list[Optional[float]] = [None], + safety_settings: list[Optional[Iterable["palm.types.SafetySettingDict"]]] = [None], + stop_sequences: list[Union[str, Iterable[str]]] = [None], + ): + if ChatModel is None: + raise ModuleNotFoundError( + "Package `vertexai` is required to be installed to use Google Vertex API in this experiment." + "Please use `pip install google-cloud-aiplatform` to install the package" + ) + # if os.getenv("DEBUG", default=False): + # self.completion_fn = mock_palm_completion_fn() + # else: + # self.completion_fn = self.palm_completion_fn + # palm.configure(api_key=os.environ["GOOGLE_PALM_API_KEY"]) + + # If we are using a prompt selector, we need to + # render the prompts from the selector + if isinstance(prompt[0], PromptSelector): + prompt = [selector.for_palm() for selector in prompt] + else: + prompt = prompt + + self.all_args = dict( + model=model, + prompt=prompt, + temperature=temperature, + candidate_count=candidate_count, + max_output_tokens=max_output_tokens, + top_p=top_p, + top_k=top_k, + safety_settings=safety_settings, + stop_sequences=stop_sequences, + ) + super().__init__() + + def palm_completion_fn(self, **input_args): + chat_model = ChatModel.from_pretrained(input_args["model"]) + chat = chat_model.start_chat(input_args["context"], input_args["examples"]) + params = copy.copy(input_args) + del params["model"], params["context"], params["examples"] + return chat.send_message(input_args["messages"], **input_args) + + @staticmethod + def _extract_responses(completion_response) -> list[str]: + # `# completion_response.result` will return the top response + return [candidate["output"] for candidate in completion_response.candidates][0] + + # def _get_model_names(self): + # return [combo["model"] for combo in self.argument_combos] + # + # def _get_prompts(self): + # return [combo["prompt"] for combo in self.argument_combos] From 1f04003ce2047041e3d6abb7a1aa48d748a88be1 Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 21 Sep 2023 01:58:18 -0700 Subject: [PATCH 051/182] Adding Google Vertex Chat notebook example --- .../GoogleVertexChatExperiment.ipynb | 172 ++++++++++++++++++ .../google_vertex_chat_experiment.py | 92 +++++----- 2 files changed, 213 insertions(+), 51 deletions(-) create mode 100644 examples/notebooks/GoogleVertexChatExperiment.ipynb diff --git a/examples/notebooks/GoogleVertexChatExperiment.ipynb b/examples/notebooks/GoogleVertexChatExperiment.ipynb new file mode 100644 index 00000000..caaa7b7b --- /dev/null +++ b/examples/notebooks/GoogleVertexChatExperiment.ipynb @@ -0,0 +1,172 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Google Vertex Chat Experiment Example" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Installations" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# !pip install --quiet --force-reinstall prompttools" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Setup imports and API keys" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In order for the Google Vertex AI API to work, you must set up your Google aiplatform credentials (one example in the following cell) or execute this experiment on https://console.cloud.google.com/vertex-ai/." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# from google.cloud import aiplatform\n", + "\n", + "# aiplatform.init(\n", + "# project=project,\n", + "# location=location,\n", + "# experiment=experiment,\n", + "# staging_bucket=staging_bucket,\n", + "# credentials=credentials,\n", + "# encryption_spec_key_name=encryption_spec_key_name,\n", + "# service_account=service_account,\n", + "# )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once you succeed in setting up your credential, you should be able to execute the following cell without error." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from vertexai.preview.language_models import ChatModel, InputOutputTextPair\n", + "\n", + "chat_model = ChatModel.from_pretrained(\"chat-bison\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Then we'll import the relevant `prompttools` modules to setup our experiment." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "ExecuteTime": { + "end_time": "2023-07-28T21:15:15.360723Z", + "start_time": "2023-07-28T21:15:15.230441Z" + }, + "collapsed": true + }, + "source": [ + "## Run an experiment" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we create our test inputs. We can iterate over models (`\"chat-bison\"` in this case), context (equivalent of system message), message (equivalent of prompt). You can also experiment with configurations like temperature.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "from prompttools.experiment import GoogleVertexChatCompletionExperiment\n", + "\n", + "\n", + "model = [\"chat-bison\"]\n", + "\n", + "context = [\"You are a helpful assistant.\",\n", + " \"Answer the following question only if you know the answer or can make a well-informed guess; otherwise tell me you don't know it. In addition, explain your reasoning of your final answer.\"]\n", + "\n", + "message = [\n", + " \"Is 97 a prime number?\",\n", + " \"Is 17077 a prime number?\",\n", + "]\n", + "\n", + "experiment = GoogleVertexChatCompletionExperiment(model=model, message=message, context=context)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "experiment.run()\n", + "experiment.visualize()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Evaluate the model response" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Please reference other notebooks (such as Google PaLM 2, Anthropic) for detailed evaluation of the model's response." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/prompttools/experiment/experiments/google_vertex_chat_experiment.py b/prompttools/experiment/experiments/google_vertex_chat_experiment.py index 743a51d2..792af09a 100644 --- a/prompttools/experiment/experiments/google_vertex_chat_experiment.py +++ b/prompttools/experiment/experiments/google_vertex_chat_experiment.py @@ -5,42 +5,44 @@ # LICENSE file in the root directory of this source tree. try: - from vertexai.preview.language_models import ChatModel + from vertexai.preview.language_models import ChatModel, InputOutputTextPair except ImportError: ChatModel = None + InputOutputTextPair = None -from prompttools.selector.prompt_selector import PromptSelector -from prompttools.mock.mock import mock_palm_completion_fn from .experiment import Experiment -from typing import Optional, Union, Iterable -import os +from typing import Optional import copy class GoogleVertexChatCompletionExperiment(Experiment): r""" - This class defines an experiment for Google PaLM's generate text API. It accepts lists for each argument - passed into PaLM's API, then creates a cartesian product of those arguments, and gets results for each. + This class defines an experiment for Google Vertex AI's chat API. It accepts lists for each argument + passed into Vertex AI's API, then creates a cartesian product of those arguments, and gets results for each. Note: - All arguments here should be a ``list``, even if you want to keep the argument frozen (i.e. ``temperature=[1.0]``), because the experiment will try all possible combination of the input arguments. - - You should set ``os.environ["GOOGLE_PALM_API_KEY"] = YOUR_KEY`` in order to connect with PaLM's API. + - You need to set up your Google Vertex AI credentials properly before executing this experiment. One option + is to execute on Google Cloud's Colab. Args: model (list[str]): Which model to call, as a string or a ``types.Model`` (e.g. ``'models/text-bison-001'``). - prompt (list[str]): Free-form input text given to the model. Given a prompt, the model will - generate text that completes the input text. + message (list[str]): Message for the chat model to respond. + + context (list[str]): Context shapes how the model responds throughout the conversation. For example, + you can use context to specify words the model can or cannot use, + topics to focus on or avoid, or the response format or style. + + examples (list[list['InputOutputTextPair']]): Examples for the model to learn how to + respond to the conversation. temperature (list[float]): Controls the randomness of the output. Must be positive. Typical values are in the range: ``[0.0, 1.0]``. Higher values produce a more random and varied response. A temperature of zero will be deterministic. - candidate_count (list[int]): The **maximum** number of generated response messages to return. - This value must be between ``[1, 8]``, inclusive. If unset, this will default to ``1``. - max_output_tokens (list[int]): Maximum number of tokens to include in a candidate. Must be greater than zero. If unset, will default to ``64``. @@ -50,9 +52,6 @@ class GoogleVertexChatCompletionExperiment(Experiment): top_p (list[float]): The API uses combined nucleus and top-k sampling. ``top_p`` configures the nucleus sampling. It sets the maximum cumulative probability of tokens to sample from. - safety_settings (list[Iterable[palm.types.SafetySettingDict]]): A list of unique ``types.SafetySetting`` - instances for blocking unsafe content. - stop_sequences (list[Union[str, Iterable[str]]]): A set of up to 5 character sequences that will stop output generation. If specified, the API will stop at the first appearance of a stop sequence. """ @@ -60,60 +59,51 @@ class GoogleVertexChatCompletionExperiment(Experiment): def __init__( self, model: list[str], - prompt: list[str], + message: list[str], + context: list[Optional[str]] = [None], + examples: list[Optional[list[InputOutputTextPair]]] = [None], temperature: list[Optional[float]] = [None], - candidate_count: list[Optional[int]] = [None], max_output_tokens: list[Optional[int]] = [None], top_p: list[Optional[float]] = [None], - top_k: list[Optional[float]] = [None], - safety_settings: list[Optional[Iterable["palm.types.SafetySettingDict"]]] = [None], - stop_sequences: list[Union[str, Iterable[str]]] = [None], + top_k: list[Optional[int]] = [None], + stop_sequences: list[list[str]] = [None], ): if ChatModel is None: raise ModuleNotFoundError( "Package `vertexai` is required to be installed to use Google Vertex API in this experiment." "Please use `pip install google-cloud-aiplatform` to install the package" ) - # if os.getenv("DEBUG", default=False): - # self.completion_fn = mock_palm_completion_fn() - # else: - # self.completion_fn = self.palm_completion_fn - # palm.configure(api_key=os.environ["GOOGLE_PALM_API_KEY"]) - - # If we are using a prompt selector, we need to - # render the prompts from the selector - if isinstance(prompt[0], PromptSelector): - prompt = [selector.for_palm() for selector in prompt] - else: - prompt = prompt + + self.completion_fn = self.vertex_chat_completion_fn self.all_args = dict( model=model, - prompt=prompt, + message=message, + context=context, + examples=examples, temperature=temperature, - candidate_count=candidate_count, max_output_tokens=max_output_tokens, top_p=top_p, top_k=top_k, - safety_settings=safety_settings, stop_sequences=stop_sequences, ) super().__init__() - def palm_completion_fn(self, **input_args): - chat_model = ChatModel.from_pretrained(input_args["model"]) - chat = chat_model.start_chat(input_args["context"], input_args["examples"]) - params = copy.copy(input_args) - del params["model"], params["context"], params["examples"] - return chat.send_message(input_args["messages"], **input_args) + def vertex_chat_completion_fn(self, **input_args): + chat_model = ChatModel.from_pretrained(model_name=input_args["model"]) + message = input_args["message"] + params = copy.deepcopy(input_args) + del params["model"], params["message"] + chat = chat_model.start_chat(**params) + return chat.send_message(message) @staticmethod - def _extract_responses(completion_response) -> list[str]: - # `# completion_response.result` will return the top response - return [candidate["output"] for candidate in completion_response.candidates][0] - - # def _get_model_names(self): - # return [combo["model"] for combo in self.argument_combos] - # - # def _get_prompts(self): - # return [combo["prompt"] for combo in self.argument_combos] + def _extract_responses(response) -> list[str]: + # `response.text` will return the top response + return response.text + + def _get_model_names(self): + return [combo["model"] for combo in self.argument_combos] + + def _get_prompts(self): + return [combo["message"] for combo in self.argument_combos] From 922b532830332d2362cd4f298257e682af0d4a9b Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 21 Sep 2023 01:58:32 -0700 Subject: [PATCH 052/182] Adding Google Vertex Chat to README and doc --- README.md | 1 + docs/source/experiment.rst | 2 ++ examples/notebooks/README.md | 2 ++ prompttools/experiment/__init__.py | 2 ++ 4 files changed, 7 insertions(+) diff --git a/README.md b/README.md index 08e24ff1..acbfbddd 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,7 @@ LLMs - HuggingFace (Hub API, Inference Endpoints) - **Supported** - Anthropic - **Supported** - Google PaLM - **Supported** +- Google Vertex AI - **Supported** - Azure OpenAI Service - **Supported** - Replicate - **Supported** - Ollama - _In Progress_ diff --git a/docs/source/experiment.rst b/docs/source/experiment.rst index e7387610..a2983270 100644 --- a/docs/source/experiment.rst +++ b/docs/source/experiment.rst @@ -39,6 +39,8 @@ LLMs .. autoclass:: GooglePaLMCompletionExperiment +.. autoclass:: GoogleVertexChatCompletionExperiment + .. autoclass:: LlamaCppExperiment .. autoclass:: ReplicateExperiment diff --git a/examples/notebooks/README.md b/examples/notebooks/README.md index 6645bfc6..50587d77 100644 --- a/examples/notebooks/README.md +++ b/examples/notebooks/README.md @@ -16,6 +16,8 @@ have something to share. - [OpenAI Chat Experiment](OpenAIChatExperiment.ipynb) shows how you can experiment with OpenAI with different models and parameters. - [OpenAI Chat Function Experiment](OpenAIChatFunctionExperiment.ipynb) shows how you can experiment with OpenAI's function calling API. - [Anthropic Experiment](AnthropicExperiment.ipynb) shows how you can experiment with Anthropic Claude with different models and parameters. +- [Google PaLM 2 Text Completion](PaLM2Experiment.ipynb) + and [Google Vertex AI Chat Completion](GoogleVertexChatExperiment.ipynb) utilizes Google's LLM models. - [LLaMA Cpp Experiment](LlamaCppExperiment.ipynb) executes LLaMA locally with various parameters and see how it does. - [LLaMA Cpp Experiment](LlamaCppExperiment.ipynb) executes LLaMA locally with various parameters and see how it does. - [HuggingFace Hub](HuggingFaceHub.ipynb) compares different OSS models hosted on HuggingFace. diff --git a/prompttools/experiment/__init__.py b/prompttools/experiment/__init__.py index 1541e26d..70d8ca5d 100644 --- a/prompttools/experiment/__init__.py +++ b/prompttools/experiment/__init__.py @@ -11,6 +11,7 @@ from .experiments.anthropic_completion_experiment import AnthropicCompletionExperiment from .experiments.huggingface_hub_experiment import HuggingFaceHubExperiment from .experiments.google_palm_experiment import GooglePaLMCompletionExperiment +from .experiments.google_vertex_chat_experiment import GoogleVertexChatCompletionExperiment from .experiments.llama_cpp_experiment import LlamaCppExperiment from .experiments.chromadb_experiment import ChromaDBExperiment from .experiments.weaviate_experiment import WeaviateExperiment @@ -27,6 +28,7 @@ "ChromaDBExperiment", "Experiment", "GooglePaLMCompletionExperiment", + "GoogleVertexChatCompletionExperiment", "LanceDBExperiment", "LlamaCppExperiment", "HuggingFaceHubExperiment", From 3845245941ed173c82de8f5d4c82ccae2f0c7a35 Mon Sep 17 00:00:00 2001 From: Bryan Weber's alter ego <141435510+bweber-rebellion@users.noreply.github.com> Date: Mon, 25 Sep 2023 11:55:23 -0400 Subject: [PATCH 053/182] Fix a typo in experiment.rst (#91) * Fix a typo in experiment.rst * Escape the trailing space --- docs/source/experiment.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/experiment.rst b/docs/source/experiment.rst index a2983270..5229e777 100644 --- a/docs/source/experiment.rst +++ b/docs/source/experiment.rst @@ -6,14 +6,14 @@ Experiment There are two main abstractions used in the ``prompttools`` library: Experiments and Harnesses. Occasionally, you may want to use a harness, because it abstracts away more details. -An experiment is a low level abstraction that takes the cartesian product of possible inputs to +An experiment is a low level abstraction that takes the Cartesian product of possible inputs to an LLM API. For example, the ``OpenAIChatExperiment`` accepts lists of inputs for each parameter of the OpenAI Chat Completion API. Then, it constructs and asynchronously executes requests using those potential inputs. An example of using experiment is `here `_. There are two ways to initialize an experiment: - 1. Wrap your parameters in ``list``s and pass them into the ``__init__`` method. See each class's + 1. Wrap your parameters in ``list``\ s and pass them into the ``__init__`` method. See each class's method signature in the "Integrated Experiment APIs" section for details. 2. Define which parameters should be tested and which ones should be frozen in two dictionaries. Pass the dictionaries to the ``initialize`` method. See the ``classmethod initialize`` below for details. From 62377de9c2cb0c73e96563f214267ad92bd3658a Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 2 Oct 2023 17:46:12 -0700 Subject: [PATCH 054/182] Adding a new autoeval function that score the response based on the provided documents --- prompttools/utils/__init__.py | 2 + prompttools/utils/autoeval_with_docs.py | 72 +++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 prompttools/utils/autoeval_with_docs.py diff --git a/prompttools/utils/__init__.py b/prompttools/utils/__init__.py index 5a130b32..3f79503d 100644 --- a/prompttools/utils/__init__.py +++ b/prompttools/utils/__init__.py @@ -9,6 +9,7 @@ from .autoeval import autoeval_binary_scoring from .autoeval_from_expected import autoeval_from_expected_response from .autoeval_scoring import autoeval_scoring +from .autoeval_with_docs import autoeval_with_documents from .expected import compute_similarity_against_model from .ranking_correlation import ranking_correlation from .similarity import semantic_similarity @@ -20,6 +21,7 @@ "autoeval_binary_scoring", "autoeval_from_expected_response", "autoeval_scoring", + "autoeval_with_documents", "compute_similarity_against_model", "expected", "validate_json", diff --git a/prompttools/utils/autoeval_with_docs.py b/prompttools/utils/autoeval_with_docs.py new file mode 100644 index 00000000..f92d11db --- /dev/null +++ b/prompttools/utils/autoeval_with_docs.py @@ -0,0 +1,72 @@ +# Copyright (c) Hegel AI, Inc. +# All rights reserved. +# +# This source code's license can be found in the +# LICENSE file in the root directory of this source tree. + + +import os +import openai +import pandas.core.series +import jinja2 +from .error import PromptToolsUtilityError + + +EVALUATION_SYSTEM_PROMPT = """ +Using the provided documents, determine whether or not the response is accurate. +Your answer should be an integer rating from 0 to 10, with 0 being extremely inaccurate +and 10 being perfectly accurate. Only an integer should be returned in the response. +""" + +EVALUATION_USER_TEMPLATE = """ +DOCUMENTS: +{{documents}} + +RESPONSE: {{response}} +ANSWER: +""" + + +def _get_messages(documents: list[str], response: str): + environment = jinja2.Environment() + template = environment.from_string(EVALUATION_USER_TEMPLATE) + user_message = template.render({"documents": "\n".join(documents), "response": response}) + return [ + {"role": "system", "content": EVALUATION_SYSTEM_PROMPT}, + {"role": "user", "content": user_message}, + ] + + +def compute(documents: list[str], response: str, model: str = "gpt-4") -> float: + r""" + Uses a high quality chat model, like GPT-4, to automatically evaluate a given + prompt/response pair. Outputs can be 0 or 1. + + Args: + documents (list[str]): documents to provide relevant context for the model to judge + model (str): The OpenAI chat model to use for generating an expected response. + Defaults to GPT-4. + """ + if not os.environ["OPENAI_API_KEY"]: + raise PromptToolsUtilityError + evaluation = openai.ChatCompletion.create(model=model, messages=_get_messages(documents, response)) + score_text = evaluation["choices"][0]["message"]["content"] + return int(score_text) + + +def autoeval_with_documents( + row: pandas.core.series.Series, + documents: list[str], + response_column_name: str = "response", +) -> float: + r""" + Given a list of documents, score whether the model response is accurate with "gpt-4" as the judge, + returning an integer score from 0 to 10. + + Args: + row (pandas.core.series.Series): A row of data from the full DataFrame (including input, model response, other + metrics, etc). + documents (list[str]): documents to provide relevant context for the model to judge + response_column_name (str): name of the column that contains the model's response, defaults to ``"response"`` + """ + return compute(documents, row[response_column_name]) From 078c27695d0ce17bb2962aa106af2375bc640e03 Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 2 Oct 2023 17:46:56 -0700 Subject: [PATCH 055/182] Adding the new evaluation to documentation --- docs/source/utils.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/source/utils.rst b/docs/source/utils.rst index 0a5c7bf6..05ca2a26 100644 --- a/docs/source/utils.rst +++ b/docs/source/utils.rst @@ -10,6 +10,8 @@ They can also be used with ``prompttest`` for be part of your CI/CD system. .. autofunction:: prompttools.utils.autoeval_scoring +.. autofunction:: prompttools.utils.autoeval_with_documents + .. autofunction:: prompttools.utils.compute_similarity_against_model .. autofunction:: prompttools.utils.ranking_correlation From 0206e8cc85e9f4bcc9fada5538601144828fd4f9 Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 2 Oct 2023 17:47:21 -0700 Subject: [PATCH 056/182] Improving RAG harness to display relevant metadata in the final table --- prompttools/harness/rag_harness.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/prompttools/harness/rag_harness.py b/prompttools/harness/rag_harness.py index 98eea5da..c955c748 100644 --- a/prompttools/harness/rag_harness.py +++ b/prompttools/harness/rag_harness.py @@ -42,7 +42,7 @@ def _generate_doc_prompt(documents: list[str], prompt_or_msg: Union[str, list[di if not is_chat: return doc_prompt else: - new_msg = copy.copy(prompt_or_msg) + new_msg = copy.deepcopy(prompt_or_msg) new_msg[-1]["content"] = doc_prompt return new_msg @@ -59,6 +59,9 @@ class RetrievalAugmentedGenerationExperimentationHarness(ExperimentationHarness) llm_arguments (dict[str, list]): Dictionary of arguments for the LLM. extract_document_fn (Callable): A function, when given a row of results from the vector DB experiment, extract the relevant documents (``list[str]``) that will be inserted into the template. + extract_query_metadata_fn (Callable): A function, when given a row of results from the vector DB experiment, + extract the relevant metadata and return a ``str`` that will be shown for visualization in the final + result table prompt_template (str): A ``jinja``-styled templates, where documents and prompt will be inserted. """ @@ -68,6 +71,7 @@ def __init__( llm_experiment_cls: Type[Experiment], llm_arguments: dict, extract_document_fn: Callable, + extract_query_metadata_fn: Callable, prompt_template: str = DOC_PROMPT_TEMPLATE, ): self.vector_db_experiment = vector_db_experiment @@ -75,6 +79,7 @@ def __init__( self.experiment: Optional[Experiment] = None self.llm_arguments = copy.copy(llm_arguments) self.extract_document_fn = extract_document_fn + self.extract_query_metadata_fn = extract_query_metadata_fn self.prompt_templates = prompt_template def run(self) -> None: @@ -100,12 +105,20 @@ def run(self) -> None: # Run the LLM experiment self.experiment.run() - # TODO: We can clean up results for visualization, ideally show these columns ("top doc ids", "prompt") - # Right now it is displaying the fully augmented prompt for every row, which take up too much space - # Note: Permutation ordering (doc_list1, prompt, then other arguments) self.partial_df = self.experiment.partial_df self.full_df = self.experiment.full_df + # Add "query text" (i.e. the prompt used to retrieve documents from the vector DB) + # to the final results table here + retrieval_n_rows = len(self.vector_db_experiment.full_df) + query_metadata = [ + self.extract_query_metadata_fn(row) for _, row in self.vector_db_experiment.full_df.iterrows() + ] + final_n_row = len(self.full_df) + + self.partial_df["retrieval_metadata"] = [query_metadata[i % retrieval_n_rows] for i in range(final_n_row)] + self.full_df["retrieval_metadata"] = self.partial_df["retrieval_metadata"] + def visualize(self) -> None: if self.experiment is None: self.run() From 7b6b82bb91bdc49c8cedbd6e25cf3c15dbafec89 Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 2 Oct 2023 17:47:40 -0700 Subject: [PATCH 057/182] Significantly improving the RAG example --- .../RetrievalAugmentedGeneration.ipynb | 825 +++++++++++------- 1 file changed, 493 insertions(+), 332 deletions(-) diff --git a/examples/notebooks/vectordb_experiments/RetrievalAugmentedGeneration.ipynb b/examples/notebooks/vectordb_experiments/RetrievalAugmentedGeneration.ipynb index 4122bd87..afbf6b0f 100644 --- a/examples/notebooks/vectordb_experiments/RetrievalAugmentedGeneration.ipynb +++ b/examples/notebooks/vectordb_experiments/RetrievalAugmentedGeneration.ipynb @@ -7,6 +7,15 @@ "# Retrieval Augmented Generation Experiment Example" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Retrieval-augmented generation (RAG) is a technique that improves the quality of large language model (LLM) outputs by grounding the model on external sources of knowledge. RAG works by first retrieving a set of relevant documents from a knowledge base, such as documents stored in a vector database, in response to a given prompt. The retrieved documents are then concatenated with the original prompt and fed to the LLM, which uses them to generate a more informed and accurate response.\n", + "\n", + "As seen from other notebook examples, PromptTools enables you test various LLMs and vector databases independently. For [example](https://github.com/hegelai/prompttools/blob/main/examples/notebooks/vectordb_experiments/ChromaDBExperiment.ipynb), you can provide a prompt to `ChromaDB` to see if the list of returned documents are sufficiently relevant. In this example, we combine the evaluation of vector databases and LLMs and evaluate the final outputs of the whole process." + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -16,8 +25,10 @@ }, { "cell_type": "code", - "execution_count": 1, - "metadata": {}, + "execution_count": null, + "metadata": { + "is_executing": true + }, "outputs": [], "source": [ "# !pip install --quiet --force-reinstall prompttools" @@ -39,7 +50,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -56,7 +67,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -69,25 +80,25 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Setup data for ChromaDB Experiment" + "### Set up data for retrieval with a VectorDB Experiment" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "There are two main steps in Retrieval Augmented Generation. We will start with the retrieval step.\n", + "There are two main steps in Retrieval Augmented Generation. We will start with the first step - retrieval.\n", "\n", - "First, we will setup a vector database experiment. We will insert documents the DB with different embedding functions (vectorizer), and query the results.\n", + "We will set up a vector database experiment. We will insert documents the DB with different embedding functions (vectorizer), and query the results.\n", "\n", - "For this example, we will use ChromaDB, but you use other vector databases as well.\n", + "For this example, we will use ChromaDB, but you use other vector databases (e.g. Weaviate, LanceDB, Qdrant) as well.\n", "\n", "For detailed explanation about each step, have a look at the ChromaDB example notebook." ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -97,9 +108,7 @@ "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/torch/utils/tensorboard/__init__.py:4: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.\n", " if not hasattr(tensorboard, \"__version__\") or LooseVersion(\n", "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/torch/utils/tensorboard/__init__.py:6: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.\n", - " ) < LooseVersion(\"1.15\"):\n", - "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/tensorflow/python/debug/cli/debugger_cli_common.py:19: DeprecationWarning: module 'sre_constants' is deprecated\n", - " import sre_constants\n" + " ) < LooseVersion(\"1.15\"):\n" ] } ], @@ -127,13 +136,17 @@ "\n", "# Documents that will be added into the database\n", "add_to_collection_params = {\n", - " \"documents\": [\"This is a document\", \"This is another document\", \"This is the document.\"],\n", + " \"documents\": [\"Mickey Mouse is the 50th president.\",\n", + " \"The 51st president is Snoopy.\",\n", + " \"Batman became the 52th president briefly after.\"],\n", " \"metadatas\": [{\"source\": \"my_source\"}, {\"source\": \"my_source\"}, {\"source\": \"my_source\"}],\n", " \"ids\": [\"id1\", \"id2\", \"id3\"],\n", "}\n", "\n", "# Our test queries\n", - "query_collection_params = {\"query_texts\": [\"This is a another query document\"]} #[\"This is a query document\", \"This is a another query document\"]}\n", + "query_collection_params = {\"query_texts\": [\"Who was the 50th president?\", \"Who was the 51st president?\"],\n", + " \"n_results\": [1], # You can have the model returns more results if you'd like\n", + " }\n", "\n", "\n", "# Set up the experiment\n", @@ -157,17 +170,15 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "WARNING:chromadb.segment.impl.vector.local_hnsw:Number of requested results 10 is greater than number of elements in index 3, updating n_results = 3\n", "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/chromadb/utils/read_write_lock.py:29: DeprecationWarning: notifyAll() is deprecated, use notify_all() instead\n", - " self._read_ready.notifyAll()\n", - "WARNING:chromadb.segment.impl.vector.local_hnsw:Number of requested results 10 is greater than number of elements in index 3, updating n_results = 3\n" + " self._read_ready.notifyAll()\n" ] }, { @@ -191,6 +202,7 @@ " \n", " \n", " \n", + " query_texts\n", " embed_fn\n", " top doc ids\n", " distances\n", @@ -201,40 +213,56 @@ " \n", " \n", " 0\n", + " Who was the 50th president?\n", " paraphrase-MiniLM-L3-v2\n", - " [id2, id3, id1]\n", - " [13.375584602355957, 16.815608978271484, 16.913410186767578]\n", - " [This is another document, This is the document., This is a document]\n", - " 0.008317\n", + " [id2]\n", + " [21.199106216430664]\n", + " [The 51st president is Snoopy.]\n", + " 0.007107\n", " \n", " \n", " 1\n", + " Who was the 51st president?\n", + " paraphrase-MiniLM-L3-v2\n", + " [id2]\n", + " [13.693190574645996]\n", + " [The 51st president is Snoopy.]\n", + " 0.005465\n", + " \n", + " \n", + " 2\n", + " Who was the 50th president?\n", + " default\n", + " [id1]\n", + " [0.617713212966919]\n", + " [Mickey Mouse is the 50th president.]\n", + " 0.019721\n", + " \n", + " \n", + " 3\n", + " Who was the 51st president?\n", " default\n", - " [id2, id1, id3]\n", - " [0.7673601508140564, 0.8709302544593811, 0.9072309732437134]\n", - " [This is another document, This is a document, This is the document.]\n", - " 0.022273\n", + " [id2]\n", + " [0.6116843819618225]\n", + " [The 51st president is Snoopy.]\n", + " 0.019985\n", " \n", " \n", "\n", "" ], "text/plain": [ - " embed_fn top doc ids \\\n", - "0 paraphrase-MiniLM-L3-v2 [id2, id3, id1] \n", - "1 default [id2, id1, id3] \n", - "\n", - " distances \\\n", - "0 [13.375584602355957, 16.815608978271484, 16.913410186767578] \n", - "1 [0.7673601508140564, 0.8709302544593811, 0.9072309732437134] \n", - "\n", - " documents \\\n", - "0 [This is another document, This is the document., This is a document] \n", - "1 [This is another document, This is a document, This is the document.] \n", - "\n", - " latency \n", - "0 0.008317 \n", - "1 0.022273 " + " query_texts embed_fn top doc ids \\\n", + "0 Who was the 50th president? paraphrase-MiniLM-L3-v2 [id2] \n", + "1 Who was the 51st president? paraphrase-MiniLM-L3-v2 [id2] \n", + "2 Who was the 50th president? default [id1] \n", + "3 Who was the 51st president? default [id2] \n", + "\n", + " distances documents latency \n", + "0 [21.199106216430664] [The 51st president is Snoopy.] 0.007107 \n", + "1 [13.693190574645996] [The 51st president is Snoopy.] 0.005465 \n", + "2 [0.617713212966919] [Mickey Mouse is the 50th president.] 0.019721 \n", + "3 [0.6116843819618225] [The 51st president is Snoopy.] 0.019985 " ] }, "metadata": {}, @@ -245,6 +273,17 @@ "vdb_experiment.visualize()" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice how the first embedding function returns \"The 51st president is Snoopy\" for both queries. This inaccuracy is going to cause problem as we pass the documents into the LLM, because it will not have the right context to answer questions.\n", + "\n", + "At this point, you have results from the retrieval step. If you wish to evaluate how relevant the retrieved documents are, you can. The [ChromaDB notebook example](https://github.com/hegelai/prompttools/blob/main/examples/notebooks/vectordb_experiments/ChromaDBExperiment.ipynb) shows you how you may do that. We will skip that here for brevity.\n", + "\n", + "It is often worthwhile to independently evaluate the retrieval step." + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -267,18 +306,18 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "These are the arguments we will use for our LLM experiment `OpenAICompletionExperiment`. For an example with `OpenAIChatExperiment` (that uses `gpt-3.5-turbo`, scroll further below)." + "These are the arguments we will use for our LLM experiment `OpenAICompletionExperiment`. For an example with `OpenAIChatExperiment` (that uses `gpt-3.5-turbo`, scroll further below).\n" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "models = [\"babbage-002\"] # If you want to use \"gpt-3,5-turbo\", look further below for an example\n", - "prompts = [\"What happened on 01/01/2025?\", \"Who is the 50th president?\"]\n", - "temperatures = [0.0, 1.0]\n", + "prompts = [\"Who is the 50th president?\", \"Who is the 51st president?\"]\n", + "temperatures = [1.0] # You can test multiple temperate or other parameters as wel\n", "# You can add more parameters that you'd like to test here.\n", "\n", "llm_arguments = {\"model\": models, \"prompt\": prompts, \"temperature\": temperatures}" @@ -288,17 +327,23 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "This function extracts the list of documents from each row of the vector DB experiment result." + "We define two functions:\n", + "1. Extracts the list of documents from each row of the vector DB experiment result. These lists will be passed to the LLM during the generation process.\n", + "2. Generate a string of relevant metadata based on the row. This will be used later for visualization." ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "def _extract_doc_from_row(row: 'pandas.core.series.Series'):\n", - " return row['documents']" + " return row['documents']\n", + "\n", + "\n", + "def _extract_query_metadata_from_row(row: 'pandas.core.series.Series'):\n", + " return f\"emb_fn: {row['embed_fn']}, prompt: {row['query_texts']}\"" ] }, { @@ -310,7 +355,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -319,22 +364,21 @@ " llm_experiment_cls = OpenAICompletionExperiment,\n", " llm_arguments = llm_arguments,\n", " extract_document_fn = _extract_doc_from_row,\n", + " extract_query_metadata_fn = _extract_query_metadata_from_row,\n", ")" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "WARNING:chromadb.segment.impl.vector.local_hnsw:Number of requested results 10 is greater than number of elements in index 3, updating n_results = 3\n", "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/chromadb/utils/read_write_lock.py:29: DeprecationWarning: notifyAll() is deprecated, use notify_all() instead\n", - " self._read_ready.notifyAll()\n", - "WARNING:chromadb.segment.impl.vector.local_hnsw:Number of requested results 10 is greater than number of elements in index 3, updating n_results = 3\n" + " self._read_ready.notifyAll()\n" ] }, { @@ -359,112 +403,112 @@ " \n", " \n", " prompt\n", - " temperature\n", " response\n", " latency\n", + " retrieval_metadata\n", " \n", " \n", " \n", " \n", " 0\n", - " Given these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWhat happened on 01/01/2025?\n", - " 0.0\n", - " \\nThis is a document\\nThis is a document\\nThis is a document\\n\n", - " 0.319791\n", + " Given these documents:\\nThe 51st president is Snoopy.\\n\\nWho is the 50th president?\n", + " 1 Like her bear.\\nview more\\n\\nLucas Cook is asking for help\n", + " 0.316887\n", + " emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 50th president?\n", " \n", " \n", " 1\n", - " Given these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWhat happened on 01/01/2025?\n", - " 1.0\n", - " \\n\\nReferences in the Notes on this topic contain only a text, not the entire\n", - " 0.195658\n", + " Given these documents:\\nThe 51st president is Snoopy.\\n\\nWho is the 51st president?\n", + " What is the photo tag?\\n\\nSnoopy's aversion to being called a\n", + " 0.200568\n", + " emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 51st president?\n", " \n", " \n", " 2\n", - " Given these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWho is the 50th president?\n", - " 0.0\n", - " \\nA. George Washington\\nB. Abraham Lincoln\\nC. John F.\n", - " 0.204074\n", + " Given these documents:\\nThe 51st president is Snoopy.\\n\\nWho is the 50th president?\n", + " [The 49th and 50th presidents] are Bobo.\\n\\nWho\n", + " 0.187423\n", + " emb_fn: default, prompt: Who was the 50th president?\n", " \n", " \n", " 3\n", - " Given these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWho is the 50th president?\n", - " 1.0\n", - " There are 31 documents.\\n 25\\nSimon is a 67-year-old\n", - " 0.193998\n", + " Given these documents:\\nThe 51st president is Snoopy.\\n\\nWho is the 51st president?\n", + " Tricky — and if you stick to the facts, you might figure it out\n", + " 0.186136\n", + " emb_fn: default, prompt: Who was the 51st president?\n", " \n", " \n", " 4\n", - " Given these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWhat happened on 01/01/2025?\n", - " 0.0\n", - " The first document is the same as the second document, but the second document is\n", - " 0.216036\n", + " Given these documents:\\nMickey Mouse is the 50th president.\\n\\nWho is the 50th president?\n", + " [/color]\\n\\nOkay. So that pretty much answers that.'\\n\\nNow, we just\n", + " 0.217461\n", + " emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 50th president?\n", " \n", " \n", " 5\n", - " Given these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWhat happened on 01/01/2025?\n", - " 1.0\n", - " Let's STO(1) see.\\n```\\nAssetWare::STO\n", - " 0.201545\n", + " Given these documents:\\nMickey Mouse is the 50th president.\\n\\nWho is the 51st president?\n", + " To get answers to these questions and others like it, Disney has produced a historical\n", + " 0.192069\n", + " emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 51st president?\n", " \n", " \n", " 6\n", - " Given these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWho is the 50th president?\n", - " 0.0\n", - " (A) The 50th president is the 50th president is the\n", - " 0.202507\n", + " Given these documents:\\nThe 51st president is Snoopy.\\n\\nWho is the 50th president?\n", + " See the answer with this poem.\\nCorrect answer is Ronald Reagan \\n\\nWhich 200\n", + " 0.182476\n", + " emb_fn: default, prompt: Who was the 50th president?\n", " \n", " \n", " 7\n", - " Given these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWho is the 50th president?\n", - " 1.0\n", - " The documents say 50th is President George, the document that George Bush\n", - " 0.196210\n", + " Given these documents:\\nThe 51st president is Snoopy.\\n\\nWho is the 51st president?\n", + " \\nThe 51st president thereby ceased to be president when he wrote the document\n", + " 0.193127\n", + " emb_fn: default, prompt: Who was the 51st president?\n", " \n", " \n", "\n", "" ], "text/plain": [ - " prompt \\\n", - "0 Given these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWhat happened on 01/01/2025? \n", - "1 Given these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWhat happened on 01/01/2025? \n", - "2 Given these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWho is the 50th president? \n", - "3 Given these documents:\\nThis is another document\\nThis is the document.\\nThis is a document\\n\\nWho is the 50th president? \n", - "4 Given these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWhat happened on 01/01/2025? \n", - "5 Given these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWhat happened on 01/01/2025? \n", - "6 Given these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWho is the 50th president? \n", - "7 Given these documents:\\nThis is another document\\nThis is a document\\nThis is the document.\\n\\nWho is the 50th president? \n", - "\n", - " temperature \\\n", - "0 0.0 \n", - "1 1.0 \n", - "2 0.0 \n", - "3 1.0 \n", - "4 0.0 \n", - "5 1.0 \n", - "6 0.0 \n", - "7 1.0 \n", - "\n", - " response \\\n", - "0 \\nThis is a document\\nThis is a document\\nThis is a document\\n \n", - "1 \\n\\nReferences in the Notes on this topic contain only a text, not the entire \n", - "2 \\nA. George Washington\\nB. Abraham Lincoln\\nC. John F. \n", - "3 There are 31 documents.\\n 25\\nSimon is a 67-year-old \n", - "4 The first document is the same as the second document, but the second document is \n", - "5 Let's STO(1) see.\\n```\\nAssetWare::STO \n", - "6 (A) The 50th president is the 50th president is the \n", - "7 The documents say 50th is President George, the document that George Bush \n", - "\n", - " latency \n", - "0 0.319791 \n", - "1 0.195658 \n", - "2 0.204074 \n", - "3 0.193998 \n", - "4 0.216036 \n", - "5 0.201545 \n", - "6 0.202507 \n", - "7 0.196210 " + " prompt \\\n", + "0 Given these documents:\\nThe 51st president is Snoopy.\\n\\nWho is the 50th president? \n", + "1 Given these documents:\\nThe 51st president is Snoopy.\\n\\nWho is the 51st president? \n", + "2 Given these documents:\\nThe 51st president is Snoopy.\\n\\nWho is the 50th president? \n", + "3 Given these documents:\\nThe 51st president is Snoopy.\\n\\nWho is the 51st president? \n", + "4 Given these documents:\\nMickey Mouse is the 50th president.\\n\\nWho is the 50th president? \n", + "5 Given these documents:\\nMickey Mouse is the 50th president.\\n\\nWho is the 51st president? \n", + "6 Given these documents:\\nThe 51st president is Snoopy.\\n\\nWho is the 50th president? \n", + "7 Given these documents:\\nThe 51st president is Snoopy.\\n\\nWho is the 51st president? \n", + "\n", + " response \\\n", + "0 1 Like her bear.\\nview more\\n\\nLucas Cook is asking for help \n", + "1 What is the photo tag?\\n\\nSnoopy's aversion to being called a \n", + "2 [The 49th and 50th presidents] are Bobo.\\n\\nWho \n", + "3 Tricky — and if you stick to the facts, you might figure it out \n", + "4 [/color]\\n\\nOkay. So that pretty much answers that.'\\n\\nNow, we just \n", + "5 To get answers to these questions and others like it, Disney has produced a historical \n", + "6 See the answer with this poem.\\nCorrect answer is Ronald Reagan \\n\\nWhich 200 \n", + "7  \\nThe 51st president thereby ceased to be president when he wrote the document \n", + "\n", + " latency \\\n", + "0 0.316887 \n", + "1 0.200568 \n", + "2 0.187423 \n", + "3 0.186136 \n", + "4 0.217461 \n", + "5 0.192069 \n", + "6 0.182476 \n", + "7 0.193127 \n", + "\n", + " retrieval_metadata \n", + "0 emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 50th president? \n", + "1 emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 51st president? \n", + "2 emb_fn: default, prompt: Who was the 50th president? \n", + "3 emb_fn: default, prompt: Who was the 51st president? \n", + "4 emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 50th president? \n", + "5 emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 51st president? \n", + "6 emb_fn: default, prompt: Who was the 50th president? \n", + "7 emb_fn: default, prompt: Who was the 51st president? " ] }, "metadata": {}, @@ -480,12 +524,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "You can also do the same thing with a LLM chat model, such as GPT-3.5-turbo." + "As you can see, the `\"babbage-002\"` is not very good despite having the right documents/context. We will use GPT-3.5 next." ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -497,10 +541,10 @@ " ],\n", " [\n", " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", - " {\"role\": \"user\", \"content\": \"What happened on 01/01/2025?\"},\n", + " {\"role\": \"user\", \"content\": \"Who was the 51st president?\"},\n", " ]\n", "]\n", - "temperatures = [0.0, 1.0]\n", + "temperatures = [1.0] # You can test multiple temperate or other parameters as wel\n", "# You can add more parameters that you'd like to test here.\n", "\n", "llm_chat_arguments = {\"model\": chat_models, \"messages\": messages, \"temperature\": temperatures}" @@ -508,17 +552,15 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "WARNING:chromadb.segment.impl.vector.local_hnsw:Number of requested results 10 is greater than number of elements in index 3, updating n_results = 3\n", "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/chromadb/utils/read_write_lock.py:29: DeprecationWarning: notifyAll() is deprecated, use notify_all() instead\n", - " self._read_ready.notifyAll()\n", - "WARNING:chromadb.segment.impl.vector.local_hnsw:Number of requested results 10 is greater than number of elements in index 3, updating n_results = 3\n" + " self._read_ready.notifyAll()\n" ] }, { @@ -542,273 +584,161 @@ " \n", " \n", " \n", - " temperature\n", " messages\n", " response\n", " latency\n", + " retrieval_metadata\n", " \n", " \n", " \n", " \n", " 0\n", - " 0.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", - "This is another document\n", - "This is a document\n", - "This is the document.\n", - "\n", - "Given these documents:\n", - "This is another document\n", - "This is the document.\n", - "This is a document\n", + "The 51st president is Snoopy.\n", "\n", "Who was the 50th president?'}]\n", - " As of my knowledge, there have been 46 presidents of the United States. Therefore, there is no 50th president.\n", - " 1.649850\n", + " Based on the given document that states \"The 51st president is Snoopy,\" we can infer that the 50th president remains unknown or unspecified.\n", + " 0.869082\n", + " emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 50th president?\n", " \n", " \n", " 1\n", - " 1.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", - "This is another document\n", - "This is a document\n", - "This is the document.\n", - "\n", - "Given these documents:\n", - "This is another document\n", - "This is the document.\n", - "This is a document\n", + "The 51st president is Snoopy.\n", "\n", - "Who was the 50th president?'}]\n", - " As of my knowledge, there have only been 46 presidents of the United States, with the current president being Joe Biden. Therefore, there has not been a 50th president yet.\n", - " 1.842281\n", + "Who was the 51st president?'}]\n", + " According to the given document, the 51st president was Snoopy.\n", + " 0.572129\n", + " emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 51st president?\n", " \n", " \n", " 2\n", - " 0.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", - "This is another document\n", - "This is a document\n", - "This is the document.\n", - "\n", - "Given these documents:\n", - "This is another document\n", - "This is the document.\n", - "This is a document\n", + "The 51st president is Snoopy.\n", "\n", - "What happened on 01/01/2025?'}]\n", - " Based on the given information, there is no mention of any events or activities that occurred on 01/01/2025.\n", - " 1.428515\n", + "Who was the 50th president?'}]\n", + " Based on the information provided, it is not explicitly stated who the 50th president was.\n", + " 0.464698\n", + " emb_fn: default, prompt: Who was the 50th president?\n", " \n", " \n", " 3\n", - " 1.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", - "This is another document\n", - "This is a document\n", - "This is the document.\n", + "The 51st president is Snoopy.\n", "\n", - "Given these documents:\n", - "This is another document\n", - "This is the document.\n", - "This is a document\n", - "\n", - "What happened on 01/01/2025?'}]\n", - " Based on the given information, we do not have any specific information about what happened on 01/01/2025. It is not mentioned in the provided documents.\n", - " 1.734258\n", + "Who was the 51st president?'}]\n", + " According to the information provided, the 51st president is Snoopy.\n", + " 0.439752\n", + " emb_fn: default, prompt: Who was the 51st president?\n", " \n", " \n", " 4\n", - " 0.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", - "This is another document\n", - "This is a document\n", - "This is the document.\n", - "\n", - "Given these documents:\n", - "This is another document\n", - "This is the document.\n", - "This is a document\n", + "Mickey Mouse is the 50th president.\n", "\n", "Who was the 50th president?'}]\n", - " As of my knowledge, there have been 46 presidents of the United States. Therefore, there is no 50th president.\n", - " 1.443996\n", + " Based on the given document, Mickey Mouse is stated as the 50th president. However, I should note that Mickey Mouse is a fictional character and not an actual president in real life.\n", + " 0.995162\n", + " emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 50th president?\n", " \n", " \n", " 5\n", - " 1.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", - "This is another document\n", - "This is a document\n", - "This is the document.\n", - "\n", - "Given these documents:\n", - "This is another document\n", - "This is the document.\n", - "This is a document\n", + "Mickey Mouse is the 50th president.\n", "\n", - "Who was the 50th president?'}]\n", - " There is currently no 50th president as there have only been 46 presidents in the United States as of October 2021.\n", - " 1.351932\n", + "Who was the 51st president?'}]\n", + " Based on the information given, I cannot determine who the 51st president was.\n", + " 0.383972\n", + " emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 51st president?\n", " \n", " \n", " 6\n", - " 0.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", - "This is another document\n", - "This is a document\n", - "This is the document.\n", - "\n", - "Given these documents:\n", - "This is another document\n", - "This is the document.\n", - "This is a document\n", + "The 51st president is Snoopy.\n", "\n", - "What happened on 01/01/2025?'}]\n", - " Based on the given documents, there is no information about what happened on 01/01/2025.\n", - " 1.207891\n", + "Who was the 50th president?'}]\n", + " Based on the given information, the 50th president is not mentioned in the documents provided.\n", + " 0.540173\n", + " emb_fn: default, prompt: Who was the 50th president?\n", " \n", " \n", " 7\n", - " 1.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", - "This is another document\n", - "This is a document\n", - "This is the document.\n", + "The 51st president is Snoopy.\n", "\n", - "Given these documents:\n", - "This is another document\n", - "This is the document.\n", - "This is a document\n", - "\n", - "What happened on 01/01/2025?'}]\n", - " Based on the given information, there is no mention of any events or activities that occurred on January 1, 2025.\n", - " 1.534629\n", + "Who was the 51st president?'}]\n", + " According to the given document, the 51st president is Snoopy.\n", + " 0.716542\n", + " emb_fn: default, prompt: Who was the 51st president?\n", " \n", " \n", "\n", "" ], "text/plain": [ - " temperature \\\n", - "0 0.0 \n", - "1 1.0 \n", - "2 0.0 \n", - "3 1.0 \n", - "4 0.0 \n", - "5 1.0 \n", - "6 0.0 \n", - "7 1.0 \n", - "\n", - " messages \\\n", + " messages \\\n", "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", - "This is another document\n", - "This is a document\n", - "This is the document.\n", - "\n", - "Given these documents:\n", - "This is another document\n", - "This is the document.\n", - "This is a document\n", + "The 51st president is Snoopy.\n", "\n", - "Who was the 50th president?'}] \n", + "Who was the 50th president?'}] \n", "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", - "This is another document\n", - "This is a document\n", - "This is the document.\n", - "\n", - "Given these documents:\n", - "This is another document\n", - "This is the document.\n", - "This is a document\n", + "The 51st president is Snoopy.\n", "\n", - "Who was the 50th president?'}] \n", + "Who was the 51st president?'}] \n", "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", - "This is another document\n", - "This is a document\n", - "This is the document.\n", + "The 51st president is Snoopy.\n", "\n", - "Given these documents:\n", - "This is another document\n", - "This is the document.\n", - "This is a document\n", - "\n", - "What happened on 01/01/2025?'}] \n", + "Who was the 50th president?'}] \n", "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", - "This is another document\n", - "This is a document\n", - "This is the document.\n", - "\n", - "Given these documents:\n", - "This is another document\n", - "This is the document.\n", - "This is a document\n", + "The 51st president is Snoopy.\n", "\n", - "What happened on 01/01/2025?'}] \n", + "Who was the 51st president?'}] \n", "4 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", - "This is another document\n", - "This is a document\n", - "This is the document.\n", - "\n", - "Given these documents:\n", - "This is another document\n", - "This is the document.\n", - "This is a document\n", + "Mickey Mouse is the 50th president.\n", "\n", - "Who was the 50th president?'}] \n", + "Who was the 50th president?'}] \n", "5 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", - "This is another document\n", - "This is a document\n", - "This is the document.\n", + "Mickey Mouse is the 50th president.\n", "\n", - "Given these documents:\n", - "This is another document\n", - "This is the document.\n", - "This is a document\n", - "\n", - "Who was the 50th president?'}] \n", + "Who was the 51st president?'}] \n", "6 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", - "This is another document\n", - "This is a document\n", - "This is the document.\n", - "\n", - "Given these documents:\n", - "This is another document\n", - "This is the document.\n", - "This is a document\n", + "The 51st president is Snoopy.\n", "\n", - "What happened on 01/01/2025?'}] \n", + "Who was the 50th president?'}] \n", "7 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", - "This is another document\n", - "This is a document\n", - "This is the document.\n", - "\n", - "Given these documents:\n", - "This is another document\n", - "This is the document.\n", - "This is a document\n", - "\n", - "What happened on 01/01/2025?'}] \n", - "\n", - " response \\\n", - "0 As of my knowledge, there have been 46 presidents of the United States. Therefore, there is no 50th president. \n", - "1 As of my knowledge, there have only been 46 presidents of the United States, with the current president being Joe Biden. Therefore, there has not been a 50th president yet. \n", - "2 Based on the given information, there is no mention of any events or activities that occurred on 01/01/2025. \n", - "3 Based on the given information, we do not have any specific information about what happened on 01/01/2025. It is not mentioned in the provided documents. \n", - "4 As of my knowledge, there have been 46 presidents of the United States. Therefore, there is no 50th president. \n", - "5 There is currently no 50th president as there have only been 46 presidents in the United States as of October 2021. \n", - "6 Based on the given documents, there is no information about what happened on 01/01/2025. \n", - "7 Based on the given information, there is no mention of any events or activities that occurred on January 1, 2025. \n", - "\n", - " latency \n", - "0 1.649850 \n", - "1 1.842281 \n", - "2 1.428515 \n", - "3 1.734258 \n", - "4 1.443996 \n", - "5 1.351932 \n", - "6 1.207891 \n", - "7 1.534629 " + "The 51st president is Snoopy.\n", + "\n", + "Who was the 51st president?'}] \n", + "\n", + " response \\\n", + "0 Based on the given document that states \"The 51st president is Snoopy,\" we can infer that the 50th president remains unknown or unspecified. \n", + "1 According to the given document, the 51st president was Snoopy. \n", + "2 Based on the information provided, it is not explicitly stated who the 50th president was. \n", + "3 According to the information provided, the 51st president is Snoopy. \n", + "4 Based on the given document, Mickey Mouse is stated as the 50th president. However, I should note that Mickey Mouse is a fictional character and not an actual president in real life. \n", + "5 Based on the information given, I cannot determine who the 51st president was. \n", + "6 Based on the given information, the 50th president is not mentioned in the documents provided. \n", + "7 According to the given document, the 51st president is Snoopy. \n", + "\n", + " latency \\\n", + "0 0.869082 \n", + "1 0.572129 \n", + "2 0.464698 \n", + "3 0.439752 \n", + "4 0.995162 \n", + "5 0.383972 \n", + "6 0.540173 \n", + "7 0.716542 \n", + "\n", + " retrieval_metadata \n", + "0 emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 50th president? \n", + "1 emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 51st president? \n", + "2 emb_fn: default, prompt: Who was the 50th president? \n", + "3 emb_fn: default, prompt: Who was the 51st president? \n", + "4 emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 50th president? \n", + "5 emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 51st president? \n", + "6 emb_fn: default, prompt: Who was the 50th president? \n", + "7 emb_fn: default, prompt: Who was the 51st president? " ] }, "metadata": {}, @@ -821,12 +751,243 @@ " llm_experiment_cls = OpenAIChatExperiment,\n", " llm_arguments = llm_chat_arguments,\n", " extract_document_fn = _extract_doc_from_row,\n", + " extract_query_metadata_fn = _extract_query_metadata_from_row,\n", ")\n", "\n", "rag_experiment_2.run()\n", "rag_experiment_2.visualize()" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The results from GPT-3.5 looks much better, but some answers are wrong/missing because the retrieval step didn't get the right document. Let's automatically evaluate all the final responses." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Evaluate the model response" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To evaluate the results, you can either define your own evaluation function or use a built-in one provided by our library.\n", + "\n", + "In this case, we will use the built-in `autoeval_with_documents`. Given a list of documents, it will score whether the model response is accurate with \"gpt-4\" as the judge, returning an integer score from 0 to 10.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
messagesresponselatencyretrieval_metadataScore
0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "The 51st president is Snoopy.\n", + "\n", + "Who was the 50th president?'}]Based on the given document that states \"The 51st president is Snoopy,\" we can infer that the 50th president remains unknown or unspecified.0.869082emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 50th president?0
1[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "The 51st president is Snoopy.\n", + "\n", + "Who was the 51st president?'}]According to the given document, the 51st president was Snoopy.0.572129emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 51st president?10
2[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "The 51st president is Snoopy.\n", + "\n", + "Who was the 50th president?'}]Based on the information provided, it is not explicitly stated who the 50th president was.0.464698emb_fn: default, prompt: Who was the 50th president?0
3[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "The 51st president is Snoopy.\n", + "\n", + "Who was the 51st president?'}]According to the information provided, the 51st president is Snoopy.0.439752emb_fn: default, prompt: Who was the 51st president?10
4[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "Mickey Mouse is the 50th president.\n", + "\n", + "Who was the 50th president?'}]Based on the given document, Mickey Mouse is stated as the 50th president. However, I should note that Mickey Mouse is a fictional character and not an actual president in real life.0.995162emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 50th president?10
5[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "Mickey Mouse is the 50th president.\n", + "\n", + "Who was the 51st president?'}]Based on the information given, I cannot determine who the 51st president was.0.383972emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 51st president?0
6[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "The 51st president is Snoopy.\n", + "\n", + "Who was the 50th president?'}]Based on the given information, the 50th president is not mentioned in the documents provided.0.540173emb_fn: default, prompt: Who was the 50th president?0
7[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "The 51st president is Snoopy.\n", + "\n", + "Who was the 51st president?'}]According to the given document, the 51st president is Snoopy.0.716542emb_fn: default, prompt: Who was the 51st president?10
\n", + "
" + ], + "text/plain": [ + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "The 51st president is Snoopy.\n", + "\n", + "Who was the 50th president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "The 51st president is Snoopy.\n", + "\n", + "Who was the 51st president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "The 51st president is Snoopy.\n", + "\n", + "Who was the 50th president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "The 51st president is Snoopy.\n", + "\n", + "Who was the 51st president?'}] \n", + "4 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "Mickey Mouse is the 50th president.\n", + "\n", + "Who was the 50th president?'}] \n", + "5 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "Mickey Mouse is the 50th president.\n", + "\n", + "Who was the 51st president?'}] \n", + "6 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "The 51st president is Snoopy.\n", + "\n", + "Who was the 50th president?'}] \n", + "7 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Given these documents:\n", + "The 51st president is Snoopy.\n", + "\n", + "Who was the 51st president?'}] \n", + "\n", + " response \\\n", + "0 Based on the given document that states \"The 51st president is Snoopy,\" we can infer that the 50th president remains unknown or unspecified. \n", + "1 According to the given document, the 51st president was Snoopy. \n", + "2 Based on the information provided, it is not explicitly stated who the 50th president was. \n", + "3 According to the information provided, the 51st president is Snoopy. \n", + "4 Based on the given document, Mickey Mouse is stated as the 50th president. However, I should note that Mickey Mouse is a fictional character and not an actual president in real life. \n", + "5 Based on the information given, I cannot determine who the 51st president was. \n", + "6 Based on the given information, the 50th president is not mentioned in the documents provided. \n", + "7 According to the given document, the 51st president is Snoopy. \n", + "\n", + " latency \\\n", + "0 0.869082 \n", + "1 0.572129 \n", + "2 0.464698 \n", + "3 0.439752 \n", + "4 0.995162 \n", + "5 0.383972 \n", + "6 0.540173 \n", + "7 0.716542 \n", + "\n", + " retrieval_metadata Score \n", + "0 emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 50th president? 0 \n", + "1 emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 51st president? 10 \n", + "2 emb_fn: default, prompt: Who was the 50th president? 0 \n", + "3 emb_fn: default, prompt: Who was the 51st president? 10 \n", + "4 emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 50th president? 10 \n", + "5 emb_fn: paraphrase-MiniLM-L3-v2, prompt: Who was the 51st president? 0 \n", + "6 emb_fn: default, prompt: Who was the 50th president? 0 \n", + "7 emb_fn: default, prompt: Who was the 51st president? 10 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from prompttools.utils import autoeval_with_documents\n", + "\n", + "documents = [\"Mickey Mouse is the 50th president.\",\n", + " \"The 51st president is Snoopy.\",\n", + " \"Batman became the 52th president briefly after.\"]\n", + "\n", + "rag_experiment_2.evaluate(\"Score\", autoeval_with_documents, documents=[documents] * 8)\n", + "rag_experiment_2.visualize()" + ] + }, { "cell_type": "code", "execution_count": null, From a79bcb73b218804b6921a1f512a5cfc0d07e1a9f Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 2 Oct 2023 18:46:45 -0700 Subject: [PATCH 058/182] Guard pylint due to epylint deprecation and removal --- prompttools/utils/validate_python.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/prompttools/utils/validate_python.py b/prompttools/utils/validate_python.py index f7728694..9b3790dd 100644 --- a/prompttools/utils/validate_python.py +++ b/prompttools/utils/validate_python.py @@ -9,7 +9,11 @@ from typing import Dict import pandas.core.series from .error import PromptToolsUtilityError -from pylint import epylint as lint + +try: + from pylint import epylint as lint +except ImportError: + lint = None PROMPTTOOLS_TMP = "prompttools_tmp.py" @@ -21,6 +25,11 @@ def validate(text: str): Args: text (str): The generated text, which should be valid python. """ + if lint is None: + raise RuntimeError( + "Our built-in `validate_python` function requires pylint<3.0. Please use a custom eval function." + "Feel free to open a GitHub issue or PR." + ) if os.path.isfile(PROMPTTOOLS_TMP): raise PromptToolsUtilityError with open(PROMPTTOOLS_TMP, "w") as f: From 206ca7bfbf6d6a2ac7f80ea5784e029b0d7b2f84 Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 3 Oct 2023 16:30:52 -0400 Subject: [PATCH 059/182] Adding chunk_text utility function --- docs/source/utils.rst | 2 ++ prompttools/utils/__init__.py | 2 ++ prompttools/utils/chunk_text.py | 34 +++++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 prompttools/utils/chunk_text.py diff --git a/docs/source/utils.rst b/docs/source/utils.rst index 05ca2a26..9754cd67 100644 --- a/docs/source/utils.rst +++ b/docs/source/utils.rst @@ -12,6 +12,8 @@ They can also be used with ``prompttest`` for be part of your CI/CD system. .. autofunction:: prompttools.utils.autoeval_with_documents +.. autofunction:: prompttools.utils.chunk_text + .. autofunction:: prompttools.utils.compute_similarity_against_model .. autofunction:: prompttools.utils.ranking_correlation diff --git a/prompttools/utils/__init__.py b/prompttools/utils/__init__.py index 3f79503d..543c2b2b 100644 --- a/prompttools/utils/__init__.py +++ b/prompttools/utils/__init__.py @@ -10,6 +10,7 @@ from .autoeval_from_expected import autoeval_from_expected_response from .autoeval_scoring import autoeval_scoring from .autoeval_with_docs import autoeval_with_documents +from .chunk_text import chunk_text from .expected import compute_similarity_against_model from .ranking_correlation import ranking_correlation from .similarity import semantic_similarity @@ -22,6 +23,7 @@ "autoeval_from_expected_response", "autoeval_scoring", "autoeval_with_documents", + "chunk_text", "compute_similarity_against_model", "expected", "validate_json", diff --git a/prompttools/utils/chunk_text.py b/prompttools/utils/chunk_text.py new file mode 100644 index 00000000..63782c35 --- /dev/null +++ b/prompttools/utils/chunk_text.py @@ -0,0 +1,34 @@ +# Copyright (c) Hegel AI, Inc. +# All rights reserved. +# +# This source code's license can be found in the +# LICENSE file in the root directory of this source tree. + + +def chunk_text(text: str, max_chunk_length: int) -> list[str]: + r""" + Given a long string paragraph of text and a chunk max length, returns chunks of texts where each chunk's + length is smaller than the max length, without breaking up individual words (separated by space). + + Args: + text (str): source text to be chunked + max_chunk_length (int): maximum length of a chunk + """ + + words = text.split() + chunks = [] + current_chunk = "" + + for word in words: + if len(current_chunk) + len(word) + 1 <= max_chunk_length: + if current_chunk: + current_chunk += " " + current_chunk += word + else: + chunks.append(current_chunk) + current_chunk = word + + if current_chunk: + chunks.append(current_chunk) + + return chunks From ae1f16eb1d14466d2e462f36b4a4b8f42368833f Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 3 Oct 2023 16:31:04 -0400 Subject: [PATCH 060/182] Updating Chroma example with chunking step --- .../ChromaDBExperiment.ipynb | 79 ++++++++++++++++++- 1 file changed, 75 insertions(+), 4 deletions(-) diff --git a/examples/notebooks/vectordb_experiments/ChromaDBExperiment.ipynb b/examples/notebooks/vectordb_experiments/ChromaDBExperiment.ipynb index b261ffdb..2f1da0dd 100644 --- a/examples/notebooks/vectordb_experiments/ChromaDBExperiment.ipynb +++ b/examples/notebooks/vectordb_experiments/ChromaDBExperiment.ipynb @@ -113,7 +113,9 @@ "source": [ "Next, we create our test inputs. In this case, we would like to create a new ChromaDB collection.\n", "\n", - "During the experiment, for each embedding function, a new ChromaDB collection will be temporarily created. The documents will be added into it. Then, we will query from it and examine the results." + "During the experiment, for each embedding function, a new ChromaDB collection will be temporarily created. The documents will be added into it. Then, we will query from it and examine the results.\n", + "\n", + "You can test different chunking and pre-processing strategies by changing the input to the `\"documents\"` key of the dictionary. We will show a more complete example further below." ] }, { @@ -140,12 +142,21 @@ "use_existing_collection = False # Specify that we want to create a collection during the experiment\n", "\n", "# Documents that will be added into the database\n", + "# Based on your chunking and pre-processing steps, the `documents` will be different\n", "add_to_collection_params = {\n", " \"documents\": [\"This is a document\", \"This is another document\", \"This is the document.\"],\n", " \"metadatas\": [{\"source\": \"my_source\"}, {\"source\": \"my_source\"}, {\"source\": \"my_source\"}],\n", " \"ids\": [\"id1\", \"id2\", \"id3\"],\n", - "}\n", - "\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "61551c2d", + "metadata": {}, + "outputs": [], + "source": [ "# Our test queries\n", "query_collection_params = {\"query_texts\": [\"This is a query document\", \"This is a another query document\"]}\n", "\n", @@ -652,7 +663,67 @@ "id": "aaf4a45b", "metadata": {}, "source": [ - "You can also use auto evaluation. We will add an example of this in the near future." + "You can also use auto evaluation, which is shown in the RAG notebook example." + ] + }, + { + "cell_type": "markdown", + "id": "6df2f997", + "metadata": {}, + "source": [ + "## Chunking and Pre-Processing" + ] + }, + { + "cell_type": "markdown", + "id": "77a0e841", + "metadata": {}, + "source": [ + "You may want to test various chunking and pre-processsing strategies prior to storing your documents into your vector database. One example of doing that is below.\n", + "\n", + "We have a built-in `chunk_text` function that allows you to chunk a source documents into chunks of varying maximum length.\n", + "\n", + "After we generate the desired documents, we can set up the rest of the experiments in the same way as above. We will then run, evalaute, aggregate, and save the results.\n", + "\n", + "We want to compute an aggregate score for each chunking strategy, this will allow us to compared different chunking/pre-processing strategies and choose the best one." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e5f45654", + "metadata": {}, + "outputs": [], + "source": [ + "from prompttools.utils import chunk_text\n", + "\n", + "source_document = \"The United States of America (U.S.A. or USA), commonly known as the United States (U.S. or US) or simply America, is a country primarily located in North America and consisting of 50 states, a federal district, five major unincorporated territories, and nine Minor Outlying Islands.[i] It includes 326 Indian reservations. It is the world's third-largest country by both land and total area.[c] It shares land borders with Canada to its north and with Mexico to its south and has maritime borders with the Bahamas, Cuba, Russia, and other nations.[j] With a population of over 333 million,[k] it is the most populous country in the Americas and the third-most populous in the world. The national capital of the United States is Washington, D.C., and its most populous city and principal financial center is New York City.\"\n", + "\n", + "for max_chunk_len in [20, 30, 40]: # Test different chunking strategy\n", + " # Create documents for each strategy\n", + " doc_chunks = chunk_text(source_document, max_chunk_len)\n", + " n_doc = len(doc_chunks)\n", + " metadatas = [{\"source\": \"my_source\"}] * n_doc\n", + " ids = [\"id\" + str(i) for i in range(n_doc)]\n", + " # Build the relevant parameters to write into ChromaDB\n", + " add_to_collection_params = {\n", + " \"documents\": doc_chunks,\n", + " \"metadatas\": metadatas,\n", + " \"ids\": ids,\n", + " }\n", + " # Next steps: as shown in the previous code and other notebook examples\n", + " # 1. Set up the rest of your experiment\n", + " # 2. Run Experiment\n", + " # 3. Evaluate the results from this chunking strate\n", + " # 4. Aggregate and save the results" + ] + }, + { + "cell_type": "markdown", + "id": "1b781911", + "metadata": {}, + "source": [ + "You can further integrate this vector DB experiment with the RetrievalAugmentedGeneration (RAG) experiment. Please see the Retrieval Augmented Generation notebook example." ] } ], From 11a940ecfe36bf8dba8e384f08a9aecddb413d40 Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 3 Oct 2023 16:31:24 -0400 Subject: [PATCH 061/182] Updating RAG example to mention chunking and reference ChromaDb example --- .../vectordb_experiments/ChromaDBExperiment.ipynb | 8 ++++---- .../RetrievalAugmentedGeneration.ipynb | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/notebooks/vectordb_experiments/ChromaDBExperiment.ipynb b/examples/notebooks/vectordb_experiments/ChromaDBExperiment.ipynb index 2f1da0dd..00ad9774 100644 --- a/examples/notebooks/vectordb_experiments/ChromaDBExperiment.ipynb +++ b/examples/notebooks/vectordb_experiments/ChromaDBExperiment.ipynb @@ -668,7 +668,7 @@ }, { "cell_type": "markdown", - "id": "6df2f997", + "id": "7e05aa49", "metadata": {}, "source": [ "## Chunking and Pre-Processing" @@ -676,7 +676,7 @@ }, { "cell_type": "markdown", - "id": "77a0e841", + "id": "4c182d44", "metadata": {}, "source": [ "You may want to test various chunking and pre-processsing strategies prior to storing your documents into your vector database. One example of doing that is below.\n", @@ -691,7 +691,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e5f45654", + "id": "feb8311c", "metadata": {}, "outputs": [], "source": [ @@ -720,7 +720,7 @@ }, { "cell_type": "markdown", - "id": "1b781911", + "id": "b6cc4d14", "metadata": {}, "source": [ "You can further integrate this vector DB experiment with the RetrievalAugmentedGeneration (RAG) experiment. Please see the Retrieval Augmented Generation notebook example." diff --git a/examples/notebooks/vectordb_experiments/RetrievalAugmentedGeneration.ipynb b/examples/notebooks/vectordb_experiments/RetrievalAugmentedGeneration.ipynb index afbf6b0f..53aa390c 100644 --- a/examples/notebooks/vectordb_experiments/RetrievalAugmentedGeneration.ipynb +++ b/examples/notebooks/vectordb_experiments/RetrievalAugmentedGeneration.ipynb @@ -91,9 +91,9 @@ "\n", "We will set up a vector database experiment. We will insert documents the DB with different embedding functions (vectorizer), and query the results.\n", "\n", - "For this example, we will use ChromaDB, but you use other vector databases (e.g. Weaviate, LanceDB, Qdrant) as well.\n", + "For this example, we will use ChromaDB, but you use other vector databases (e.g. Weaviate, LanceDB, Qdrant) as well. You can also experiment over different distance function and query methods if desired.\n", "\n", - "For detailed explanation about each step, have a look at the ChromaDB example notebook." + "For detailed explanation about each step, have a look at the [ChromaDB example notebook](https://github.com/hegelai/prompttools/blob/main/examples/notebooks/vectordb_experiments/ChromaDBExperiment.ipynb). It also discusses how you can try different chunk and pre-processing strategies as you insert documents into the database." ] }, { From 32f0da3ded6497519b306bdbb61f98fd55fb0c00 Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Tue, 3 Oct 2023 14:45:07 -0700 Subject: [PATCH 062/182] Update to version 0.0.35 --- docs/source/conf.py | 2 +- prompttools/version.py | 4 ++-- pyproject.toml | 2 +- version.txt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 357b0cb1..416ea35c 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -11,7 +11,7 @@ project = "prompttools" copyright = "2023, Hegel AI" author = "Hegel AI" -release = "0.0.34" +release = "0.0.35" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/prompttools/version.py b/prompttools/version.py index ae5e6f47..925d5f0f 100644 --- a/prompttools/version.py +++ b/prompttools/version.py @@ -1,2 +1,2 @@ -__version__ = '0.0.34a0+4b2e0f2' -git_version = '4b2e0f229fcc03fcb77e0ed6da52d0f304eeb7c2' +__version__ = '0.0.35a0+11a940e' +git_version = '11a940ecfe36bf8dba8e384f08a9aecddb413d40' diff --git a/pyproject.toml b/pyproject.toml index 8cf278c8..b052a0e5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "prompttools" -version = "0.0.34" +version = "0.0.35" authors = [ { name="Hegel AI", email="team@hegel-ai.com" }, ] diff --git a/version.txt b/version.txt index a87addd5..b79eb54d 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.0.34a0 +0.0.35a0 From 007efc81fd47669e70b5ace1fab0abaeb77ec102 Mon Sep 17 00:00:00 2001 From: "Steven Krawczyk (Hegel AI)" Date: Wed, 4 Oct 2023 09:56:26 -0700 Subject: [PATCH 063/182] Add playground support for replicate (#92) --- .../experiments/google_palm_experiment.py | 2 -- .../experiments/openai_function_experiment.py | 7 ------ .../experiments/replicate_experiment.py | 8 +++++++ prompttools/playground/constants.py | 4 ++++ prompttools/playground/data_loader.py | 22 +++++++++++++++++-- prompttools/playground/playground.py | 21 +++++++++++++----- 6 files changed, 47 insertions(+), 17 deletions(-) delete mode 100644 prompttools/experiment/experiments/openai_function_experiment.py diff --git a/prompttools/experiment/experiments/google_palm_experiment.py b/prompttools/experiment/experiments/google_palm_experiment.py index bac292cb..4ea7fa5c 100644 --- a/prompttools/experiment/experiments/google_palm_experiment.py +++ b/prompttools/experiment/experiments/google_palm_experiment.py @@ -83,8 +83,6 @@ def __init__( # render the prompts from the selector if isinstance(prompt[0], PromptSelector): prompt = [selector.for_palm() for selector in prompt] - else: - prompt = prompt self.all_args = dict( model=model, diff --git a/prompttools/experiment/experiments/openai_function_experiment.py b/prompttools/experiment/experiments/openai_function_experiment.py deleted file mode 100644 index 95973343..00000000 --- a/prompttools/experiment/experiments/openai_function_experiment.py +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright (c) Hegel AI, Inc. -# All rights reserved. -# -# This source code's license can be found in the -# LICENSE file in the root directory of this source tree. - -# TODO: Coming soon diff --git a/prompttools/experiment/experiments/replicate_experiment.py b/prompttools/experiment/experiments/replicate_experiment.py index f99a5ec0..b180a604 100644 --- a/prompttools/experiment/experiments/replicate_experiment.py +++ b/prompttools/experiment/experiments/replicate_experiment.py @@ -11,6 +11,8 @@ from prompttools.mock.mock import mock_replicate_stable_diffusion_completion_fn from IPython.display import display, HTML from tabulate import tabulate + +from prompttools.selector.prompt_selector import PromptSelector from ..widgets.utility import is_interactive @@ -58,6 +60,12 @@ def __init__( os.environ["REPLICATE_API_TOKEN"] except KeyError: raise RuntimeError('`os.environ["REPLICATE_API_TOKEN]` needs to be set.') + + # If we are using a prompt selector, we need to + # render the prompts from the selector + if isinstance(input_kwargs['prompt'][0], PromptSelector): + input_kwargs['prompt'] = [selector.for_llama() for selector in input_kwargs['prompt']] + self.models = models self.input_kwargs = input_kwargs self.model_specific_kwargs = model_specific_kwargs diff --git a/prompttools/playground/constants.py b/prompttools/playground/constants.py index 2d2ac3f3..73b0ac4c 100644 --- a/prompttools/playground/constants.py +++ b/prompttools/playground/constants.py @@ -11,8 +11,10 @@ from prompttools.experiment import AnthropicCompletionExperiment from prompttools.experiment import GooglePaLMCompletionExperiment from prompttools.experiment import HuggingFaceHubExperiment +from prompttools.experiment import ReplicateExperiment ENVIRONMENT_VARIABLE = { + "Replicate": "REPLICATE_API_TOKEN", "OpenAI Chat": "OPENAI_API_KEY", "OpenAI Completion": "OPENAI_API_KEY", "Anthropic": "ANTHROPIC_API_KEY", @@ -27,6 +29,7 @@ "Anthropic": AnthropicCompletionExperiment, "Google PaLM": GooglePaLMCompletionExperiment, "HuggingFace Hub": HuggingFaceHubExperiment, + "Replicate": ReplicateExperiment, } MODES = ("Instruction", "Prompt Template", "Model Comparison") @@ -39,6 +42,7 @@ "LlamaCpp Chat", "LlamaCpp Completion", "HuggingFace Hub", + "Replicate", ) OPENAI_CHAT_MODELS = ( diff --git a/prompttools/playground/data_loader.py b/prompttools/playground/data_loader.py index 241f895c..d5aee79e 100644 --- a/prompttools/playground/data_loader.py +++ b/prompttools/playground/data_loader.py @@ -60,6 +60,11 @@ def load_data( experiment = EXPERIMENTS[model_type]([model], selectors, temperature=[temperature]) elif model_type == "Google PaLM": experiment = EXPERIMENTS[model_type]([model], selectors, temperature=[temperature]) + elif model_type == "Replicate": + input_kwargs = {"prompt": selectors, + "temperature": [temperature]} + model_specific_kwargs = {model: {}} + experiment = EXPERIMENTS[model_type]([model], input_kwargs, model_specific_kwargs) return experiment.to_pandas_df() @@ -74,6 +79,7 @@ def run_multiple( anthropic_api_key=None, google_api_key=None, hf_api_key=None, + replicate_api_key=None, ): import os @@ -85,14 +91,26 @@ def run_multiple( os.environ["GOOGLE_PALM_API_KEY"] = google_api_key if hf_api_key: os.environ["HUGGINGFACEHUB_API_TOKEN"] = hf_api_key + if replicate_api_key: + os.environ["REPLICATE_API_TOKEN"] = replicate_api_key dfs = [] for i in range(len(models)): # TODO Support temperature and other parameters selectors = [] if i + 1 in instructions: selectors = [PromptSelector(instructions[i + 1], prompt) for prompt in prompts] - experiment = EXPERIMENTS[model_types[i]]([models[i]], selectors) + if model_types[i] == "Replicate": + input_kwargs = {"prompt": selectors} + model_specific_kwargs = {models[i]: {}} + experiment = EXPERIMENTS[model_types[i]]([models[i]], input_kwargs, model_specific_kwargs) + else: + experiment = EXPERIMENTS[model_types[i]]([models[i]], selectors) else: - experiment = EXPERIMENTS[model_types[i]]([models[i]], prompts) + if model_types[i] == "Replicate": + input_kwargs = {"prompt": prompts} + model_specific_kwargs = {models[i]: {}} + experiment = EXPERIMENTS[model_types[i]]([models[i]], input_kwargs, model_specific_kwargs) + else: + experiment = EXPERIMENTS[model_types[i]]([models[i]], prompts) dfs.append(experiment.to_pandas_df()) return dfs diff --git a/prompttools/playground/playground.py b/prompttools/playground/playground.py index d4db5017..fc443fac 100644 --- a/prompttools/playground/playground.py +++ b/prompttools/playground/playground.py @@ -62,6 +62,9 @@ elif model_type == "OpenAI Completion": model = st.selectbox("Model", OPENAI_COMPLETION_MODELS, key="model") api_key = st.text_input("OpenAI API Key", type="password") + elif model_type == "Replicate": + model = st.text_input("Model", key="model") + api_key = st.text_input("Replicate API Key", type="password") variable_count = 0 if mode == "Prompt Template": @@ -93,7 +96,7 @@ key=f"varname_{i}", ) ) - temperature = st.slider("Temperature", min_value=0.0, max_value=1.0, value=0.0, step=0.01, key="temperature") + temperature = st.slider("Temperature", min_value=0.01 if model_type == "Replicate" else 0.0, max_value=1.0, value=0.01 if model_type == "Replicate" else 0.0, step=0.01, key="temperature") top_p = None max_tokens = None presence_penalty = None @@ -114,11 +117,12 @@ anthropic_api_key = st.text_input("Anthropic Key", type="password") google_api_key = st.text_input("Google PaLM Key", type="password") hf_api_key = st.text_input("HuggingFace Hub Key", type="password") + replicate_api_key = st.text_input("Replicate API Key", type="password") if mode == "Instruction": - placeholders = [[st.empty() for _ in range(instruction_count + 1)] for _ in range(prompt_count)] - # placeholders = [] + # placeholders = [[st.empty() for _ in range(instruction_count + 1)] for _ in range(prompt_count)] + placeholders = [] cols = st.columns(instruction_count + 1) @@ -168,7 +172,8 @@ link = "https://prompttools.streamlit.app?" link += "mode=" + urllib.parse.quote(mode) link += "&model_type=" + urllib.parse.quote(model_type) - link += "&model=" + urllib.parse.quote(model) + if model: + link += "&model=" + urllib.parse.quote(model) link += "&instruction=" + urllib.parse.quote(instructions[0]) link += "&prompt=" + urllib.parse.quote(prompts[0]) @@ -188,12 +193,12 @@ st.session_state.df = df for i in range(len(prompts)): for j in range(len(instructions)): - placeholders[i][j + 1].markdown(df["response"][i + len(prompts) * j]) + placeholders[i][j].markdown(df["response"][i + len(prompts) * j]) elif "df" in st.session_state and not clear: df = st.session_state.df for i in range(len(prompts)): for j in range(len(instructions)): - placeholders[i][j + 1].markdown(df["response"][i + len(prompts) * j]) + placeholders[i][j].markdown(df["response"][i + len(prompts) * j]) elif mode == "Prompt Template": instruction = None if model_type == "LlamaCpp Chat": @@ -300,6 +305,7 @@ "LlamaCpp Chat", "LlamaCpp Completion", "HuggingFace Hub", + "Replicate", ), key=f"type_{j}", ) @@ -314,6 +320,9 @@ models.append(st.text_input("Repo ID", key=f"model_id_{j}")) elif model_types[j - 1] == "Google PaLM": models.append(st.text_input("Model", key=f"palm_model_{j}")) + elif model_types[j - 1] == "Replicate": + models.append(st.text_input("Model", key=f"replicate_model_{j}")) + instructions[j] = st.text_area("Instruction", key=f"instruction_{j}") elif model_types[j - 1] == "Anthropic": models.append(st.selectbox("Model", ("claude-2", "claude-instant-1"), key=f"anthropic_{j}")) elif model_types[j - 1] == "OpenAI Chat": From a29909108d9d08a9fd19462f866f74c6cd40e4e9 Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Wed, 4 Oct 2023 10:28:26 -0700 Subject: [PATCH 064/182] Add packages.txt to streamlit app --- prompttools/playground/packages.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 prompttools/playground/packages.txt diff --git a/prompttools/playground/packages.txt b/prompttools/playground/packages.txt new file mode 100644 index 00000000..61520f90 --- /dev/null +++ b/prompttools/playground/packages.txt @@ -0,0 +1 @@ +pkg-config \ No newline at end of file From b87346b7db47f062ff439ef096c19f23a4f60c31 Mon Sep 17 00:00:00 2001 From: Tony Kipkemboi Date: Thu, 5 Oct 2023 16:23:36 -0400 Subject: [PATCH 065/182] fixed sentence in readme (#93) --- examples/notebooks/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/notebooks/README.md b/examples/notebooks/README.md index 50587d77..23b48d5c 100644 --- a/examples/notebooks/README.md +++ b/examples/notebooks/README.md @@ -1,6 +1,6 @@ ## Notebook Examples -In this folder, you will find various examples of how you can `prompttools` for +In this folder, you will find various examples of how you can use `prompttools` for various experimentation and testing. Often, you can simply change a few parameters and put in your own test data to make `prompttools` suitable for your use case. From 3cab7b32115a6ce20380ec8e8de42a4b851e74da Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Thu, 5 Oct 2023 14:27:02 -0700 Subject: [PATCH 066/182] Update to version 0.0.36 --- docs/source/conf.py | 2 +- prompttools/version.py | 4 ++-- pyproject.toml | 2 +- version.txt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 416ea35c..a93cbc56 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -11,7 +11,7 @@ project = "prompttools" copyright = "2023, Hegel AI" author = "Hegel AI" -release = "0.0.35" +release = "0.0.36" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/prompttools/version.py b/prompttools/version.py index 925d5f0f..a13926e1 100644 --- a/prompttools/version.py +++ b/prompttools/version.py @@ -1,2 +1,2 @@ -__version__ = '0.0.35a0+11a940e' -git_version = '11a940ecfe36bf8dba8e384f08a9aecddb413d40' +__version__ = '0.0.36a0+b87346b' +git_version = 'b87346b7db47f062ff439ef096c19f23a4f60c31' diff --git a/pyproject.toml b/pyproject.toml index b052a0e5..337f2e91 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "prompttools" -version = "0.0.35" +version = "0.0.36" authors = [ { name="Hegel AI", email="team@hegel-ai.com" }, ] diff --git a/version.txt b/version.txt index b79eb54d..b2da20ac 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.0.35a0 +0.0.36a0 From 558011d9f11154e683c1c785ab2ecd845b70ee03 Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Thu, 5 Oct 2023 16:11:54 -0700 Subject: [PATCH 067/182] Add replicate to requirements for playground --- prompttools/playground/requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/prompttools/playground/requirements.txt b/prompttools/playground/requirements.txt index ffbcaf82..e2053a61 100644 --- a/prompttools/playground/requirements.txt +++ b/prompttools/playground/requirements.txt @@ -4,4 +4,5 @@ huggingface_hub llama-cpp-python anthropic pyperclip -google-generativeai \ No newline at end of file +google-generativeai +replicate \ No newline at end of file From 4d70f6d226bf913289139af2aef1549d4e2c42cc Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Thu, 5 Oct 2023 16:50:37 -0700 Subject: [PATCH 068/182] Pass replicate key --- prompttools/playground/playground.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prompttools/playground/playground.py b/prompttools/playground/playground.py index fc443fac..178ec86d 100644 --- a/prompttools/playground/playground.py +++ b/prompttools/playground/playground.py @@ -372,7 +372,7 @@ if run: dfs = run_multiple( - model_types, models, instructions, prompts, openai_api_key, anthropic_api_key, google_api_key, hf_api_key + model_types, models, instructions, prompts, openai_api_key, anthropic_api_key, google_api_key, hf_api_key, replicate_api_key ) st.session_state.dfs = dfs for i in range(len(prompts)): From ca02ceb49f89e67240a3413ca02bce33c089f895 Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 9 Oct 2023 10:29:24 -0400 Subject: [PATCH 069/182] Handling duplicate column name in Experiment DataFrame --- prompttools/experiment/experiments/experiment.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/prompttools/experiment/experiments/experiment.py b/prompttools/experiment/experiments/experiment.py index 3763805d..d9e0c545 100644 --- a/prompttools/experiment/experiments/experiment.py +++ b/prompttools/experiment/experiments/experiment.py @@ -241,7 +241,11 @@ def _construct_result_dfs( if extract_response_equal_full_result: result_df = response_df else: - result_df = pd.concat([response_df, pd.DataFrame(results)], axis=1) + # Handle the case where `input_arg_df` has the same column names as `result_df` + result_df = pd.DataFrame(results) + common_columns = set(input_arg_df.columns) & set(result_df.columns) + result_df = result_df.add_prefix("response_") if common_columns else result_df + result_df = pd.concat([response_df, result_df], axis=1) # `score_df` contains computed metrics (e.g. latency, evaluation metrics) self.score_df = pd.DataFrame({"latency": latencies}) From bffcfc55bf0e6b86b47516717b1b24b784612fcb Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 9 Oct 2023 10:29:33 -0400 Subject: [PATCH 070/182] Example --- examples/notebooks/test_app.ipynb | 1131 +++++++++++++++++ .../experiments/openai_chat_experiment.py | 60 + 2 files changed, 1191 insertions(+) create mode 100644 examples/notebooks/test_app.ipynb diff --git a/examples/notebooks/test_app.ipynb b/examples/notebooks/test_app.ipynb new file mode 100644 index 00000000..ac620587 --- /dev/null +++ b/examples/notebooks/test_app.ipynb @@ -0,0 +1,1131 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Save Experiment to Server Example" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from prompttools.experiment import OpenAIChatExperiment\n", + "\n", + "import os\n", + "\n", + "os.environ[\"OPENAI_API_KEY\"] = \"\"" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "models = [\"gpt-3.5-turbo\"]\n", + "messages = [\n", + " [\n", + " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", + " {\"role\": \"user\", \"content\": \"Who was the first president?\"},\n", + " ]\n", + "]\n", + "temperatures = [0.0, 1.0]\n", + "# You can add more parameters that you'd like to test here.\n", + "\n", + "experiment = OpenAIChatExperiment(models, messages, temperature=temperatures)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperaturemessagesresponselatency
00.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.0.859089
11.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington.1.121416
\n", + "
" + ], + "text/plain": [ + " temperature \\\n", + "0 0.0 \n", + "1 1.0 \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. \n", + "\n", + " latency \n", + "0 0.859089 \n", + "1 1.121416 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment.run()\n", + "experiment.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmessagestemperaturetop_pnstreampresence_penaltyfrequency_penaltyresponseresponse_idresponse_objectresponse_createdresponse_modelresponse_choicesresponse_usagelatency
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]0.01.01False0.00.0The first president of the United States was George Washington. He served as president from 1789 to 1797.chatcmpl-87dUDKRQCO6Bq1PdPJLfF3vsXeluEchat.completion1696830773gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}0.859089
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]1.01.01False0.00.0The first president of the United States was George Washington.chatcmpl-87dUEABSL6dfbEQqDw6Mc61cKh42schat.completion1696830774gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}1.121416
\n", + "
" + ], + "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " temperature top_p n stream presence_penalty frequency_penalty \\\n", + "0 0.0 1.0 1 False 0.0 0.0 \n", + "1 1.0 1.0 1 False 0.0 0.0 \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. \n", + "\n", + " response_id response_object response_created \\\n", + "0 chatcmpl-87dUDKRQCO6Bq1PdPJLfF3vsXeluE chat.completion 1696830773 \n", + "1 chatcmpl-87dUEABSL6dfbEQqDw6Mc61cKh42s chat.completion 1696830774 \n", + "\n", + " response_model \\\n", + "0 gpt-3.5-turbo-0613 \n", + "1 gpt-3.5-turbo-0613 \n", + "\n", + " response_choices \\\n", + "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", + "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}] \n", + "\n", + " response_usage \\\n", + "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", + "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", + "\n", + " latency \n", + "0 0.859089 \n", + "1 1.121416 " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "experiment.full_df" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Creating serialized state of experiment...\n", + "Sending HTTP POST...\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "experiment.save_experiment(\"TEST_SAVE_NAME\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "See results:\n", + "\n", + "http://127.0.0.1:5000/experiment/\n", + "\n", + "http://127.0.0.1:5000/experiment/logs" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load Experiment from Server Example" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Grab uuid from http://127.0.0.1:5000/experiment/" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sending HTTP GET request...\n", + "Loaded experiment.\n" + ] + } + ], + "source": [ + "experiment_from_load = OpenAIChatExperiment.load_experiment('c5f7e53f-7c69-474e-aa4a-b9df17efca45')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmessagestemperaturetop_pnstreampresence_penaltyfrequency_penaltyresponseresponse_idresponse_objectresponse_createdresponse_modelresponse_choicesresponse_usagelatency
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]0.01.01False0.00.0The first president of the United States was George Washington. He served as president from 1789 to 1797.chatcmpl-87dUDKRQCO6Bq1PdPJLfF3vsXeluEchat.completion1696830773gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}0.859089
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]1.01.01False0.00.0The first president of the United States was George Washington.chatcmpl-87dUEABSL6dfbEQqDw6Mc61cKh42schat.completion1696830774gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}1.121416
\n", + "
" + ], + "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " temperature top_p n stream presence_penalty frequency_penalty \\\n", + "0 0.0 1.0 1 False 0.0 0.0 \n", + "1 1.0 1.0 1 False 0.0 0.0 \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. \n", + "\n", + " response_id response_object response_created \\\n", + "0 chatcmpl-87dUDKRQCO6Bq1PdPJLfF3vsXeluE chat.completion 1696830773 \n", + "1 chatcmpl-87dUEABSL6dfbEQqDw6Mc61cKh42s chat.completion 1696830774 \n", + "\n", + " response_model \\\n", + "0 gpt-3.5-turbo-0613 \n", + "1 gpt-3.5-turbo-0613 \n", + "\n", + " response_choices \\\n", + "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", + "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}] \n", + "\n", + " response_usage \\\n", + "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", + "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", + "\n", + " latency \n", + "0 0.859089 \n", + "1 1.121416 " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "experiment_from_load.full_df" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperaturemessagesresponselatencydumb_evaldumb_eval_metric
00.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.0.859089EVAL'ED The firstEVAL'ED The first
11.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington.1.121416EVAL'ED The firstEVAL'ED The first
\n", + "
" + ], + "text/plain": [ + " temperature \\\n", + "0 0.0 \n", + "1 1.0 \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. \n", + "\n", + " latency dumb_eval dumb_eval_metric \n", + "0 0.859089 EVAL'ED The first EVAL'ED The first \n", + "1 1.121416 EVAL'ED The first EVAL'ED The first " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def _dumb_eval(row):\n", + " return \"EVAL'ED \" + row['response'][:10]\n", + "\n", + "\n", + "experiment_from_load.evaluate(\"dumb_eval_metric\", _dumb_eval)\n", + "experiment_from_load.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperaturemessagesresponselatency
00.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.683780
11.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.0.991504
20.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.111189
31.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as the nation's first president from 1789 to 1797.0.960242
\n", + "
" + ], + "text/plain": [ + " temperature \\\n", + "0 0.0 \n", + "1 1.0 \n", + "2 0.0 \n", + "3 1.0 \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "2 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "3 The first president of the United States was George Washington. He served as the nation's first president from 1789 to 1797. \n", + "\n", + " latency \n", + "0 1.683780 \n", + "1 0.991504 \n", + "2 1.111189 \n", + "3 0.960242 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment_from_load.run()\n", + "experiment_from_load.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Run Experiment on Server Example" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Response:\n", + "200\n" + ] + } + ], + "source": [ + "import requests\n", + "import json\n", + "\n", + "url = \"http://127.0.0.1:5000/experiment/run\"\n", + "\n", + "model = [\"gpt-3.5-turbo\"]\n", + "messages = [\n", + " [\n", + " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", + " {\"role\": \"user\", \"content\": \"Who was the first president?\"},\n", + " ]\n", + "]\n", + "temperature = [0.0, 1.0]\n", + "\n", + "\n", + "input_parameters = {\n", + " 'experiment_name': 'RUNNING_ON_SERVER_SIDE_TEST',\n", + " 'model': models,\n", + " 'messages': messages,\n", + " 'temperature': temperature,\n", + "}\n", + "\n", + "headers = {\n", + " \"OPENAI_API_KEY\": os.environ[\"OPENAI_API_KEY\"],\n", + " \"Content-Type\": \"application/json\"\n", + "}\n", + "\n", + "\n", + "response = requests.post(url, headers=headers, data=json.dumps(input_parameters))\n", + "\n", + "# Print the response\n", + "print(\"Response:\")\n", + "print(response.status_code)\n", + "# print(response.json())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "Checking results..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sending HTTP GET request...\n", + "Loaded experiment.\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmessagestemperaturetop_pnstreampresence_penaltyfrequency_penaltyresponseresponse_idresponse_objectresponse_createdresponse_modelresponse_choicesresponse_usagelatency
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]0.01.01False0.00.0The first president of the United States was George Washington. He served as president from 1789 to 1797.chatcmpl-87elWGXAZOUy5u9cZpt9wK81fb8Tichat.completion1696835690gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}1.008068
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]1.01.01False0.00.0The first president of the United States was George Washington.chatcmpl-87elYz68OyUCwP8ZBoW9KGszgKuq5chat.completion1696835692gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}0.957149
\n", + "
" + ], + "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " temperature top_p n stream presence_penalty frequency_penalty \\\n", + "0 0.0 1.0 1 False 0.0 0.0 \n", + "1 1.0 1.0 1 False 0.0 0.0 \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. \n", + "\n", + " response_id response_object response_created \\\n", + "0 chatcmpl-87elWGXAZOUy5u9cZpt9wK81fb8Ti chat.completion 1696835690 \n", + "1 chatcmpl-87elYz68OyUCwP8ZBoW9KGszgKuq5 chat.completion 1696835692 \n", + "\n", + " response_model \\\n", + "0 gpt-3.5-turbo-0613 \n", + "1 gpt-3.5-turbo-0613 \n", + "\n", + " response_choices \\\n", + "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", + "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}] \n", + "\n", + " response_usage \\\n", + "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", + "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", + "\n", + " latency \n", + "0 1.008068 \n", + "1 0.957149 " + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "experiment_from_load = OpenAIChatExperiment.load_experiment(\"9697a0dd-d603-4443-beec-bd6fd0b9126f\")\n", + "experiment_from_load.full_df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Feedback" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Received data: Field updated or inserted successfully.\n" + ] + } + ], + "source": [ + "import requests\n", + "import json\n", + "\n", + "api_url = \"http://127.0.0.1:5000/experiment/add_feedback/\"\n", + "\n", + "# Specify the data for the POST request\n", + "data = {\n", + " \"log_id\": \"65239810e9aee9e6d2cbc482\",\n", + " \"metric_name\": \"CUSTOM_METRIC\",\n", + " \"value\": 123,\n", + "}\n", + "\n", + "# Make the POST request\n", + "response = requests.post(api_url, json=data)\n", + "\n", + "# Check the response\n", + "if response.status_code == 200:\n", + " # Deserialize the response if it contains JSON data\n", + " data = response.json()\n", + " print(\"Received data:\", data)\n", + "else:\n", + " print(f\"Error: {response.status_code}, {response.text}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sending HTTP GET request...\n", + "Loaded experiment.\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmessagestemperaturetop_pnstreampresence_penaltyfrequency_penaltyresponseresponse_idresponse_objectresponse_createdresponse_modelresponse_choicesresponse_usagelatencyCUSTOM_METRIC
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]0.01.01False0.00.0The first president of the United States was George Washington. He served as president from 1789 to 1797.chatcmpl-87dUDKRQCO6Bq1PdPJLfF3vsXeluEchat.completion1696830773gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}0.859089123.0
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]1.01.01False0.00.0The first president of the United States was George Washington.chatcmpl-87dUEABSL6dfbEQqDw6Mc61cKh42schat.completion1696830774gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}1.121416NaN
\n", + "
" + ], + "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " temperature top_p n stream presence_penalty frequency_penalty \\\n", + "0 0.0 1.0 1 False 0.0 0.0 \n", + "1 1.0 1.0 1 False 0.0 0.0 \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. \n", + "\n", + " response_id response_object response_created \\\n", + "0 chatcmpl-87dUDKRQCO6Bq1PdPJLfF3vsXeluE chat.completion 1696830773 \n", + "1 chatcmpl-87dUEABSL6dfbEQqDw6Mc61cKh42s chat.completion 1696830774 \n", + "\n", + " response_model \\\n", + "0 gpt-3.5-turbo-0613 \n", + "1 gpt-3.5-turbo-0613 \n", + "\n", + " response_choices \\\n", + "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", + "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}] \n", + "\n", + " response_usage \\\n", + "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", + "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", + "\n", + " latency CUSTOM_METRIC \n", + "0 0.859089 123.0 \n", + "1 1.121416 NaN " + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "experiment_from_load = OpenAIChatExperiment.load_experiment('c5f7e53f-7c69-474e-aa4a-b9df17efca45')\n", + "experiment_from_load.full_df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index f8a7226c..2d1d1481 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -6,12 +6,15 @@ import os import json +import pickle from typing import Dict, List, Optional, Union import openai +import requests from prompttools.selector.prompt_selector import PromptSelector from prompttools.mock.mock import mock_openai_chat_completion_fn, mock_openai_chat_function_completion_fn from .experiment import Experiment +import pandas as pd class OpenAIChatExperiment(Experiment): @@ -168,3 +171,60 @@ def _get_model_names(self): def _get_prompts(self): return [self.prompt_keys[str(combo["messages"][-1]["content"])] for combo in self.argument_combos] + + def _get_state(self, name: str): + state_params = { + "prompt_keys": self.prompt_keys, + "all_args": self.all_args, + } + partial_col_names = self.partial_df.columns.tolist() + score_col_names = self.score_df.columns.tolist() + state = ( + name, + state_params, + self.full_df, + partial_col_names, + score_col_names, + ) + print("Creating serialized state of experiment...") + serialized_state = pickle.dumps(state) + return serialized_state + + def save_experiment(self, name: str): + state = self._get_state(name) + url = "http://127.0.0.1:5000/experiment/save" + headers = {"Content-Type": "application/octet-stream"} # Use a binary content type for pickled data + print("Sending HTTP POST request...") + response = requests.post(url, data=state, headers=headers) + return response + + @classmethod + def load_experiment(cls, uuid: str): + url = f"http://127.0.0.1:5000/experiment/load/{uuid}" + headers = {"Content-Type": "application/octet-stream"} # Use a binary content type for pickled data + print("Sending HTTP GET request...") + response = requests.get(url, headers=headers) + if response.status_code == 200: + state = pickle.loads(response.content) # Note that state should not have `name` included + return cls._load_state(state) + else: + print(f"Error: {response.status_code}, {response.text}") + + @classmethod + def _load_state(cls, state): + ( + state_params, + full_df, + partial_col_names, + score_col_names, + ) = state + + all_args, prompt_keys = state_params["all_args"], state_params["prompt_keys"] + experiment = cls(all_args["model"], all_args["messages"]) + experiment.prompt_keys = prompt_keys + experiment.all_args = all_args + experiment.full_df = pd.DataFrame(full_df) + experiment.partial_df = experiment.full_df[partial_col_names].copy() + experiment.score_df = experiment.full_df[score_col_names].copy() + print("Loaded experiment.") + return experiment From 2ce8262ab69fbb8b0e3469282641d797e41a6ba6 Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Tue, 10 Oct 2023 08:34:52 -0700 Subject: [PATCH 071/182] Update autoeval --- examples/notebooks/AutoEval.ipynb | 116 ++++++++++++++---------------- 1 file changed, 55 insertions(+), 61 deletions(-) diff --git a/examples/notebooks/AutoEval.ipynb b/examples/notebooks/AutoEval.ipynb index c0b8e47f..0de3661b 100644 --- a/examples/notebooks/AutoEval.ipynb +++ b/examples/notebooks/AutoEval.ipynb @@ -59,7 +59,7 @@ "source": [ "import os\n", "\n", - "os.environ[\"DEBUG\"] = \"1\" # Set to \"1\" if you want to use debug mode.\n", + "os.environ[\"DEBUG\"] = \"\" # Set to \"1\" if you want to use debug mode.\n", "os.environ[\"OPENAI_API_KEY\"] = \"\"" ] }, @@ -117,7 +117,7 @@ "\"\"\",\n", "]\n", "\n", - "inputs = [{\"input\": \"is 17077 a prime number\"}, {\"input\": \"Is 17077 prime?\"}]\n", + "inputs = [\"is 17077 a prime number\", \"Is 17077 prime?\"]\n", "\n", "selectors = [PromptSelector(instructions[i], inputs[j]) for i in range(len(instructions)) for j in range(len(inputs))]" ] @@ -176,57 +176,51 @@ " \n", " \n", " prompt\n", - " response(s)\n", + " response\n", " latency\n", " \n", " \n", " \n", " \n", " 0\n", - " \\nAnswer the following question. \\nIf it is not prime, give its decomposition.\n", - " \\n\\n93\\nIt is not a prime number, its decomposition is 3\n", - " 1.993576\n", + " INSTRUCTION:\\n\\nAnswer the following question. \\nIf it is not prime, give its decomposition.\\n\\nPROMPT:\\nis 17077 a prime number\\nRESPONSE:\\n\n", + " No, 17077 is not a prime number. Its decomposition is 13\n", + " 0.970505\n", " \n", " \n", " 1\n", - " \\nAnswer the following question. \\nIf it is not prime, give its decomposition.\n", - " \\n\\n45\\n\\n45 = 3 x 3 x 5\n", - " 0.908900\n", + " INSTRUCTION:\\n\\nAnswer the following question. \\nIf it is not prime, give its decomposition.\\n\\nPROMPT:\\nIs 17077 prime?\\nRESPONSE:\\n\n", + " No, 17077 is not prime. Its decomposition is 79 x 215\n", + " 0.895672\n", " \n", " \n", " 2\n", - " \\nAnswer the following question.\n", - " \\n\\nWhat is the meaning of the phrase \"catching some z's\"?\\n\n", - " 0.922788\n", + " INSTRUCTION:\\n\\nAnswer the following question.\\n\\nPROMPT:\\nis 17077 a prime number\\nRESPONSE:\\n\n", + " No, 17077 is not a prime number. It is divisible by\n", + " 1.149236\n", " \n", " \n", " 3\n", - " \\nAnswer the following question.\n", - " \\n\\nIn what ways might information literacy skills help students succeed in their studies?\n", - " 1.075018\n", + " INSTRUCTION:\\n\\nAnswer the following question.\\n\\nPROMPT:\\nIs 17077 prime?\\nRESPONSE:\\n\n", + " No, 17077 is not a prime number. 17077 is div\n", + " 0.921796\n", " \n", " \n", "\n", "" ], "text/plain": [ - " prompt \\\n", - "0 \\nAnswer the following question. \\nIf it is not prime, give its decomposition. \n", - "1 \\nAnswer the following question. \\nIf it is not prime, give its decomposition. \n", - "2 \\nAnswer the following question. \n", - "3 \\nAnswer the following question. \n", + " prompt \\\n", + "0 INSTRUCTION:\\n\\nAnswer the following question. \\nIf it is not prime, give its decomposition.\\n\\nPROMPT:\\nis 17077 a prime number\\nRESPONSE:\\n \n", + "1 INSTRUCTION:\\n\\nAnswer the following question. \\nIf it is not prime, give its decomposition.\\n\\nPROMPT:\\nIs 17077 prime?\\nRESPONSE:\\n \n", + "2 INSTRUCTION:\\n\\nAnswer the following question.\\n\\nPROMPT:\\nis 17077 a prime number\\nRESPONSE:\\n \n", + "3 INSTRUCTION:\\n\\nAnswer the following question.\\n\\nPROMPT:\\nIs 17077 prime?\\nRESPONSE:\\n \n", "\n", - " response(s) \\\n", - "0 \\n\\n93\\nIt is not a prime number, its decomposition is 3 \n", - "1 \\n\\n45\\n\\n45 = 3 x 3 x 5 \n", - "2 \\n\\nWhat is the meaning of the phrase \"catching some z's\"?\\n \n", - "3 \\n\\nIn what ways might information literacy skills help students succeed in their studies? \n", - "\n", - " latency \n", - "0 1.993576 \n", - "1 0.908900 \n", - "2 0.922788 \n", - "3 1.075018 " + " response latency \n", + "0 No, 17077 is not a prime number. Its decomposition is 13 0.970505 \n", + "1 No, 17077 is not prime. Its decomposition is 79 x 215 0.895672 \n", + "2 No, 17077 is not a prime number. It is divisible by 1.149236 \n", + "3 No, 17077 is not a prime number. 17077 is div 0.921796 " ] }, "metadata": {}, @@ -300,7 +294,7 @@ " \n", " \n", " prompt\n", - " response(s)\n", + " response\n", " latency\n", " followed_directions\n", " \n", @@ -308,54 +302,54 @@ " \n", " \n", " 0\n", - " \\nAnswer the following question. \\nIf it is not prime, give its decomposition.\n", - " \\n\\n93\\nIt is not a prime number, its decomposition is 3\n", - " 1.993576\n", + " INSTRUCTION:\\n\\nAnswer the following question. \\nIf it is not prime, give its decomposition.\\n\\nPROMPT:\\nis 17077 a prime number\\nRESPONSE:\\n\n", + " No, 17077 is not a prime number. Its decomposition is 13\n", + " 0.970505\n", " 0.0\n", " \n", " \n", " 1\n", - " \\nAnswer the following question. \\nIf it is not prime, give its decomposition.\n", - " \\n\\n45\\n\\n45 = 3 x 3 x 5\n", - " 0.908900\n", + " INSTRUCTION:\\n\\nAnswer the following question. \\nIf it is not prime, give its decomposition.\\n\\nPROMPT:\\nIs 17077 prime?\\nRESPONSE:\\n\n", + " No, 17077 is not prime. Its decomposition is 79 x 215\n", + " 0.895672\n", " 1.0\n", " \n", " \n", " 2\n", - " \\nAnswer the following question.\n", - " \\n\\nWhat is the meaning of the phrase \"catching some z's\"?\\n\n", - " 0.922788\n", - " 0.0\n", + " INSTRUCTION:\\n\\nAnswer the following question.\\n\\nPROMPT:\\nis 17077 a prime number\\nRESPONSE:\\n\n", + " No, 17077 is not a prime number. It is divisible by\n", + " 1.149236\n", + " 1.0\n", " \n", " \n", " 3\n", - " \\nAnswer the following question.\n", - " \\n\\nIn what ways might information literacy skills help students succeed in their studies?\n", - " 1.075018\n", - " 0.0\n", + " INSTRUCTION:\\n\\nAnswer the following question.\\n\\nPROMPT:\\nIs 17077 prime?\\nRESPONSE:\\n\n", + " No, 17077 is not a prime number. 17077 is div\n", + " 0.921796\n", + " 1.0\n", " \n", " \n", "\n", "" ], "text/plain": [ - " prompt \\\n", - "0 \\nAnswer the following question. \\nIf it is not prime, give its decomposition. \n", - "1 \\nAnswer the following question. \\nIf it is not prime, give its decomposition. \n", - "2 \\nAnswer the following question. \n", - "3 \\nAnswer the following question. \n", + " prompt \\\n", + "0 INSTRUCTION:\\n\\nAnswer the following question. \\nIf it is not prime, give its decomposition.\\n\\nPROMPT:\\nis 17077 a prime number\\nRESPONSE:\\n \n", + "1 INSTRUCTION:\\n\\nAnswer the following question. \\nIf it is not prime, give its decomposition.\\n\\nPROMPT:\\nIs 17077 prime?\\nRESPONSE:\\n \n", + "2 INSTRUCTION:\\n\\nAnswer the following question.\\n\\nPROMPT:\\nis 17077 a prime number\\nRESPONSE:\\n \n", + "3 INSTRUCTION:\\n\\nAnswer the following question.\\n\\nPROMPT:\\nIs 17077 prime?\\nRESPONSE:\\n \n", "\n", - " response(s) \\\n", - "0 \\n\\n93\\nIt is not a prime number, its decomposition is 3 \n", - "1 \\n\\n45\\n\\n45 = 3 x 3 x 5 \n", - "2 \\n\\nWhat is the meaning of the phrase \"catching some z's\"?\\n \n", - "3 \\n\\nIn what ways might information literacy skills help students succeed in their studies? \n", + " response latency \\\n", + "0 No, 17077 is not a prime number. Its decomposition is 13 0.970505 \n", + "1 No, 17077 is not prime. Its decomposition is 79 x 215 0.895672 \n", + "2 No, 17077 is not a prime number. It is divisible by 1.149236 \n", + "3 No, 17077 is not a prime number. 17077 is div 0.921796 \n", "\n", - " latency followed_directions \n", - "0 1.993576 0.0 \n", - "1 0.908900 1.0 \n", - "2 0.922788 0.0 \n", - "3 1.075018 0.0 " + " followed_directions \n", + "0 0.0 \n", + "1 1.0 \n", + "2 1.0 \n", + "3 1.0 " ] }, "metadata": {}, From e582a3dc6e5d203727c6537d8f6a3dde1d72556a Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 9 Oct 2023 10:29:24 -0400 Subject: [PATCH 072/182] Handling duplicate column name in Experiment DataFrame --- prompttools/experiment/experiments/experiment.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/prompttools/experiment/experiments/experiment.py b/prompttools/experiment/experiments/experiment.py index 3763805d..d9e0c545 100644 --- a/prompttools/experiment/experiments/experiment.py +++ b/prompttools/experiment/experiments/experiment.py @@ -241,7 +241,11 @@ def _construct_result_dfs( if extract_response_equal_full_result: result_df = response_df else: - result_df = pd.concat([response_df, pd.DataFrame(results)], axis=1) + # Handle the case where `input_arg_df` has the same column names as `result_df` + result_df = pd.DataFrame(results) + common_columns = set(input_arg_df.columns) & set(result_df.columns) + result_df = result_df.add_prefix("response_") if common_columns else result_df + result_df = pd.concat([response_df, result_df], axis=1) # `score_df` contains computed metrics (e.g. latency, evaluation metrics) self.score_df = pd.DataFrame({"latency": latencies}) From 45de2400980cf4d1fb8ef9780bfcf5b64a556702 Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 9 Oct 2023 10:29:33 -0400 Subject: [PATCH 073/182] Example --- examples/notebooks/test_app.ipynb | 1131 +++++++++++++++++ .../experiments/openai_chat_experiment.py | 60 + 2 files changed, 1191 insertions(+) create mode 100644 examples/notebooks/test_app.ipynb diff --git a/examples/notebooks/test_app.ipynb b/examples/notebooks/test_app.ipynb new file mode 100644 index 00000000..ac620587 --- /dev/null +++ b/examples/notebooks/test_app.ipynb @@ -0,0 +1,1131 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Save Experiment to Server Example" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from prompttools.experiment import OpenAIChatExperiment\n", + "\n", + "import os\n", + "\n", + "os.environ[\"OPENAI_API_KEY\"] = \"\"" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "models = [\"gpt-3.5-turbo\"]\n", + "messages = [\n", + " [\n", + " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", + " {\"role\": \"user\", \"content\": \"Who was the first president?\"},\n", + " ]\n", + "]\n", + "temperatures = [0.0, 1.0]\n", + "# You can add more parameters that you'd like to test here.\n", + "\n", + "experiment = OpenAIChatExperiment(models, messages, temperature=temperatures)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperaturemessagesresponselatency
00.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.0.859089
11.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington.1.121416
\n", + "
" + ], + "text/plain": [ + " temperature \\\n", + "0 0.0 \n", + "1 1.0 \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. \n", + "\n", + " latency \n", + "0 0.859089 \n", + "1 1.121416 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment.run()\n", + "experiment.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmessagestemperaturetop_pnstreampresence_penaltyfrequency_penaltyresponseresponse_idresponse_objectresponse_createdresponse_modelresponse_choicesresponse_usagelatency
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]0.01.01False0.00.0The first president of the United States was George Washington. He served as president from 1789 to 1797.chatcmpl-87dUDKRQCO6Bq1PdPJLfF3vsXeluEchat.completion1696830773gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}0.859089
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]1.01.01False0.00.0The first president of the United States was George Washington.chatcmpl-87dUEABSL6dfbEQqDw6Mc61cKh42schat.completion1696830774gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}1.121416
\n", + "
" + ], + "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " temperature top_p n stream presence_penalty frequency_penalty \\\n", + "0 0.0 1.0 1 False 0.0 0.0 \n", + "1 1.0 1.0 1 False 0.0 0.0 \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. \n", + "\n", + " response_id response_object response_created \\\n", + "0 chatcmpl-87dUDKRQCO6Bq1PdPJLfF3vsXeluE chat.completion 1696830773 \n", + "1 chatcmpl-87dUEABSL6dfbEQqDw6Mc61cKh42s chat.completion 1696830774 \n", + "\n", + " response_model \\\n", + "0 gpt-3.5-turbo-0613 \n", + "1 gpt-3.5-turbo-0613 \n", + "\n", + " response_choices \\\n", + "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", + "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}] \n", + "\n", + " response_usage \\\n", + "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", + "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", + "\n", + " latency \n", + "0 0.859089 \n", + "1 1.121416 " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "experiment.full_df" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Creating serialized state of experiment...\n", + "Sending HTTP POST...\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "experiment.save_experiment(\"TEST_SAVE_NAME\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "See results:\n", + "\n", + "http://127.0.0.1:5000/experiment/\n", + "\n", + "http://127.0.0.1:5000/experiment/logs" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Load Experiment from Server Example" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Grab uuid from http://127.0.0.1:5000/experiment/" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sending HTTP GET request...\n", + "Loaded experiment.\n" + ] + } + ], + "source": [ + "experiment_from_load = OpenAIChatExperiment.load_experiment('c5f7e53f-7c69-474e-aa4a-b9df17efca45')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmessagestemperaturetop_pnstreampresence_penaltyfrequency_penaltyresponseresponse_idresponse_objectresponse_createdresponse_modelresponse_choicesresponse_usagelatency
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]0.01.01False0.00.0The first president of the United States was George Washington. He served as president from 1789 to 1797.chatcmpl-87dUDKRQCO6Bq1PdPJLfF3vsXeluEchat.completion1696830773gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}0.859089
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]1.01.01False0.00.0The first president of the United States was George Washington.chatcmpl-87dUEABSL6dfbEQqDw6Mc61cKh42schat.completion1696830774gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}1.121416
\n", + "
" + ], + "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " temperature top_p n stream presence_penalty frequency_penalty \\\n", + "0 0.0 1.0 1 False 0.0 0.0 \n", + "1 1.0 1.0 1 False 0.0 0.0 \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. \n", + "\n", + " response_id response_object response_created \\\n", + "0 chatcmpl-87dUDKRQCO6Bq1PdPJLfF3vsXeluE chat.completion 1696830773 \n", + "1 chatcmpl-87dUEABSL6dfbEQqDw6Mc61cKh42s chat.completion 1696830774 \n", + "\n", + " response_model \\\n", + "0 gpt-3.5-turbo-0613 \n", + "1 gpt-3.5-turbo-0613 \n", + "\n", + " response_choices \\\n", + "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", + "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}] \n", + "\n", + " response_usage \\\n", + "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", + "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", + "\n", + " latency \n", + "0 0.859089 \n", + "1 1.121416 " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "experiment_from_load.full_df" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperaturemessagesresponselatencydumb_evaldumb_eval_metric
00.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.0.859089EVAL'ED The firstEVAL'ED The first
11.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington.1.121416EVAL'ED The firstEVAL'ED The first
\n", + "
" + ], + "text/plain": [ + " temperature \\\n", + "0 0.0 \n", + "1 1.0 \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. \n", + "\n", + " latency dumb_eval dumb_eval_metric \n", + "0 0.859089 EVAL'ED The first EVAL'ED The first \n", + "1 1.121416 EVAL'ED The first EVAL'ED The first " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def _dumb_eval(row):\n", + " return \"EVAL'ED \" + row['response'][:10]\n", + "\n", + "\n", + "experiment_from_load.evaluate(\"dumb_eval_metric\", _dumb_eval)\n", + "experiment_from_load.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperaturemessagesresponselatency
00.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.683780
11.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.0.991504
20.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.111189
31.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as the nation's first president from 1789 to 1797.0.960242
\n", + "
" + ], + "text/plain": [ + " temperature \\\n", + "0 0.0 \n", + "1 1.0 \n", + "2 0.0 \n", + "3 1.0 \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "2 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "3 The first president of the United States was George Washington. He served as the nation's first president from 1789 to 1797. \n", + "\n", + " latency \n", + "0 1.683780 \n", + "1 0.991504 \n", + "2 1.111189 \n", + "3 0.960242 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment_from_load.run()\n", + "experiment_from_load.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Run Experiment on Server Example" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Response:\n", + "200\n" + ] + } + ], + "source": [ + "import requests\n", + "import json\n", + "\n", + "url = \"http://127.0.0.1:5000/experiment/run\"\n", + "\n", + "model = [\"gpt-3.5-turbo\"]\n", + "messages = [\n", + " [\n", + " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", + " {\"role\": \"user\", \"content\": \"Who was the first president?\"},\n", + " ]\n", + "]\n", + "temperature = [0.0, 1.0]\n", + "\n", + "\n", + "input_parameters = {\n", + " 'experiment_name': 'RUNNING_ON_SERVER_SIDE_TEST',\n", + " 'model': models,\n", + " 'messages': messages,\n", + " 'temperature': temperature,\n", + "}\n", + "\n", + "headers = {\n", + " \"OPENAI_API_KEY\": os.environ[\"OPENAI_API_KEY\"],\n", + " \"Content-Type\": \"application/json\"\n", + "}\n", + "\n", + "\n", + "response = requests.post(url, headers=headers, data=json.dumps(input_parameters))\n", + "\n", + "# Print the response\n", + "print(\"Response:\")\n", + "print(response.status_code)\n", + "# print(response.json())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "Checking results..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sending HTTP GET request...\n", + "Loaded experiment.\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmessagestemperaturetop_pnstreampresence_penaltyfrequency_penaltyresponseresponse_idresponse_objectresponse_createdresponse_modelresponse_choicesresponse_usagelatency
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]0.01.01False0.00.0The first president of the United States was George Washington. He served as president from 1789 to 1797.chatcmpl-87elWGXAZOUy5u9cZpt9wK81fb8Tichat.completion1696835690gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}1.008068
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]1.01.01False0.00.0The first president of the United States was George Washington.chatcmpl-87elYz68OyUCwP8ZBoW9KGszgKuq5chat.completion1696835692gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}0.957149
\n", + "
" + ], + "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " temperature top_p n stream presence_penalty frequency_penalty \\\n", + "0 0.0 1.0 1 False 0.0 0.0 \n", + "1 1.0 1.0 1 False 0.0 0.0 \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. \n", + "\n", + " response_id response_object response_created \\\n", + "0 chatcmpl-87elWGXAZOUy5u9cZpt9wK81fb8Ti chat.completion 1696835690 \n", + "1 chatcmpl-87elYz68OyUCwP8ZBoW9KGszgKuq5 chat.completion 1696835692 \n", + "\n", + " response_model \\\n", + "0 gpt-3.5-turbo-0613 \n", + "1 gpt-3.5-turbo-0613 \n", + "\n", + " response_choices \\\n", + "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", + "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}] \n", + "\n", + " response_usage \\\n", + "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", + "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", + "\n", + " latency \n", + "0 1.008068 \n", + "1 0.957149 " + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "experiment_from_load = OpenAIChatExperiment.load_experiment(\"9697a0dd-d603-4443-beec-bd6fd0b9126f\")\n", + "experiment_from_load.full_df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Feedback" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Received data: Field updated or inserted successfully.\n" + ] + } + ], + "source": [ + "import requests\n", + "import json\n", + "\n", + "api_url = \"http://127.0.0.1:5000/experiment/add_feedback/\"\n", + "\n", + "# Specify the data for the POST request\n", + "data = {\n", + " \"log_id\": \"65239810e9aee9e6d2cbc482\",\n", + " \"metric_name\": \"CUSTOM_METRIC\",\n", + " \"value\": 123,\n", + "}\n", + "\n", + "# Make the POST request\n", + "response = requests.post(api_url, json=data)\n", + "\n", + "# Check the response\n", + "if response.status_code == 200:\n", + " # Deserialize the response if it contains JSON data\n", + " data = response.json()\n", + " print(\"Received data:\", data)\n", + "else:\n", + " print(f\"Error: {response.status_code}, {response.text}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sending HTTP GET request...\n", + "Loaded experiment.\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmessagestemperaturetop_pnstreampresence_penaltyfrequency_penaltyresponseresponse_idresponse_objectresponse_createdresponse_modelresponse_choicesresponse_usagelatencyCUSTOM_METRIC
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]0.01.01False0.00.0The first president of the United States was George Washington. He served as president from 1789 to 1797.chatcmpl-87dUDKRQCO6Bq1PdPJLfF3vsXeluEchat.completion1696830773gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}0.859089123.0
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]1.01.01False0.00.0The first president of the United States was George Washington.chatcmpl-87dUEABSL6dfbEQqDw6Mc61cKh42schat.completion1696830774gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}1.121416NaN
\n", + "
" + ], + "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " temperature top_p n stream presence_penalty frequency_penalty \\\n", + "0 0.0 1.0 1 False 0.0 0.0 \n", + "1 1.0 1.0 1 False 0.0 0.0 \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. \n", + "\n", + " response_id response_object response_created \\\n", + "0 chatcmpl-87dUDKRQCO6Bq1PdPJLfF3vsXeluE chat.completion 1696830773 \n", + "1 chatcmpl-87dUEABSL6dfbEQqDw6Mc61cKh42s chat.completion 1696830774 \n", + "\n", + " response_model \\\n", + "0 gpt-3.5-turbo-0613 \n", + "1 gpt-3.5-turbo-0613 \n", + "\n", + " response_choices \\\n", + "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", + "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}] \n", + "\n", + " response_usage \\\n", + "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", + "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", + "\n", + " latency CUSTOM_METRIC \n", + "0 0.859089 123.0 \n", + "1 1.121416 NaN " + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "experiment_from_load = OpenAIChatExperiment.load_experiment('c5f7e53f-7c69-474e-aa4a-b9df17efca45')\n", + "experiment_from_load.full_df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index f8a7226c..2d1d1481 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -6,12 +6,15 @@ import os import json +import pickle from typing import Dict, List, Optional, Union import openai +import requests from prompttools.selector.prompt_selector import PromptSelector from prompttools.mock.mock import mock_openai_chat_completion_fn, mock_openai_chat_function_completion_fn from .experiment import Experiment +import pandas as pd class OpenAIChatExperiment(Experiment): @@ -168,3 +171,60 @@ def _get_model_names(self): def _get_prompts(self): return [self.prompt_keys[str(combo["messages"][-1]["content"])] for combo in self.argument_combos] + + def _get_state(self, name: str): + state_params = { + "prompt_keys": self.prompt_keys, + "all_args": self.all_args, + } + partial_col_names = self.partial_df.columns.tolist() + score_col_names = self.score_df.columns.tolist() + state = ( + name, + state_params, + self.full_df, + partial_col_names, + score_col_names, + ) + print("Creating serialized state of experiment...") + serialized_state = pickle.dumps(state) + return serialized_state + + def save_experiment(self, name: str): + state = self._get_state(name) + url = "http://127.0.0.1:5000/experiment/save" + headers = {"Content-Type": "application/octet-stream"} # Use a binary content type for pickled data + print("Sending HTTP POST request...") + response = requests.post(url, data=state, headers=headers) + return response + + @classmethod + def load_experiment(cls, uuid: str): + url = f"http://127.0.0.1:5000/experiment/load/{uuid}" + headers = {"Content-Type": "application/octet-stream"} # Use a binary content type for pickled data + print("Sending HTTP GET request...") + response = requests.get(url, headers=headers) + if response.status_code == 200: + state = pickle.loads(response.content) # Note that state should not have `name` included + return cls._load_state(state) + else: + print(f"Error: {response.status_code}, {response.text}") + + @classmethod + def _load_state(cls, state): + ( + state_params, + full_df, + partial_col_names, + score_col_names, + ) = state + + all_args, prompt_keys = state_params["all_args"], state_params["prompt_keys"] + experiment = cls(all_args["model"], all_args["messages"]) + experiment.prompt_keys = prompt_keys + experiment.all_args = all_args + experiment.full_df = pd.DataFrame(full_df) + experiment.partial_df = experiment.full_df[partial_col_names].copy() + experiment.score_df = experiment.full_df[score_col_names].copy() + print("Loaded experiment.") + return experiment From 4df0c70a50d59fe83949ef1497e521164dea3465 Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 10 Oct 2023 16:20:25 -0400 Subject: [PATCH 074/182] uuid edit --- examples/notebooks/test_app.ipynb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/examples/notebooks/test_app.ipynb b/examples/notebooks/test_app.ipynb index ac620587..9558187d 100644 --- a/examples/notebooks/test_app.ipynb +++ b/examples/notebooks/test_app.ipynb @@ -276,7 +276,9 @@ } ], "source": [ - "experiment.save_experiment(\"TEST_SAVE_NAME\")" + "experiment.save_experiment(\"TEST_SAVE_NAME\")\n", + "\n", + "# experiment.uuid = ...." ] }, { From dd196ebf97afc9092749442d7f73bef1ae435186 Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 11 Oct 2023 02:29:07 -0400 Subject: [PATCH 075/182] Setting previous uuid --- prompttools/experiment/experiments/experiment.py | 1 + .../experiment/experiments/openai_chat_experiment.py | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/prompttools/experiment/experiments/experiment.py b/prompttools/experiment/experiments/experiment.py index d9e0c545..4131c837 100644 --- a/prompttools/experiment/experiments/experiment.py +++ b/prompttools/experiment/experiments/experiment.py @@ -52,6 +52,7 @@ def __init__(self): self.partial_df = None self.score_df = None self.image_experiment = False + self._experiment_uuid = None try: if "SENTRY_OPT_OUT" not in os.environ: sentry_sdk.capture_message(f"Initializing {self.__class__.__name__}", "info") diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index 2d1d1481..096252e0 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -181,6 +181,7 @@ def _get_state(self, name: str): score_col_names = self.score_df.columns.tolist() state = ( name, + self._experiment_uuid, state_params, self.full_df, partial_col_names, @@ -196,6 +197,7 @@ def save_experiment(self, name: str): headers = {"Content-Type": "application/octet-stream"} # Use a binary content type for pickled data print("Sending HTTP POST request...") response = requests.post(url, data=state, headers=headers) + self._experiment_uuid = response.json().get("experiment_uuid") return response @classmethod @@ -206,12 +208,12 @@ def load_experiment(cls, uuid: str): response = requests.get(url, headers=headers) if response.status_code == 200: state = pickle.loads(response.content) # Note that state should not have `name` included - return cls._load_state(state) + return cls._load_state(state, uuid) else: print(f"Error: {response.status_code}, {response.text}") @classmethod - def _load_state(cls, state): + def _load_state(cls, state, uuid: str): ( state_params, full_df, @@ -226,5 +228,6 @@ def _load_state(cls, state): experiment.full_df = pd.DataFrame(full_df) experiment.partial_df = experiment.full_df[partial_col_names].copy() experiment.score_df = experiment.full_df[score_col_names].copy() + experiment._experiment_uuid = uuid print("Loaded experiment.") return experiment From 33075705a9a4a8ec32cce2029d8c8586c1531050 Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 11 Oct 2023 19:11:33 -0400 Subject: [PATCH 076/182] Adding API key and fixing experiment ID --- examples/notebooks/test_app.ipynb | 246 ++++++------------ .../experiment/experiments/experiment.py | 2 +- .../experiments/openai_chat_experiment.py | 29 ++- 3 files changed, 101 insertions(+), 176 deletions(-) diff --git a/examples/notebooks/test_app.ipynb b/examples/notebooks/test_app.ipynb index 9558187d..e8dbbe77 100644 --- a/examples/notebooks/test_app.ipynb +++ b/examples/notebooks/test_app.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -17,12 +17,13 @@ "\n", "import os\n", "\n", - "os.environ[\"OPENAI_API_KEY\"] = \"\"" + "os.environ[\"OPENAI_API_KEY\"] = \"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\"\n", + "os.environ[\"HEGELAI_API_KEY\"] = \"\"" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -41,7 +42,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -77,14 +78,14 @@ " 0.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " 0.859089\n", + " 1.934486\n", " \n", " \n", " 1\n", " 1.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " The first president of the United States was George Washington.\n", - " 1.121416\n", + " 0.709772\n", " \n", " \n", "\n", @@ -104,8 +105,8 @@ "1 The first president of the United States was George Washington. \n", "\n", " latency \n", - "0 0.859089 \n", - "1 1.121416 " + "0 1.934486 \n", + "1 0.709772 " ] }, "metadata": {}, @@ -119,7 +120,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -173,13 +174,13 @@ " 0.0\n", " 0.0\n", " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " chatcmpl-87dUDKRQCO6Bq1PdPJLfF3vsXeluE\n", + " chatcmpl-88ccstwsKs3yan1ESPBTb5RgP40NF\n", " chat.completion\n", - " 1696830773\n", + " 1697065794\n", " gpt-3.5-turbo-0613\n", " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]\n", " {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}\n", - " 0.859089\n", + " 1.934486\n", " \n", " \n", " 1\n", @@ -192,13 +193,13 @@ " 0.0\n", " 0.0\n", " The first president of the United States was George Washington.\n", - " chatcmpl-87dUEABSL6dfbEQqDw6Mc61cKh42s\n", + " chatcmpl-88cct1W9crL65HnRz5uBkVa4Nk4L3\n", " chat.completion\n", - " 1696830774\n", + " 1697065795\n", " gpt-3.5-turbo-0613\n", " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}]\n", " {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}\n", - " 1.121416\n", + " 0.709772\n", " \n", " \n", "\n", @@ -222,8 +223,8 @@ "1 The first president of the United States was George Washington. \n", "\n", " response_id response_object response_created \\\n", - "0 chatcmpl-87dUDKRQCO6Bq1PdPJLfF3vsXeluE chat.completion 1696830773 \n", - "1 chatcmpl-87dUEABSL6dfbEQqDw6Mc61cKh42s chat.completion 1696830774 \n", + "0 chatcmpl-88ccstwsKs3yan1ESPBTb5RgP40NF chat.completion 1697065794 \n", + "1 chatcmpl-88cct1W9crL65HnRz5uBkVa4Nk4L3 chat.completion 1697065795 \n", "\n", " response_model \\\n", "0 gpt-3.5-turbo-0613 \n", @@ -238,11 +239,11 @@ "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", "\n", " latency \n", - "0 0.859089 \n", - "1 1.121416 " + "0 1.934486 \n", + "1 0.709772 " ] }, - "execution_count": 4, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -253,7 +254,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -261,24 +262,36 @@ "output_type": "stream", "text": [ "Creating serialized state of experiment...\n", - "Sending HTTP POST...\n" + "Sending HTTP POST request...\n", + "\n" ] - }, + } + ], + "source": [ + "res = experiment.save_experiment(\"TEST_SAVE_NAME\")\n", + "\n", + "print(res)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ { "data": { "text/plain": [ - "" + "'e3882118-08e5-43c2-8d2d-2db118fbc60b'" ] }, - "execution_count": 7, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "experiment.save_experiment(\"TEST_SAVE_NAME\")\n", - "\n", - "# experiment.uuid = ...." + "experiment._experiment_id" ] }, { @@ -315,7 +328,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -323,144 +336,22 @@ "output_type": "stream", "text": [ "Sending HTTP GET request...\n", - "Loaded experiment.\n" + "Error: 500, {\n", + " \"error\": \"\\\"['_id', 'user_id', 'experiment_id', 'experiment_name', 'timestamp'] not found in axis\\\"\"\n", + "}\n", + "\n" ] } ], "source": [ - "experiment_from_load = OpenAIChatExperiment.load_experiment('c5f7e53f-7c69-474e-aa4a-b9df17efca45')" + "experiment_from_load = OpenAIChatExperiment.load_experiment(\"e3882118-08e5-43c2-8d2d-2db118fbc60b\")" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
modelmessagestemperaturetop_pnstreampresence_penaltyfrequency_penaltyresponseresponse_idresponse_objectresponse_createdresponse_modelresponse_choicesresponse_usagelatency
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]0.01.01False0.00.0The first president of the United States was George Washington. He served as president from 1789 to 1797.chatcmpl-87dUDKRQCO6Bq1PdPJLfF3vsXeluEchat.completion1696830773gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}0.859089
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]1.01.01False0.00.0The first president of the United States was George Washington.chatcmpl-87dUEABSL6dfbEQqDw6Mc61cKh42schat.completion1696830774gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}1.121416
\n", - "
" - ], - "text/plain": [ - " model \\\n", - "0 gpt-3.5-turbo \n", - "1 gpt-3.5-turbo \n", - "\n", - " messages \\\n", - "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "\n", - " temperature top_p n stream presence_penalty frequency_penalty \\\n", - "0 0.0 1.0 1 False 0.0 0.0 \n", - "1 1.0 1.0 1 False 0.0 0.0 \n", - "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington. \n", - "\n", - " response_id response_object response_created \\\n", - "0 chatcmpl-87dUDKRQCO6Bq1PdPJLfF3vsXeluE chat.completion 1696830773 \n", - "1 chatcmpl-87dUEABSL6dfbEQqDw6Mc61cKh42s chat.completion 1696830774 \n", - "\n", - " response_model \\\n", - "0 gpt-3.5-turbo-0613 \n", - "1 gpt-3.5-turbo-0613 \n", - "\n", - " response_choices \\\n", - "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", - "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}] \n", - "\n", - " response_usage \\\n", - "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", - "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", - "\n", - " latency \n", - "0 0.859089 \n", - "1 1.121416 " - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "experiment_from_load.full_df" ] @@ -1091,15 +982,38 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", + "execution_count": 7, "metadata": {}, - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from pymongo import MongoClient\n", + "\n", + "MONGO_ADDRESS = 'mongodb://localhost:27017/'\n", + "DATABASE_NAME = 'playground'\n", + "EXPERIMENTS = 'experiments'\n", + "EXPERIMENT_LOGS_COLLECTION_NAME = 'experiment_logs'\n", + "\n", + "# Connect to MongoDB\n", + "client = MongoClient(MONGO_ADDRESS)\n", + "db = client[DATABASE_NAME]\n", + "experiments_collection = db[EXPERIMENTS]\n", + "logs_collection = db[EXPERIMENT_LOGS_COLLECTION_NAME]\n", + "\n", + "\n", + "# experiments_collection.delete_many({})\n", + "# logs_collection.delete_many({})" + ] }, { "cell_type": "code", diff --git a/prompttools/experiment/experiments/experiment.py b/prompttools/experiment/experiments/experiment.py index 4131c837..4f027fc2 100644 --- a/prompttools/experiment/experiments/experiment.py +++ b/prompttools/experiment/experiments/experiment.py @@ -52,7 +52,7 @@ def __init__(self): self.partial_df = None self.score_df = None self.image_experiment = False - self._experiment_uuid = None + self._experiment_id = None try: if "SENTRY_OPT_OUT" not in os.environ: sentry_sdk.capture_message(f"Initializing {self.__class__.__name__}", "info") diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index 096252e0..ad003835 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -181,7 +181,7 @@ def _get_state(self, name: str): score_col_names = self.score_df.columns.tolist() state = ( name, - self._experiment_uuid, + self._experiment_id, state_params, self.full_df, partial_col_names, @@ -192,28 +192,39 @@ def _get_state(self, name: str): return serialized_state def save_experiment(self, name: str): + if os.environ["HEGELAI_API_KEY"] is None: + raise PermissionError("Please set HEGELAI_API_KEY (e.g. os.environ['HEGELAI_API_KEY']).") state = self._get_state(name) url = "http://127.0.0.1:5000/experiment/save" - headers = {"Content-Type": "application/octet-stream"} # Use a binary content type for pickled data + headers = { + "Content-Type": "application/octet-stream", # Use a binary content type for pickled data + "Authorization": os.environ["HEGELAI_API_KEY"], + } print("Sending HTTP POST request...") response = requests.post(url, data=state, headers=headers) - self._experiment_uuid = response.json().get("experiment_uuid") + self._experiment_id = response.json().get("experiment_id") return response @classmethod - def load_experiment(cls, uuid: str): - url = f"http://127.0.0.1:5000/experiment/load/{uuid}" - headers = {"Content-Type": "application/octet-stream"} # Use a binary content type for pickled data + def load_experiment(cls, experiment_id: str): + if os.environ["HEGELAI_API_KEY"] is None: + raise PermissionError("Please set HEGELAI_API_KEY (e.g. os.environ['HEGELAI_API_KEY']).") + + url = f"http://127.0.0.1:5000/experiment/load/{experiment_id}" + headers = { + "Content-Type": "application/octet-stream", # Use a binary content type for pickled data + "Authorization": os.environ["HEGELAI_API_KEY"], + } print("Sending HTTP GET request...") response = requests.get(url, headers=headers) if response.status_code == 200: state = pickle.loads(response.content) # Note that state should not have `name` included - return cls._load_state(state, uuid) + return cls._load_state(state, experiment_id) else: print(f"Error: {response.status_code}, {response.text}") @classmethod - def _load_state(cls, state, uuid: str): + def _load_state(cls, state, experiment_id: str): ( state_params, full_df, @@ -228,6 +239,6 @@ def _load_state(cls, state, uuid: str): experiment.full_df = pd.DataFrame(full_df) experiment.partial_df = experiment.full_df[partial_col_names].copy() experiment.score_df = experiment.full_df[score_col_names].copy() - experiment._experiment_uuid = uuid + experiment._experiment_id = experiment_id print("Loaded experiment.") return experiment From 0cdee6a3483999bb08c6ce50ee3edffaab170adb Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 11 Oct 2023 19:46:42 -0400 Subject: [PATCH 077/182] Adding API key and fixing experiment ID --- examples/notebooks/test_app.ipynb | 203 ++++++++++++++++++++++++++---- 1 file changed, 180 insertions(+), 23 deletions(-) diff --git a/examples/notebooks/test_app.ipynb b/examples/notebooks/test_app.ipynb index e8dbbe77..53eb5684 100644 --- a/examples/notebooks/test_app.ipynb +++ b/examples/notebooks/test_app.ipynb @@ -17,7 +17,7 @@ "\n", "import os\n", "\n", - "os.environ[\"OPENAI_API_KEY\"] = \"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\"\n", + "os.environ[\"OPENAI_API_KEY\"] = \"\"\n", "os.environ[\"HEGELAI_API_KEY\"] = \"\"" ] }, @@ -276,16 +276,16 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'e3882118-08e5-43c2-8d2d-2db118fbc60b'" + "'ed500f64-9589-4acb-b479-f201abfe6865'" ] }, - "execution_count": 6, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -328,7 +328,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -336,29 +336,189 @@ "output_type": "stream", "text": [ "Sending HTTP GET request...\n", - "Error: 500, {\n", - " \"error\": \"\\\"['_id', 'user_id', 'experiment_id', 'experiment_name', 'timestamp'] not found in axis\\\"\"\n", - "}\n", - "\n" + "experiment.full_df = model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " temperature top_p n stream presence_penalty frequency_penalty \\\n", + "0 0.0 1.0 1 False 0.0 0.0 \n", + "1 1.0 1.0 1 False 0.0 0.0 \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. \n", + "\n", + " response_id response_object response_created \\\n", + "0 chatcmpl-88ccstwsKs3yan1ESPBTb5RgP40NF chat.completion 1697065794 \n", + "1 chatcmpl-88cct1W9crL65HnRz5uBkVa4Nk4L3 chat.completion 1697065795 \n", + "\n", + " response_model \\\n", + "0 gpt-3.5-turbo-0613 \n", + "1 gpt-3.5-turbo-0613 \n", + "\n", + " response_choices \\\n", + "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", + "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}] \n", + "\n", + " response_usage \\\n", + "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", + "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", + "\n", + " latency revision_id \n", + "0 1.934486 86bf8267-b648-45ff-b4bc-c82ef112f6ab \n", + "1 0.709772 86bf8267-b648-45ff-b4bc-c82ef112f6ab \n", + "Loaded experiment.\n" ] } ], "source": [ - "experiment_from_load = OpenAIChatExperiment.load_experiment(\"e3882118-08e5-43c2-8d2d-2db118fbc60b\")" + "experiment_from_load = OpenAIChatExperiment.load_experiment('ed500f64-9589-4acb-b479-f201abfe6865')" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmessagestemperaturetop_pnstreampresence_penaltyfrequency_penaltyresponseresponse_idresponse_objectresponse_createdresponse_modelresponse_choicesresponse_usagelatencyrevision_id
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]0.01.01False0.00.0The first president of the United States was George Washington. He served as president from 1789 to 1797.chatcmpl-88ccstwsKs3yan1ESPBTb5RgP40NFchat.completion1697065794gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}1.93448686bf8267-b648-45ff-b4bc-c82ef112f6ab
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]1.01.01False0.00.0The first president of the United States was George Washington.chatcmpl-88cct1W9crL65HnRz5uBkVa4Nk4L3chat.completion1697065795gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}0.70977286bf8267-b648-45ff-b4bc-c82ef112f6ab
\n", + "
" + ], + "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " temperature top_p n stream presence_penalty frequency_penalty \\\n", + "0 0.0 1.0 1 False 0.0 0.0 \n", + "1 1.0 1.0 1 False 0.0 0.0 \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. \n", + "\n", + " response_id response_object response_created \\\n", + "0 chatcmpl-88ccstwsKs3yan1ESPBTb5RgP40NF chat.completion 1697065794 \n", + "1 chatcmpl-88cct1W9crL65HnRz5uBkVa4Nk4L3 chat.completion 1697065795 \n", + "\n", + " response_model \\\n", + "0 gpt-3.5-turbo-0613 \n", + "1 gpt-3.5-turbo-0613 \n", + "\n", + " response_choices \\\n", + "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", + "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}] \n", + "\n", + " response_usage \\\n", + "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", + "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", + "\n", + " latency revision_id \n", + "0 1.934486 86bf8267-b648-45ff-b4bc-c82ef112f6ab \n", + "1 0.709772 86bf8267-b648-45ff-b4bc-c82ef112f6ab " + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "experiment_from_load.full_df" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 17, "metadata": {}, "outputs": [ { @@ -386,7 +546,6 @@ " messages\n", " response\n", " latency\n", - " dumb_eval\n", " dumb_eval_metric\n", " \n", " \n", @@ -396,8 +555,7 @@ " 0.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " 0.859089\n", - " EVAL'ED The first\n", + " 1.934486\n", " EVAL'ED The first\n", " \n", " \n", @@ -405,8 +563,7 @@ " 1.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " The first president of the United States was George Washington.\n", - " 1.121416\n", - " EVAL'ED The first\n", + " 0.709772\n", " EVAL'ED The first\n", " \n", " \n", @@ -426,9 +583,9 @@ "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", "1 The first president of the United States was George Washington. \n", "\n", - " latency dumb_eval dumb_eval_metric \n", - "0 0.859089 EVAL'ED The first EVAL'ED The first \n", - "1 1.121416 EVAL'ED The first EVAL'ED The first " + " latency dumb_eval_metric \n", + "0 1.934486 EVAL'ED The first \n", + "1 0.709772 EVAL'ED The first " ] }, "metadata": {}, @@ -560,7 +717,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -568,7 +725,7 @@ "output_type": "stream", "text": [ "Response:\n", - "200\n" + "401\n" ] } ], From d3a64423c95b46b49354953c50ac6284e0b3e398 Mon Sep 17 00:00:00 2001 From: Kevin Tse Date: Fri, 13 Oct 2023 21:46:54 -0400 Subject: [PATCH 078/182] Update README code example (#97) --- README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index acbfbddd..8bb0dda8 100644 --- a/README.md +++ b/README.md @@ -27,10 +27,16 @@ In just a few lines of codes, you can test your prompts and parameters across di OpenAI, Anthropic, or LLaMA models). You can even evaluate the retrieval accuracy of vector databases. ```python -prompts = ["Tell me a joke.", "Is 17077 a prime number?"] +from prompttools.experiment import OpenAIChatExperiment + +messages = [ + [{"role": "user", "content": "Tell me a joke."},], + [{"role": "user", "content": "Is 17077 a prime number?"},], +] + models = ["gpt-3.5-turbo", "gpt-4"] temperatures = [0.0] -openai_experiment = OpenAIChatExperiment(models, prompts, temperature=temperatures) +openai_experiment = OpenAIChatExperiment(models, messages, temperature=temperatures) openai_experiment.run() openai_experiment.visualize() ``` From 44b57ab21e0592165dfeca4ddc77ce7f5718c698 Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 16 Oct 2023 11:51:44 -0400 Subject: [PATCH 079/182] Add option to clear previous results within `.run` --- prompttools/experiment/experiments/experiment.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/prompttools/experiment/experiments/experiment.py b/prompttools/experiment/experiments/experiment.py index 4f027fc2..9afa8c40 100644 --- a/prompttools/experiment/experiments/experiment.py +++ b/prompttools/experiment/experiments/experiment.py @@ -164,6 +164,7 @@ def prepare(self) -> None: def run( self, runs: int = 1, + clear_previous_results: bool = False, ) -> None: r""" Create tuples of input and output for every possible combination of arguments. @@ -175,10 +176,13 @@ def run( Args: runs (int): number of times to execute each possible combination of arguments, defaults to 1. + clear_previous_results (bool): clear previous results before running """ if not self.argument_combos: logging.info("Preparing first...") self.prepare() + if clear_previous_results: + self.queue = RequestQueue() for combo in self.argument_combos: for _ in range(runs): self.queue.enqueue( From 4ba2fdd7baf765d80f6b98ca8056401f78ead511 Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 16 Oct 2023 11:53:09 -0400 Subject: [PATCH 080/182] Run partial and insert into DataFrame --- .../experiment/experiments/experiment.py | 18 +-- .../experiments/openai_chat_experiment.py | 113 +++++++++++++++++- 2 files changed, 121 insertions(+), 10 deletions(-) diff --git a/prompttools/experiment/experiments/experiment.py b/prompttools/experiment/experiments/experiment.py index 9afa8c40..21e1fdf1 100644 --- a/prompttools/experiment/experiments/experiment.py +++ b/prompttools/experiment/experiments/experiment.py @@ -230,35 +230,35 @@ def _construct_result_dfs( will be an extractor function that accepts the response from the model and returns a value. """ # `input_arg_df` contains all all input args - input_arg_df = pd.DataFrame(input_args) + self.input_arg_df = pd.DataFrame(input_args) # `dynamic_input_arg_df` contains input args that has more than one unique values - dynamic_input_arg_df = _get_dynamic_columns(input_arg_df) + dynamic_input_arg_df = _get_dynamic_columns(self.input_arg_df) # `response_df` contains the extracted response (often being the text response) if response_extractors is None: - response_df = pd.DataFrame({"response": [self._extract_responses(result) for result in results]}) + self.response_df = pd.DataFrame({"response": [self._extract_responses(result) for result in results]}) else: res_dict = {} for col_name, extractor in response_extractors.items(): res_dict[col_name] = [extractor(result) for result in results] - response_df = pd.DataFrame(res_dict) + self.response_df = pd.DataFrame(res_dict) # `result_df` contains everything returned by the completion function if extract_response_equal_full_result: - result_df = response_df + self.result_df = self.response_df else: # Handle the case where `input_arg_df` has the same column names as `result_df` result_df = pd.DataFrame(results) - common_columns = set(input_arg_df.columns) & set(result_df.columns) + common_columns = set(self.input_arg_df.columns) & set(result_df.columns) result_df = result_df.add_prefix("response_") if common_columns else result_df - result_df = pd.concat([response_df, result_df], axis=1) + self.result_df = pd.concat([self.response_df, result_df], axis=1) # `score_df` contains computed metrics (e.g. latency, evaluation metrics) self.score_df = pd.DataFrame({"latency": latencies}) # `partial_df` contains some input arguments, extracted responses, and score - self.partial_df = pd.concat([dynamic_input_arg_df, response_df, self.score_df], axis=1) + self.partial_df = pd.concat([dynamic_input_arg_df, self.response_df, self.score_df], axis=1) # `full_df` contains all input arguments, responses, and score - self.full_df = pd.concat([input_arg_df, result_df, self.score_df], axis=1) + self.full_df = pd.concat([self.input_arg_df, self.result_df, self.score_df], axis=1) def get_table(self, get_all_cols: bool = False) -> pd.DataFrame: r""" diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index ad003835..fb01f557 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -3,17 +3,21 @@ # # This source code's license can be found in the # LICENSE file in the root directory of this source tree. - +import copy import os import json import pickle from typing import Dict, List, Optional, Union import openai import requests +import itertools +import logging from prompttools.selector.prompt_selector import PromptSelector from prompttools.mock.mock import mock_openai_chat_completion_fn, mock_openai_chat_function_completion_fn from .experiment import Experiment +from .error import PromptExperimentException +from ._utils import _get_dynamic_columns import pandas as pd @@ -242,3 +246,110 @@ def _load_state(cls, state, experiment_id: str): experiment._experiment_id = experiment_id print("Loaded experiment.") return experiment + + def _validate_arg_key(self, arg_name: str) -> None: + import inspect + + signature = inspect.signature(self.__init__) + name_exceptions = {"azure_openai_service_configs"} + + if arg_name in [param.name for param in signature.parameters.values()] and arg_name not in name_exceptions: + return + else: + raise RuntimeError("Provided argument name does not match known argument names.") + + def run_partial(self, **kwargs): + r""" + Run experiment with against one parameter, which can be existing or new. The new result will + be appended to any existing DataFrames. + + If the argument value did not exist before, it will be added to the list of argument combinations + that will be executed in the next run. + + e.g. `experiement.run_partial({model: 'gpt-4'})` + """ + print("Running partial experiment...") + if len(kwargs) > 1: + raise RuntimeError("Not supported.") + arg_name, arg_value = list(kwargs.items())[0] + + partial_all_args = copy.deepcopy(self.all_args) + partial_all_args[arg_name] = [arg_value] + + partial_argument_combos = [ + dict(zip(partial_all_args, val)) for val in itertools.product(*partial_all_args.values()) + ] + original_n_results = len(self.queue.get_results()) + + # Execute partial experiment + for combo in partial_argument_combos: + self.queue.enqueue( + self.completion_fn, + # We need to filter out defaults that are invalid JSON from the request + {k: v for k, v in combo.items() if (v is not None) and (v != float("inf"))}, + ) + + # Verify new results are added + n_new_elements = len(partial_argument_combos) + if original_n_results - len(self.queue.get_results()) == 0: + logging.error("No results. Something went wrong.") + raise PromptExperimentException + + # results = self.queue.get_results() + # input_args = self.queue.get_input_args() + # latencies = self.queue.get_latencies() + # + # self._construct_result_dfs(self.queue.get_input_args(), self.queue.get_results(), self.queue.get_latencies()) + + # Extract partial result + results = self.queue.get_results()[-n_new_elements:] + input_args = self.queue.get_input_args()[-n_new_elements:] + latencies = self.queue.get_latencies()[-n_new_elements:] + + if self.full_df is None: # The experiment has never been executed before + self._construct_result_dfs(input_args, results, latencies) + else: + # Currently, it always append new rows to the results. + # In the future, we may want to replace existing rows instead. + self._insert_new_values_to_dataframe(input_args, results, latencies) + + # If `arg_value` didn't exist before, add to `argument_combos`, which will be used in the next `.run()` + if arg_value not in self.all_args[arg_name]: + self.all_args[arg_name].append(arg_value) + self.argument_combos.append(partial_argument_combos) + + def _insert_new_values_to_dataframe( + self, input_args: list[dict[str, object]], results: list[dict[str, object]], latencies: list[float] + ): + new_input_arg_df = pd.DataFrame(input_args) + self.input_arg_df = pd.concat([self.input_arg_df, new_input_arg_df], ignore_index=True) + dynamic_input_arg_df = _get_dynamic_columns(self.input_arg_df) + + new_response_df = pd.DataFrame({"response": [self._extract_responses(result) for result in results]}) + self.response_df = pd.concat([self.response_df, new_response_df], axis=0, ignore_index=True) + + self.score_df = pd.concat([self.score_df, pd.DataFrame({"latency": latencies})], ignore_index=True) + + # Result DF + new_result_df = pd.DataFrame(results) + common_columns = set(new_input_arg_df.columns) & set(new_result_df.columns) + new_result_df = new_result_df.add_prefix("response_") if common_columns else new_result_df + new_result_df = pd.concat([new_response_df, new_result_df], axis=1) + self.result_df = pd.concat([self.result_df, new_result_df], axis=0, ignore_index=True) + + self.partial_df = pd.concat([dynamic_input_arg_df, self.response_df, self.score_df], axis=1) + self.full_df = pd.concat([self.input_arg_df, self.result_df, self.score_df], axis=1) + + # def _update_values_in_dataframe(self): + # r""" + # If, in the future, we wish to update existing values rather than appending to the end of the row. + # + # # Consider doing a merge left here + # # 1. Identify what input_args columns exist + # # 2. Use those columns names for pandas to do a merge left + # # 3. If a value (from evals mostly) doesn't exist in the new one, put as NaN or empty + # # 4. If 1 has the key combo but 2 doesn't, mkae sure to keep the one from 1 + # # 5. Make sure `scores_df` is correct + # # Alternatively, find the index and overwrite those DataFrame rows, where each row is a `pd.Series`. + # """ + # pass From d4ec4f5a36c2530c1ef5fab409d5253fde630c69 Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 16 Oct 2023 12:03:33 -0400 Subject: [PATCH 081/182] Greatly simplify API for partial --- examples/notebooks/test_app.ipynb | 286 +++++++++++++++--- .../experiment/experiments/experiment.py | 18 +- .../experiments/openai_chat_experiment.py | 46 +-- 3 files changed, 263 insertions(+), 87 deletions(-) diff --git a/examples/notebooks/test_app.ipynb b/examples/notebooks/test_app.ipynb index 53eb5684..1eb90ed7 100644 --- a/examples/notebooks/test_app.ipynb +++ b/examples/notebooks/test_app.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -23,7 +23,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -42,7 +42,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -78,14 +78,14 @@ " 0.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " 1.934486\n", + " 1.299724\n", " \n", " \n", " 1\n", " 1.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " The first president of the United States was George Washington.\n", - " 0.709772\n", + " The first president of the United States was George Washington. He served as the president from 1789 to 1797.\n", + " 1.126565\n", " \n", " \n", "\n", @@ -100,13 +100,13 @@ "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington. \n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. He served as the president from 1789 to 1797. \n", "\n", " latency \n", - "0 1.934486 \n", - "1 0.709772 " + "0 1.299724 \n", + "1 1.126565 " ] }, "metadata": {}, @@ -120,9 +120,16 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 8, "metadata": {}, "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Running partial experiment...\n" + ] + }, { "data": { "text/html": [ @@ -174,13 +181,13 @@ " 0.0\n", " 0.0\n", " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " chatcmpl-88ccstwsKs3yan1ESPBTb5RgP40NF\n", + " chatcmpl-8AKL3KrtNF0ZjhTOL0eHu2QcZlcTx\n", " chat.completion\n", - " 1697065794\n", + " 1697472153\n", " gpt-3.5-turbo-0613\n", " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]\n", " {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}\n", - " 1.934486\n", + " 1.299724\n", " \n", " \n", " 1\n", @@ -192,14 +199,33 @@ " False\n", " 0.0\n", " 0.0\n", + " The first president of the United States was George Washington. He served as the president from 1789 to 1797.\n", + " chatcmpl-8AKL4ttPKitT0lKPfsuBmALizYx2d\n", + " chat.completion\n", + " 1697472154\n", + " gpt-3.5-turbo-0613\n", + " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as the president from 1789 to 1797.'}, 'finish_reason': 'stop'}]\n", + " {'prompt_tokens': 23, 'completion_tokens': 25, 'total_tokens': 48}\n", + " 1.126565\n", + " \n", + " \n", + " 2\n", + " gpt-3.5-turbo\n", + " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", + " 0.5\n", + " 1.0\n", + " 1\n", + " False\n", + " 0.0\n", + " 0.0\n", " The first president of the United States was George Washington.\n", - " chatcmpl-88cct1W9crL65HnRz5uBkVa4Nk4L3\n", + " chatcmpl-8AKL5aYehALEOgDqkV4tooE0pjZq4\n", " chat.completion\n", - " 1697065795\n", + " 1697472155\n", " gpt-3.5-turbo-0613\n", " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}]\n", " {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}\n", - " 0.709772\n", + " 0.793576\n", " \n", " \n", "\n", @@ -209,46 +235,56 @@ " model \\\n", "0 gpt-3.5-turbo \n", "1 gpt-3.5-turbo \n", + "2 gpt-3.5-turbo \n", "\n", " messages \\\n", "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "\n", " temperature top_p n stream presence_penalty frequency_penalty \\\n", "0 0.0 1.0 1 False 0.0 0.0 \n", "1 1.0 1.0 1 False 0.0 0.0 \n", + "2 0.5 1.0 1 False 0.0 0.0 \n", "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington. \n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. He served as the president from 1789 to 1797. \n", + "2 The first president of the United States was George Washington. \n", "\n", " response_id response_object response_created \\\n", - "0 chatcmpl-88ccstwsKs3yan1ESPBTb5RgP40NF chat.completion 1697065794 \n", - "1 chatcmpl-88cct1W9crL65HnRz5uBkVa4Nk4L3 chat.completion 1697065795 \n", + "0 chatcmpl-8AKL3KrtNF0ZjhTOL0eHu2QcZlcTx chat.completion 1697472153 \n", + "1 chatcmpl-8AKL4ttPKitT0lKPfsuBmALizYx2d chat.completion 1697472154 \n", + "2 chatcmpl-8AKL5aYehALEOgDqkV4tooE0pjZq4 chat.completion 1697472155 \n", "\n", " response_model \\\n", "0 gpt-3.5-turbo-0613 \n", "1 gpt-3.5-turbo-0613 \n", + "2 gpt-3.5-turbo-0613 \n", "\n", - " response_choices \\\n", - "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", - "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}] \n", + " response_choices \\\n", + "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", + "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as the president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", + "2 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}] \n", "\n", " response_usage \\\n", "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", - "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", + "1 {'prompt_tokens': 23, 'completion_tokens': 25, 'total_tokens': 48} \n", + "2 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", "\n", " latency \n", - "0 1.934486 \n", - "1 0.709772 " + "0 1.299724 \n", + "1 1.126565 \n", + "2 0.793576 " ] }, - "execution_count": 11, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ + "experiment.run_partial(temperature=0.5)\n", "experiment.full_df" ] }, @@ -717,7 +753,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 35, "metadata": {}, "outputs": [ { @@ -725,7 +761,8 @@ "output_type": "stream", "text": [ "Response:\n", - "401\n" + "200\n", + "[{'model': 'gpt-3.5-turbo', 'messages': [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}], 'temperature': 0.0, 'top_p': 1.0, 'n': 1, 'stream': False, 'presence_penalty': 0.0, 'frequency_penalty': 0.0, 'response': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.', 'response_id': 'chatcmpl-88dS1ylV1T7BwNiuD53qHp3uylC05', 'response_object': 'chat.completion', 'response_created': 1697068965, 'response_model': 'gpt-3.5-turbo-0613', 'response_choices': [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}], 'response_usage': {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}, 'latency': 1.445512291, 'user_id': 0, 'experiment_id': 'd38f3ce0-ff4b-48a1-a7eb-e87f160f2344', 'experiment_name': 'RUNNING_ON_SERVER_SIDE_TEST', 'revision_id': 'f6e99087-75dc-46cd-87e5-59f827825afd', 'timestamp': 1697054566670, 'log_id': '652737a6675c713faa41274b'}, {'model': 'gpt-3.5-turbo', 'messages': [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}], 'temperature': 1.0, 'top_p': 1.0, 'n': 1, 'stream': False, 'presence_penalty': 0.0, 'frequency_penalty': 0.0, 'response': 'The first president of the United States was George Washington, serving from 1789 to 1797.', 'response_id': 'chatcmpl-88dS2l1gWveHxAOuyvqkjoOJV0ZIZ', 'response_object': 'chat.completion', 'response_created': 1697068966, 'response_model': 'gpt-3.5-turbo-0613', 'response_choices': [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington, serving from 1789 to 1797.'}, 'finish_reason': 'stop'}], 'response_usage': {'prompt_tokens': 23, 'completion_tokens': 21, 'total_tokens': 44}, 'latency': 0.6030918751, 'user_id': 0, 'experiment_id': 'd38f3ce0-ff4b-48a1-a7eb-e87f160f2344', 'experiment_name': 'RUNNING_ON_SERVER_SIDE_TEST', 'revision_id': 'f6e99087-75dc-46cd-87e5-59f827825afd', 'timestamp': 1697054566670, 'log_id': '652737a6675c713faa41274c'}]\n" ] } ], @@ -763,7 +800,7 @@ "# Print the response\n", "print(\"Response:\")\n", "print(response.status_code)\n", - "# print(response.json())" + "print(response.json())" ] }, { @@ -1139,16 +1176,16 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 7, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -1172,6 +1209,183 @@ "# logs_collection.delete_many({})" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Testing auth" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 111, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "f316761ef60ba804c4ae9963656204f14f8b7a85b982e2738aee02e31626fab9295aa760b67dc71300473484f5881744\n", + "\n", + "\n", + "401 Unauthorized\n", + "

Unauthorized

\n", + "

The server could not verify that you are authorized to access the URL requested. You either supplied the wrong credentials (e.g. a bad password), or your browser doesn't understand how to supply the credentials required.

\n", + "\n" + ] + } + ], + "source": [ + "import requests\n", + "\n", + "def get_experiments(access_token):\n", + " # URL for the API endpoint\n", + " api_url = \"http://127.0.0.1:5000/experiment/test_auth\"\n", + "\n", + " # Set up headers with the Bearer token\n", + " headers = {\n", + "# 'Authorization': f'Bearer {access_token}'\n", + " 'Authorization': access_token\n", + " }\n", + "\n", + " # Make the GET request with headers\n", + " response = requests.post(api_url, headers=headers)\n", + "\n", + " # Return the response object\n", + " return response\n", + "\n", + "print(os.environ['HEGELAI_API_KEY'])\n", + "response = get_experiments(os.environ['HEGELAI_API_KEY'])\n", + "print(response.text)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Response:\n", + "401\n" + ] + } + ], + "source": [ + "import requests\n", + "import json\n", + "\n", + "\n", + "\n", + "url = \"http://127.0.0.1:5000/experiment\"\n", + "# url = \"http://127.0.0.1:5000/experiment/logs\"\n", + "\n", + "model = [\"gpt-3.5-turbo\"]\n", + "messages = [\n", + " [\n", + " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", + " {\"role\": \"user\", \"content\": \"Who was the first president?\"},\n", + " ]\n", + "]\n", + "temperature = [0.0, 1.0]\n", + "\n", + "\n", + "input_parameters = {\n", + " 'experiment_name': 'RUNNING_ON_SERVER_SIDE_TEST',\n", + " 'model': models,\n", + " 'messages': messages,\n", + " 'temperature': temperature,\n", + "}\n", + "\n", + "headers = {\n", + " \"Authorization\": f\"Bearer {os.environ['HEGELAI_API_KEY']}\",\n", + " \"Content-Type\": \"application/json\"\n", + "}\n", + "\n", + "\n", + "response = requests.get(url, headers=headers, data=json.dumps(input_parameters))\n", + "\n", + "# Print the response\n", + "print(\"Response:\")\n", + "print(response.status_code)" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'OPENAI_API_KEY': '', 'Authorization': 'Bearer f0c41ced96e754cc1bf8fdf87725d8f0', 'Content-Type': 'application/json'}\n" + ] + } + ], + "source": [ + "print(headers)" + ] + }, + { + "cell_type": "code", + "execution_count": 150, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Response:\n", + "200\n" + ] + } + ], + "source": [ + "import requests\n", + "import json\n", + "\n", + "\n", + "\n", + "url = \"http://127.0.0.1:5001/\"\n", + "\n", + "headers = {\n", + " \"Authorization\": \"5f577514c87777524f02afa7c1f96fd8abda7a7828725e5eaf00146c7eb6ab1ac11273f1f7bbb8f9b13c5ad9464407db\",\n", + "# \"Authorization\": \"f316761ef60ba804c4ae9963656204f14f8b7a85b982e2738aee02e31626fab9295aa760b67dc71300473484f5881744\",\n", + " \"Content-Type\": \"application/json\"\n", + "}\n", + "\n", + "\n", + "response = requests.get(url, headers=headers, data=json.dumps(input_parameters))\n", + "\n", + "# Print the response\n", + "print(\"Response:\")\n", + "print(response.status_code)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "code", "execution_count": null, diff --git a/prompttools/experiment/experiments/experiment.py b/prompttools/experiment/experiments/experiment.py index 21e1fdf1..9afa8c40 100644 --- a/prompttools/experiment/experiments/experiment.py +++ b/prompttools/experiment/experiments/experiment.py @@ -230,35 +230,35 @@ def _construct_result_dfs( will be an extractor function that accepts the response from the model and returns a value. """ # `input_arg_df` contains all all input args - self.input_arg_df = pd.DataFrame(input_args) + input_arg_df = pd.DataFrame(input_args) # `dynamic_input_arg_df` contains input args that has more than one unique values - dynamic_input_arg_df = _get_dynamic_columns(self.input_arg_df) + dynamic_input_arg_df = _get_dynamic_columns(input_arg_df) # `response_df` contains the extracted response (often being the text response) if response_extractors is None: - self.response_df = pd.DataFrame({"response": [self._extract_responses(result) for result in results]}) + response_df = pd.DataFrame({"response": [self._extract_responses(result) for result in results]}) else: res_dict = {} for col_name, extractor in response_extractors.items(): res_dict[col_name] = [extractor(result) for result in results] - self.response_df = pd.DataFrame(res_dict) + response_df = pd.DataFrame(res_dict) # `result_df` contains everything returned by the completion function if extract_response_equal_full_result: - self.result_df = self.response_df + result_df = response_df else: # Handle the case where `input_arg_df` has the same column names as `result_df` result_df = pd.DataFrame(results) - common_columns = set(self.input_arg_df.columns) & set(result_df.columns) + common_columns = set(input_arg_df.columns) & set(result_df.columns) result_df = result_df.add_prefix("response_") if common_columns else result_df - self.result_df = pd.concat([self.response_df, result_df], axis=1) + result_df = pd.concat([response_df, result_df], axis=1) # `score_df` contains computed metrics (e.g. latency, evaluation metrics) self.score_df = pd.DataFrame({"latency": latencies}) # `partial_df` contains some input arguments, extracted responses, and score - self.partial_df = pd.concat([dynamic_input_arg_df, self.response_df, self.score_df], axis=1) + self.partial_df = pd.concat([dynamic_input_arg_df, response_df, self.score_df], axis=1) # `full_df` contains all input arguments, responses, and score - self.full_df = pd.concat([self.input_arg_df, self.result_df, self.score_df], axis=1) + self.full_df = pd.concat([input_arg_df, result_df, self.score_df], axis=1) def get_table(self, get_all_cols: bool = False) -> pd.DataFrame: r""" diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index fb01f557..99cd971a 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -17,7 +17,6 @@ from prompttools.mock.mock import mock_openai_chat_completion_fn, mock_openai_chat_function_completion_fn from .experiment import Experiment from .error import PromptExperimentException -from ._utils import _get_dynamic_columns import pandas as pd @@ -290,55 +289,18 @@ def run_partial(self, **kwargs): ) # Verify new results are added - n_new_elements = len(partial_argument_combos) if original_n_results - len(self.queue.get_results()) == 0: logging.error("No results. Something went wrong.") raise PromptExperimentException - # results = self.queue.get_results() - # input_args = self.queue.get_input_args() - # latencies = self.queue.get_latencies() - # - # self._construct_result_dfs(self.queue.get_input_args(), self.queue.get_results(), self.queue.get_latencies()) - - # Extract partial result - results = self.queue.get_results()[-n_new_elements:] - input_args = self.queue.get_input_args()[-n_new_elements:] - latencies = self.queue.get_latencies()[-n_new_elements:] - - if self.full_df is None: # The experiment has never been executed before - self._construct_result_dfs(input_args, results, latencies) - else: - # Currently, it always append new rows to the results. - # In the future, we may want to replace existing rows instead. - self._insert_new_values_to_dataframe(input_args, results, latencies) + # Currently, it always append new rows to the results. + # In the future, we may want to replace existing rows instead. + self._construct_result_dfs(self.queue.get_input_args(), self.queue.get_results(), self.queue.get_latencies()) # If `arg_value` didn't exist before, add to `argument_combos`, which will be used in the next `.run()` if arg_value not in self.all_args[arg_name]: self.all_args[arg_name].append(arg_value) - self.argument_combos.append(partial_argument_combos) - - def _insert_new_values_to_dataframe( - self, input_args: list[dict[str, object]], results: list[dict[str, object]], latencies: list[float] - ): - new_input_arg_df = pd.DataFrame(input_args) - self.input_arg_df = pd.concat([self.input_arg_df, new_input_arg_df], ignore_index=True) - dynamic_input_arg_df = _get_dynamic_columns(self.input_arg_df) - - new_response_df = pd.DataFrame({"response": [self._extract_responses(result) for result in results]}) - self.response_df = pd.concat([self.response_df, new_response_df], axis=0, ignore_index=True) - - self.score_df = pd.concat([self.score_df, pd.DataFrame({"latency": latencies})], ignore_index=True) - - # Result DF - new_result_df = pd.DataFrame(results) - common_columns = set(new_input_arg_df.columns) & set(new_result_df.columns) - new_result_df = new_result_df.add_prefix("response_") if common_columns else new_result_df - new_result_df = pd.concat([new_response_df, new_result_df], axis=1) - self.result_df = pd.concat([self.result_df, new_result_df], axis=0, ignore_index=True) - - self.partial_df = pd.concat([dynamic_input_arg_df, self.response_df, self.score_df], axis=1) - self.full_df = pd.concat([self.input_arg_df, self.result_df, self.score_df], axis=1) + self.prepare() # def _update_values_in_dataframe(self): # r""" From 9a07952336623a56b477d9d962b91b9da61cc91a Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 17 Oct 2023 10:50:34 -0400 Subject: [PATCH 082/182] Fix OpenAIChat Experiment signature --- prompttools/experiment/experiments/openai_chat_experiment.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index 99cd971a..dd9a9061 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -103,7 +103,7 @@ def __init__( max_tokens: Optional[List[int]] = [float("inf")], presence_penalty: Optional[List[float]] = [0.0], frequency_penalty: Optional[List[float]] = [0.0], - logit_bias: Optional[Dict] = [None], + logit_bias: Optional[List[Dict]] = [None], functions: Optional[List[Dict]] = [None], function_call: Optional[List[Dict[str, str]]] = [None], azure_openai_service_configs: Optional[dict] = None, From 5bc9f8668a67f8ac6e996c6b7c4925897aad4111 Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 17 Oct 2023 10:59:33 -0400 Subject: [PATCH 083/182] Adding `run_one` method to OpenAI Chat --- .../experiments/openai_chat_experiment.py | 55 ++++++++++++++++++- 1 file changed, 53 insertions(+), 2 deletions(-) diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index dd9a9061..7c02fd02 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -278,7 +278,7 @@ def run_partial(self, **kwargs): partial_argument_combos = [ dict(zip(partial_all_args, val)) for val in itertools.product(*partial_all_args.values()) ] - original_n_results = len(self.queue.get_results()) + original_n_results = len(self.queue.get_results()) if self.queue else 0 # Execute partial experiment for combo in partial_argument_combos: @@ -289,7 +289,7 @@ def run_partial(self, **kwargs): ) # Verify new results are added - if original_n_results - len(self.queue.get_results()) == 0: + if len(self.queue.get_results()) - original_n_results == 0: logging.error("No results. Something went wrong.") raise PromptExperimentException @@ -302,6 +302,57 @@ def run_partial(self, **kwargs): self.all_args[arg_name].append(arg_value) self.prepare() + def run_one( + self, + model: str, + messages: Union[List[Dict[str, str]], PromptSelector], + temperature: Optional[float] = 1.0, + top_p: Optional[float] = 1.0, + n: Optional[int] = 1, + stream: Optional[bool] = False, + stop: Optional[List[str]] = None, + max_tokens: Optional[int] = float("inf"), + presence_penalty: Optional[float] = 0.0, + frequency_penalty: Optional[float] = 0.0, + logit_bias: Optional[Dict] = None, + functions: Optional[Dict] = None, + function_call: Optional[Dict[str, str]] = None, + ): + r""" + Execute one particular configuration of the experiment and add that to the result DataFrame. + + Unlike `run_partial`, this doesn't change the argument combination of the experiment. + """ + kwargs = { + "model": model, + "messages": messages, + "temperature": temperature, + "top_p": top_p, + "n": n, + "stream": stream, + "stop": stop, + "max_tokens": max_tokens, + "presence_penalty": presence_penalty, + "frequency_penalty": frequency_penalty, + "logit_bias": logit_bias, + "functions": functions, + "function_call": function_call, + } + kwargs = {k: v for k, v in kwargs.items() if (v is not None) and (v != float("inf"))} + + original_n_results = len(self.queue.get_results()) if self.queue else 0 + self.queue.enqueue( + self.completion_fn, + kwargs, + ) + if len(self.queue.get_results()) - original_n_results != 1: + print(original_n_results) + print(len(self.queue.get_results())) + logging.error("No results. Something went wrong.") + raise PromptExperimentException + + self._construct_result_dfs(self.queue.get_input_args(), self.queue.get_results(), self.queue.get_latencies()) + # def _update_values_in_dataframe(self): # r""" # If, in the future, we wish to update existing values rather than appending to the end of the row. From 356d8c4961e678835e60d691fe73855a7e451c0e Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 17 Oct 2023 11:33:15 -0400 Subject: [PATCH 084/182] Adding `load_revision` API --- .../experiments/openai_chat_experiment.py | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index 7c02fd02..1bfc9e9f 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -198,7 +198,7 @@ def save_experiment(self, name: str): if os.environ["HEGELAI_API_KEY"] is None: raise PermissionError("Please set HEGELAI_API_KEY (e.g. os.environ['HEGELAI_API_KEY']).") state = self._get_state(name) - url = "http://127.0.0.1:5000/experiment/save" + url = "http://127.0.0.1:5000/sdk/save" headers = { "Content-Type": "application/octet-stream", # Use a binary content type for pickled data "Authorization": os.environ["HEGELAI_API_KEY"], @@ -213,7 +213,7 @@ def load_experiment(cls, experiment_id: str): if os.environ["HEGELAI_API_KEY"] is None: raise PermissionError("Please set HEGELAI_API_KEY (e.g. os.environ['HEGELAI_API_KEY']).") - url = f"http://127.0.0.1:5000/experiment/load/{experiment_id}" + url = f"http://127.0.0.1:5000/sdk/get/experiment/{experiment_id}" headers = { "Content-Type": "application/octet-stream", # Use a binary content type for pickled data "Authorization": os.environ["HEGELAI_API_KEY"], @@ -226,6 +226,25 @@ def load_experiment(cls, experiment_id: str): else: print(f"Error: {response.status_code}, {response.text}") + @classmethod + def load_revision(cls, revision_id: str): + if os.environ["HEGELAI_API_KEY"] is None: + raise PermissionError("Please set HEGELAI_API_KEY (e.g. os.environ['HEGELAI_API_KEY']).") + + url = f"http://127.0.0.1:5000/sdk/get/revision/{revision_id}" + headers = { + "Content-Type": "application/octet-stream", # Use a binary content type for pickled data + "Authorization": os.environ["HEGELAI_API_KEY"], + } + print("Sending HTTP GET request...") + response = requests.get(url, headers=headers) + if response.status_code == 200: + # Note: This is different from `load_experiment` + experiment_id, state = pickle.loads(response.content) + return cls._load_state(state, experiment_id) + else: + print(f"Error: {response.status_code}, {response.text}") + @classmethod def _load_state(cls, state, experiment_id: str): ( From 5f39531bd35d83e70b28348271f8ff97ff0691bd Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 20 Oct 2023 17:11:58 -0400 Subject: [PATCH 085/182] Saving notebook updates --- examples/notebooks/test_app.ipynb | 477 ++++++++++++++++++++++++++---- 1 file changed, 418 insertions(+), 59 deletions(-) diff --git a/examples/notebooks/test_app.ipynb b/examples/notebooks/test_app.ipynb index 1eb90ed7..d1bf3514 100644 --- a/examples/notebooks/test_app.ipynb +++ b/examples/notebooks/test_app.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 35, "metadata": {}, "outputs": [], "source": [ @@ -23,7 +23,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -42,7 +42,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -78,14 +78,14 @@ " 0.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " 1.299724\n", + " 1.064314\n", " \n", " \n", " 1\n", " 1.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " The first president of the United States was George Washington. He served as the president from 1789 to 1797.\n", - " 1.126565\n", + " The first president of the United States was George Washington.\n", + " 0.607052\n", " \n", " \n", "\n", @@ -100,13 +100,13 @@ "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington. He served as the president from 1789 to 1797. \n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. \n", "\n", " latency \n", - "0 1.299724 \n", - "1 1.126565 " + "0 1.064314 \n", + "1 0.607052 " ] }, "metadata": {}, @@ -120,7 +120,99 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperaturemessagesresponselatency
00.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.337838
11.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington, serving from 1789 to 1797.1.224729
21.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}]The second president of the United States was John Adams.3.326496
\n", + "
" + ], + "text/plain": [ + " temperature \\\n", + "0 0.0 \n", + "1 1.0 \n", + "2 1.0 \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}] \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington, serving from 1789 to 1797. \n", + "2 The second president of the United States was John Adams. \n", + "\n", + " latency \n", + "0 1.337838 \n", + "1 1.224729 \n", + "2 3.326496 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment.run_one(\"gpt-3.5-turbo\", [\n", + " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", + " {\"role\": \"user\", \"content\": \"Who was the second president?\"},\n", + " ])\n", + "experiment.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -181,13 +273,13 @@ " 0.0\n", " 0.0\n", " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " chatcmpl-8AKL3KrtNF0ZjhTOL0eHu2QcZlcTx\n", + " chatcmpl-8Afogt6JppN4gZhIDHLlj4dVDdBox\n", " chat.completion\n", - " 1697472153\n", + " 1697554714\n", " gpt-3.5-turbo-0613\n", " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]\n", " {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}\n", - " 1.299724\n", + " 1.337838\n", " \n", " \n", " 1\n", @@ -199,18 +291,37 @@ " False\n", " 0.0\n", " 0.0\n", - " The first president of the United States was George Washington. He served as the president from 1789 to 1797.\n", - " chatcmpl-8AKL4ttPKitT0lKPfsuBmALizYx2d\n", + " The first president of the United States was George Washington, serving from 1789 to 1797.\n", + " chatcmpl-8AfohOODBjWwdX27uNEnRQ2RSTU9c\n", " chat.completion\n", - " 1697472154\n", + " 1697554715\n", " gpt-3.5-turbo-0613\n", - " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as the president from 1789 to 1797.'}, 'finish_reason': 'stop'}]\n", - " {'prompt_tokens': 23, 'completion_tokens': 25, 'total_tokens': 48}\n", - " 1.126565\n", + " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington, serving from 1789 to 1797.'}, 'finish_reason': 'stop'}]\n", + " {'prompt_tokens': 23, 'completion_tokens': 21, 'total_tokens': 44}\n", + " 1.224729\n", " \n", " \n", " 2\n", " gpt-3.5-turbo\n", + " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}]\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " False\n", + " 0.0\n", + " 0.0\n", + " The second president of the United States was John Adams.\n", + " chatcmpl-8AfoltjNBsasogjnwHm1OcefEZxd2\n", + " chat.completion\n", + " 1697554719\n", + " gpt-3.5-turbo-0613\n", + " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second president of the United States was John Adams.'}, 'finish_reason': 'stop'}]\n", + " {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}\n", + " 3.326496\n", + " \n", + " \n", + " 3\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " 0.5\n", " 1.0\n", @@ -218,14 +329,14 @@ " False\n", " 0.0\n", " 0.0\n", - " The first president of the United States was George Washington.\n", - " chatcmpl-8AKL5aYehALEOgDqkV4tooE0pjZq4\n", + " The first president of the United States was George Washington. He served from 1789 to 1797.\n", + " chatcmpl-8Afp6Wd6CcF26ThPBjNFhCLhN6VGa\n", " chat.completion\n", - " 1697472155\n", + " 1697554740\n", " gpt-3.5-turbo-0613\n", - " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}]\n", - " {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}\n", - " 0.793576\n", + " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served from 1789 to 1797.'}, 'finish_reason': 'stop'}]\n", + " {'prompt_tokens': 23, 'completion_tokens': 22, 'total_tokens': 45}\n", + " 1.061821\n", " \n", " \n", "\n", @@ -236,49 +347,58 @@ "0 gpt-3.5-turbo \n", "1 gpt-3.5-turbo \n", "2 gpt-3.5-turbo \n", + "3 gpt-3.5-turbo \n", "\n", - " messages \\\n", - "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "\n", " temperature top_p n stream presence_penalty frequency_penalty \\\n", "0 0.0 1.0 1 False 0.0 0.0 \n", "1 1.0 1.0 1 False 0.0 0.0 \n", - "2 0.5 1.0 1 False 0.0 0.0 \n", + "2 1.0 1.0 1 False 0.0 0.0 \n", + "3 0.5 1.0 1 False 0.0 0.0 \n", "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington. He served as the president from 1789 to 1797. \n", - "2 The first president of the United States was George Washington. \n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington, serving from 1789 to 1797. \n", + "2 The second president of the United States was John Adams. \n", + "3 The first president of the United States was George Washington. He served from 1789 to 1797. \n", "\n", " response_id response_object response_created \\\n", - "0 chatcmpl-8AKL3KrtNF0ZjhTOL0eHu2QcZlcTx chat.completion 1697472153 \n", - "1 chatcmpl-8AKL4ttPKitT0lKPfsuBmALizYx2d chat.completion 1697472154 \n", - "2 chatcmpl-8AKL5aYehALEOgDqkV4tooE0pjZq4 chat.completion 1697472155 \n", + "0 chatcmpl-8Afogt6JppN4gZhIDHLlj4dVDdBox chat.completion 1697554714 \n", + "1 chatcmpl-8AfohOODBjWwdX27uNEnRQ2RSTU9c chat.completion 1697554715 \n", + "2 chatcmpl-8AfoltjNBsasogjnwHm1OcefEZxd2 chat.completion 1697554719 \n", + "3 chatcmpl-8Afp6Wd6CcF26ThPBjNFhCLhN6VGa chat.completion 1697554740 \n", "\n", " response_model \\\n", "0 gpt-3.5-turbo-0613 \n", "1 gpt-3.5-turbo-0613 \n", "2 gpt-3.5-turbo-0613 \n", + "3 gpt-3.5-turbo-0613 \n", "\n", - " response_choices \\\n", - "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", - "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as the president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", - "2 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}] \n", + " response_choices \\\n", + "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", + "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington, serving from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", + "2 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second president of the United States was John Adams.'}, 'finish_reason': 'stop'}] \n", + "3 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", "\n", " response_usage \\\n", "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", - "1 {'prompt_tokens': 23, 'completion_tokens': 25, 'total_tokens': 48} \n", + "1 {'prompt_tokens': 23, 'completion_tokens': 21, 'total_tokens': 44} \n", "2 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", + "3 {'prompt_tokens': 23, 'completion_tokens': 22, 'total_tokens': 45} \n", "\n", " latency \n", - "0 1.299724 \n", - "1 1.126565 \n", - "2 0.793576 " + "0 1.337838 \n", + "1 1.224729 \n", + "2 3.326496 \n", + "3 1.061821 " ] }, - "execution_count": 8, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -290,7 +410,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -1176,16 +1296,16 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 31, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -1197,16 +1317,19 @@ "DATABASE_NAME = 'playground'\n", "EXPERIMENTS = 'experiments'\n", "EXPERIMENT_LOGS_COLLECTION_NAME = 'experiment_logs'\n", + "USER_PERMISSION_COLLECTION_NAME = \"user_permission\"\n", "\n", "# Connect to MongoDB\n", "client = MongoClient(MONGO_ADDRESS)\n", "db = client[DATABASE_NAME]\n", "experiments_collection = db[EXPERIMENTS]\n", "logs_collection = db[EXPERIMENT_LOGS_COLLECTION_NAME]\n", + "user_permission_collection = db[USER_PERMISSION_COLLECTION_NAME]\n", "\n", "\n", "# experiments_collection.delete_many({})\n", - "# logs_collection.delete_many({})" + "# logs_collection.delete_many({})\n", + "# user_permission_collection.delete_many({})" ] }, { @@ -1314,7 +1437,7 @@ "}\n", "\n", "headers = {\n", - " \"Authorization\": f\"Bearer {os.environ['HEGELAI_API_KEY']}\",\n", + " \"Authorization\": os.environ[\"HEGELAI_API_KEY\"],\n", " \"Content-Type\": \"application/json\"\n", "}\n", "\n", @@ -1345,7 +1468,7 @@ }, { "cell_type": "code", - "execution_count": 150, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -1363,16 +1486,90 @@ "\n", "\n", "\n", - "url = \"http://127.0.0.1:5001/\"\n", + "url = \"http://127.0.0.1:5000/permission/get_experiment_members\"\n", "\n", "headers = {\n", - " \"Authorization\": \"5f577514c87777524f02afa7c1f96fd8abda7a7828725e5eaf00146c7eb6ab1ac11273f1f7bbb8f9b13c5ad9464407db\",\n", - "# \"Authorization\": \"f316761ef60ba804c4ae9963656204f14f8b7a85b982e2738aee02e31626fab9295aa760b67dc71300473484f5881744\",\n", + " \"Authorization\": os.environ[\"HEGELAI_API_KEY\"],\n", " \"Content-Type\": \"application/json\"\n", "}\n", "\n", "\n", - "response = requests.get(url, headers=headers, data=json.dumps(input_parameters))\n", + "response = requests.get(url, headers=headers)\n", + "\n", + "# Print the response\n", + "print(\"Response:\")\n", + "print(response.status_code)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Response:\n", + "200\n" + ] + } + ], + "source": [ + "import requests\n", + "import json\n", + "\n", + "\n", + "\n", + "url = \"http://127.0.0.1:5000/web/get/experiments2\"\n", + "\n", + "headers = {\n", + " \"Authorization\": os.environ[\"HEGELAI_API_KEY\"],\n", + " \"Content-Type\": \"application/json\"\n", + "}\n", + "\n", + "\n", + "response = requests.get(url, headers=headers)\n", + "\n", + "# Print the response\n", + "print(\"Response:\")\n", + "print(response.status_code)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Response:\n", + "200\n" + ] + } + ], + "source": [ + "import requests\n", + "import json\n", + "\n", + "\n", + "\n", + "url = \"http://127.0.0.1:5000/permission/get_experiment_members\"\n", + "\n", + "headers = {\n", + " \"Authorization\": os.environ[\"HEGELAI_API_KEY\"],\n", + " \"Content-Type\": \"application/json\"\n", + "}\n", + "\n", + "\n", + "\n", + "parameters = {\n", + " 'experiment_id': 'da044226-bd4b-4fb5-b358-2c781e031dad',\n", + "}\n", + "\n", + "response = requests.get(url, headers=headers, data=json.dumps(parameters))\n", "\n", "# Print the response\n", "print(\"Response:\")\n", @@ -1386,6 +1583,168 @@ "outputs": [], "source": [] }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Response:\n", + "200\n" + ] + } + ], + "source": [ + "import requests\n", + "import json\n", + "\n", + "\n", + "\n", + "url = \"http://127.0.0.1:5000/web/evaluate/auto_eval\"\n", + "\n", + "headers = {\n", + " \"Authorization\": os.environ[\"HEGELAI_API_KEY\"],\n", + " \"OPENAI_API_KEY\": os.environ[\"OPENAI_API_KEY\"],\n", + " \"Content-Type\": \"application/json\"\n", + "}\n", + "\n", + "\n", + "parameters = {\n", + " 'log_id': '652ebc5342a9d6e77881c32e',\n", + " 'metric_name': 'score',\n", + "}\n", + "\n", + "response = requests.post(url, headers=headers, data=json.dumps(parameters))\n", + "\n", + "# Print the response\n", + "print(\"Response:\")\n", + "print(response.status_code)" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Response:\n", + "200\n", + "{'652ebc5342a9d6e77881c32e': '10', '652ebc5342a9d6e77881c32f': '10'}\n" + ] + } + ], + "source": [ + "import requests\n", + "import json\n", + "\n", + "\n", + "\n", + "url = \"http://127.0.0.1:5000/web/evaluate/auto_eval_many\"\n", + "\n", + "headers = {\n", + " \"Authorization\": os.environ[\"HEGELAI_API_KEY\"],\n", + " \"OPENAI_API_KEY\": os.environ[\"OPENAI_API_KEY\"],\n", + " \"Content-Type\": \"application/json\"\n", + "}\n", + "\n", + "\n", + "parameters = {\n", + " 'log_ids': ['652ebc5342a9d6e77881c32e', '652ebc5342a9d6e77881c32f'],\n", + " 'metric_name': 'score',\n", + "}\n", + "\n", + "response = requests.post(url, headers=headers, data=json.dumps(parameters))\n", + "\n", + "# Print the response\n", + "print(\"Response:\")\n", + "print(response.status_code)\n", + "print(response.json())" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Response:\n", + "200\n" + ] + } + ], + "source": [ + "import requests\n", + "import json\n", + "\n", + "\n", + "\n", + "url = \"http://127.0.0.1:5000/web/get/logs\"\n", + "\n", + "headers = {\n", + " \"Authorization\": os.environ[\"HEGELAI_API_KEY\"],\n", + " \"Content-Type\": \"application/json\"\n", + "}\n", + "\n", + "\n", + "# parameters = {\n", + "# 'experiment_id': 'da044226-bd4b-4fb5-b358-2c781e031dad',\n", + "# }\n", + "\n", + "response = requests.get(url, headers=headers) # , data=json.dumps(parameters))\n", + "\n", + "# Print the response\n", + "print(\"Response:\")\n", + "print(response.status_code)" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Response:\n", + "404\n" + ] + } + ], + "source": [ + "import requests\n", + "import json\n", + "\n", + "\n", + "\n", + "url = \"http://127.0.0.1:5000/web/something\"\n", + "\n", + "headers = {\n", + " \"Authorization\": os.environ[\"HEGELAI_API_KEY\"],\n", + " \"Content-Type\": \"application/json\"\n", + "}\n", + "\n", + "\n", + "# parameters = {\n", + "# 'experiment_id': 'da044226-bd4b-4fb5-b358-2c781e031dad',\n", + "# }\n", + "\n", + "response = requests.get(url, headers=headers) # , data=json.dumps(parameters))\n", + "\n", + "# Print the response\n", + "print(\"Response:\")\n", + "print(response.status_code)" + ] + }, { "cell_type": "code", "execution_count": null, From cc45f93f7133d87d85583232331e59ccf96d35ab Mon Sep 17 00:00:00 2001 From: Kevin Tse Date: Fri, 20 Oct 2023 18:05:51 -0400 Subject: [PATCH 086/182] Adding option to clear previous experiment results in `.run()` (#99) --- prompttools/experiment/experiments/experiment.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/prompttools/experiment/experiments/experiment.py b/prompttools/experiment/experiments/experiment.py index 3763805d..31f7dd44 100644 --- a/prompttools/experiment/experiments/experiment.py +++ b/prompttools/experiment/experiments/experiment.py @@ -163,6 +163,7 @@ def prepare(self) -> None: def run( self, runs: int = 1, + clear_previous_results: bool = False, ) -> None: r""" Create tuples of input and output for every possible combination of arguments. @@ -174,10 +175,13 @@ def run( Args: runs (int): number of times to execute each possible combination of arguments, defaults to 1. + clear_previous_results (bool): clear previous results before running """ if not self.argument_combos: logging.info("Preparing first...") self.prepare() + if clear_previous_results: + self.queue = RequestQueue() for combo in self.argument_combos: for _ in range(runs): self.queue.enqueue( From 590cfc6959d9ab3cad6892f6d3646f5100cd95f1 Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 20 Oct 2023 18:13:34 -0400 Subject: [PATCH 087/182] Refactor backend URL --- .../experiment/experiments/openai_chat_experiment.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index 1bfc9e9f..eb67ecda 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -20,6 +20,9 @@ import pandas as pd +HEGEL_BACKEND_URL = """http://127.0.0.1:5000""" + + class OpenAIChatExperiment(Experiment): r""" This class defines an experiment for OpenAI's chat completion API. @@ -198,7 +201,7 @@ def save_experiment(self, name: str): if os.environ["HEGELAI_API_KEY"] is None: raise PermissionError("Please set HEGELAI_API_KEY (e.g. os.environ['HEGELAI_API_KEY']).") state = self._get_state(name) - url = "http://127.0.0.1:5000/sdk/save" + url = f"{HEGEL_BACKEND_URL}/sdk/save" headers = { "Content-Type": "application/octet-stream", # Use a binary content type for pickled data "Authorization": os.environ["HEGELAI_API_KEY"], @@ -213,7 +216,7 @@ def load_experiment(cls, experiment_id: str): if os.environ["HEGELAI_API_KEY"] is None: raise PermissionError("Please set HEGELAI_API_KEY (e.g. os.environ['HEGELAI_API_KEY']).") - url = f"http://127.0.0.1:5000/sdk/get/experiment/{experiment_id}" + url = f"{HEGEL_BACKEND_URL}/sdk/get/experiment/{experiment_id}" headers = { "Content-Type": "application/octet-stream", # Use a binary content type for pickled data "Authorization": os.environ["HEGELAI_API_KEY"], @@ -231,7 +234,7 @@ def load_revision(cls, revision_id: str): if os.environ["HEGELAI_API_KEY"] is None: raise PermissionError("Please set HEGELAI_API_KEY (e.g. os.environ['HEGELAI_API_KEY']).") - url = f"http://127.0.0.1:5000/sdk/get/revision/{revision_id}" + url = f"{HEGEL_BACKEND_URL}/sdk/get/revision/{revision_id}" headers = { "Content-Type": "application/octet-stream", # Use a binary content type for pickled data "Authorization": os.environ["HEGELAI_API_KEY"], From 7e373349b328b3d1308fc4e864fbc48676a28a6f Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Sat, 21 Oct 2023 00:48:19 -0700 Subject: [PATCH 088/182] Version bump, remove transformers req --- docs/source/conf.py | 2 +- prompttools/version.py | 4 ++-- pyproject.toml | 2 +- requirements.txt | 1 - version.txt | 2 +- 5 files changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index a93cbc56..d473a899 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -11,7 +11,7 @@ project = "prompttools" copyright = "2023, Hegel AI" author = "Hegel AI" -release = "0.0.36" +release = "0.0.37" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/prompttools/version.py b/prompttools/version.py index a13926e1..53b666cd 100644 --- a/prompttools/version.py +++ b/prompttools/version.py @@ -1,2 +1,2 @@ -__version__ = '0.0.36a0+b87346b' -git_version = 'b87346b7db47f062ff439ef096c19f23a4f60c31' +__version__ = '0.0.37a0+cc45f93' +git_version = 'cc45f93f7133d87d85583232331e59ccf96d35ab' diff --git a/pyproject.toml b/pyproject.toml index 337f2e91..303b6424 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "prompttools" -version = "0.0.36" +version = "0.0.37" authors = [ { name="Hegel AI", email="team@hegel-ai.com" }, ] diff --git a/requirements.txt b/requirements.txt index 2cd24563..64d96f3e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,6 +5,5 @@ pandas jinja2 jupyterlab ipywidgets -sentence-transformers pylint sentry-sdk>=1.23.0 diff --git a/version.txt b/version.txt index b2da20ac..9bc67b00 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.0.36a0 +0.0.37a0 From 4c5c5037966c51da6db03f88e73696e5748996ea Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 24 Oct 2023 12:02:17 -0400 Subject: [PATCH 089/182] Update state variables for `run_partial` --- .../experiment/experiments/openai_chat_experiment.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index eb67ecda..c0c9401e 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -294,6 +294,10 @@ def run_partial(self, **kwargs): raise RuntimeError("Not supported.") arg_name, arg_value = list(kwargs.items())[0] + orginal_arg_value = arg_value + if arg_name == "messages" and isinstance(arg_value, PromptSelector): + arg_value = arg_value.for_openai_chat() + partial_all_args = copy.deepcopy(self.all_args) partial_all_args[arg_name] = [arg_value] @@ -321,6 +325,13 @@ def run_partial(self, **kwargs): # If `arg_value` didn't exist before, add to `argument_combos`, which will be used in the next `.run()` if arg_value not in self.all_args[arg_name]: + if arg_name == "messages": + if isinstance(orginal_arg_value, PromptSelector): + self.prompt_keys[ + str(orginal_arg_value.for_openai_chat()[-1]["content"]) + ] = orginal_arg_value.for_llama() + else: + self.prompt_keys.append(arg_value) self.all_args[arg_name].append(arg_value) self.prepare() From 06a096caaed5951a573eb280836b1066fa0ab111 Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 24 Oct 2023 12:22:50 -0400 Subject: [PATCH 090/182] Adding experiment type --- .../experiment/experiments/openai_chat_experiment.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index c0c9401e..1bc5e3d0 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -188,6 +188,7 @@ def _get_state(self, name: str): state = ( name, self._experiment_id, + "OpenAIChat", # Experiment Type state_params, self.full_df, partial_col_names, @@ -255,7 +256,13 @@ def _load_state(cls, state, experiment_id: str): full_df, partial_col_names, score_col_names, + experiment_type_str, ) = state + if experiment_type_str != "OpenAIChat": + raise RuntimeError( + f"The Experiment Type you are trying to load is {experiment_type_str}," + "which does not match the current class." + ) all_args, prompt_keys = state_params["all_args"], state_params["prompt_keys"] experiment = cls(all_args["model"], all_args["messages"]) From 9eaf7f863ae24b37d3b6159df99c86ed8ba4e8e3 Mon Sep 17 00:00:00 2001 From: Kevin Tse Date: Wed, 25 Oct 2023 01:41:23 -0400 Subject: [PATCH 091/182] Handling duplicate column name from response (#100) --- prompttools/experiment/experiments/experiment.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/prompttools/experiment/experiments/experiment.py b/prompttools/experiment/experiments/experiment.py index 31f7dd44..451fb63f 100644 --- a/prompttools/experiment/experiments/experiment.py +++ b/prompttools/experiment/experiments/experiment.py @@ -245,7 +245,11 @@ def _construct_result_dfs( if extract_response_equal_full_result: result_df = response_df else: - result_df = pd.concat([response_df, pd.DataFrame(results)], axis=1) + # Handle the case where `input_arg_df` has the same column names as `result_df` + result_df = pd.DataFrame(results) + common_columns = set(input_arg_df.columns) & set(result_df.columns) + result_df = result_df.add_prefix("response_") if common_columns else result_df + result_df = pd.concat([response_df, result_df], axis=1) # `score_df` contains computed metrics (e.g. latency, evaluation metrics) self.score_df = pd.DataFrame({"latency": latencies}) From c5bb20e58e9f2915b9064a2cd0f9338e77b7e836 Mon Sep 17 00:00:00 2001 From: Kevin Tse Date: Thu, 26 Oct 2023 14:11:02 -0400 Subject: [PATCH 092/182] Fix optional module issue with CI (#102) * Adding SciPy to requirements * Adding sentence_transformers to requirements * Fix optional module issue * Fix optional module issue * Fix optional module issue --- .github/workflows/ci.yml | 1 + prompttools/utils/ranking_correlation.py | 10 +++++++++- prompttools/utils/similarity.py | 4 ++-- test/requirements.txt | 1 + 4 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 test/requirements.txt diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e4e585ab..9f11b32e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,6 +27,7 @@ jobs: python -m pip install --upgrade pip python -m pip install flake8 pytest if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + if [ -f test/requirements.txt ]; then pip install -r test/requirements.txt; fi - name: Lint with flake8 run: | # exit-zero treats all errors as warnings. The GitHub editor is 120 chars wide diff --git a/prompttools/utils/ranking_correlation.py b/prompttools/utils/ranking_correlation.py index 92b92715..3abb6c84 100644 --- a/prompttools/utils/ranking_correlation.py +++ b/prompttools/utils/ranking_correlation.py @@ -5,7 +5,10 @@ # LICENSE file in the root directory of this source tree. -import scipy.stats as stats +try: + import scipy.stats as stats +except ImportError: + stats = None import pandas @@ -32,6 +35,11 @@ def ranking_correlation( >>> ] >>> experiment.evaluate("ranking_correlation", ranking_correlation, expected_ranking=EXPECTED_RANKING_LIST) """ + if stats is None: + raise ModuleNotFoundError( + "Package `SciPy` is required to be installed to use this evaluation method." + "Please use `pip install scipy` to install the package" + ) actual_ranking = row[ranking_column_name] if len(expected_ranking) == 1 and len(actual_ranking) == 1: return 1.0 if expected_ranking == actual_ranking else -1.0 diff --git a/prompttools/utils/similarity.py b/prompttools/utils/similarity.py index 368ed099..33a74eaa 100644 --- a/prompttools/utils/similarity.py +++ b/prompttools/utils/similarity.py @@ -105,12 +105,12 @@ def structural_similarity( """ if cv2 is None: raise ModuleNotFoundError( - "Package `cv2` is required to be installed to use this experiment." + "Package `cv2` is required to be installed to use this evaluation method." "Please use `pip install opencv-python` to install the package" ) if skimage_structural_similarity is None: raise ModuleNotFoundError( - "Package `skimage` is required to be installed to use this experiment." + "Package `skimage` is required to be installed to use this evaluation method." "Please use `pip install scikit-image` to install the package" ) if len(expected) == 1: diff --git a/test/requirements.txt b/test/requirements.txt new file mode 100644 index 00000000..470db3cc --- /dev/null +++ b/test/requirements.txt @@ -0,0 +1 @@ +sentence_transformers From fc1d83edea9163a1a50b9b76f4498c9564ce7a00 Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Thu, 26 Oct 2023 13:39:21 -0700 Subject: [PATCH 093/182] Fix behavior for 0 messages --- .../experiment/experiments/openai_chat_experiment.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index f8a7226c..6b35b502 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -87,8 +87,8 @@ class OpenAIChatExperiment(Experiment): def __init__( self, - model: List[str], - messages: Union[List[List[Dict[str, str]]], List[PromptSelector]], + model: List[str] = ['gpt-3.5-turbo'], + messages: Union[List[List[Dict[str, str]]], List[PromptSelector]] = [], temperature: Optional[List[float]] = [1.0], top_p: Optional[List[float]] = [1.0], n: Optional[List[int]] = [1], @@ -112,7 +112,7 @@ def __init__( # If we are using a prompt selector, we need to render # messages, as well as create prompt_keys to map the messages # to corresponding prompts in other models. - if isinstance(messages[0], PromptSelector): + if len(messages) > 0 and isinstance(messages[0], PromptSelector): self.prompt_keys = { str(selector.for_openai_chat()[-1]["content"]): selector.for_llama() for selector in messages } From 2d664931b45022e08606e12febeb2ed3f98f0796 Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Thu, 26 Oct 2023 13:41:14 -0700 Subject: [PATCH 094/182] Version bump --- docs/source/conf.py | 2 +- prompttools/version.py | 4 ++-- pyproject.toml | 2 +- version.txt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index d473a899..5cc11738 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -11,7 +11,7 @@ project = "prompttools" copyright = "2023, Hegel AI" author = "Hegel AI" -release = "0.0.37" +release = "0.0.38" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/prompttools/version.py b/prompttools/version.py index 53b666cd..464b6921 100644 --- a/prompttools/version.py +++ b/prompttools/version.py @@ -1,2 +1,2 @@ -__version__ = '0.0.37a0+cc45f93' -git_version = 'cc45f93f7133d87d85583232331e59ccf96d35ab' +__version__ = '0.0.38a0+fc1d83e' +git_version = 'fc1d83edea9163a1a50b9b76f4498c9564ce7a00' diff --git a/pyproject.toml b/pyproject.toml index 303b6424..5817bc81 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "prompttools" -version = "0.0.37" +version = "0.0.38" authors = [ { name="Hegel AI", email="team@hegel-ai.com" }, ] diff --git a/version.txt b/version.txt index 9bc67b00..71d96866 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.0.37a0 +0.0.38a0 From ad1e408033eaa8893a6483854abae6bdddb198de Mon Sep 17 00:00:00 2001 From: Kevin Date: Sun, 29 Oct 2023 16:48:22 -0400 Subject: [PATCH 095/182] Refactor and adding new harnesses --- .../remote/Test_Remote_Harness.ipynb | 1923 +++++++++++++++++ .../Test_Remote_OpenAIChat.ipynb} | 540 +++-- prompttools/common.py | 1 + .../experiment/experiments/experiment.py | 28 +- .../experiments/openai_chat_experiment.py | 59 +- prompttools/harness/__init__.py | 4 + .../harness/chat_prompt_template_harness.py | 137 ++ prompttools/harness/harness.py | 91 +- .../harness/model_comparison_harness.py | 183 ++ prompttools/harness/system_prompt_harness.py | 49 +- prompttools/harness/utility.py | 15 + 11 files changed, 2785 insertions(+), 245 deletions(-) create mode 100644 examples/notebooks/remote/Test_Remote_Harness.ipynb rename examples/notebooks/{test_app.ipynb => remote/Test_Remote_OpenAIChat.ipynb} (85%) create mode 100644 prompttools/common.py create mode 100644 prompttools/harness/chat_prompt_template_harness.py create mode 100644 prompttools/harness/model_comparison_harness.py create mode 100644 prompttools/harness/utility.py diff --git a/examples/notebooks/remote/Test_Remote_Harness.ipynb b/examples/notebooks/remote/Test_Remote_Harness.ipynb new file mode 100644 index 00000000..0d8a6498 --- /dev/null +++ b/examples/notebooks/remote/Test_Remote_Harness.ipynb @@ -0,0 +1,1923 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "0921cecc", + "metadata": {}, + "outputs": [], + "source": [ + "from prompttools.experiment import OpenAIChatExperiment\n", + "from prompttools.harness import SystemPromptExperimentationHarness, ChatPromptTemplateExperimentationHarness, ModelComparisonHarness\n", + "\n", + "import os\n", + "\n", + "os.environ[\"OPENAI_API_KEY\"] = \"\"\n", + "os.environ[\"HEGELAI_API_KEY\"] = \"\"" + ] + }, + { + "cell_type": "markdown", + "id": "38786a7d", + "metadata": {}, + "source": [ + "## Prompt Template" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "0dfa645c", + "metadata": {}, + "outputs": [], + "source": [ + "message_templates = [\n", + " [\n", + " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", + " {\"role\": \"user\", \"content\": \"Who was the {{input}} president?\"},\n", + " ],\n", + " [\n", + " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", + " {\"role\": \"user\", \"content\": \"Who was the {{input}} vice president?\"},\n", + " ]\n", + "]\n", + "\n", + "user_inputs = [{\"input\": \"first\"}, {\"input\": \"second\"}]\n", + "\n", + "\n", + "harness = ChatPromptTemplateExperimentationHarness(OpenAIChatExperiment,\n", + " \"gpt-3.5-turbo\",\n", + " message_templates,\n", + " user_inputs,\n", + " model_arguments=None)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "e6b84646", + "metadata": {}, + "outputs": [], + "source": [ + "harness.prepare()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "cc6cc3ea", + "metadata": {}, + "outputs": [], + "source": [ + "harness.run()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "6f5d85de", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
user_inputsmessagesresponselatency
0{'input': 'first'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.197017
1{'input': 'second'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}]The second president of the United States was John Adams.0.479534
2{'input': 'first'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]The first Vice President of the United States was John Adams, serving under President George Washington from 1789 to 1797.0.806056
3{'input': 'second'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}]The second Vice President of the United States was Thomas Jefferson, serving under President John Adams from 1797 to 1801.1.065417
\n", + "
" + ], + "text/plain": [ + " user_inputs \\\n", + "0 {'input': 'first'} \n", + "1 {'input': 'second'} \n", + "2 {'input': 'first'} \n", + "3 {'input': 'second'} \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}] \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The second president of the United States was John Adams. \n", + "2 The first Vice President of the United States was John Adams, serving under President George Washington from 1789 to 1797. \n", + "3 The second Vice President of the United States was Thomas Jefferson, serving under President John Adams from 1797 to 1801. \n", + "\n", + " latency \n", + "0 1.197017 \n", + "1 0.479534 \n", + "2 0.806056 \n", + "3 1.065417 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "harness.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "dca05d0e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Creating state of experiment...\n", + "Creating state of experiment...\n", + "Sending HTTP POST request...\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "harness.save_experiment(\"HARNESS\")" + ] + }, + { + "cell_type": "markdown", + "id": "7b3d27fa", + "metadata": {}, + "source": [ + "### Load from Remote" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "da6b96a2", + "metadata": {}, + "outputs": [], + "source": [ + "harness_from_load = ChatPromptTemplateExperimentationHarness.load_experiment(harness._experiment_id)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "243ff097", + "metadata": {}, + "outputs": [], + "source": [ + "harness_from_load.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eac45d4d", + "metadata": {}, + "outputs": [], + "source": [ + "harness_from_load.run()\n", + "harness_from_load.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eaa30c25", + "metadata": {}, + "outputs": [], + "source": [ + "harness_from_load.experiment.run()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "feb04ffb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmessagestemperaturetop_pnstreampresence_penaltyfrequency_penaltyresponseresponse_idresponse_objectresponse_createdresponse_modelresponse_choicesresponse_usagelatency
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]1.01.01False0.00.0The first president of the United States was George Washington.chatcmpl-8F4wN02YkqM8t17K8Jz8UliEEYY7Fchat.completion1698604603gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}0.829433
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}]1.01.01False0.00.0The second president of the United States was John Adams.chatcmpl-8F4wOBz1Fnv0snkIIjsgWDYCJbCFNchat.completion1698604604gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The second president of the United States was John Adams.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}0.712007
2gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]1.01.01False0.00.0The first vice president of the United States was John Adams. He served under President George Washington from 1789 to 1797.chatcmpl-8F4wOTBLjCC9dnI29Jyi8ol3UPw7Rchat.completion1698604604gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first vice president of the United States was John Adams. He served under President George Washington from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 24, 'completion_tokens': 27, 'total_tokens': 51}1.023236
3gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}]1.01.01False0.00.0The second Vice President of the United States was Thomas Jefferson. He served as Vice President under President John Adams from 1797 to 1801.chatcmpl-8F4wQoEXOUtRbwj4B5xgr7HrlWfoOchat.completion1698604606gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The second Vice President of the United States was Thomas Jefferson. He served as Vice President under President John Adams from 1797 to 1801.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 24, 'completion_tokens': 30, 'total_tokens': 54}1.333316
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]1.01.01False0.00.0The first president of the United States was George Washington. He served from 1789-1797.chatcmpl-8F4wa7MquDquowetG3AIQomJqJlgGchat.completion1698604616gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served from 1789-1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 21, 'total_tokens': 44}0.853307
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}]1.01.01False0.00.0The second president of the United States was John Adams.chatcmpl-8F4wbktfasTPH3OmSnzK0ElmbNW19chat.completion1698604617gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The second president of the United States was John Adams.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}0.717581
2gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]1.01.01False0.00.0The first Vice President of the United States was John Adams. He served as Vice President under President George Washington from 1789 to 1797.chatcmpl-8F4wb39Imx8WTTcrP6GPLDfzJ1fN5chat.completion1698604617gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first Vice President of the United States was John Adams. He served as Vice President under President George Washington from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 24, 'completion_tokens': 30, 'total_tokens': 54}1.124732
3gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}]1.01.01False0.00.0The second Vice President of the United States was Thomas Jefferson, serving from 1797 to 1801 under President John Adams.chatcmpl-8F4wc5lSprgny70aSqHQLP58gMWCRchat.completion1698604618gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The second Vice President of the United States was Thomas Jefferson, serving from 1797 to 1801 under President John Adams.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 24, 'completion_tokens': 26, 'total_tokens': 50}0.715227
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]1.01.01False0.00.0The first president of the United States was George Washington. He served as president from 1789 to 1797.chatcmpl-8F4xSEJkYZ8YqC9K9CJ9IfUHj4k3Cchat.completion1698604670gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}0.946845
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}]1.01.01False0.00.0The second president of the United States was John Adams.chatcmpl-8F4xTjgZqWNoYUvvEduczKmSBhEgmchat.completion1698604671gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The second president of the United States was John Adams.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}0.716422
2gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]1.01.01False0.00.0The first Vice President of the United States was John Adams. He served from 1789 to 1797 under President George Washington.chatcmpl-8F4xUdAiuVAZ5c7M40KdAQM88GAqNchat.completion1698604672gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first Vice President of the United States was John Adams. He served from 1789 to 1797 under President George Washington.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 24, 'completion_tokens': 27, 'total_tokens': 51}1.031161
3gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}]1.01.01False0.00.0The second vice president of the United States was Thomas Jefferson.chatcmpl-8F4xVmrsfR17Tn4NbNJiYvsrQ12T7chat.completion1698604673gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The second vice president of the United States was Thomas Jefferson.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 24, 'completion_tokens': 12, 'total_tokens': 36}0.712583
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]1.01.01False0.00.0The first president of the United States was George Washington. He served as the country's president from 1789 to 1797.chatcmpl-8F4xZXe1bYYMs6Fvdzshgy71j5AuTchat.completion1698604677gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as the country's president from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 27, 'total_tokens': 50}1.026579
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}]1.01.01False0.00.0The second president of the United States was John Adams, serving from 1797 to 1801.chatcmpl-8F4xa3vbyy0Tmo9sRapQ0AW8dyeApchat.completion1698604678gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The second president of the United States was John Adams, serving from 1797 to 1801.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 21, 'total_tokens': 44}0.922105
2gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]1.01.01False0.00.0The first Vice President of the United States was John Adams. He served as Vice President under President George Washington from 1789 to 1797.chatcmpl-8F4xbKCF97VHxoeuzuno4YUoQuovlchat.completion1698604679gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first Vice President of the United States was John Adams. He served as Vice President under President George Washington from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 24, 'completion_tokens': 30, 'total_tokens': 54}0.921220
3gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}]1.01.01False0.00.0The second Vice President of the United States was Thomas Jefferson. He served under President John Adams from 1797 to 1801.chatcmpl-8F4xbdIvxnae3r0jiYPQGcpKe7hmWchat.completion1698604679gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The second Vice President of the United States was Thomas Jefferson. He served under President John Adams from 1797 to 1801.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 24, 'completion_tokens': 27, 'total_tokens': 51}0.925952
\n", + "
" + ], + "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "2 gpt-3.5-turbo \n", + "3 gpt-3.5-turbo \n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "2 gpt-3.5-turbo \n", + "3 gpt-3.5-turbo \n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "2 gpt-3.5-turbo \n", + "3 gpt-3.5-turbo \n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "2 gpt-3.5-turbo \n", + "3 gpt-3.5-turbo \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}] \n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}] \n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}] \n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}] \n", + "\n", + " temperature top_p n stream presence_penalty frequency_penalty \\\n", + "0 1.0 1.0 1 False 0.0 0.0 \n", + "1 1.0 1.0 1 False 0.0 0.0 \n", + "2 1.0 1.0 1 False 0.0 0.0 \n", + "3 1.0 1.0 1 False 0.0 0.0 \n", + "0 1.0 1.0 1 False 0.0 0.0 \n", + "1 1.0 1.0 1 False 0.0 0.0 \n", + "2 1.0 1.0 1 False 0.0 0.0 \n", + "3 1.0 1.0 1 False 0.0 0.0 \n", + "0 1.0 1.0 1 False 0.0 0.0 \n", + "1 1.0 1.0 1 False 0.0 0.0 \n", + "2 1.0 1.0 1 False 0.0 0.0 \n", + "3 1.0 1.0 1 False 0.0 0.0 \n", + "0 1.0 1.0 1 False 0.0 0.0 \n", + "1 1.0 1.0 1 False 0.0 0.0 \n", + "2 1.0 1.0 1 False 0.0 0.0 \n", + "3 1.0 1.0 1 False 0.0 0.0 \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. \n", + "1 The second president of the United States was John Adams. \n", + "2 The first vice president of the United States was John Adams. He served under President George Washington from 1789 to 1797. \n", + "3 The second Vice President of the United States was Thomas Jefferson. He served as Vice President under President John Adams from 1797 to 1801. \n", + "0 The first president of the United States was George Washington. He served from 1789-1797. \n", + "1 The second president of the United States was John Adams. \n", + "2 The first Vice President of the United States was John Adams. He served as Vice President under President George Washington from 1789 to 1797. \n", + "3 The second Vice President of the United States was Thomas Jefferson, serving from 1797 to 1801 under President John Adams. \n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The second president of the United States was John Adams. \n", + "2 The first Vice President of the United States was John Adams. He served from 1789 to 1797 under President George Washington. \n", + "3 The second vice president of the United States was Thomas Jefferson. \n", + "0 The first president of the United States was George Washington. He served as the country's president from 1789 to 1797. \n", + "1 The second president of the United States was John Adams, serving from 1797 to 1801. \n", + "2 The first Vice President of the United States was John Adams. He served as Vice President under President George Washington from 1789 to 1797. \n", + "3 The second Vice President of the United States was Thomas Jefferson. He served under President John Adams from 1797 to 1801. \n", + "\n", + " response_id response_object response_created \\\n", + "0 chatcmpl-8F4wN02YkqM8t17K8Jz8UliEEYY7F chat.completion 1698604603 \n", + "1 chatcmpl-8F4wOBz1Fnv0snkIIjsgWDYCJbCFN chat.completion 1698604604 \n", + "2 chatcmpl-8F4wOTBLjCC9dnI29Jyi8ol3UPw7R chat.completion 1698604604 \n", + "3 chatcmpl-8F4wQoEXOUtRbwj4B5xgr7HrlWfoO chat.completion 1698604606 \n", + "0 chatcmpl-8F4wa7MquDquowetG3AIQomJqJlgG chat.completion 1698604616 \n", + "1 chatcmpl-8F4wbktfasTPH3OmSnzK0ElmbNW19 chat.completion 1698604617 \n", + "2 chatcmpl-8F4wb39Imx8WTTcrP6GPLDfzJ1fN5 chat.completion 1698604617 \n", + "3 chatcmpl-8F4wc5lSprgny70aSqHQLP58gMWCR chat.completion 1698604618 \n", + "0 chatcmpl-8F4xSEJkYZ8YqC9K9CJ9IfUHj4k3C chat.completion 1698604670 \n", + "1 chatcmpl-8F4xTjgZqWNoYUvvEduczKmSBhEgm chat.completion 1698604671 \n", + "2 chatcmpl-8F4xUdAiuVAZ5c7M40KdAQM88GAqN chat.completion 1698604672 \n", + "3 chatcmpl-8F4xVmrsfR17Tn4NbNJiYvsrQ12T7 chat.completion 1698604673 \n", + "0 chatcmpl-8F4xZXe1bYYMs6Fvdzshgy71j5AuT chat.completion 1698604677 \n", + "1 chatcmpl-8F4xa3vbyy0Tmo9sRapQ0AW8dyeAp chat.completion 1698604678 \n", + "2 chatcmpl-8F4xbKCF97VHxoeuzuno4YUoQuovl chat.completion 1698604679 \n", + "3 chatcmpl-8F4xbdIvxnae3r0jiYPQGcpKe7hmW chat.completion 1698604679 \n", + "\n", + " response_model \\\n", + "0 gpt-3.5-turbo-0613 \n", + "1 gpt-3.5-turbo-0613 \n", + "2 gpt-3.5-turbo-0613 \n", + "3 gpt-3.5-turbo-0613 \n", + "0 gpt-3.5-turbo-0613 \n", + "1 gpt-3.5-turbo-0613 \n", + "2 gpt-3.5-turbo-0613 \n", + "3 gpt-3.5-turbo-0613 \n", + "0 gpt-3.5-turbo-0613 \n", + "1 gpt-3.5-turbo-0613 \n", + "2 gpt-3.5-turbo-0613 \n", + "3 gpt-3.5-turbo-0613 \n", + "0 gpt-3.5-turbo-0613 \n", + "1 gpt-3.5-turbo-0613 \n", + "2 gpt-3.5-turbo-0613 \n", + "3 gpt-3.5-turbo-0613 \n", + "\n", + " response_choices \\\n", + "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}] \n", + "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second president of the United States was John Adams.'}, 'finish_reason': 'stop'}] \n", + "2 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first vice president of the United States was John Adams. He served under President George Washington from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", + "3 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second Vice President of the United States was Thomas Jefferson. He served as Vice President under President John Adams from 1797 to 1801.'}, 'finish_reason': 'stop'}] \n", + "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served from 1789-1797.'}, 'finish_reason': 'stop'}] \n", + "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second president of the United States was John Adams.'}, 'finish_reason': 'stop'}] \n", + "2 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first Vice President of the United States was John Adams. He served as Vice President under President George Washington from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", + "3 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second Vice President of the United States was Thomas Jefferson, serving from 1797 to 1801 under President John Adams.'}, 'finish_reason': 'stop'}] \n", + "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", + "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second president of the United States was John Adams.'}, 'finish_reason': 'stop'}] \n", + "2 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first Vice President of the United States was John Adams. He served from 1789 to 1797 under President George Washington.'}, 'finish_reason': 'stop'}] \n", + "3 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second vice president of the United States was Thomas Jefferson.'}, 'finish_reason': 'stop'}] \n", + "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as the country's president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", + "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second president of the United States was John Adams, serving from 1797 to 1801.'}, 'finish_reason': 'stop'}] \n", + "2 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first Vice President of the United States was John Adams. He served as Vice President under President George Washington from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", + "3 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second Vice President of the United States was Thomas Jefferson. He served under President John Adams from 1797 to 1801.'}, 'finish_reason': 'stop'}] \n", + "\n", + " response_usage \\\n", + "0 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", + "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", + "2 {'prompt_tokens': 24, 'completion_tokens': 27, 'total_tokens': 51} \n", + "3 {'prompt_tokens': 24, 'completion_tokens': 30, 'total_tokens': 54} \n", + "0 {'prompt_tokens': 23, 'completion_tokens': 21, 'total_tokens': 44} \n", + "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", + "2 {'prompt_tokens': 24, 'completion_tokens': 30, 'total_tokens': 54} \n", + "3 {'prompt_tokens': 24, 'completion_tokens': 26, 'total_tokens': 50} \n", + "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", + "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", + "2 {'prompt_tokens': 24, 'completion_tokens': 27, 'total_tokens': 51} \n", + "3 {'prompt_tokens': 24, 'completion_tokens': 12, 'total_tokens': 36} \n", + "0 {'prompt_tokens': 23, 'completion_tokens': 27, 'total_tokens': 50} \n", + "1 {'prompt_tokens': 23, 'completion_tokens': 21, 'total_tokens': 44} \n", + "2 {'prompt_tokens': 24, 'completion_tokens': 30, 'total_tokens': 54} \n", + "3 {'prompt_tokens': 24, 'completion_tokens': 27, 'total_tokens': 51} \n", + "\n", + " latency \n", + "0 0.829433 \n", + "1 0.712007 \n", + "2 1.023236 \n", + "3 1.333316 \n", + "0 0.853307 \n", + "1 0.717581 \n", + "2 1.124732 \n", + "3 0.715227 \n", + "0 0.946845 \n", + "1 0.716422 \n", + "2 1.031161 \n", + "3 0.712583 \n", + "0 1.026579 \n", + "1 0.922105 \n", + "2 0.921220 \n", + "3 0.925952 " + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "harness_from_load.experiment.full_df" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "f72c4024", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
user_inputsmessagesresponselatency
0{'input': 'first'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.023014
1{'input': 'second'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}]The second president of the United States was John Adams. He served from 1797 to 1801.2.899930
2{'input': 'first'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797.1.023490
3{'input': 'second'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}]The second Vice President of the United States was Thomas Jefferson. He served as Vice President under President John Adams from 1797 to 1801.0.923946
\n", + "
" + ], + "text/plain": [ + " user_inputs \\\n", + "0 {'input': 'first'} \n", + "1 {'input': 'second'} \n", + "2 {'input': 'first'} \n", + "3 {'input': 'second'} \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}] \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The second president of the United States was John Adams. He served from 1797 to 1801. \n", + "2 The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797. \n", + "3 The second Vice President of the United States was Thomas Jefferson. He served as Vice President under President John Adams from 1797 to 1801. \n", + "\n", + " latency \n", + "0 1.023014 \n", + "1 2.899930 \n", + "2 1.023490 \n", + "3 0.923946 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "harness_from_load.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "5e802e37", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
user_inputsmessagesresponselatency
0{'input': 'first'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington.0.551219
1{'input': 'second'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}]The second president of the United States was John Adams.0.510815
2{'input': 'first'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]The first Vice President of the United States was John Adams. Adams served as Vice President from 1789 to 1797, during President George Washington's administration.1.535680
3{'input': 'second'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}]The second Vice President of the United States was Thomas Jefferson. He served as Vice President from 1797 to 1801, under President John Adams.0.921390
\n", + "
" + ], + "text/plain": [ + " user_inputs \\\n", + "0 {'input': 'first'} \n", + "1 {'input': 'second'} \n", + "2 {'input': 'first'} \n", + "3 {'input': 'second'} \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}] \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. \n", + "1 The second president of the United States was John Adams. \n", + "2 The first Vice President of the United States was John Adams. Adams served as Vice President from 1789 to 1797, during President George Washington's administration. \n", + "3 The second Vice President of the United States was Thomas Jefferson. He served as Vice President from 1797 to 1801, under President John Adams. \n", + "\n", + " latency \n", + "0 0.551219 \n", + "1 0.510815 \n", + "2 1.535680 \n", + "3 0.921390 " + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "harness.experiment.partial_df" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "afc8e067", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
user_inputsmessagesresponselatency
0{'input': 'first'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.023014
1{'input': 'second'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}]The second president of the United States was John Adams. He served from 1797 to 1801.2.899930
2{'input': 'first'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797.1.023490
3{'input': 'second'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}]The second Vice President of the United States was Thomas Jefferson. He served as Vice President under President John Adams from 1797 to 1801.0.923946
\n", + "
" + ], + "text/plain": [ + " user_inputs \\\n", + "0 {'input': 'first'} \n", + "1 {'input': 'second'} \n", + "2 {'input': 'first'} \n", + "3 {'input': 'second'} \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}] \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The second president of the United States was John Adams. He served from 1797 to 1801. \n", + "2 The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797. \n", + "3 The second Vice President of the United States was Thomas Jefferson. He served as Vice President under President John Adams from 1797 to 1801. \n", + "\n", + " latency \n", + "0 1.023014 \n", + "1 2.899930 \n", + "2 1.023490 \n", + "3 0.923946 " + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "harness_from_load.experiment.partial_df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "19f2f8a3", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "2ebbc052", + "metadata": {}, + "source": [ + "## System Prompt" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "ceebff99", + "metadata": {}, + "outputs": [], + "source": [ + "system_prompts = [\"You are a helpful assistant.\", \"You are a 5th grade history teacher.\"]\n", + "human_message = [ \"Who was the first president?\", \"Who was the first vice president?\"]\n", + "\n", + "\n", + "\n", + "harness = SystemPromptExperimentationHarness(OpenAIChatExperiment,\n", + " \"gpt-3.5-turbo\",\n", + " system_prompts,\n", + " human_message,\n", + " model_arguments=None)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "9e977468", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
messagesresponselatency
0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.0.987327
1[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797.1.222432
2[{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797 and played a crucial role in establishing many of the practices and institutions that still exist in our country today.1.434122
3[{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]The first vice president of the United States was John Adams. He served as the vice president under President George Washington from 1789 to 1797. Adams later became the second president of the United States.1.125934
\n", + "
" + ], + "text/plain": [ + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797. \n", + "2 The first president of the United States was George Washington. He served as president from 1789 to 1797 and played a crucial role in establishing many of the practices and institutions that still exist in our country today. \n", + "3 The first vice president of the United States was John Adams. He served as the vice president under President George Washington from 1789 to 1797. Adams later became the second president of the United States. \n", + "\n", + " latency \n", + "0 0.987327 \n", + "1 1.222432 \n", + "2 1.434122 \n", + "3 1.125934 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "harness.prepare()\n", + "harness.run()\n", + "harness.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "a19ce65f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Creating state of experiment...\n", + "Creating state of experiment...\n", + "Sending HTTP POST request...\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "harness.save_experiment(\"SysPrompt HARNESS\")" + ] + }, + { + "cell_type": "markdown", + "id": "f4831e64", + "metadata": {}, + "source": [ + "### Load from Remote" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "c4fea464", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sending HTTP GET request...\n", + "Loaded experiment.\n", + "Loaded harness.\n" + ] + } + ], + "source": [ + "harness_from_load = SystemPromptExperimentationHarness.load_experiment(harness._experiment_id)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "136f25ca", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
messagesresponselatency
0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.0.987327
1[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797.1.222432
2[{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797 and played a crucial role in establishing many of the practices and institutions that still exist in our country today.1.434122
3[{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]The first vice president of the United States was John Adams. He served as the vice president under President George Washington from 1789 to 1797. Adams later became the second president of the United States.1.125934
\n", + "
" + ], + "text/plain": [ + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797. \n", + "2 The first president of the United States was George Washington. He served as president from 1789 to 1797 and played a crucial role in establishing many of the practices and institutions that still exist in our country today. \n", + "3 The first vice president of the United States was John Adams. He served as the vice president under President George Washington from 1789 to 1797. Adams later became the second president of the United States. \n", + "\n", + " latency \n", + "0 0.987327 \n", + "1 1.222432 \n", + "2 1.434122 \n", + "3 1.125934 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "harness_from_load.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "971f445e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
messagesresponselatency
0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.0.987327
1[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797.1.222432
2[{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797 and played a crucial role in establishing many of the practices and institutions that still exist in our country today.1.434122
3[{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]The first vice president of the United States was John Adams. He served as the vice president under President George Washington from 1789 to 1797. Adams later became the second president of the United States.1.125934
0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.101437
1[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]The first vice president of the United States was John Adams. He served under President George Washington from 1789 to 1797.0.816013
2[{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as the President from 1789 to 1797.0.723490
3[{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797.1.122580
\n", + "
" + ], + "text/plain": [ + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797. \n", + "2 The first president of the United States was George Washington. He served as president from 1789 to 1797 and played a crucial role in establishing many of the practices and institutions that still exist in our country today. \n", + "3 The first vice president of the United States was John Adams. He served as the vice president under President George Washington from 1789 to 1797. Adams later became the second president of the United States. \n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first vice president of the United States was John Adams. He served under President George Washington from 1789 to 1797. \n", + "2 The first president of the United States was George Washington. He served as the President from 1789 to 1797. \n", + "3 The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797. \n", + "\n", + " latency \n", + "0 0.987327 \n", + "1 1.222432 \n", + "2 1.434122 \n", + "3 1.125934 \n", + "0 1.101437 \n", + "1 0.816013 \n", + "2 0.723490 \n", + "3 1.122580 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "harness_from_load.run()\n", + "harness_from_load.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bece5501", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "051929e1", + "metadata": {}, + "source": [ + "## Model Comparison" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "916167ae", + "metadata": {}, + "outputs": [], + "source": [ + "model_names = ['gpt-3.5-turbo', 'gpt-3.5-turbo']\n", + "system_prompts = [\"You are a helpful assistant.\", \"You are a 5th grade history teacher.\"]\n", + "user_messages = [\"Who was the first president?\"]\n", + "\n", + "harness = ModelComparisonHarness(model_names, system_prompts, user_messages)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "85aec661", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
messagesresponselatency
0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.090410
1[{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He was elected in 1789 and served two terms as the country's leader.1.208399
\n", + "
" + ], + "text/plain": [ + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. He was elected in 1789 and served two terms as the country's leader. \n", + "\n", + " latency \n", + "0 1.090410 \n", + "1 1.208399 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "harness.run()\n", + "harness.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "e91becef", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
messagesresponselatencydumb_eval_metric
0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.090410EVAL'ED The first
1[{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He was elected in 1789 and served two terms as the country's leader.1.208399EVAL'ED The first
\n", + "
" + ], + "text/plain": [ + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. He was elected in 1789 and served two terms as the country's leader. \n", + "\n", + " latency dumb_eval_metric \n", + "0 1.090410 EVAL'ED The first \n", + "1 1.208399 EVAL'ED The first " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def _dumb_eval(row):\n", + " return \"EVAL'ED \" + row['response'][:10]\n", + "\n", + "\n", + "harness.evaluate(\"dumb_eval_metric\", _dumb_eval)\n", + "harness.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "625b4da4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Creating state of experiment...\n", + "Creating state of experiment...\n", + "Creating state of experiment...\n", + "Sending HTTP POST request...\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "harness.save_experiment(\"Comparison HARNESS\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "370caae6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sending HTTP GET request...\n", + "Loaded experiment.\n", + "Loaded experiment.\n", + "Loaded harness.\n" + ] + } + ], + "source": [ + "harness_from_load = ModelComparisonHarness.load_experiment(harness._experiment_id)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "ab9110f9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
messagesresponselatencydumb_eval_metric
0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.090410EVAL'ED The first
1[{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He was elected in 1789 and served two terms as the country's leader.1.208399EVAL'ED The first
\n", + "
" + ], + "text/plain": [ + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. He was elected in 1789 and served two terms as the country's leader. \n", + "\n", + " latency dumb_eval_metric \n", + "0 1.090410 EVAL'ED The first \n", + "1 1.208399 EVAL'ED The first " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "harness_from_load.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "7a55f289", + "metadata": {}, + "outputs": [], + "source": [ + "harness_from_load.run()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "9d27cbc2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
messagesresponselatencydumb_eval_metric
0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.090410EVAL'ED The first
1[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington.0.888243NaN
2[{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He was elected in 1789 and served two terms as the country's leader.1.208399EVAL'ED The first
3[{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797. George Washington was also a general during the American Revolutionary War and played a crucial role in leading the country to independence.1.557461NaN
\n", + "
" + ], + "text/plain": [ + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. \n", + "2 The first president of the United States was George Washington. He was elected in 1789 and served two terms as the country's leader. \n", + "3 The first president of the United States was George Washington. He served as president from 1789 to 1797. George Washington was also a general during the American Revolutionary War and played a crucial role in leading the country to independence. \n", + "\n", + " latency dumb_eval_metric \n", + "0 1.090410 EVAL'ED The first \n", + "1 0.888243 NaN \n", + "2 1.208399 EVAL'ED The first \n", + "3 1.557461 NaN " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "harness_from_load.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "64dcc0c9", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/notebooks/test_app.ipynb b/examples/notebooks/remote/Test_Remote_OpenAIChat.ipynb similarity index 85% rename from examples/notebooks/test_app.ipynb rename to examples/notebooks/remote/Test_Remote_OpenAIChat.ipynb index d1bf3514..93de0741 100644 --- a/examples/notebooks/test_app.ipynb +++ b/examples/notebooks/remote/Test_Remote_OpenAIChat.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -78,14 +78,14 @@ " 0.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " 1.064314\n", + " 1.105475\n", " \n", " \n", " 1\n", " 1.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " The first president of the United States was George Washington.\n", - " 0.607052\n", + " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", + " 1.025263\n", " \n", " \n", "\n", @@ -102,11 +102,11 @@ "\n", " response \\\n", "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington. \n", + "1 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", "\n", " latency \n", - "0 1.064314 \n", - "1 0.607052 " + "0 1.105475 \n", + "1 1.025263 " ] }, "metadata": {}, @@ -410,7 +410,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -424,30 +424,28 @@ } ], "source": [ - "res = experiment.save_experiment(\"TEST_SAVE_NAME\")\n", + "res = experiment.save_experiment(\"TEST_SAVE_NAME2\")\n", "\n", - "print(res)\n", - "\n" + "print(res)" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 5, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'ed500f64-9589-4acb-b479-f201abfe6865'" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "afcac088-eaaa-4ffd-abeb-89f4ba416734\n", + "c60795e9-efaa-4de0-9a16-770f22e13efc\n" + ] } ], "source": [ - "experiment._experiment_id" + "print(experiment._experiment_id)\n", + "print(experiment._revision_id)" ] }, { @@ -484,7 +482,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -492,52 +490,17 @@ "output_type": "stream", "text": [ "Sending HTTP GET request...\n", - "experiment.full_df = model \\\n", - "0 gpt-3.5-turbo \n", - "1 gpt-3.5-turbo \n", - "\n", - " messages \\\n", - "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "\n", - " temperature top_p n stream presence_penalty frequency_penalty \\\n", - "0 0.0 1.0 1 False 0.0 0.0 \n", - "1 1.0 1.0 1 False 0.0 0.0 \n", - "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington. \n", - "\n", - " response_id response_object response_created \\\n", - "0 chatcmpl-88ccstwsKs3yan1ESPBTb5RgP40NF chat.completion 1697065794 \n", - "1 chatcmpl-88cct1W9crL65HnRz5uBkVa4Nk4L3 chat.completion 1697065795 \n", - "\n", - " response_model \\\n", - "0 gpt-3.5-turbo-0613 \n", - "1 gpt-3.5-turbo-0613 \n", - "\n", - " response_choices \\\n", - "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", - "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}] \n", - "\n", - " response_usage \\\n", - "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", - "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", - "\n", - " latency revision_id \n", - "0 1.934486 86bf8267-b648-45ff-b4bc-c82ef112f6ab \n", - "1 0.709772 86bf8267-b648-45ff-b4bc-c82ef112f6ab \n", "Loaded experiment.\n" ] } ], "source": [ - "experiment_from_load = OpenAIChatExperiment.load_experiment('ed500f64-9589-4acb-b479-f201abfe6865')" + "# experiment_from_load = OpenAIChatExperiment.load_experiment(experiment._experiment_id)" ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -561,120 +524,61 @@ " \n", " \n", " \n", - " model\n", - " messages\n", " temperature\n", - " top_p\n", - " n\n", - " stream\n", - " presence_penalty\n", - " frequency_penalty\n", + " messages\n", " response\n", - " response_id\n", - " response_object\n", - " response_created\n", - " response_model\n", - " response_choices\n", - " response_usage\n", " latency\n", - " revision_id\n", " \n", " \n", " \n", " \n", " 0\n", - " gpt-3.5-turbo\n", - " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " 0.0\n", - " 1.0\n", - " 1\n", - " False\n", - " 0.0\n", " 0.0\n", + " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " chatcmpl-88ccstwsKs3yan1ESPBTb5RgP40NF\n", - " chat.completion\n", - " 1697065794\n", - " gpt-3.5-turbo-0613\n", - " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]\n", - " {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}\n", - " 1.934486\n", - " 86bf8267-b648-45ff-b4bc-c82ef112f6ab\n", + " 1.105475\n", " \n", " \n", " 1\n", - " gpt-3.5-turbo\n", - " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " 1.0\n", " 1.0\n", - " 1\n", - " False\n", - " 0.0\n", - " 0.0\n", - " The first president of the United States was George Washington.\n", - " chatcmpl-88cct1W9crL65HnRz5uBkVa4Nk4L3\n", - " chat.completion\n", - " 1697065795\n", - " gpt-3.5-turbo-0613\n", - " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}]\n", - " {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}\n", - " 0.709772\n", - " 86bf8267-b648-45ff-b4bc-c82ef112f6ab\n", + " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", + " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", + " 1.025263\n", " \n", " \n", "\n", "" ], "text/plain": [ - " model \\\n", - "0 gpt-3.5-turbo \n", - "1 gpt-3.5-turbo \n", + " temperature \\\n", + "0 0.0 \n", + "1 1.0 \n", "\n", " messages \\\n", "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "\n", - " temperature top_p n stream presence_penalty frequency_penalty \\\n", - "0 0.0 1.0 1 False 0.0 0.0 \n", - "1 1.0 1.0 1 False 0.0 0.0 \n", - "\n", " response \\\n", "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington. \n", + "1 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", "\n", - " response_id response_object response_created \\\n", - "0 chatcmpl-88ccstwsKs3yan1ESPBTb5RgP40NF chat.completion 1697065794 \n", - "1 chatcmpl-88cct1W9crL65HnRz5uBkVa4Nk4L3 chat.completion 1697065795 \n", - "\n", - " response_model \\\n", - "0 gpt-3.5-turbo-0613 \n", - "1 gpt-3.5-turbo-0613 \n", - "\n", - " response_choices \\\n", - "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", - "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}] \n", - "\n", - " response_usage \\\n", - "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", - "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", - "\n", - " latency revision_id \n", - "0 1.934486 86bf8267-b648-45ff-b4bc-c82ef112f6ab \n", - "1 0.709772 86bf8267-b648-45ff-b4bc-c82ef112f6ab " + " latency \n", + "0 1.105475 \n", + "1 1.025263 " ] }, - "execution_count": 16, "metadata": {}, - "output_type": "execute_result" + "output_type": "display_data" } ], "source": [ - "experiment_from_load.full_df" + "experiment_from_load.full_df\n", + "experiment_from_load.visualize()" ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -711,15 +615,15 @@ " 0.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " 1.934486\n", + " 1.105475\n", " EVAL'ED The first\n", " \n", " \n", " 1\n", " 1.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " The first president of the United States was George Washington.\n", - " 0.709772\n", + " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", + " 1.025263\n", " EVAL'ED The first\n", " \n", " \n", @@ -737,11 +641,11 @@ "\n", " response \\\n", "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington. \n", + "1 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", "\n", " latency dumb_eval_metric \n", - "0 1.934486 EVAL'ED The first \n", - "1 0.709772 EVAL'ED The first " + "0 1.105475 EVAL'ED The first \n", + "1 1.025263 EVAL'ED The first " ] }, "metadata": {}, @@ -759,7 +663,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -787,6 +691,7 @@ " messages\n", " response\n", " latency\n", + " dumb_eval_metric\n", " \n", " \n", " \n", @@ -795,28 +700,32 @@ " 0.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " 1.683780\n", + " 1.105475\n", + " EVAL'ED The first\n", " \n", " \n", " 1\n", " 1.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " 0.991504\n", + " 1.025263\n", + " EVAL'ED The first\n", " \n", " \n", - " 2\n", + " 0\n", " 0.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " 1.111189\n", + " 0.889007\n", + " NaN\n", " \n", " \n", - " 3\n", + " 1\n", " 1.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " The first president of the United States was George Washington. He served as the nation's first president from 1789 to 1797.\n", - " 0.960242\n", + " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", + " 1.286091\n", + " NaN\n", " \n", " \n", "\n", @@ -826,26 +735,26 @@ " temperature \\\n", "0 0.0 \n", "1 1.0 \n", - "2 0.0 \n", - "3 1.0 \n", + "0 0.0 \n", + "1 1.0 \n", "\n", " messages \\\n", "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "2 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "3 The first president of the United States was George Washington. He served as the nation's first president from 1789 to 1797. \n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", "\n", - " latency \n", - "0 1.683780 \n", - "1 0.991504 \n", - "2 1.111189 \n", - "3 0.960242 " + " latency dumb_eval_metric \n", + "0 1.105475 EVAL'ED The first \n", + "1 1.025263 EVAL'ED The first \n", + "0 0.889007 NaN \n", + "1 1.286091 NaN " ] }, "metadata": {}, @@ -859,10 +768,263 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sending HTTP GET request...\n", + "Loaded experiment.\n" + ] + } + ], + "source": [ + "experiment_from_load_revision = OpenAIChatExperiment.load_revision(experiment._revision_id)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmessagestemperaturetop_pnstreampresence_penaltyfrequency_penaltyresponseresponse_idresponse_objectresponse_createdresponse_modelresponse_choicesresponse_usagelatencyrevision_id
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]0.01.01False0.00.0The first president of the United States was George Washington. He served as president from 1789 to 1797.chatcmpl-8F4L3c4rdCCxcT38evtH4hHxPSFWJchat.completion1698602289gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}1.105475c60795e9-efaa-4de0-9a16-770f22e13efc
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]1.01.01False0.00.0The first president of the United States was George Washington. He served as president from 1789 to 1797.chatcmpl-8F4L4yc7QqsJepuhdx4IQkFQ79rTychat.completion1698602290gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}1.025263c60795e9-efaa-4de0-9a16-770f22e13efc
\n", + "
" + ], + "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " temperature top_p n stream presence_penalty frequency_penalty \\\n", + "0 0.0 1.0 1 False 0.0 0.0 \n", + "1 1.0 1.0 1 False 0.0 0.0 \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "\n", + " response_id response_object response_created \\\n", + "0 chatcmpl-8F4L3c4rdCCxcT38evtH4hHxPSFWJ chat.completion 1698602289 \n", + "1 chatcmpl-8F4L4yc7QqsJepuhdx4IQkFQ79rTy chat.completion 1698602290 \n", + "\n", + " response_model \\\n", + "0 gpt-3.5-turbo-0613 \n", + "1 gpt-3.5-turbo-0613 \n", + "\n", + " response_choices \\\n", + "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", + "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", + "\n", + " response_usage \\\n", + "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", + "1 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", + "\n", + " latency revision_id \n", + "0 1.105475 c60795e9-efaa-4de0-9a16-770f22e13efc \n", + "1 1.025263 c60795e9-efaa-4de0-9a16-770f22e13efc " + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "experiment_from_load_revision.full_df\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperaturemessagesresponselatency
00.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.105475
11.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.025263
\n", + "
" + ], + "text/plain": [ + " temperature \\\n", + "0 0.0 \n", + "1 1.0 \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "\n", + " latency \n", + "0 1.105475 \n", + "1 1.025263 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment_from_load_revision.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Creating serialized state of experiment...\n", + "Sending HTTP POST request...\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "experiment_from_load_revision.save_experiment(\"TEST_SAVE_NAME3\")" + ] }, { "cell_type": "markdown", @@ -1296,16 +1458,16 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 13, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -1327,9 +1489,9 @@ "user_permission_collection = db[USER_PERMISSION_COLLECTION_NAME]\n", "\n", "\n", - "# experiments_collection.delete_many({})\n", - "# logs_collection.delete_many({})\n", - "# user_permission_collection.delete_many({})" + "experiments_collection.delete_many({})\n", + "logs_collection.delete_many({})\n", + "user_permission_collection.delete_many({})" ] }, { @@ -1449,23 +1611,6 @@ "print(response.status_code)" ] }, - { - "cell_type": "code", - "execution_count": 79, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'OPENAI_API_KEY': '', 'Authorization': 'Bearer f0c41ced96e754cc1bf8fdf87725d8f0', 'Content-Type': 'application/json'}\n" - ] - } - ], - "source": [ - "print(headers)" - ] - }, { "cell_type": "code", "execution_count": 24, @@ -1503,18 +1648,11 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Response:\n", - "200\n" - ] - } - ], + "execution_count": null, + "metadata": { + "is_executing": true + }, + "outputs": [], "source": [ "import requests\n", "import json\n", diff --git a/prompttools/common.py b/prompttools/common.py new file mode 100644 index 00000000..b2f80d22 --- /dev/null +++ b/prompttools/common.py @@ -0,0 +1 @@ +HEGEL_BACKEND_URL = """http://127.0.0.1:5000""" diff --git a/prompttools/experiment/experiments/experiment.py b/prompttools/experiment/experiments/experiment.py index 9afa8c40..0530d627 100644 --- a/prompttools/experiment/experiments/experiment.py +++ b/prompttools/experiment/experiments/experiment.py @@ -48,11 +48,10 @@ class Experiment: def __init__(self): self.queue = RequestQueue() self.argument_combos: list[dict] = [] - self.full_df = None - self.partial_df = None - self.score_df = None + self.full_df, self.partial_df, self.score_df = None, None, None self.image_experiment = False self._experiment_id = None + self._revision_id = None try: if "SENTRY_OPT_OUT" not in os.environ: sentry_sdk.capture_message(f"Initializing {self.__class__.__name__}", "info") @@ -183,6 +182,8 @@ def run( self.prepare() if clear_previous_results: self.queue = RequestQueue() + self.full_df, self.partial_df, self.score_df = None, None, None + original_n_results = len(self.queue.get_results()) if self.queue else 0 for combo in self.argument_combos: for _ in range(runs): self.queue.enqueue( @@ -190,12 +191,14 @@ def run( # We need to filter out defaults that are invalid JSON from the request {k: v for k, v in combo.items() if (v is not None) and (v != float("inf"))}, ) - results = self.queue.get_results() - input_args = self.queue.get_input_args() - if len(results) == 0: + number_of_new_results = len(self.queue.get_results()) - original_n_results + if number_of_new_results == 0: logging.error("No results. Something went wrong.") raise PromptExperimentException - self._construct_result_dfs(input_args, results, self.queue.get_latencies()) + results = self.queue.get_results()[-number_of_new_results:] + input_args = self.queue.get_input_args()[-number_of_new_results:] + latencies = self.queue.get_latencies()[-number_of_new_results:] + self._construct_result_dfs(input_args, results, latencies) def _construct_result_dfs( self, @@ -253,12 +256,16 @@ def _construct_result_dfs( result_df = pd.concat([response_df, result_df], axis=1) # `score_df` contains computed metrics (e.g. latency, evaluation metrics) - self.score_df = pd.DataFrame({"latency": latencies}) + new_score_df = pd.DataFrame({"latency": latencies}) + self.score_df = new_score_df if self.score_df is None else pd.concat([self.score_df, new_score_df]) # `partial_df` contains some input arguments, extracted responses, and score - self.partial_df = pd.concat([dynamic_input_arg_df, response_df, self.score_df], axis=1) + new_partial_df = pd.concat([dynamic_input_arg_df, response_df, new_score_df], axis=1) + self.partial_df = new_partial_df if self.partial_df is None else pd.concat([self.partial_df, new_partial_df]) + # `full_df` contains all input arguments, responses, and score - self.full_df = pd.concat([input_arg_df, result_df, self.score_df], axis=1) + new_full_df = pd.concat([input_arg_df, result_df, new_score_df], axis=1) + self.full_df = new_full_df if self.full_df is None else pd.concat([self.full_df, new_full_df]) def get_table(self, get_all_cols: bool = False) -> pd.DataFrame: r""" @@ -273,6 +280,7 @@ def get_table(self, get_all_cols: bool = False) -> pd.DataFrame: input arguments (including frozen ones), full model response (not just the text response), and scores. """ if self.full_df is None: + print("Running first...") logging.info("Running first...") self.run() if get_all_cols: diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index 1bc5e3d0..245c5953 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -18,9 +18,7 @@ from .experiment import Experiment from .error import PromptExperimentException import pandas as pd - - -HEGEL_BACKEND_URL = """http://127.0.0.1:5000""" +from prompttools.common import HEGEL_BACKEND_URL class OpenAIChatExperiment(Experiment): @@ -94,6 +92,8 @@ class OpenAIChatExperiment(Experiment): "API_TYPE": "azure", "API_VERSION": "2023-05-15"`` """ + _experiment_type = "RawExperiment" + def __init__( self, model: List[str], @@ -178,38 +178,38 @@ def _get_model_names(self): def _get_prompts(self): return [self.prompt_keys[str(combo["messages"][-1]["content"])] for combo in self.argument_combos] - def _get_state(self, name: str): + def _get_state(self): + partial_col_names = self.partial_df.columns.tolist() + score_col_names = self.score_df.columns.tolist() state_params = { "prompt_keys": self.prompt_keys, "all_args": self.all_args, + "partial_col_names": partial_col_names, + "score_col_names": score_col_names, } - partial_col_names = self.partial_df.columns.tolist() - score_col_names = self.score_df.columns.tolist() state = ( - name, - self._experiment_id, - "OpenAIChat", # Experiment Type state_params, self.full_df, - partial_col_names, - score_col_names, ) - print("Creating serialized state of experiment...") - serialized_state = pickle.dumps(state) - return serialized_state + print("Creating state of experiment...") + return state def save_experiment(self, name: str): + if self.full_df is None: + raise RuntimeError("Cannot save empty experiment. Please run it first.") if os.environ["HEGELAI_API_KEY"] is None: raise PermissionError("Please set HEGELAI_API_KEY (e.g. os.environ['HEGELAI_API_KEY']).") - state = self._get_state(name) + state = self._get_state() url = f"{HEGEL_BACKEND_URL}/sdk/save" headers = { "Content-Type": "application/octet-stream", # Use a binary content type for pickled data "Authorization": os.environ["HEGELAI_API_KEY"], } print("Sending HTTP POST request...") - response = requests.post(url, data=state, headers=headers) + data = pickle.dumps((name, self._experiment_id, self._experiment_type, state)) + response = requests.post(url, data=data, headers=headers) self._experiment_id = response.json().get("experiment_id") + self._revision_id = response.json().get("revision_id") return response @classmethod @@ -224,9 +224,11 @@ def load_experiment(cls, experiment_id: str): } print("Sending HTTP GET request...") response = requests.get(url, headers=headers) - if response.status_code == 200: - state = pickle.loads(response.content) # Note that state should not have `name` included - return cls._load_state(state, experiment_id) + if response.status_code == 200: # Note that state should not have `name` included + new_experiment_id, revision_id, experiment_type_str, state = pickle.loads(response.content) + if new_experiment_id != experiment_id: + raise RuntimeError("Experiment ID mismatch between request and response.") + return cls._load_state(state, experiment_id, revision_id, experiment_type_str) else: print(f"Error: {response.status_code}, {response.text}") @@ -243,22 +245,20 @@ def load_revision(cls, revision_id: str): print("Sending HTTP GET request...") response = requests.get(url, headers=headers) if response.status_code == 200: - # Note: This is different from `load_experiment` - experiment_id, state = pickle.loads(response.content) - return cls._load_state(state, experiment_id) + experiment_id, new_revision_id, experiment_type_str, state = pickle.loads(response.content) + if new_revision_id != revision_id: + raise RuntimeError("Revision ID mismatch between request and response.") + return cls._load_state(state, experiment_id, revision_id, experiment_type_str) else: print(f"Error: {response.status_code}, {response.text}") @classmethod - def _load_state(cls, state, experiment_id: str): + def _load_state(cls, state, experiment_id: str, revision_id: str, experiment_type_str: str): ( state_params, full_df, - partial_col_names, - score_col_names, - experiment_type_str, ) = state - if experiment_type_str != "OpenAIChat": + if experiment_type_str != cls._experiment_type: raise RuntimeError( f"The Experiment Type you are trying to load is {experiment_type_str}," "which does not match the current class." @@ -269,9 +269,10 @@ def _load_state(cls, state, experiment_id: str): experiment.prompt_keys = prompt_keys experiment.all_args = all_args experiment.full_df = pd.DataFrame(full_df) - experiment.partial_df = experiment.full_df[partial_col_names].copy() - experiment.score_df = experiment.full_df[score_col_names].copy() + experiment.partial_df = experiment.full_df[state_params["partial_col_names"]].copy() + experiment.score_df = experiment.full_df[state_params["score_col_names"]].copy() experiment._experiment_id = experiment_id + experiment._revision_id = revision_id print("Loaded experiment.") return experiment diff --git a/prompttools/harness/__init__.py b/prompttools/harness/__init__.py index e904403f..f91a2b1e 100644 --- a/prompttools/harness/__init__.py +++ b/prompttools/harness/__init__.py @@ -8,6 +8,8 @@ from .harness import ExperimentationHarness from .chat_history_harness import ChatHistoryExperimentationHarness from .chat_model_comparison_harness import ChatModelComparisonHarness +from .chat_prompt_template_harness import ChatPromptTemplateExperimentationHarness +from .model_comparison_harness import ModelComparisonHarness from .multi_experiment_harness import MultiExperimentHarness from .prompt_template_harness import PromptTemplateExperimentationHarness from .rag_harness import RetrievalAugmentedGenerationExperimentationHarness @@ -17,7 +19,9 @@ __all__ = [ "ChatHistoryExperimentationHarness", "ChatModelComparisonHarness", + "ChatPromptTemplateExperimentationHarness", "ExperimentationHarness", + "ModelComparisonHarness", "MultiExperimentHarness", "PromptTemplateExperimentationHarness", "RetrievalAugmentedGenerationExperimentationHarness", diff --git a/prompttools/harness/chat_prompt_template_harness.py b/prompttools/harness/chat_prompt_template_harness.py new file mode 100644 index 00000000..6abec73c --- /dev/null +++ b/prompttools/harness/chat_prompt_template_harness.py @@ -0,0 +1,137 @@ +# Copyright (c) Hegel AI, Inc. +# All rights reserved. +# +# This source code's license can be found in the +# LICENSE file in the root directory of this source tree. + +from typing import Type +import jinja2 +import pandas as pd + +from .harness import ExperimentationHarness, Experiment +from typing import Optional +from copy import deepcopy + + +def _render_messages_openai_chat(message_template: list[dict], user_input: dict, environment): + rendered_message = deepcopy(message_template) + user_msg_template = environment.from_string(rendered_message[-1]["content"]) + rendered_message[-1]["content"] = user_msg_template.render(**user_input) + return rendered_message + + +class ChatPromptTemplateExperimentationHarness(ExperimentationHarness): + r""" + An experimentation harness used to test various prompt templates for chat models. + We use `jinja` templates, e.g. "Answer the following question: {{input}}". + + Args: + experiment (Type[Experiment]): The experiment constructor that you would like to execute within the harness + (e.g. ``prompttools.experiment.OpenAICompletionExperiment``) + model_name (str): The name of the model. + prompt_templates (List[str]): A list of prompt ``jinja``-styled templates. + user_inputs (List[Dict[str, str]]): A list of dictionaries representing user inputs. + model_arguments (Optional[Dict[str, object]], optional): Additional arguments for the model. + Defaults to ``None``. Note that the values are not lists. + """ + + _experiment_type = "Template" + PIVOT_COLUMNS = ["prompt_template", "user_input"] + + def __init__( + self, + experiment: Type[Experiment], + model_name: str, + message_templates: list[list[dict]], + user_inputs: list[dict[str, str]], + model_arguments: Optional[dict[str, object]] = None, + ): + self.environment = jinja2.Environment() + self.experiment_cls_constructor = experiment + self.model_name = model_name + self.message_templates = message_templates + self.user_inputs = user_inputs + self.model_arguments = {} if model_arguments is None else model_arguments + super().__init__() + + def prepare(self) -> None: + r""" + Creates prompts from templates to use for the experiment, and then initializes and prepares the experiment. + """ + # self.input_pairs_dict = {} + rendered_messages = [] + for mt in self.message_templates: + for user_input in self.user_inputs: + rendered_messages.append(_render_messages_openai_chat(mt, user_input, self.environment)) + self.experiment = self.experiment_cls_constructor( + [self.model_name], + rendered_messages, + **self._prepare_arguments(self.model_arguments), + ) + super().prepare() + + def run(self): + if not self.experiment: + self.prepare() + super().run() + + # Add user inputs to DataFrame + if len(self.experiment.full_df) > 0: + repeat = len(self.experiment.full_df) // len(self.user_inputs) + user_inputs = deepcopy(self.user_inputs) + user_inputs_col_name = "user_inputs" + user_input_df = pd.DataFrame({user_inputs_col_name: user_inputs * repeat}) + + if user_inputs_col_name in self.experiment.full_df.columns: + self.experiment.full_df = self.experiment.full_df.drop(user_inputs_col_name, axis=1) + self.experiment.full_df.reset_index(drop=True, inplace=True) + + self.experiment.full_df = pd.concat([user_input_df, self.experiment.full_df], axis=1) + if user_inputs_col_name in self.experiment.partial_df.columns: + self.experiment.partial_df = self.experiment.partial_df.drop(user_inputs_col_name, axis=1) + self.experiment.partial_df.reset_index(drop=True, inplace=True) + self.experiment.partial_df = pd.concat([user_input_df, self.experiment.partial_df], axis=1) + + def _get_state(self): + state_params = { + "experiment_cls_constructor": self.experiment_cls_constructor, + "model_name": self.model_name, + "message_templates": self.message_templates, + "user_inputs": self.user_inputs, + "model_arguments": self.model_arguments, + "child_experiment_state": self.experiment._get_state() if self.experiment else None, + } + state = ( + state_params, + self.experiment.full_df, + ) + print("Creating state of experiment...") + return state + + @classmethod + def _load_state(cls, state, experiment_id: str, revision_id: str, experiment_type_str: str): + ( + state_params, + full_df, + ) = state + if experiment_type_str != cls._experiment_type: + raise RuntimeError( + f"The Experiment Type you are trying to load is {experiment_type_str}," + "which does not match the current class." + ) + + experiment_cls_constructor = state_params["experiment_cls_constructor"] + model_name = state_params["model_name"] + message_templates = state_params["message_templates"] + user_inputs = state_params["user_inputs"] + model_arguments = state_params["model_arguments"] + child_experiment_state = state_params["child_experiment_state"] + + harness = cls(experiment_cls_constructor, model_name, message_templates, user_inputs, model_arguments) + harness.experiment = experiment_cls_constructor._load_state( + child_experiment_state, None, None, experiment_cls_constructor._experiment_type + ) + harness._experiment_id = experiment_id + harness._revision_id = revision_id + print("Loaded harness.") + return harness diff --git a/prompttools/harness/harness.py b/prompttools/harness/harness.py index 6df653b9..425fdfea 100644 --- a/prompttools/harness/harness.py +++ b/prompttools/harness/harness.py @@ -4,10 +4,16 @@ # This source code's license can be found in the # LICENSE file in the root directory of this source tree. -from typing import Callable, Dict, List +from typing import Callable from prompttools.experiment import Experiment +from prompttools.common import HEGEL_BACKEND_URL +import os +import pickle +import requests + + class ExperimentationHarness: r""" Base class for experimentation harnesses. This should not be used directly, please use the subclasses instead. @@ -20,9 +26,11 @@ def __init__(self) -> None: self.input_pairs_dict = None self.experiment = None self.runs = 1 + self._experiment_id = None + self._revision_id = None @staticmethod - def _prepare_arguments(arguments: Dict[str, object]) -> Dict[str, List[object]]: + def _prepare_arguments(arguments: dict[str, object]) -> dict[str, list[object]]: return {name: [arg] for name, arg in arguments.items()} def prepare(self) -> None: @@ -55,9 +63,86 @@ def visualize(self, pivot: bool = False) -> None: else: self.experiment.visualize() - def rank(self, metric_name: str, is_average: bool = False) -> Dict[str, float]: + def rank(self, metric_name: str, is_average: bool = False) -> dict[str, float]: r""" Scores and ranks the experiment inputs using the pivot columns, e.g. prompt templates or system prompts. """ return self.experiment.rank(self.input_pairs_dict, self.PIVOT_COLUMNS, metric_name, is_average) + + @property + def full_df(self): + return self.experiment.full_df + + @property + def partial_df(self): + return self.experiment.partial_df + + @property + def score_df(self): + return self.experiment.score_df + + def _get_state(self): + raise NotImplementedError("Should be implemented by specific harness class.") + + @classmethod + def _load_state(cls, state, experiment_id: str, revision_id: str, experiment_type_str: str): + raise NotImplementedError("Should be implemented by specific harness class.") + + def save_experiment(self, name: str): + if self.full_df is None: + raise RuntimeError("Cannot save empty experiment. Please run it first.") + if os.environ["HEGELAI_API_KEY"] is None: + raise PermissionError("Please set HEGELAI_API_KEY (e.g. os.environ['HEGELAI_API_KEY']).") + state = self._get_state() + url = f"{HEGEL_BACKEND_URL}/sdk/save" + headers = { + "Content-Type": "application/octet-stream", # Use a binary content type for pickled data + "Authorization": os.environ["HEGELAI_API_KEY"], + } + print("Sending HTTP POST request...") + data = pickle.dumps((name, self._experiment_id, self._experiment_type, state)) + response = requests.post(url, data=data, headers=headers) + self._experiment_id = response.json().get("experiment_id") + self._revision_id = response.json().get("revision_id") + return response + + @classmethod + def load_experiment(cls, experiment_id: str): + if os.environ["HEGELAI_API_KEY"] is None: + raise PermissionError("Please set HEGELAI_API_KEY (e.g. os.environ['HEGELAI_API_KEY']).") + + url = f"{HEGEL_BACKEND_URL}/sdk/get/experiment/{experiment_id}" + headers = { + "Content-Type": "application/octet-stream", # Use a binary content type for pickled data + "Authorization": os.environ["HEGELAI_API_KEY"], + } + print("Sending HTTP GET request...") + response = requests.get(url, headers=headers) + if response.status_code == 200: # Note that state should not have `name` included + new_experiment_id, revision_id, experiment_type_str, state = pickle.loads(response.content) + if new_experiment_id != experiment_id: + raise RuntimeError("Experiment ID mismatch between request and response.") + return cls._load_state(state, experiment_id, revision_id, experiment_type_str) + else: + print(f"Error: {response.status_code}, {response.text}") + + @classmethod + def load_revision(cls, revision_id: str): + if os.environ["HEGELAI_API_KEY"] is None: + raise PermissionError("Please set HEGELAI_API_KEY (e.g. os.environ['HEGELAI_API_KEY']).") + + url = f"{HEGEL_BACKEND_URL}/sdk/get/revision/{revision_id}" + headers = { + "Content-Type": "application/octet-stream", # Use a binary content type for pickled data + "Authorization": os.environ["HEGELAI_API_KEY"], + } + print("Sending HTTP GET request...") + response = requests.get(url, headers=headers) + if response.status_code == 200: + experiment_id, new_revision_id, experiment_type_str, state = pickle.loads(response.content) + if new_revision_id != revision_id: + raise RuntimeError("Revision ID mismatch between request and response.") + return cls._load_state(state, experiment_id, revision_id, experiment_type_str) + else: + print(f"Error: {response.status_code}, {response.text}") diff --git a/prompttools/harness/model_comparison_harness.py b/prompttools/harness/model_comparison_harness.py new file mode 100644 index 00000000..577fe9c0 --- /dev/null +++ b/prompttools/harness/model_comparison_harness.py @@ -0,0 +1,183 @@ +# Copyright (c) Hegel AI, Inc. +# All rights reserved. +# +# This source code's license can be found in the +# LICENSE file in the root directory of this source tree. + +from typing import Dict, List, Optional, Callable + +import pandas as pd + +from .harness import ExperimentationHarness +from prompttools.experiment import OpenAIChatExperiment +from .utility import is_interactive +from IPython import display +from tabulate import tabulate +import logging + + +class ModelComparisonHarness(ExperimentationHarness): + r""" + An experimentation harness used for comparing models. + + Args: + model_names (List[str]): The names of the models that you would like to compare + system_prompts (List[str]): A list of system messages, one for each model. + model_arguments (List[Optional[Dict]]): A list of model arguments, one for each model. + user_messages (List[str]) User messages that will be tested across models. Defaults to ``[]``. + runs (int): Number of runs to execute. Defaults to ``1``. + """ + + _experiment_type = "Comparison" + PIVOT_COLUMNS = ["model", "messages"] + + def __init__( + self, + model_names: List[str], + system_prompts: List[str], + user_messages: List[str], + model_arguments: List[Optional[dict]] = [], + runs: int = 1, + ): + self.model_names = model_names + self.system_prompts = system_prompts + self.model_arguments = model_arguments + self.user_messages = user_messages + self.runs = runs + self.experiments = [] + + if len(model_names) != len(system_prompts): + raise RuntimeError( + "The number of models must match the number of system messages, because each" + "system prompt correspond to one model." + ) + if model_arguments != [] and len(model_arguments) != len(model_names): + raise RuntimeError( + "The number of models must match the number of model argument dictionaries," + "because each dictionary of arguments correspond to one model." + ) + super().__init__() + + def prepare(self) -> None: + """ + Initializes and prepares the experiment. + """ + self.experiments = [] + for i, model in enumerate(self.model_names): + system_prompt = self.system_prompts[i] + model_args = {} if self.model_arguments == [] else self.model_arguments[i] + messages = [] + for message in self.user_messages: + messages.append( + [ + self._create_system_prompt(system_prompt), + self._create_human_message(message), + ] + ) + + experiment = OpenAIChatExperiment( + [model], + messages, + **self._prepare_arguments(model_args), + ) + self.experiments.append(experiment) + + @staticmethod + def _create_system_prompt(content: str) -> Dict[str, str]: + return {"role": "system", "content": content} + + @staticmethod + def _create_human_message(content: str) -> Dict[str, str]: + return {"role": "user", "content": content} + + @property + def full_df(self): + return self._full_df + + @property + def partial_df(self): + return self._partial_df + + @property + def score_df(self): + return self._score_df + + def run(self): + if not self.experiments: + self.prepare() + for exp in self.experiments: + exp.run() + self._update_dfs() + + def evaluate(self, metric_name: str, eval_fn: Callable, static_eval_fn_kwargs: dict = {}, **eval_fn_kwargs) -> None: + r""" + Uses the given eval_fn to evaluate the results of the underlying experiment. + """ + if not self.experiments: + raise RuntimeError("Cannot evaluate experiment without running first.") + for exp in self.experiments: + exp.evaluate(metric_name, eval_fn, static_eval_fn_kwargs, **eval_fn_kwargs) + self._update_dfs() + + def get_table(self, get_all_cols: bool = False) -> pd.DataFrame: + if get_all_cols: + return self.full_df + else: + return self.partial_df + + def _update_dfs(self): + self._full_df = pd.concat([exp.full_df for exp in self.experiments], axis=0, ignore_index=True) + self._partial_df = pd.concat([exp.partial_df for exp in self.experiments], axis=0, ignore_index=True) + self._score_df = pd.concat([exp.score_df for exp in self.experiments], axis=0, ignore_index=True) + + def visualize(self, get_all_cols: bool = False): + table = self.get_table(get_all_cols) + if is_interactive(): + display.display(table) + else: + logging.getLogger().setLevel(logging.INFO) + logging.info(tabulate(table, headers="keys", tablefmt="psql")) + + def _get_state(self): + state_params = { + "model_names": self.model_names, + "system_prompts": self.system_prompts, + "user_messages": self.user_messages, + "model_arguments": self.model_arguments, + "child_experiment_states": [exp._get_state() for exp in self.experiments] if self.experiments else [], + } + state = ( + state_params, + self.full_df, + ) + print("Creating state of experiment...") + return state + + @classmethod + def _load_state(cls, state, experiment_id: str, revision_id: str, experiment_type_str: str): + ( + state_params, + full_df, + ) = state + if experiment_type_str != cls._experiment_type: + raise RuntimeError( + f"The Experiment Type you are trying to load is {experiment_type_str}," + "which does not match the current class." + ) + + model_names = state_params["model_names"] + system_prompts = state_params["system_prompts"] + user_messages = state_params["user_messages"] + model_arguments = state_params["model_arguments"] + child_experiment_states = state_params["child_experiment_states"] + + harness = cls(model_names, system_prompts, user_messages, model_arguments) + harness.experiments = [ + OpenAIChatExperiment._load_state(state, None, None, OpenAIChatExperiment._experiment_type) + for state in child_experiment_states + ] + harness._update_dfs() + harness._experiment_id = experiment_id + harness._revision_id = revision_id + print("Loaded harness.") + return harness diff --git a/prompttools/harness/system_prompt_harness.py b/prompttools/harness/system_prompt_harness.py index 635b4ed4..1f356880 100644 --- a/prompttools/harness/system_prompt_harness.py +++ b/prompttools/harness/system_prompt_harness.py @@ -19,9 +19,10 @@ class SystemPromptExperimentationHarness(ExperimentationHarness): system_prompts (List[str]): A list of system prompts for the model human_messages (List[str]): A list of human (user) messages to pass into the model model_arguments (Optional[Dict[str, object]], optional): Additional arguments for the model. - Defaults to ``None``. + Defaults to ``None``. Note that the values are not lists. """ + _experiment_type = "Instruction" PIVOT_COLUMNS = ["system_prompt", "user_input"] def __init__( @@ -32,7 +33,7 @@ def __init__( human_messages: List[str], model_arguments: Optional[Dict[str, object]] = None, ): - self.experiment_cls_constructor = (experiment,) + self.experiment_cls_constructor = experiment self.model_name = model_name self.system_prompts = system_prompts self.human_messages = human_messages @@ -72,3 +73,47 @@ def run(self): if not self.experiment: self.prepare() super().run() + + def _get_state(self): + state_params = { + "experiment_cls_constructor": self.experiment_cls_constructor, + "model_name": self.model_name, + "system_prompts": self.system_prompts, + "human_messages": self.human_messages, + "model_arguments": self.model_arguments, + "child_experiment_state": self.experiment._get_state() if self.experiment else None, + } + state = ( + state_params, + self.experiment.full_df, + ) + print("Creating state of experiment...") + return state + + @classmethod + def _load_state(cls, state, experiment_id: str, revision_id: str, experiment_type_str: str): + ( + state_params, + full_df, + ) = state + if experiment_type_str != cls._experiment_type: + raise RuntimeError( + f"The Experiment Type you are trying to load is {experiment_type_str}," + "which does not match the current class." + ) + + experiment_cls_constructor = state_params["experiment_cls_constructor"] + model_name = state_params["model_name"] + system_prompts = state_params["system_prompts"] + human_messages = state_params["human_messages"] + model_arguments = state_params["model_arguments"] + child_experiment_state = state_params["child_experiment_state"] + + harness = cls(experiment_cls_constructor, model_name, system_prompts, human_messages, model_arguments) + harness.experiment = experiment_cls_constructor._load_state( + child_experiment_state, None, None, experiment_cls_constructor._experiment_type + ) + harness._experiment_id = experiment_id + harness._revision_id = revision_id + print("Loaded harness.") + return harness diff --git a/prompttools/harness/utility.py b/prompttools/harness/utility.py new file mode 100644 index 00000000..6d9a95a9 --- /dev/null +++ b/prompttools/harness/utility.py @@ -0,0 +1,15 @@ +# Copyright (c) Hegel AI, Inc. +# All rights reserved. +# +# This source code's license can be found in the +# LICENSE file in the root directory of this source tree. + + +def is_interactive() -> bool: + r""" + Used to determine if we are in a jupyter notebook, which + determines how we present the visualizations. + """ + import __main__ as main + + return not hasattr(main, "__file__") From 817725a2c6740c74c775fb222b6cef2c49b35293 Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 30 Oct 2023 13:15:51 -0400 Subject: [PATCH 096/182] Minor remote examples clean up --- ...Loading_ExperimentHarness_to_Remote.ipynb} | 38 +++++++------------ ...ng_and_Loading_Experiment_to_Remote.ipynb} | 0 2 files changed, 14 insertions(+), 24 deletions(-) rename examples/notebooks/remote/{Test_Remote_Harness.ipynb => Saving_and_Loading_ExperimentHarness_to_Remote.ipynb} (99%) rename examples/notebooks/remote/{Test_Remote_OpenAIChat.ipynb => Saving_and_Loading_Experiment_to_Remote.ipynb} (100%) diff --git a/examples/notebooks/remote/Test_Remote_Harness.ipynb b/examples/notebooks/remote/Saving_and_Loading_ExperimentHarness_to_Remote.ipynb similarity index 99% rename from examples/notebooks/remote/Test_Remote_Harness.ipynb rename to examples/notebooks/remote/Saving_and_Loading_ExperimentHarness_to_Remote.ipynb index 0d8a6498..3a18bd09 100644 --- a/examples/notebooks/remote/Test_Remote_Harness.ipynb +++ b/examples/notebooks/remote/Saving_and_Loading_ExperimentHarness_to_Remote.ipynb @@ -21,7 +21,7 @@ "id": "38786a7d", "metadata": {}, "source": [ - "## Prompt Template" + "## Prompt Template Harness" ] }, { @@ -52,26 +52,6 @@ " model_arguments=None)" ] }, - { - "cell_type": "code", - "execution_count": 3, - "id": "e6b84646", - "metadata": {}, - "outputs": [], - "source": [ - "harness.prepare()" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "cc6cc3ea", - "metadata": {}, - "outputs": [], - "source": [ - "harness.run()" - ] - }, { "cell_type": "code", "execution_count": 5, @@ -169,6 +149,8 @@ } ], "source": [ + "harness.prepare()\n", + "harness.run()\n", "harness.visualize()" ] }, @@ -199,7 +181,7 @@ } ], "source": [ - "harness.save_experiment(\"HARNESS\")" + "harness.save_experiment(\"HistoryExam\")" ] }, { @@ -1093,7 +1075,7 @@ "id": "2ebbc052", "metadata": {}, "source": [ - "## System Prompt" + "## System Prompt Harness" ] }, { @@ -1688,7 +1670,15 @@ } ], "source": [ - "harness.save_experiment(\"Comparison HARNESS\")" + "harness.save_experiment(\"HistoryModelComparison\")" + ] + }, + { + "cell_type": "markdown", + "id": "c16ef295", + "metadata": {}, + "source": [ + "### Load from Remote" ] }, { diff --git a/examples/notebooks/remote/Test_Remote_OpenAIChat.ipynb b/examples/notebooks/remote/Saving_and_Loading_Experiment_to_Remote.ipynb similarity index 100% rename from examples/notebooks/remote/Test_Remote_OpenAIChat.ipynb rename to examples/notebooks/remote/Saving_and_Loading_Experiment_to_Remote.ipynb From 9611dae59304894f902e33693cf638c66acc2b48 Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 31 Oct 2023 00:37:36 -0400 Subject: [PATCH 097/182] Point backend URL based on environment variable --- prompttools/common.py | 26 +++++++++++++++++++++++++- prompttools/sentry.py | 7 +++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/prompttools/common.py b/prompttools/common.py index b2f80d22..2314c301 100644 --- a/prompttools/common.py +++ b/prompttools/common.py @@ -1 +1,25 @@ -HEGEL_BACKEND_URL = """http://127.0.0.1:5000""" +# Copyright (c) Hegel AI, Inc. +# All rights reserved. +# +# This source code's license can be found in the +# LICENSE file in the root directory of this source tree. + + +import os +from os.path import join, dirname + +try: + from dotenv import load_dotenv +except ImportError: + load_dotenv = None + +if load_dotenv is not None: + dotenv_path = join(dirname(dirname(__file__)), ".env") + load_dotenv(dotenv_path) + + +ENV = os.environ.get("ENV", "prod") +if ENV == "development": + HEGEL_BACKEND_URL = """http://127.0.0.1:5000""" +else: + HEGEL_BACKEND_URL = """https://api.hegel-ai.com""" diff --git a/prompttools/sentry.py b/prompttools/sentry.py index 5b8a9107..18abbd36 100644 --- a/prompttools/sentry.py +++ b/prompttools/sentry.py @@ -1,3 +1,10 @@ +# Copyright (c) Hegel AI, Inc. +# All rights reserved. +# +# This source code's license can be found in the +# LICENSE file in the root directory of this source tree. + + # Sentry collects crash reports and performance numbers # It is possible to turn off data collection using an environment variable named "SENTRY_OPT_OUT" import sentry_sdk From c60d32e26e681688ab93332e6dad66a8ca73014e Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 31 Oct 2023 00:37:43 -0400 Subject: [PATCH 098/182] Add .env.example --- .env.example | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .env.example diff --git a/.env.example b/.env.example new file mode 100644 index 00000000..b937d0a7 --- /dev/null +++ b/.env.example @@ -0,0 +1,4 @@ +# To access remote service, make a copy of this file and save it as `.env` in the same directory +# Then, paste your Hegel API key below between the quotation marks. +ENV="prod" +HEGELAI_API_KEY="" From 5a102abff7ebc6da5f509d1fa8f93eac89354cf2 Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 31 Oct 2023 00:40:04 -0400 Subject: [PATCH 099/182] Adding _get_state, _load_state to Experiment class --- prompttools/experiment/experiments/experiment.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/prompttools/experiment/experiments/experiment.py b/prompttools/experiment/experiments/experiment.py index 7e7393f6..41ee2d5f 100644 --- a/prompttools/experiment/experiments/experiment.py +++ b/prompttools/experiment/experiments/experiment.py @@ -641,3 +641,10 @@ def _get_model_names(self): def _get_prompts(self): pass + + def _get_state(self): + raise NotImplementedError("Should be implemented by specific harness class.") + + @classmethod + def _load_state(cls, state, experiment_id: str, revision_id: str, experiment_type_str: str): + raise NotImplementedError("Should be implemented by specific harness class.") From 5e8975d54d1f9ce6d19f8190000d17ee75ed418d Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 31 Oct 2023 14:26:59 -0400 Subject: [PATCH 100/182] Fix OpenAIChatExperiment example --- examples/notebooks/OpenAIChatExperiment.ipynb | 277 ++++-------------- 1 file changed, 62 insertions(+), 215 deletions(-) diff --git a/examples/notebooks/OpenAIChatExperiment.ipynb b/examples/notebooks/OpenAIChatExperiment.ipynb index cf6ab6b5..a0be2541 100644 --- a/examples/notebooks/OpenAIChatExperiment.ipynb +++ b/examples/notebooks/OpenAIChatExperiment.ipynb @@ -169,7 +169,7 @@ " 0.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " George Washington\n", - " 2.917135e-06\n", + " 2.625049e-06\n", " \n", " \n", " 1\n", @@ -177,7 +177,7 @@ " 1.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " George Washington\n", - " 1.291977e-06\n", + " 1.000008e-06\n", " \n", " \n", " 2\n", @@ -185,7 +185,7 @@ " 0.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " George Washington\n", - " 8.328352e-07\n", + " 7.500057e-07\n", " \n", " \n", " 3\n", @@ -193,7 +193,7 @@ " 1.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " George Washington\n", - " 7.499475e-07\n", + " 6.670016e-07\n", " \n", " \n", "\n", @@ -213,10 +213,10 @@ "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "\n", " response latency \n", - "0 George Washington 2.917135e-06 \n", - "1 George Washington 1.291977e-06 \n", - "2 George Washington 8.328352e-07 \n", - "3 George Washington 7.499475e-07 " + "0 George Washington 2.625049e-06 \n", + "1 George Washington 1.000008e-06 \n", + "2 George Washington 7.500057e-07 \n", + "3 George Washington 6.670016e-07 " ] }, "metadata": {}, @@ -224,204 +224,40 @@ } ], "source": [ - "experiment.visualize_table()" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "4bb6b6d4", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/torch/utils/tensorboard/__init__.py:4: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.\n", - " if not hasattr(tensorboard, \"__version__\") or LooseVersion(\n", - "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/torch/utils/tensorboard/__init__.py:6: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.\n", - " ) < LooseVersion(\"1.15\"):\n", - "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/tensorflow/python/debug/cli/debugger_cli_common.py:19: DeprecationWarning: module 'sre_constants' is deprecated\n", - " import sre_constants\n" - ] - } - ], - "source": [ - "from prompttools.utils import similarity\n", - "\n", - "experiment.evaluate_by_row(\"similar_to_expected\", similarity.semantic_similarity_row, expected=[\"George Washington\"] * 4)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "07d4bd2a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
modeltemperaturemessagesresponselatencysimilar_to_expected
0gpt-3.5-turbo0.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]George Washington2.917135e-061.0
1gpt-3.5-turbo1.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]George Washington1.291977e-061.0
2gpt-3.5-turbo-06130.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]George Washington8.328352e-071.0
3gpt-3.5-turbo-06131.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]George Washington7.499475e-071.0
\n", - "
" - ], - "text/plain": [ - " model temperature \\\n", - "0 gpt-3.5-turbo 0.0 \n", - "1 gpt-3.5-turbo 1.0 \n", - "2 gpt-3.5-turbo-0613 0.0 \n", - "3 gpt-3.5-turbo-0613 1.0 \n", - "\n", - " messages \\\n", - "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "\n", - " response latency similar_to_expected \n", - "0 George Washington 2.917135e-06 1.0 \n", - "1 George Washington 1.291977e-06 1.0 \n", - "2 George Washington 8.328352e-07 1.0 \n", - "3 George Washington 7.499475e-07 1.0 " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "experiment.visualize_table()" + "experiment.visualize()" ] }, { - "cell_type": "code", - "execution_count": 10, - "id": "a508b623", + "cell_type": "markdown", + "id": "266c13eb", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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vGAb65SKrKwsGWO8LmOdbmEtCwAAAAAAvAv68EGSatSooZYtWyo/P1+rV6++4PIpKSmSzh3dsGfPHq/LbN++3W1ZAAAAAADgXZkIHyTp7Nmzbv+eT506dVStWjVJ0rJly7wuY03v0KFDgHoIAAAAAEBwKhPhQ0ZGhvOIhxYtWlxweYfDoZtuukmS9M4773jMX758uTZt2qTw8HDdcMMNge0sAAAAAABBJijCh19++UV/+9vfnKdCuPrqq6/Uq1cvnT17Vr1791b9+vWd8yZOnKjk5GT179/fo93jjz+uiIgIzZ8/X+PHj3de+yEzM1ODBw+WJN13333OIyQAAAAAAIB3QRE+HD9+XM8//7zq16+v6tWrq127dmrRooUqVqyoXr16adOmTWrXrp3effddt3ZZWVnKzMzUvn37PNZZt25dTZ06VSEhIXriiSdUu3ZttW7dWikpKdq8ebPatGmj8ePHX6pdBAAAAACg1AqK8KFFixaaNGmSbrjhBsXExGjTpk3atGmToqOj1atXL02fPl3Lly9X5cqVfVrvgAED9P3336tv3746ffq0NmzYoHr16ik1NVVLly5VTEyMTXsEAAAAAEDwcJjC7iWJgLLur9qlSxctXry4uLsDAAAAAAhyJel7aFAc+QAAAAAAAEouwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGCrsOLuAEoeh8NR3F0A/MZdhAEAAICSgyMfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArQgfAAAAAACArYIifDDGaOnSpXr88cd1xRVXqEKFCoqIiFCNGjV0yy23aNGiRT6vMzU1VQ6H47w/mzZtsmFvAAAAAAAILmHF3YFAWLhwobp37y5JCgkJUYMGDRQTE6MtW7bo008/1aeffqpnnnlGo0eP9nndtWvXVp06dbzOK1eunF/9BgAAAACgLAiK8MEYowYNGuivf/2r+vfvr4oVK0qSzpw5o9TUVL300ksaM2aMOnTooL59+/q07sGDBys1NdWGXgMAAAAAUDYExWkX7du318aNGzV06FBn8CBJERERevHFF9WrVy9J0tSpU4uriwAAAAAAlFlBET7ExcUpLKzwgzh69OghSfr1118vVZcAAAAAAMD/ExSnXVxIdna2JCk6OtrntosWLdL69et16NAhVapUSe3bt9eAAQNUrVq1QHcTAAAAAICgFPThgzFGM2bMkCR16tTJ5/bfffed2/9nzpyp1NRUvfHGGxo4cGAguggAAAAAQFAL+vBh6tSpWrVqlSIiIvTwww8XuV316tX11FNP6aabblK9evUUHR2tVatWacyYMZo3b54GDx6shIQEXX/99T71Jz09XV27dvWpzcCBAwk6AAAAAKAMS0tLU1pamk9t0tPTbenLxQjq8GHlypUaMWKEJGnMmDGqX79+kds++OCDHtM6duyoOXPm6JZbbtGsWbP0yCOPqG/fvnI4HEVe79GjR7VkyZIiLy/J57ACAAAAABBcMjIyfP4uWZIEbfiwY8cO9e3b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1WEAAAAAAFC6FDl8aNGihVq0aOE2bdCgQZKka665RjfccENgewYAZczfkt4p7i4Afvt75pDi7gIAACiBihw+eDN9+nRJuuBRDwAAAAAAoOzyK3y49957A9UPAAAAAAAQpHy64CQAAAAAAICvCB8AAAAAAICt/DrtwtXy5cv17rvv6scff9Rvv/2mY8eOKT8//7xtHA6Hzp49G6guAAAAAACAEsjv8OHUqVMaPHiwZsyYIUkyxvjdKQAAAAAAEDz8Dh/uuusuzZ49W8YYxcTE6PLLL9ePP/4oh8OhJk2aKDo6WhkZGTp48KCkc0c7tGnTRjExMX53HgAAAAAAlHx+XfNhwYIF+vzzzyVJN910k/bs2aPly5c757/wwgv6+eefdeDAAf3444/q2bOnjDHKyclRWlqaFi1a5F/vAQAAAABAiedX+PDee+9JkqpXr64PPvhA5cuXL3TZ9u3ba968eRoxYoTWrl2rG2+8UWfOnPFn8wAAAAAAoBTwK3ywTq+4/fbbFRUV5THf2/UfXn31VTVq1Ehr1qzRtGnT/Nk8AAAAAAAoBfwKH/bt2ydJat68udt0h8MhScrJyfHcYEiI7r77bhlj9N///tefzQMAAAAAgFLAr/AhOztbkhQXF+c23bqY5JEjR7y2a9CggSRp8+bN/mweAAAAAACUAn6FDxUqVJB07nabrhISEiRJW7du9drOCiUOHTrkz+YBAAAAAEAp4Ff4kJKSIknKzMx0m96sWTMZY7RgwQKv7ZYsWSLJ84gJAAAAAAAQfPwKH9q2bStjjFatWuU2/brrrpMkrVmzRm+99ZbbvE8//VT/+c9/5HA41LZtW382DwAAAAAASgG/wodrrrlGkrRw4ULl5eU5p991113OUy+GDRum9u3b684771T79u112223Oe+C8cADD/izeQAAAAAAUAr4FT707NlTycnJioiIcDvFokKFCnr77bcVGhoqY4x++eUX/ec//9Evv/ziDB4GDx6sG2+80a/OAwAAAACAks+v8CEyMlLbt2/X3r171bNnT7d5/fr105IlS3TNNdc4QwhjjBo2bKg33nhDU6dO9avjAAAAAACgdAizc+VXXnmlvvnmG509e1YHDx5UTEyMypcvb+cmAQAAAABACWNr+ODcSFiYqlWrdik2BQAAAAAAShi/Tru4WBMmTFC9evVUv3794tg8AAAAAAC4hC7JkQ8FHTlyRBkZGXI4HMWxeQAAAAAAcAkVy5EPAAAAAACg7CB8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtiJ8AAAAAAAAtgor6oKhoaF29gMAAAAAAASpIocPxhg5HA4ZY/zeqMPh8HsdAAAAAACgdPDptItABA+BXA8AAAAAACj5inzkQ35+vp39AAAAAAAAQYoLTgIAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsRPgAAAAAAAFsFTfiwY8cOTZ06Vffff79atGihsLAwORwOjRkzxq/1/vDDD+rXr5+qVKmi6OhoNWnSRKNHj1Z2dnaAeg4AAAAAQHALK+4OBMqkSZM0adKkgK7zgw8+0L333qu8vDzVrFlTtWvX1rp16/Tcc8/piy++0OLFi1WuXLmAbhMAAAAAgGATNEc+VK5cWX379tXzzz+vefPm6ZZbbvFrfRkZGRoyZIjy8vI0btw47dq1SytXrtSWLVt02WWXacWKFXriiScC1HsAAAAAAIJX0Bz58Mwzz7j9/+OPP/ZrfePHj1dOTo6uvfZaPf74487pSUlJmjZtmjp16qQpU6bo2WefVdWqVf3aFgAAAAAAwSxojnwIJGOMZs2aJUkaMmSIx/yOHTuqUaNGys3N1eeff36puwcAAAAAQKlC+ODFzp07tXfvXklSp06dvC5jTf/pp58uWb8AAAAAACiNgua0i0DasmWLJCkyMlI1atTwuky9evXcli2q9PR0de3a1ac2AwcO1MCBA31qAwAAAAAIHmlpaUpLS/OpTXp6ui19uRiED14cOXJEklShQgU5HA6vy1SsWNFt2aI6evSolixZ4lMbX8MKAAAAAEBwycjI8Pm7ZElC+OBFdna2JCkiIqLQZSIjIyVJp0+f9mnd8fHxatmypU9tkpOTfVoeAAAAABBckpOT1aVLF5/apKen6+jRozb1yDeED15ERUVJks6cOVPoMjk5OZKk6Ohon9bdsmVLLV68+KL7BgAAAAAoey7mdPyuXbuWmKMluOCkF9YpFVlZWTLGeF3GOt3CWhYAAAAAAHhH+OBFSkqKpHNHN+zZs8frMtu3b3dbFgAAAAAAeEf44EWdOnVUrVo1SdKyZcu8LmNN79ChwyXrFwAAAAAApRHhgxcOh0M33XSTJOmdd97xmL98+XJt2rRJ4eHhuuGGGy519wAAAAAAKFXKdPgwceJEJScnq3///h7zHn/8cUVERGj+/PkaP36889oPmZmZGjx4sCTpvvvucx4hAQAAAAAAvAua8GHZsmWqXLmy8+fjjz+WJL300ktu03ft2uVsk5WVpczMTO3bt89jfXXr1tXUqVMVEhKiJ554QrVr11br1q2VkpKizZs3q02bNho/fvwl2z8AAAAAAEqroLnVZm5urg4dOuQx/dSpUzp16pTz/3l5eUVe54ABA9SgQQO99NJLWr58uTZs2KB69erpjjvu0MiRI5235AQAAAAAAIULmvCha9euhd4WszCpqalKTU097zIdO3bUF1984UfPAAAAAAAo24LmtAsAAAAAAFAyET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbET4AAAAAAABbhRV3BwAAAIpL4uc1i7sLgN8O9Ntd3F0AgAviyAcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGCrsOLuAAAAAICypcdru4u7C4DfvnmkZnF3oVThyAcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGArwgcAAAAAAGAr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+/bV6dOntWHDBtWrV0+pqalaunSpYmJibNoTAAAAAACCR1CFD5LUt29fffvtt8rKytLJkyeVnp6uESNGeA0eUlNTZYzR4sWLC11fx44d9cUXX+jQoUPKzs7Wpk2b9Le//U1RUVE27oX9Bg4cKIfDobS0tICsLzk5WQ6HQxkZGQFZH1CYrl27yuFwnLduSzJqD6VVSag96gelVUmon4tF3aG0Ks11F6yCLnwALrWJEycqNTVVWVlZF72OtLQ0DRo0SC1atFBiYqLCw8OVkJCgbt26KS0tTfn5+T6v0/qwcL6f7Oxsn9f72WefKTU1Venp6T63BQKJ2gMuHvUD6dwpyI899pjq16+vqKgoVa9eXXfddZc2btx4wbZ79uzRo48+qkaNGikmJkbx8fFq1qyZhg0bpszMTI/lV6xYoQkTJuj333+XdO4UZ4fDoaVLl553O3a8zooLdQepeOquf//+zporzroLu6hWAJwmTpyozMxMDRw4UBUqVLiodTzzzDPavXu3ypUrp5o1a6pOnTratWuXFi1apEWLFum///2vPvvsM7cLphZVSkqKEhMTvc4LCfE9f/zss8/07rvvKjk5WS1btvS5PRAo1B5w8agf7Nu3T1deeaUyMjJUrlw5NW3aVLt27dKHH36oWbNm6auvvtLVV1/tte3XX3+tP//5zzp27JhiY2N12WWX6cyZM9q5c6fefPNN9e7dW0lJSW5t7r//fq1evdrnftr5OrvUqDuU9bojfABKgCeffFJt27ZVu3bt3N7c586dq/79+2vevHmaNGmSHn/8cZ/X/dRTT2ngwIEB7C0QPKg94OJRP6XbwIEDlZGRoauuukqfffaZEhISlJubq0cffVSTJ0/Wn//8Z23bts2j3erVq3XjjTcqPz9f//znP3Xfffc5v4Dk5+frp59+UvXq1T3a1atXT02aNNFXX32lI0eOqFq1al4v+l6Qna+z0oi6K92KWncFry3ob921b99e7du31+23367ffvvtgv2063XGaRdACfB///d/6tChg0eq3Lt3bz377LOSzqXHAAKL2gMuHvVTev3vf//T119/rbCwMH3wwQdKSEiQJIWHh+u1115T48aNtX//fk2ZMsWj7YMPPqjs7Gy99dZbGjZsmNtfPkNCQnTllVcqOTnZo92nn36qDz/8UHFxcZJU5AvB8zpzx+NRehVn3T38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x+733383kydPNr/++qvbunJycsy4ceOMJONwOMzPP//ssb2XXnrJORi4vvY++OADExISUmi7YcOGmVtuucWMHTvWLFy40FxxxRVl+oMYdVd0pbnujPnj8Xv99df9rruqVaua6tWrO19/ZanujKH2LrXSXHuMeYFD3V1apbnuXAWi7qpWrWrS09Od04ur7ggfSjnCh8Cxe9+tN4eOHTv61I4B4dJYsWKFkWTCwsJMZmam27yzZ8+axo0bG0lmwoQJPj12vXv3NpLMU0895TY9JyfHVKxY0UgylStX9njt3X///UaSueGGGy64DeuxLKsfxM6HunNXmuvOmKI/fkWpuw8//NDj9VdW6s4Yau9SK821x5gXONTdpVWa684XRR3zCiqOuuOaD15Y5zZJ0qxZs9SxY0fFxsaqatWquvfee7Vv3z7nstOnT1ebNm0UExOjxMRE/eUvf9HRo0cLXffy5ct18803q2rVqoqIiFCtWrU0YMCAQs/xkaSTJ0/qySefVN26dRUVFaXk5GQ9+uijOnHixAX35eeff1b//v1Vs2ZNRUREqGrVqrrtttu0atUqHx6R4vPtt9+qW7duiouLU4UKFXTNNddo4cKFysjIkMPhUHJystvyrtONMZo8ebIuv/xylStXTomJibrnnnu0c+dOtzZpaWlyOBzKzMyUJNWtW9ftHLdAXaSmUaNGkqRTp04FZH0Xy3qM3n33XUnSoEGD3PY3NTXVbbmCj7Er11opbPrMmTN19dVXq0KFCoVeYOrnn392tomJidFll12mRo0aFVp306ZNU926dRUaGqqQkBCFhYUpJSVFI0eO1OHDhz3WX5S6mzlzpiSpR48eqlOnjlvdxcTEaO/evZKkjz/++PwPsNzr7quvvpIkzZgxw63uFi1apCNHjiguLk4xMTEe6xgyZIgk6euvv3aeH3upUHeBV1Lrrk+fPs52HTt21KhRowod84wxeuCBB1S+fHlnmwoVKujhhx/2WnfShWuvYN1Jf4x5DRo00JYtWyRJ48eP92nMs85/nThxotuY51p3t956q0f74qw7idqzQ0mtPcY8d4x5iwOyL9Tdhce8SpUqKSYmRh07dtRnn31W6HaNMXr//ffVpUsXVahQQdHR0WrUqFGhdVcU3sY8S2hoqO69915J5+rHF4U97yVyzPMrughS+n/ntLz++utGOncuaIsWLUxkZKSRZJo0aWJOnz5thg8fbiSZevXqmaZNm5qwsDAjyXTp0sXk5+d7rPeNN94wDofDSDKJiYmmbdu2pkKFCkaSiYqKMl9++aVHmxMnTpj27ds7D6dp1qyZadKkiXE4HKZ169amf//+hSaKEyZMcG6vUqVKplWrViYhIcFIMuHh4WbmzJkebUrSkQ/vvvuus/+VK1c27dq1MwkJCSYkJMSMHz/eSDJJSUlubXbs2OGcPnToUCPJ1KlTx7Rp08ZERUUZSaZKlSpm06ZNzjZz5841nTp1cj6/bdu2dTvHbeXKlQHZnyeffNJIMoMHD/apnZUa9+nTx/Tr18/86U9/Mrfffrt5/fXXTVZWls/92Lt3r+nUqZPz/MCC5/e98847xhj3x7IwVq0UNt06L7tq1aqmXbt2pkqVKs7XlpWgPv/88yYiIsLZJi4uzvl7jRo1POrOOiyt4I/1WklKSjLbtm1z9qWodde1a1cjyYwZM8Zr3Vnn5zkcDnP77bcXue5iYmKcfXStu9TUVCPJdO/e3Wvd5ebmOl+z33333Xmf00D+FYi6O6es1F1sbKxHLcXHx3uMeadOnTINGzZ0ey27tqlTp45b3RlTtNpzrTtjPMe8evXqObfhy5hnjcfW/lm151p3xniOecVVd8ZQe5ayUnuMeYx51F3xjHlt27Z1nnInybz66qse687Pzzd33nmnc5l69eqZ1q1bO2u3YN0VVcExr6Dvv//eSDIRERHm7NmzRVpnfn6+6dixo5Fk3nvvPbd5Bce8goqj7ggfvLBeaDExMW6HqOzatcs0aNDASDI33nijiY+PNwsWLHDOX7NmjalUqZKRZObOneu2zlWrVjk/DI0bN855nlZ2drYZNmyY8wPfnj173No98sgjzhf5unXrnNPT09NNzZo1nR8ACw4I8+bNMw6Hw1SuXNkjZHj77bdNWFiYKV++vMf2Skr4kJmZacqVK2ckmWeeecZZgLm5uWbUqFHO/S5sQAgLCzPh4eHmo48+cs47ePCg6d69u5Fk2rdv7xEQ2bHvZ86cMdu3bzcvvPCCCQsLM4mJiT6v3xoQvP1UrFjRzJs376L6dqFD4QIxIERERJgpU6Y4H+vc3FyTm5trjPnjTSwsLMz5hcKqO6tvYWFh5uuvv3aru+joaCPJlC9f3syfP9+t7po0aWIkmQ4dOhhjfKs76wJOH374ode62717t8cXr/PV3auvvmruvvtuI8lceeWV5q233nKru7vuustIMg888EChr72UlBQjyTlIFyZQAwJ194eyUncnTpxwa2fNS09PdxvzmjdvbqRzF8OaP3++MebcmGcdzulad8YUvfaqVavmrDtjPMc817qrVq3aBWuvYsWK5uqrr3bWXW5urtuYd/PNNzvrzhjvr79LXXfGUHuuykrtMeYx5gUKdefbmGfMuS/s1h+ZrTHP1eTJk93qzmKFKgXHvKJyrTtvXOvuQuHGyZMnzerVq93qztpvi2vdFeZS1x3hgxfWkz5ixAiPeW+99ZZz/muvveYxf9SoUUaSGT58uNt068nv16+fR5v8/HzTtGlTI8k8++yzzunHjh1zvinOmTPHo92nn37q7EvBom7durWRZD7//HOv+/joo48a6VwS6KqkhA/W41hYUmcVQGEDgrfnwBhj9u/f70z4Fi5c6DYvkPs+YsQItzduh8NhBg0aZDIyMnxe1/PPP29efPFFs3r1anPs2DFz/PhxM3/+fNOhQwcjyURGRpoVK1b4vN5LMSA89NBDhba1nsPExERz+vRpj7qzviQMGDDAre6sv+C41p/1ehk8eLDzC9S3337rU91ZtTZz5kyvdXfq1CmPAbngY2d9SLR+YmNjTWpqqjl16pQxxr3urPPzRo4cWehrz/pL1CuvvFLo4+j6WPo7IFB3fygrdefabsSIEW51Z4z7mOdt3LNeM9YF5L799ltjTNHHPOuL0rx587yOea51Z/0VsuDj16JFi/PWnTF/1J71IWvkyJHGGO+vv0tdd8ZQe67KSu0x5jHm+Yu6u7gxz1XBMc+Yc7VSu3Ztr2OeMcb89ttvbnXnC6vWCgtzXOvuf//7n9dlijLmWVzrrjCXuu645sN5WOfBuGrZsqXz98GDB3vMb9WqlSRp+/btbtPnz58vSXrooYc82jgcDg0fPtxtOUn6/vvvderUKSUlJalXr14e7fr166eaNWt6TM/MzNTKlSuVmJioG264wduuOadf6L6wxeWbb76RdO4cMW8Km+7q//7v/zymJSYmOs95+vrrr/3o4fnVq1dPnTp1Utu2bVW5cmUZYzR37tzznltWmGeffVZPPvmkmjdvrvLlyys2NlY9evTQd999p/bt2ysnJ0cjR44M/E4EwIABAy64zJAhQxQVFeX2f0kaNmyYpHPP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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], "source": [ - "experiment.aggregate_by_row(metric_name=\"latency\", column_name=\"model\")" + "## Evaluate the model response" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "bde10f4b", + "cell_type": "markdown", + "id": "bebb8023", "metadata": {}, - "outputs": [], "source": [ - "experiment.aggregate(metric_name=\"latency\", column_name=\"model\")" + "To evaluate the results, we'll define an eval function. We can use semantic distance to check if the model's response is similar to our expected output.\n", + "\n", + "Since we are using semantic similarity, you need to have the library `sentence_transformers` installed." ] }, { "cell_type": "code", "execution_count": null, - "id": "ae154478", + "id": "d861ab10", "metadata": {}, "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "40f611d4", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "id": "266c13eb", - "metadata": {}, - "source": [ - "## Evaluate the model response" - ] - }, - { - "cell_type": "markdown", - "id": "bebb8023", - "metadata": {}, "source": [ - "To evaluate the results, we'll define an eval function. We can use semantic distance to check if the model's response is similar to our expected output." + "# !pip install --quiet sentence_transformers" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 7, "id": "8ddbb951", "metadata": {}, "outputs": [], @@ -431,14 +267,25 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 8, "id": "e80dfeec", "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/torch/utils/tensorboard/__init__.py:4: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.\n", + " if not hasattr(tensorboard, \"__version__\") or LooseVersion(\n", + "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/torch/utils/tensorboard/__init__.py:6: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.\n", + " ) < LooseVersion(\"1.15\"):\n" + ] + } + ], "source": [ - "experiment.evaluate(\"similar_to_expected\", similarity.evaluate, expected=[\"George Washington\"] * 4)" + "experiment.evaluate(\"similar_to_expected\", similarity.semantic_similarity, expected=[\"George Washington\"] * 4)" ] }, { @@ -451,7 +298,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 9, "id": "4d09c18e", "metadata": { "scrolled": true @@ -478,49 +325,49 @@ " \n", " \n", " \n", + " model\n", + " temperature\n", " messages\n", " response\n", " latency\n", " similar_to_expected\n", - " model\n", - " temperature\n", " \n", " \n", " \n", " \n", " 0\n", + " gpt-3.5-turbo\n", + " 0.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " George Washington\n", - " 0.000007\n", + " 2.625049e-06\n", " 1.0\n", - " gpt-3.5-turbo\n", - " 0.0\n", " \n", " \n", " 1\n", + " gpt-3.5-turbo\n", + " 1.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " George Washington\n", - " 0.000004\n", - " 1.0\n", - " gpt-3.5-turbo\n", + " 1.000008e-06\n", " 1.0\n", " \n", " \n", " 2\n", + " gpt-3.5-turbo-0613\n", + " 0.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " George Washington\n", - " 0.000003\n", + " 7.500057e-07\n", " 1.0\n", - " gpt-3.5-turbo-0613\n", - " 0.0\n", " \n", " \n", " 3\n", + " gpt-3.5-turbo-0613\n", + " 1.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " George Washington\n", - " 0.000002\n", - " 1.0\n", - " gpt-3.5-turbo-0613\n", + " 6.670016e-07\n", " 1.0\n", " \n", " \n", @@ -528,23 +375,23 @@ "" ], "text/plain": [ + " model temperature \\\n", + "0 gpt-3.5-turbo 0.0 \n", + "1 gpt-3.5-turbo 1.0 \n", + "2 gpt-3.5-turbo-0613 0.0 \n", + "3 gpt-3.5-turbo-0613 1.0 \n", + "\n", " messages \\\n", "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "\n", - " response latency similar_to_expected model \\\n", - "0 George Washington 0.000007 1.0 gpt-3.5-turbo \n", - "1 George Washington 0.000004 1.0 gpt-3.5-turbo \n", - "2 George Washington 0.000003 1.0 gpt-3.5-turbo-0613 \n", - "3 George Washington 0.000002 1.0 gpt-3.5-turbo-0613 \n", - "\n", - " temperature \n", - "0 0.0 \n", - "1 1.0 \n", - "2 0.0 \n", - "3 1.0 " + " response latency similar_to_expected \n", + "0 George Washington 2.625049e-06 1.0 \n", + "1 George Washington 1.000008e-06 1.0 \n", + "2 George Washington 7.500057e-07 1.0 \n", + "3 George Washington 6.670016e-07 1.0 " ] }, "metadata": {}, @@ -557,13 +404,13 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "id": "d0007a1f", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABAYAAAKxCAYAAADARa4uAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABg6UlEQVR4nO3deVyVdd7/8fdBVlFQcV+PuJsKau4pZKnjUmpmt5UpiWU6d9tMmlNOMUFa0jg6dWtpKk11Z2Nm6mhmlpL7eCu4a6CClVui4Mp+/f7wxxkJ0HM4B9BzvZ6Px3kk1/VdPhecHhfnzfe6LothGIYAAAAAAIApeVR0AQAAAAAAoOIQDAAAAAAAYGIEAwAAAAAAmBjBAAAAAAAAJkYwAAAAAACAiREMAAAAAABgYgQDAAAAAACYGMEAAAAAAAAmRjAAAAAAAICJEQwAAAAAAGBiBAMV4Pjx41qwYIGeeuophYSEyNPTUxaLRTExMRVdml127typMWPGqHHjxvLx8VGtWrXUo0cPvfrqq8rNza3o8gAAAAAADvCs6ALMaM6cOZozZ05Fl1Eqb775pl577TXl5+erTp06CgkJ0YULF5SQkKDt27frT3/6k6pUqVLRZQIAAAAA7EQwUAFq1qypIUOGqGvXrurSpYs+/PBDLVu2rKLLuqX58+dr2rRpatiwoRYtWqR+/frZ9l27dk3r16+Xj49PBVYIAAAAAHAUwUAFmDZtWqGvlyxZUkGV2O/s2bN66aWX5Ovrq3Xr1qlNmzaF9vv5+emBBx6ooOoAAAAAAKXFPQbuIIZhaMmSJerXr5+CgoLk4+Oj4OBgPffcczp9+nSZzr1o0SJdunRJo0ePLhIKAAAAAADuXKwYuEPk5OTo8ccf19KlSyVJ9evXV6NGjZSUlKR3331XX3zxhTZu3KiWLVuWyfyrVq2SJA0ZMkRJSUn64IMPtG/fPnl5eSk0NFSRkZFq2rRpmcwNAAAAACg7rBi4Q7z22mtaunSpOnbsqISEBP3yyy9KTEzUuXPnNGnSJJ06dUqPP/54mcydn5+vhIQESVJSUpJCQkL017/+VevWrdPq1av15ptvqnXr1vrkk0/KZH4AAAAAQNkhGLgD/Prrr/rb3/6mgIAArVy5UqGhobZ9fn5+evfdd9WlSxf93//9nzZt2uTy+TMyMnTt2jVJ0iuvvKImTZooPj5emZmZOnbsmB5//HFlZ2frySef1K5du1w+PwAAAACg7BAM3AHWrFmjrKwsDRgwQA0bNiyy38PDQ0OGDJEkxcfHu3z+K1eu2P6dn5+vFStWqE+fPvLx8VHTpk318ccfq3PnzsrNzdX06dNdPj8AAAAAoOxwj4E7wL59+yRJ27dv1z333FNsmzNnzkiSfvnll0Lbw8PDS3VjwgMHDqhSpUqSJF9fX9v2gQMHFrmPgcVi0fPPP68xY8bo22+/VX5+vjw8yJwAAAAA4E5AMHAHyMjIkCT99NNP+umnn27atmDJf4Hk5OQiYYE9DMOw/TswMFAeHh7Kz89X69ati21f8KSCS5cuKS0tTbVq1XJ4TgAAAABA+ePPuneAKlWqSJJeffVVGYZx01dcXFyhvj///PMt+xT38vT8T2bk5eVle+KAj49PsTXeuD0vL8/F3wEAAAAAQFkhGLgDtG3bVpK0f//+CquhR48ekqRjx44Vu79gu4+Pj2rWrFludQEAAAAAnEMwcAcYPHiwvL29tWbNGiUlJVVIDY888ogk6V//+pfOnz9fZP/ixYslSb179y602gAAAAAAcHsjGLgD1K9fXy+88IJycnI0YMAAbdy4sdB+wzD073//WxMnTizxL/rOGjJkiO6++25dunRJkZGRunTpkm3f+++/rxUrVkiSXn755TKZHwAAAABQNizGjXeZQ7nYsmWLhg4davv68uXLysrKUuXKleXn52fbnpCQoEaNGkmScnNz9eSTT+qTTz6RJNWtW1eNGzdWVlaWjh07ZvugfujQoRJvEOis48eP65577tHJkydVpUoVtWnTRqdOndLPP/8sSYqOjta0adPKZG4AAAAAQNkgGKgAGzdu1L333nvLdsePH5fVai20bc2aNVqwYIG2b9+utLQ0Va9eXY0aNVKPHj308MMPq3fv3mX6qMC0tDS9+eabWrFihX7++Wf5+/urW7duevHFF9W/f/8ymxcAAAAAUDYIBgAAAAAAMDHuMQAAAAAAgIkRDAAAAAAAYGI8V66cdOzYUcePH1eVKlXUvHnzii4HAAAAAODmkpOTdfnyZTVt2lQJCQkltuMeA+WkWrVqysjIqOgyAAAAAAAmExgYqPT09BL3s2KgnFSpUkUZGRkKDAxUaGhoRZcDQFJiYiL/XwIA4CKcV4HbT8H/l1WqVLlpO4KBctK8eXP98ssvCg0N1caNGyu6HACSwsPDFR8fz/+XAAC4AOdV4PZT8P/lrS5n5+aDAAAAAACYGMEAAAAAAAAmRjAAAAAAAICJEQwAAAAAAGBiBAMAAAAAAJgYwQAAAAAAACZGMAAAAAAAgIkRDAAAAAAAYGIEAwAAAAAAmBjBAAAAAAAAJkYwAAAAAACAiXlWdAEAUFEiIiIUHh4uq9Va0aUAAHDH47wK3LkIBgCYVkREREWXAACA2+C8Cty5uJQAAAAAAAATIxgAAAAAAMDECAYAAAAAADAxggEAAAAAAEyMYAAAAAAAABMjGAAAAAAAwMQIBgAAAAAAMDGCAQAAAAAATIxgAAAAAAAAEyMYAAAAAADAxAgGAAAAAAAwMYIBAAAAAABMjGAAAAAAAAAT86zoAnD7sVgsFV0CAKAMGIZR0SUAAIDbECsGAAAAAAAwMYIBAAAAAABMjGAAAAAAAAATIxgAAAAAAMDECAYAAAAAADAxggEAAAAAAEyMYAAAAAAAABMjGAAAAAAAwMQIBgAAAAAAMDGCAQAAAAAATIxgAAAAAAAAEyMYAAAAAADAxAgGAAAAAAAwMYIBAAAAAABMjGAAAAAAAAATIxgAAAAAAMDECAYAAAAAADAxggEAAAAAAEyMYAAAAAAAABMjGAAAAAAAwMQIBgAAAAAAMDG3DQamTZsmi8Uii8WimJiYUo2xbds2DR06VLVq1ZKfn5/atm2r6OhoZWZmurhaAAAAAAAqhlsGA4cOHVJsbKxTY3z66afq3bu3Vq5cKR8fH7Vp00bJycl67bXX1KdPH129etVF1QIAAAAAUHHcLhgwDEMTJkyQl5eX+vbtW6oxUlJSFBkZqby8PM2cOVM//fSTdu/eraSkJLVq1Uo7d+7UlClTXFw5AAAAAADlz+2CgYULF2rTpk167bXX1KhRo1KNERsbq6ysLPXv31+TJ0+WxWKRJDVp0kSLFi2SJM2fP19nzpxxWd0AAAAAAFQEtwoGfv31V7388stq27atXnzxxVKNYRiGli9fLkmKjIwssr9nz55q3bq1cnJytGLFCqfqBQAAAACgorlVMPDiiy/q/Pnzmjt3rry8vEo1xokTJ3Tq1ClJUq9evYptU7B9x44dpSsUAAAAAIDbhGdFF+Aq3333nT799FONHj1aYWFhpR4nKSlJkuTj46P69esX2yY4OLhQW0ckJiYqPDzcoT4RERGKiIhweC4AAAAAgHuIi4tTXFycQ30SExPtaucWwUBmZqaeeeYZBQYG6p133nFqrAsXLkiSqlWrZru3wG9Vr169UFtHZGRkKD4+3qE+jgYJAAAAAAD3kpKS4vBnSXu5RTAQExOj5ORkvffee6pTp45TY2VmZkqSvL29S2zj4+MjSbp27ZrD4wcGBio0NNShPlar1eF5AAAAAADuw2q1Orw6PjExURkZGbdsd8cHA4cOHVJsbKw6deqkiRMnOj2er6+vJCk7O7vENllZWZIkPz8/h8cPDQ3Vxo0bS1UbAAAAAMCcSnOJeXh4uF2rDO74mw9OmjRJubm5mjdvnjw8nD+cgssE0tPTZRhGsW0KLiEoaAsAAAAAwJ3qjl8xkJCQIIvFogcffLDIvoIlE2+//bbee+89NWrUSDt37rzpeC1atJB0fVXAyZMn1aBBgyJtjh07VqgtAAAAAAB3qjs+GJCkvLw8nTlzpsT9ly9f1uXLl22XCdxM48aNVbduXZ0+fVpbtmzRI488UqTNli1bJEndunUrfdEAAAAAANwG7vhLCQqW/Bf3Gjt2rCQpOjpahmEoJSXlluNZLBYNHz5ckrRw4cIi+7du3arDhw/Ly8ur2FUKAAAAAADcSe74YKC0Zs+eLavVqlGjRhXZN3nyZHl7e2vdunWKjY213WsgNTVV48aNkySNHz9edevWLdeaAQAAAABwNdMGA+np6UpNTdXp06eL7GvatKkWLFggDw8PTZkyRY0aNVKnTp3UokULHTlyRJ07d1ZsbGwFVA0AAAAAgGuZNhi4lTFjxmjTpk0aMmSIrl27poMHDyo4OFhRUVHavHmz/P39K7pEAAAAAACcZjFKeiYfXKrg+ZFhYWHauHFjRZdzUxaLpaJLAACUAU75AACYi72fQ1kxAAAAAACAiREMAAAAAABgYgQDAAAAAACYGMEAAAAAAAAmRjAAAAAAAICJEQwAAAAAAGBiBAMAAAAAAJgYwQAAAAAAACZGMAAAAAAAgIkRDAAAAAAAYGIEAwAAAAAAmBjBAAAAAAAAJkYwAAAAAACAiREMAAAAAABgYgQDAAAAAACYGMEAAAAAAAAmRjAAAAAAAICJEQwAAAAAAGBiBAMAAAAAAJgYwQAAAAAAACZGMAAAAAAAgIkRDAAAAAAAYGIEAwAAAAAAmBjBAAAAAAAAJkYwAAAAAACAiREMAAAAAABgYgQDAAAAAACYGMEAAAAAAAAmRjAAAAAAAICJEQwAAAAAAGBiBAMAAAAAAJgYwQAAAAAAACZGMAAAAAAAgIkRDAAAAAAAYGIEAwAAAAAAmBjBAAAAAAAAJkYwAAAAAACAiREMAAAAAABgYgQDAAAAAACYGMEAAAAAAAAmRjAAAAAAAICJEQwAAAAAAGBiBAMAAAAAAJgYwQAAAAAAACZGMAAAAAAAgIkRDAAAAAAAYGIEAwAAAAAAmBjBAAAAAAAAJkYwAAAAAACAiREMAAAAAABgYgQDAAAAAACYmNsEA1999ZUmTJigzp07q169evL29la1atXUs2dPzZkzR9nZ2Q6NFxUVJYvFctPX4cOHy+hoAAAAAAAoH54VXYCrvPPOO9qyZYt8fHxUv359hYSE6NSpU9q2bZu2bdumjz/+WOvXr1e1atUcGrdRo0Zq3LhxsfsqV67sgsoBAAAAAKg4bhMMjB8/XjExMerVq5e8vLxs27dv366RI0dq165devXVV/U///M/Do07btw4RUVFubhaAAAAAABuD25zKUFERITCw8MLhQKS1L17d82aNUvS9csNAAAAAADAf7hNMHAzrVu3liRdvXq1gisBAAAAAOD24jaXEtzMtm3bJEmdOnVyuO+GDRt04MABpaWlqUaNGuratavGjBmjunXrurpMAAAAAADKndsGA3l5eTp16pRWrlypqVOnyt/fXzNmzHB4nB9++KHQ18uWLVNUVJTmzp2riIgIF1ULAAAAAEDFcLtgYPbs2XrxxRcLbRs2bJiio6PVrl07u8epV6+eXnnlFQ0fPlzBwcHy8/NTQkKCYmJi9PXXX2vcuHEKCgrSAw884FB9iYmJCg8Pd6hPREQEIQQAAAAAmFhcXJzi4uIc6pOYmGhXO7cLBho0aKBevXopJydHqampOnPmjDZs2KDPPvtMb7zxhipVqmTXOBMmTCiyrWfPnlq9erVGjBih5cuX68UXX9SQIUNksVjsri8jI0Px8fF2t5fkcJAAAAAAAHAvKSkpDn+WtJfbBQMjR47UyJEjbV/v2LFDEyZM0PTp03X+/HnNmzfPqfEtFoveeustLV++XEePHtXevXsVEhJid//AwECFhoY6NKfVanWsSAAAAACAW7FarQoLC3OoT2JiojIyMm7ZzmIYhlHawu4UJ0+eVHBwsHJycnTs2DE1adLE6TGDgoJ0/vx5ffHFFxoxYsQt24eHhys+Pl5hYWHauHGj0/OXJUdWQAAA7hwmOOUDAIAb2Ps51BSPK6xfv75CQ0OVn5+vPXv2uGRMLy8vSVJubq5LxgMAAAAAoCKYIhiQ/vMB3hUf5M+dO6ezZ89Kkho2bOj0eAAAAAAAVBRTBAMpKSm2lQKO3A+gJLNmzZJhGAoMDFSXLl2cHg8AAAAAgIriFsHArl279Prrr+vYsWNF9q1du1YDBw5Ubm6uBg0apGbNmtn2zZ49W1arVaNGjSrU58CBA5o0aZIOHDhQaHtmZqamT5+ut99+W5L08ssvy9vbuwyOCAAAAACA8uEWTyW4dOmS3njjDb3xxhuqW7euGjZsqOzsbJ04cULp6emSpC5duuijjz4q1C89PV2pqalF7vqfk5OjefPmad68eapVq5YaN24sSTp06JCuXr0qSYqMjNTUqVPL/NgAAAAAAChLbhEMhISEaM6cOfruu+904MABHT58WNnZ2QoKClKPHj30yCOPaPTo0fL0tO9wrVaroqOjtXXrVh0+fFhHjhxRdna2ateurUGDBmn8+PEaMGBAGR8VAAAAAABlzxSPK7wd8LhCAEBF45QPAIC58LhCAAAAAABwSwQDAAAAAACYGMEAAAAAAAAmRjAAAAAAAICJEQwAAAAAAGBiBAMAAAAAAJgYwQAAAAAAACZGMAAAAAAAgIkRDAAAAAAAYGIEAwAAAAAAmBjBAAAAAAAAJkYwAAAAAACAiREMAAAAAABgYgQDAAAAAACYGMEAAAAAAAAmRjAAAAAAAICJEQwAAAAAAGBiBAMAAAAAAJgYwQAAAAAAACZGMAAAAAAAgIkRDAAAAAAAYGIEAwAAAAAAmBjBAAAAAAAAJkYwAAAAAACAiREMAAAAAABgYgQDAAAAAACYGMEAAAAAAAAmRjAAAAAAAICJEQwAAAAAAGBiBAMAAAAAAJgYwQAAAAAAACZGMAAAAAAAgIkRDAAAAAAAYGIEAwAAAAAAmBjBAAAAAAAAJkYwAAAAAACAiREMAAAAAABgYgQDAAAAAACYGMEAAAAAAAAmRjAAAAAAAICJEQwAAAAAAGBiBAMAAAAAAJgYwQAAAAAAACZGMAAAAAAAgIkRDAAAAAAAYGIEAwAAAAAAmBjBAAAAAAAAJkYwAAAAAACAiREMAAAAAABgYgQDAAAAAACYGMEAAAAAAAAmRjAAAAAAAICJuU0w8NVXX2nChAnq3Lmz6tWrJ29vb1WrVk09e/bUnDlzlJ2dXapxt23bpqFDh6pWrVry8/NT27ZtFR0drczMTBcfAQAAAAAA5c9tgoF33nlH8+fP14EDB+Tn56eQkBBVqVJF27Zt0wsvvKCePXsqPT3doTE//fRT9e7dWytXrpSPj4/atGmj5ORkvfbaa+rTp4+uXr1aNgcDAAAAAEA5cZtgYPz48dqwYYMuXbqkY8eOaefOnfr555+1bds2NWzYULt27dKrr75q93gpKSmKjIxUXl6eZs6cqZ9++km7d+9WUlKSWrVqpZ07d2rKlClleEQAAAAAAJQ9twkGIiIiFB4eLi8vr0Lbu3fvrlmzZkm6frmBvWJjY5WVlaX+/ftr8uTJslgskqQmTZpo0aJFkqT58+frzJkzrjkAAAAAAAAqgNsEAzfTunVrSbJ76b9hGFq+fLkkKTIyssj+nj17qnXr1srJydGKFStcVygAAAAAAOXMFMHAtm3bJEmdOnWyq/2JEyd06tQpSVKvXr2KbVOwfceOHS6oEAAAAACAiuFZ0QWUlby8PJ06dUorV67U1KlT5e/vrxkzZtjVNykpSZLk4+Oj+vXrF9smODi4UFsAAAAAAO5EbhcMzJ49Wy+++GKhbcOGDVN0dLTatWtn1xgXLlyQJFWrVs12b4Hfql69eqG29kpMTFR4eLhDfSIiIhQREeFQHwAAAACA+4iLi1NcXJxDfRITE+1q53bBQIMGDdSrVy/l5OQoNTVVZ86c0YYNG/TZZ5/pjTfeUKVKlW45RmZmpiTJ29u7xDY+Pj6SpGvXrjlUX0ZGhuLj4x3q42iQAAAAAABwLykpKQ5/lrSX2wUDI0eO1MiRI21f79ixQxMmTND06dN1/vx5zZs375Zj+Pr6SpKys7NLbJOVlSVJ8vPzc6i+wMBAhYaGOtTHarU61B4AAAAA4F6sVqvCwsIc6pOYmKiMjIxbtnO7YOC3unXrpjVr1ig4OFjz58/X1KlT1aRJk5v2KbhMID09XYZhFHs5QcElBAVt7RUaGqqNGzc61AcAAAAAYG6lucQ8PDzcrlUGpngqQf369RUaGqr8/Hzt2bPnlu1btGgh6fqqgJMnTxbb5tixY4XaAgAAAABwJzJFMCBJubm5hf57M40bN1bdunUlSVu2bCm2TcH2bt26uahCAAAAAADKnymCgZSUFNtKgZCQkFu2t1gsGj58uCRp4cKFRfZv3bpVhw8flpeXlx588EHXFgsAAAAAQDlyi2Bg165dev31123L+2+0du1aDRw4ULm5uRo0aJCaNWtm2zd79mxZrVaNGjWqSL/JkyfL29tb69atU2xsrAzDkCSlpqZq3LhxkqTx48fbVhYAAAAAAHAncotg4NKlS3rjjTfUrFkz1atXT126dFFISIiqV6+ugQMH6vDhw+rSpYs++uijQv3S09OVmpqq06dPFxmzadOmWrBggTw8PDRlyhQ1atRInTp1UosWLXTkyBF17txZsbGx5XWIAAAAAACUCbcIBkJCQjRnzhw9+OCD8vf31+HDh3X48GH5+flp4MCBWrx4sbZu3aqaNWs6NO6YMWO0adMmDRkyRNeuXdPBgwcVHBysqKgobd68Wf7+/mV0RAAAAAAAlA+LUbBGHmWq4DERYWFht/3jCot7PCMA4M7HKR8AAHOx93OoW6wYAAAAAAAApUMwAAAAAACAiREMAAAAAABgYgQDAAAAAACYGMEAAAAAAAAmRjAAAAAAAICJEQwAAAAAAGBiBAMAAAAAAJgYwQAAAAAAACZGMAAAAAAAgIkRDAAAAAAAYGIEAwAAAAAAmBjBAAAAAAAAJkYwAAAAAACAiREMAAAAAABgYgQDAAAAAACYGMEAAAAAAAAmRjAAAAAAAICJebpqoLNnz2rv3r1KSUnR+fPnde3aNfn5+alGjRqyWq0KCQlRrVq1XDUdAAAAAABwgVIHA4ZhaP369Vq+fLnWrl2r1NTUW/axWq0aMGCAhg8frvvvv18Wi6W00wMAAAAAABdwOBg4f/685s2bp/fff18nT560bTcM45Z9U1JS9MEHH+iDDz5Q/fr19cwzz2jixImqUaOGo2UAAAAAAAAXsDsYuHTpkmJjYzV79mxduXKlUBBQuXJl3X333WrTpo2CgoJUo0YNBQQE6OLFizp//rzS0tJ06NAh/d///Z+uXr0qSfrll1/02muv6a233tKLL76ol156SQEBAa4/QgAAAAAAUCK7goF//OMfevnll3X27FlbINCjRw89/PDDCg8PV4cOHVSpUqVbjpOXl6e9e/fqhx9+0BdffKGtW7fqypUrevPNN7VgwQLNnDlTTzzxhHNHBAAAAAAA7GZXMBARESFJqlq1qp5++mlNmDBBzZs3d3iySpUqqWPHjurYsaOef/55HTt2TO+//77mz5+vM2fO6MknnyQYAAAAAACgHNn1uEJ/f39FRUXpxIkTio2NLVUoUJzg4GDNnDlTJ06cUFRUlCpXruyScQEAAAAAgH3sWjFw9OhR1a5du8yKCAgI0GuvvaaJEyeW2RwAAAAAAKAou1YMlGUocKNatWqVyzwAAAAAAOA6u4IBAAAAAADgnggGAAAAAAAwMbvuMeCMa9eu6f3339emTZuUm5ur0NBQTZw4UfXq1SvrqQEAAAAAwC04FQwcPHhQo0aNksVi0fvvv68ePXoU2n/x4kX17t1b+/fvt21bvXq15s2bp3Xr1qljx47OTA8AAAAAAJzk1KUEX3/9tfbv36+zZ8+qe/fuRfa/+uqr2rdvnwzDKPRKS0vTiBEjlJWV5cz0AAAAAADASU4FA99//70sFov69esni8VSaN+lS5e0cOFCWSwWNW7cWMuXL1diYqKeeuopSVJqaqo++eQTZ6YHAAAAAABOcioYSE1NlaRiLwn4+uuvlZmZKUn68MMPNXToUHXo0EEffPCB2rdvL0n66quvnJkeAAAAAAA4yalg4Ndff5WkYm8kGB8fb9t3//33F9o3cuRIGYahvXv3OjM9AAAAAABwklPBwIULF64P4lF0mE2bNslisei+++4rsq9JkyaS/hMsAAAAAACAiuFUMFC5cmVJRT/gp6en68CBA5Kknj17Funn6+srScrLy3NmegAAAAAA4CSnggGr1SpJ2rx5c6Ht//rXv2QYhiSpV69eRfqlpaVJkgIDA52ZHgAAAAAAOMmpYKB3794yDEMrV6603S/g4sWLio2NlSQ1aNBA7dq1K9Jv//79kqSmTZs6Mz0AAAAAAHCSU8HAU089JQ8PD2VmZqpr167q3r27mjVrpv3798tisdgeTfhbBY85vPvuu52ZHgAAAAAAOMmpYKBDhw56/fXXZRiGsrOztXPnTqWlpckwDLVv314vvfRSkT779u3T4cOHJUn33nuvM9MDAAAAAAAneTo7wJ///GeFhoZq/vz5Sk5Olr+/v/r376+pU6fKz8+vSPt3331XkmSxWBQeHu7s9AAAAAAAwAlOBwOS9MADD+iBBx6wq+38+fM1f/58V0wLAAAAAACc5NSlBAAAAAAA4M5GMAAAAAAAgIkRDAAAAAAAYGJ2BQMjR47UsWPHyrSQffv2adiwYWU6BwAAAAAAKMyuYGDZsmVq06aNIiIidODAAZcWsG/fPv3Xf/2XOnbsqFWrVrl0bAAAAAAAcHN2BQP9+vVTTk6OPv74Y3Xo0EFhYWFavHixzp8/X6pJz507p7///e+6++67FRoaqi+++EL5+fnq169fqcYDAAAAAAClY9fjCr/55hstW7ZMU6dO1dGjR7V582Zt3rxZTz/9tO666y51795d3bp1U5s2bVSjRg3VqFFDAQEBunjxos6fP6/z58/r8OHD2r59u3bs2KEDBw4oLy9PhmFIkpo3b6633npLDz30UJkeLAAAAAAAKMyuYECSRowYoWHDhmnRokX661//qh9//FF5eXnat2+f9u3bpwULFtg9aUEg0Lp1a7300ksaO3asKlWq5Hj1AAAAAADAKQ49laBSpUp66qmndPjwYa1du1ajRo1SlSpVZBiG3a+AgACNHj1a3377rQ4ePKhx48YRCgAAAAAAUEHsXjHwW/3791f//v2Vm5urrVu3avv27dq3b59SUlJ0/vx5ZWVlycfHR0FBQbJarerQoYO6d++uHj16uDwIMAxDW7Zs0YoVK7Rp0yYdPnxYV69eVc2aNdWjRw/993//t+69916HxoyKitJf/vKXm7Y5dOiQWrdu7UzpAAAAAABUqFIHA7YBPD3Vp08f9enTxxX1lMr333+v+++/X5Lk4eGh5s2by9/fX0lJSfryyy/15Zdfatq0aYqOjnZ47EaNGqlx48bF7qtcubJTdQMAAAAAUNGcDgZuB4ZhqHnz5vrDH/6gUaNGqXr16pKk7OxsRUVFacaMGYqJiVG3bt00ZMgQh8YeN26coqKiyqBqAAAAAAAqnkP3GLhdde3aVYcOHdLEiRNtoYAkeXt7a/r06Ro4cKAkOXSDRAAAAAAAzMAtgoGAgAB5epa8+KFfv36SpB9//LG8SgIAAAAA4I7gFpcS3EpmZqYkyc/Pz+G+GzZs0IEDB5SWlqYaNWqoa9euGjNmjOrWrevqMgEAAAAAKHduHwwYhqGlS5dKknr16uVw/x9++KHQ18uWLVNUVJTmzp2riIgIh8dLTExUeHi4Q30iIiJKNRcAAAAAwD3ExcUpLi7OoT6JiYl2tXP7YGDBggVKSEiQt7e3XnjhBbv71atXT6+88oqGDx+u4OBg+fn5KSEhQTExMfr66681btw4BQUF6YEHHnConoyMDMXHxzvUx9EgAQAAAADgXlJSUhz+LGkvtw4Gdu/ereeff16SFBMTo2bNmtndd8KECUW29ezZU6tXr9aIESO0fPlyvfjiixoyZIgsFovd4wYGBio0NNTu9pJktVodag8AAAAAcC9Wq1VhYWEO9UlMTFRGRsYt21kMwzBKW9jt7Pjx4+rVq5dOnTqlxx57TJ988olDH+Bv5scff1SrVq0kXf9Gh4SE3LJPeHi44uPjFRYWpo0bN7qkjrLiqu8TAOD24qanfAAAUAJ7P4e6xVMJfuv06dPq16+fTp06pcGDBysuLs6lH3ZbtmypGjVqSJKSk5NdNi4AAAAAAOXN7YKB8+fPq1+/fjp69KjCwsK0dOlSeXl5uXyegjFzc3NdPjYAAAAAAOXFrYKBy5cva9CgQdq/f7+6dOmiVatWleoRhbdy7tw5nT17VpLUsGFDl48PAAAAAEB5cZtgICsrS0OHDtWOHTt01113ae3atapatWqZzDVr1iwZhqHAwEB16dKlTOYAAAAAAKA8OBUMTJkyRUePHnVVLaWWl5enUaNG6fvvv1ezZs307bff2u4BcDOzZ8+W1WrVqFGjCm0/cOCAJk2apAMHDhTanpmZqenTp+vtt9+WJL388svy9vZ23YEAAAAAAFDOnHpc4TvvvKO//vWvuvfee/XMM89o2LBh8vQs/ycg/vOf/9RXX30lSfLw8NDIkSOLbVevXj0tXbrU9nV6erpSU1OLPA4wJydH8+bN07x581SrVi01btxYknTo0CFdvXpVkhQZGampU6e6/mAAAAAAAChHTn+KNwxDGzZs0IYNG1SrVi2NGzdO48ePV3BwsCvqs0tWVpbt30lJSUpKSiq2XZMmTewaz2q1Kjo6Wlu3btXhw4d15MgRZWdnq3bt2ho0aJDGjx+vAQMGuKR2AAAAAAAqksVw4qHGn3zyiRYsWKBNmzb9Z0CLRRaLRffdd5+eeeYZPfjgg6pUqZJLir2T2fv8yNuBKx/tCAC4fThxygcAAHcgez+HOnWPgdGjRys+Pl6HDh3S888/rxo1asgwDOXn52v9+vV6+OGH1ahRI/35z39WamqqM1MBAAAAAIAy4JKnErRq1Up/+9vf9Msvv+gf//iH7rnnHhmGIcMwdPr0aU2fPl3NmjXT4MGDtXLlSuXn57tiWgAAAAAA4CSXPq7Qx8dHo0eP1g8//KCDBw/queeeK7SKYO3atRo+fLgaN26sqKgo/fTTT66cHgAAAAAAOMilwcCNWrdurdmzZ+uXX37RRx99pF69etlWEZw8eVLR0dEKDg7Wgw8+qK+//rqsygAAAAAAADdRZsFAAR8fHz3xxBNas2aNnn32WUn/ubldXl6eVq9erSFDhqh169aFHiUIAAAAAADKXpkHA7t27dLTTz+tBg0a6L333pPFYpFhGLJYLGrRooVtFcGPP/6oUaNGadSoUcrLyyvrsgAAAAAAgMooGLhy5Yrmz5+vzp07q2vXrlq4cKEuX74swzAUFBSkKVOmKCkpSUeOHNHevXs1YcIE+fr6yjAMLV26VPPmzSuLsgAAAAAAwG+4NBjYtWuXJkyYoHr16mnixIlKTEy0rQjo2bOnPv74Y/38889666231LRpU0lSu3btNG/ePO3bt09NmjSRYRhauHChK8sCAAAAAAAl8HR2gCtXrujTTz/V/PnzlZCQIEkyDEOSVKVKFT3++OOaNGmS2rdvf9NxmjVrpj/+8Y967rnndPToUWfLAgAAAAAAdnAqGHjmmWf02Wef6fLly5L+Ewi0a9dOEydO1BNPPKEqVarYPV6zZs0kXQ8bAAAAAABA2XMqGJg/f77tZoLe3t4aMWKEJk6cqHvuuadU43l4lPm9EAEAAAAAwA2cvpSgSZMmevrppxUZGalatWo5NdaAAQOUn5/vbEkAAAAAAMBOTgUDq1at0qBBg2SxWFxVDwAAAAAAKEdOBQODBw92VR0AAAAAAKACcFE/AAAAAAAm5lQw8Ouvv+q+++5T3759tW7dOrv6rFu3Tn379lW/fv2UkZHhzPQAAAAAAMBJTgUDS5Ys0YYNG7Rr1y717t3brj69e/fW7t279f3332vJkiXOTA8AAAAAAJzkVDCwfv16SdLAgQPl5+dnVx8/Pz8NHjxYhmHom2++cWZ6AAAAAADgJKeCgb1798pisahbt24O9evatautPwAAAAAAqDhOBQNnzpyRJDVo0MChfvXq1ZMknTp1ypnpAQAAAACAk1zyVIK8vLxStXe0HwAAAAAAcC2ngoGaNWtKko4ePepQv4L2NWrUcGZ6AAAAAADgJKeCgQ4dOsgwDC1fvtyhfl9++aUsFovuuusuZ6YHAAAAAABOcioY+N3vfidJSkxM1Pz58+3q88EHHygxMVHS9acZAAAAAACAiuNUMPDkk08qKChIkvTss8/qnXfeUW5ubrFtc3NzFRsbq+eee06SFBgYqPHjxzszPQAAAAAAcJKnM539/f01d+5c/dd//Zdyc3P18ssva9asWRo0aJDatm2rKlWq6PLlyzp48KDWrFmjM2fOyDAMWSwWzZ07VwEBAa46DgAAAAAAUApOBQOSNHLkSJ07d04vvPCCcnJydObMGS1evLjYtoZhyNPTU3/72980atQoZ6cGAAAAAABOcsnjCidOnKgtW7bY7hlgGEaRlyQNGjRIW7du1e9//3tXTAsAAAAAAJzk9IqBAnfffbdWr16ttLQ0bd68WT/99JMuXryogIAANWzYUL1797bdjwAAAAAAANweXBYMFAgKCtLQoUNdPSwAAAAAACgDLrmUAAAAAAAA3JkIBgAAAAAAMDGXXkqQn5+vo0eP6sKFC8rMzLSrT58+fVxZAgAAAAAAcIBLgoHNmzcrNjZW69evtzsQkCSLxaLc3FxXlAAAAAAAAErB6WBg5syZeuWVVwo9lhAAAAAAANwZnAoGfvjhB02dOlUWi0WGYahhw4a699571aBBA/n4+LiqRgAAAAAAUEacCgbmzJlj+/fMmTP1xz/+URaLxemiAAAAAABA+XAqGNi2bZssFoseeughvfTSS66qCQAAAAAAlBOnHld4/vx5SdLgwYNdUgwAAAAAAChfTgUDNWvWlCT5+/u7pBgAAAAAAFC+nAoGQkNDJUlHjx51RS0AAAAAAKCcORUMREZGyjAMffbZZ66qBwAAAAAAlCOngoHhw4drxIgR2rdvnyZPnuyqmgAAAAAAQDlx6qkEkvTJJ5/Ix8dHs2bN0q5du/TCCy+oZ8+etvsPAAAAAACA25dTwUClSpVs/zYMQ/Hx8YqPj7e7v8ViUW5urjMlAAAAAAAAJzgVDBiGcdOvAQAAAADA7c2pYKBPnz6yWCyuqgUAAAAAAJQzp4KBjRs3uqgMAAAAAABQEZx6KgEAAAAAALizEQwAAAAAAGBiBAMAAAAAAJiYy4KB/Px8LV26VOPHj1fPnj3VunVrNWvWrEi7/fv3a+vWrTpw4ICrppZhGNq8ebMmT56s7t27q1q1avL29lb9+vU1YsQIbdiwodRjb9u2TUOHDlWtWrXk5+entm3bKjo6WpmZmS6rHwAAAACAiuLUzQcLbNmyRU888YRSU1Nt2wzDKPaJBcuXL1dUVJQCAgJ06tQp+fr6Oj3/999/r/vvv1+S5OHhoebNm8vf319JSUn68ssv9eWXX2ratGmKjo52aNxPP/1UY8eOVV5enho0aKBGjRpp//79eu2117Rq1Spt3LhRlStXdrp+AAAAAAAqitMrBtatW6e+ffsqNTVVhmGoUqVKCgwMLLH9hAkTZLFYdPHiRa1Zs8bZ6SVdDyGaN2+uuXPn6ty5czpy5Ih2796ttLQ0/elPf5IkxcTE6F//+pfdY6akpCgyMlJ5eXmaOXOmfvrpJ+3evVtJSUlq1aqVdu7cqSlTprikfgAAAAAAKopTwUB6eroeffRR5eTkqGrVqlqwYIHS09O1ePHiEvvUrl1bvXr1kiR99913zkxv07VrVx06dEgTJ05U9erVbdu9vb01ffp0DRw4UJK0YMECu8eMjY1VVlaW+vfvr8mTJ9tWPzRp0kSLFi2SJM2fP19nzpxxyTEAAAAAAFARnAoG/ud//kcXLlyQl5eXvvnmG0VGRtq1tL579+4yDEO7d+92ZnqbgIAAeXqWfFVEv379JEk//vijXeMZhqHly5dLkiIjI4vsL7iHQk5OjlasWFGKigEAAAAAuD04FQysWbNGFotFDz/8sLp162Z3v5YtW0qSjh075sz0diu4UaCfn59d7U+cOKFTp05Jkm11w28VbN+xY4cLKgQAAAAAoGI4FQwU/AW+b9++DvUruAdBRkaGM9PbxTAMLV26VFLJH/J/KykpSZLk4+Oj+vXrF9smODi4UFsAAAAAAO5ETj2V4OLFi5JU6Lp+e2RlZV2f/CbL/11lwYIFSkhIkLe3t1544QW7+ly4cEGSVK1atWKfrCD955gL2torMTFR4eHhDvWJiIhQRESEQ30AAAAAAO4jLi5OcXFxDvVJTEy0q51Tn8xr1Kihs2fP6ty5cw71S05OliTVrFnTmelvaffu3Xr++eclXX8qQbNmzezqV3Dpgbe3d4ltfHx8JEnXrl1zqKaMjAzFx8c71MfRIAEAAAAA4F5SUlIc/ixpL6eCgebNm+vs2bPavHmznn76abv7rVy5UhaLRaGhoc5Mf1PHjx/XkCFDlJmZqccee0wvvfSS3X19fX0lSdnZ2SW2KVj1YO99CwoEBgY6fNxWq9Wh9gAAAAAA92K1WhUWFuZQn8TERLsu4XcqGOjfv7+2bNmiZcuWKSYmRo0bN75ln88//1wJCQmyWCwaMGCAM9OX6PTp0+rXr59OnTqlwYMHKy4ursRLAopTcJlAenq6DMMotm/BJQSOXkYRGhqqjRs3OtQHAAAAAGBupbnEPDw83K5VBk7dfPDpp59W5cqVlZmZqWHDhun06dM3bf/5559r/Pjxkq5fhjB27Fhnpi/W+fPn1a9fPx09elRhYWFaunSpvLy8HBqjRYsWkq6vCjh58mSxbQqeqFDQFgAAAACAO5FTwUCdOnU0Y8YMGYahPXv2qHXr1vr973+v7777ztZm1apVmjFjhrp06aLHHntMV65ckcVi0d///ndVrlzZ6QO40eXLlzVo0CDt379fXbp00apVqxxe6i9JjRs3Vt26dSVJW7ZsKbZNwXZHHtMIAAAAAMDtxunHAjz77LM6c+aMZsyYoYsXL+r999+XJNvy+2HDhtnaFizLj4mJ0aOPPurs1IVkZWVp6NCh2rFjh+666y6tXbtWVatWLdVYFotFw4cP17x587Rw4UI98sgjhfZv3bpVhw8flpeXlx588EFXlA8AAAAAQIVwasVAgZiYGK1evVodO3aUYRglvtq3b681a9boT3/6kyumtcnLy9OoUaP0/fffq1mzZvr2229Vo0aNW/abPXu2rFarRo0aVWTf5MmT5e3trXXr1ik2NlaGYUiSUlNTNW7cOEnS+PHjbSsLAAAAAAC4Ezm9YqDA7373O/3ud7/T/v379cMPPyglJUXp6emqUqWKGjZsqPDwcHXq1MlV0xXyz3/+U1999ZUkycPDQyNHjiy2Xb169bR06VLb1+np6UpNTS32rv9NmzbVggUL9OSTT2rKlCmaM2eOateurf379ysnJ0edO3dWbGxsWRwOAAAAAADlxmXBQIF27dqpXbt2rh72pgoeHShJSUlJSkpKKrZdkyZNHBp3zJgxat68uWbMmKGtW7fq4MGDCg4O1qOPPqqXX37Z9lhDAAAAAADuVBajYI08ylTBYyLCwsJu+8cVOvJoRwDAnYNTPgAA5mLv51Cn7jHg4eEhT09PrVy50qF+33zzjSpVqiRPT5cvWAAAAAAAAA5w+pN5af/6wF8tAAAAAACoeC55KgEAAAAAALgzVUgwcPXqVUni5n0AAAAAAFSwCgkGtm/fLkmqXbt2RUwPAAAAAAD+P7vvMbB3714lJiYWu+/7779Xenr6TfsbhqErV65o9+7d+uSTT2SxWNSlSxdHagUAAAAAAC5mdzCwfPlyvfHGG0W2G4ahd99916FJDcOQxWLRM88841A/AAAAAADgWg5dSmAYRqFXSdtv9apTp44WLFigvn37uvyAAAAAAACA/exeMTBs2DBZrdZC25588klZLBb993//tzp16nTT/h4eHqpSpYqaNm2q9u3bq1KlSqUqGAAAAAAAuI7dwUBISIhCQkIKbXvyySclSffdd58efPBB11YGAAAAAADKnN3BQHEWL14sSbdcLQAAAAAAAG5PTgUDY8eOdVUdAAAAAACgAjh080EAAAAAAOBeCAYAAAAAADAxpy4luNHWrVv10Ucfafv27fr555918eJF5efn37SPxWJRbm6uq0oAAAAAAAAOcjoYuHr1qsaNG6elS5dKkgzDcLooAAAAAABQPpwOBh5//HGtXLlShmHI399f7du31/bt22WxWNS2bVv5+fkpJSVF586dk3R9lUDnzp3l7+/vdPEAAAAAAMA5Tt1jYP369VqxYoUkafjw4Tp58qS2bt1q2//mm2/q3//+t86ePavt27drwIABMgxDWVlZiouL04YNG5yrHgAAAAAAOMWpYOAf//iHJKlevXr69NNPVbVq1RLbdu3aVV9//bWef/557du3T8OGDVN2drYz0wMAAAAAACc5FQwUXDLwX//1X/L19S2yv7j7Dfz1r39V69attXfvXi1atMiZ6QEAAAAAgJOcCgZOnz4tSerQoUOh7RaLRZKUlZVVdEIPD40ePVqGYeif//ynM9MDAAAAAAAnORUMZGZmSpICAgIKbS+4seCFCxeK7de8eXNJ0pEjR5yZHgAAAAAAOMmpYKBatWqSrj+y8EZBQUGSpOTk5GL7FQQGaWlpzkwPAAAAAACc5FQw0KJFC0lSampqoe3t2rWTYRhav359sf3i4+MlFV1pAAAAAAAAypdTwcDdd98twzCUkJBQaPvvfvc7SdLevXv1wQcfFNr35Zdf6vPPP5fFYtHdd9/tzPQAAAAAAMBJTgUD9913nyTp+++/V15enm37448/brucYNKkSeratasee+wxde3aVSNHjrQ9reDpp592ZnoAAAAAAOAkp4KBAQMGyGq1ytvbu9BlA9WqVdOHH36oSpUqyTAM7dq1S59//rl27dplCwXGjRun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d6ivPccbHBws6fpfln5r2bJlN12iaK+tW7cqMTGxyPZFixYpMzNTTZo0KfRXsgEDBkiS3n333SJ9DMOwbS9oBwC3A85pt8Y5rTBnzmn33nuvqlevrosXL+qLL74osr/gJoIDBgwotBqhWbNmtpsnfvTRR0X6JSYmas+ePZKkvn37OlRTaZTF+wxuquyfiAigouTl5RkdOnQwJBlDhgwxLly4YNu3fPlyw9fX95bPfJ48eXKhZz7/6U9/MiQZVatWNX755ZdC88XGxhqSjFGjRhn5+fkO1/vLL78Yzz//vLF///4i+7Zt22Z0797dkGS0b9/eyM3NLbR/6dKlRpMmTYxevXoV2p6RkWGMGjXK2LFjR6Htubm5xvz58w1fX99bPqe4JDt37jQkGU2bNi30TOYbzZ0715BkNG7c2Pjxxx9t2//9738b9evXt33/S3rm82+33+jGZz6HhIQYKSkptn2bNm0yqlevbkgy3n333UL9bnzm8zvvvGN75nNWVpbx7LPP2p75fOrUKQe/IwBQdjincU4r73Pam2++aUgy6tatayQmJtq2f/rpp4aHh4dhsViM7du3F+m3atUqQ5JRuXJlY+3atbbtP//8s9GpUydDknHPPffccv6xY8cakozo6OgS2zjzPgNuRDAAuLk9e/YY1apVs52g7r77bsNqtRqSjGeffdb2C9OJEydsfQq2zZgxw7BYLEZQUJDRpUsXo2bNmoYkw8PDw/jss8+KzJWcnGx4e3sbkowmTZoYvXv3NsLCwozFixfbVevx48cNSYYko0aNGkanTp2Mjh072uaVZDRr1sxITk4u0nfx4sW2eW904cIFW99q1aoZHTt2NLp06WL7nkgyBg4caFy7ds2h76thXP8ltUWLFoYkIygoyOjRo4cRFhZmPP/887Y2165dM+666y7bLzvt2rUzWrZsaftls6Rflhz5Jer3v/+90ahRI8PT09MIDQ01WrVqZTu2Bx54wPZL0o3mzp1rWCwWQ5JRp06dQt8THx8f41//+pfD3w8AKGuc0zinlec5LScnx/jd735ne5906NDBCA4OttUzY8aMEvsWhE6SjBYtWhidOnWyBSfBwcFGampqkT6bN282goKCbC8fHx/be/3G7Te+v515nwE3IhgATCA5OdkYNWqUERQUZPj6+hrt27c33nvvPcMwDNuJ48a/vBT8EnX8+HFj7dq1Rp8+fYyqVasaVapUMfr27WvEx8eXONc333xjhIWFGQEBAbaT9Ouvv25XndeuXTM++OAD45FHHjFatmxpBAYGGp6enkatWrWMvn37Gn//+9+Nq1evFtu3pF+isrOzjZkzZxrDhg0zmjdvbgQEBBheXl5G3bp1jcGDBxuff/55qf4SVODHH380Hn74YaN27dpGpUqVDElGWFhYoTZnzpwxIiMjjdq1axs+Pj5G69atbX/VcMUvUa+//rpx6tQpY9y4cUa9evUMb29vo1WrVsbbb79t5OTklNh/8+bNxrBhw4xatWoZXl5eRv369Y3Ro0cbBw4cKPX3AwDKGuc0zmnFKatzWm5urjF79mwjJCTEqFy5shEYGGj07dvXrrBhxYoVxn333WdUq1bN8PHxMVq2bGlMnTrVOH/+fLHtN2zYYPswf7PXjStinHmfATeyGIaDd0kB4DbS0tJUs2ZNVatWrdB1gVarVampqTp+/LisVmvFFQgAgJ04pwFA6XHzQcDEFi9eLEnq2bNnBVcCAIBzOKcBQOkRDABubt++fZo/f36h5z4bhqFPPvlEf/7znyVJzzzzTEWVBwCA3TinAUDZ8KzoAgCUrbS0NE2YMEGTJk1SkyZNFBQUpGPHjiktLU2SNGHCBD3wwAMVXCUAALfGOQ0AygYrBgA317ZtW02ZMkXt27dXRkaGEhISZBiG7rvvPi1ZskTvv/9+RZcIAIBdOKcBQNng5oMAAAAAAJgYKwYAAAAAADAxggEAAAAAAEyMYAAAAAAAABMjGAAAAAAAwMQIBgAAAAAAMDGCAQAAAAAATIxgAAAAAAAAEyMYAAAAAADAxP4f5zY2h9CCSSUAAAAASUVORK5CYII=", + "image/png": "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b4ntxdfYVdQNbrKzs5WYmChJJU7Czpg3b56ysrLk6emp6Ohoh/rac7xhYWGSrvxl6dcWL158zSWK9tq4caNSUlJKbZ8/f75ycnLUtGnTEn8l69evnyTp3XffLdXHMAzb9uJ2AHAz4Jx2fZzTSnLmnHb33XerZs2aOnfunL744otS+4tvItivX78SqxGaN29uu3niRx99VKpfSkqKduzYIUm65557HKrpRlTE+wxuquKfiAigqhQWFhrt27c3JBmDBg0yzp49a9u3ZMkSw8/P77rPfB43blyJZz7/6U9/MiQZNWrUMH7++ecS802fPt2QZIwYMcIoKipyuN6ff/7ZeP75543du3eX2rdp0yajW7duhiSjXbt2RkFBQYn9ixYtMpo2bWr07NmzxPbs7GxjxIgRxpYtW0psLygoMObMmWP4+fld9znF5dm6dashyWjWrFmJZzJf7b333jMkGU2aNDEOHDhg2/6f//zHaNCgge37X94zn3+9/WpXP/M5PDzcSE9Pt+374YcfjJo1axqSjHfffbdEv6uf+fz222/bnvmcm5trPPvss7ZnPh8/ftzB7wgAVBzOaZzTKvuc9sYbbxiSjHr16hkpKSm27Z999pnh4eFhWCwWY/PmzaX6LV++3JBkVKtWzVi1apVt+08//WR07NjRkGTceeed153/8ccfNyQZ8fHx5bZx5n0GXI1gAHBzO3bsMIKDg20nqM6dOxtWq9WQZDz77LO2X5iOHDli61O8berUqYbFYjFCQ0ONyMhIo1atWoYkw8PDw/j8889LzZWWlmb4+PgYkoymTZsavXr1MqKioowFCxbYVevhw4cNSYYkIyQkxOjYsaPRoUMH27ySjObNmxtpaWml+i5YsMA279XOnj1r6xscHGx06NDBiIyMtH1PJBn9+/c3Ll++7ND31TCu/JLasmVLQ5IRGhpqdO/e3YiKijKef/55W5vLly8bd9xxh+2XnbZt2xqtWrWy/bJZ3i9LjvwS9fvf/95o3Lix4eXlZURERBitW7e2Hdt9991n+yXpau+9955hsVgMSUbdunVLfE98fX2Nf//73w5/PwCgonFO45xWmee0/Px84ze/+Y3tfdK+fXsjLCzMVs/UqVPL7VscOkkyWrZsaXTs2NEWnISFhRkZGRml+qxfv94IDQ21vXx9fW3v9au3X/3+duZ9BlyNYAAwgbS0NGPEiBFGaGio4efnZ7Rr1874+9//bhiGYTtxXP2Xl+Jfog4fPmysWrXKuOuuu4waNWoY1atXN+655x4jKSmp3LlWr15tREVFGYGBgbaT9GuvvWZXnZcvXzY++OAD47e//a3RqlUrIygoyPDy8jJq165t3HPPPcY777xjXLp0qcy+5f0SlZeXZ0ybNs0YMmSI0aJFCyMwMNDw9vY26tWrZwwcOND45z//eUN/CSp24MAB48EHHzTq1KljeHp6GpKMqKioEm1OnjxpxMbGGnXq1DF8fX2NNm3a2P6q4Ypfol577TXj+PHjxqhRo4z69esbPj4+RuvWrY233nrLyM/PL7f/+vXrjSFDhhi1a9c2vL29jQYNGhgjR4409uzZc8PfDwCoaJzTOKeVpaLOaQUFBcbMmTON8PBwo1q1akZQUJBxzz332BU2LF261Lj33nuN4OBgw9fX12jVqpUxYcIE48yZM2W2T0xMtH2Yv9br6hUxzrzPgKtZDMPBu6QAcBuZmZmqVauWgoODS1wXaLValZGRocOHD8tqtVZdgQAA2IlzGgDcOG4+CJjYggULJEk9evSo4koAAHAO5zQAuHEEA4Cb27Vrl+bMmVPiuc+GYejTTz/Vn//8Z0nS008/XVXlAQBgN85pAFAxvKq6AAAVKzMzU2PGjNEzzzyjpk2bKjQ0VIcOHVJmZqYkacyYMbrvvvuquEoAAK6PcxoAVAxWDABu7vbbb9f48ePVrl07ZWdnKzk5WYZh6N5779XChQv1/vvvV3WJAADYhXMaAFQMbj4IAAAAAICJsWIAAAAAAAATIxgAAAAAAMDECAYAAAAAADAxggEAAAAAAEyMYAAAAAAAABMjGAAAAAAAwMQIBgAAAAAAMDGCAQAAAAAATOz/AaagJzbDfX3aAAAAAElFTkSuQmCC", "text/plain": [ "
" ] From 6293dc74a93dfa9dc5435a5325e9a43701278bbd Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 31 Oct 2023 14:45:46 -0400 Subject: [PATCH 101/182] Adding remote to OpenAIChat example --- examples/notebooks/OpenAIChatExperiment.ipynb | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/examples/notebooks/OpenAIChatExperiment.ipynb b/examples/notebooks/OpenAIChatExperiment.ipynb index a0be2541..654a8e59 100644 --- a/examples/notebooks/OpenAIChatExperiment.ipynb +++ b/examples/notebooks/OpenAIChatExperiment.ipynb @@ -402,6 +402,58 @@ "experiment.visualize()" ] }, + { + "cell_type": "markdown", + "id": "b6802b34", + "metadata": {}, + "source": [ + "## Saving to Remote" + ] + }, + { + "cell_type": "markdown", + "id": "fb74a9a2", + "metadata": {}, + "source": [ + "For users interested to manage their experiments in a hosted environment. We provide APIs to securely store your experiments in our backend, from which you can load experiments for re-run or share with your team. \n", + "\n", + "If you are interested in our hosted solution, please reach out to us." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d30cd8ad", + "metadata": {}, + "outputs": [], + "source": [ + "os.environ[\"HEGELAI_API_KEY\"] = \"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c084bb43", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "19269a04", + "metadata": {}, + "source": [ + "## Aggregate Results" + ] + }, + { + "cell_type": "markdown", + "id": "e5626394", + "metadata": {}, + "source": [ + "You can optional " + ] + }, { "cell_type": "code", "execution_count": 10, From 29218170bfa8c157ac1d6c261d6c2ba43b3cbca7 Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 31 Oct 2023 14:45:57 -0400 Subject: [PATCH 102/182] Updating full remote example --- ...ing_and_Loading_Experiment_to_Remote.ipynb | 1567 +---------------- 1 file changed, 77 insertions(+), 1490 deletions(-) diff --git a/examples/notebooks/remote/Saving_and_Loading_Experiment_to_Remote.ipynb b/examples/notebooks/remote/Saving_and_Loading_Experiment_to_Remote.ipynb index 93de0741..1824d2fd 100644 --- a/examples/notebooks/remote/Saving_and_Loading_Experiment_to_Remote.ipynb +++ b/examples/notebooks/remote/Saving_and_Loading_Experiment_to_Remote.ipynb @@ -118,296 +118,6 @@ "experiment.visualize()" ] }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
temperaturemessagesresponselatency
00.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.337838
11.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington, serving from 1789 to 1797.1.224729
21.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}]The second president of the United States was John Adams.3.326496
\n", - "
" - ], - "text/plain": [ - " temperature \\\n", - "0 0.0 \n", - "1 1.0 \n", - "2 1.0 \n", - "\n", - " messages \\\n", - "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}] \n", - "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington, serving from 1789 to 1797. \n", - "2 The second president of the United States was John Adams. \n", - "\n", - " latency \n", - "0 1.337838 \n", - "1 1.224729 \n", - "2 3.326496 " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "experiment.run_one(\"gpt-3.5-turbo\", [\n", - " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", - " {\"role\": \"user\", \"content\": \"Who was the second president?\"},\n", - " ])\n", - "experiment.visualize()" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Running partial experiment...\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
modelmessagestemperaturetop_pnstreampresence_penaltyfrequency_penaltyresponseresponse_idresponse_objectresponse_createdresponse_modelresponse_choicesresponse_usagelatency
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]0.01.01False0.00.0The first president of the United States was George Washington. He served as president from 1789 to 1797.chatcmpl-8Afogt6JppN4gZhIDHLlj4dVDdBoxchat.completion1697554714gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}1.337838
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]1.01.01False0.00.0The first president of the United States was George Washington, serving from 1789 to 1797.chatcmpl-8AfohOODBjWwdX27uNEnRQ2RSTU9cchat.completion1697554715gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington, serving from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 21, 'total_tokens': 44}1.224729
2gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}]1.01.01False0.00.0The second president of the United States was John Adams.chatcmpl-8AfoltjNBsasogjnwHm1OcefEZxd2chat.completion1697554719gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The second president of the United States was John Adams.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}3.326496
3gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]0.51.01False0.00.0The first president of the United States was George Washington. He served from 1789 to 1797.chatcmpl-8Afp6Wd6CcF26ThPBjNFhCLhN6VGachat.completion1697554740gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 22, 'total_tokens': 45}1.061821
\n", - "
" - ], - "text/plain": [ - " model \\\n", - "0 gpt-3.5-turbo \n", - "1 gpt-3.5-turbo \n", - "2 gpt-3.5-turbo \n", - "3 gpt-3.5-turbo \n", - "\n", - " messages \\\n", - "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}] \n", - "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "\n", - " temperature top_p n stream presence_penalty frequency_penalty \\\n", - "0 0.0 1.0 1 False 0.0 0.0 \n", - "1 1.0 1.0 1 False 0.0 0.0 \n", - "2 1.0 1.0 1 False 0.0 0.0 \n", - "3 0.5 1.0 1 False 0.0 0.0 \n", - "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington, serving from 1789 to 1797. \n", - "2 The second president of the United States was John Adams. \n", - "3 The first president of the United States was George Washington. He served from 1789 to 1797. \n", - "\n", - " response_id response_object response_created \\\n", - "0 chatcmpl-8Afogt6JppN4gZhIDHLlj4dVDdBox chat.completion 1697554714 \n", - "1 chatcmpl-8AfohOODBjWwdX27uNEnRQ2RSTU9c chat.completion 1697554715 \n", - "2 chatcmpl-8AfoltjNBsasogjnwHm1OcefEZxd2 chat.completion 1697554719 \n", - "3 chatcmpl-8Afp6Wd6CcF26ThPBjNFhCLhN6VGa chat.completion 1697554740 \n", - "\n", - " response_model \\\n", - "0 gpt-3.5-turbo-0613 \n", - "1 gpt-3.5-turbo-0613 \n", - "2 gpt-3.5-turbo-0613 \n", - "3 gpt-3.5-turbo-0613 \n", - "\n", - " response_choices \\\n", - "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", - "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington, serving from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", - "2 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second president of the United States was John Adams.'}, 'finish_reason': 'stop'}] \n", - "3 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", - "\n", - " response_usage \\\n", - "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", - "1 {'prompt_tokens': 23, 'completion_tokens': 21, 'total_tokens': 44} \n", - "2 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", - "3 {'prompt_tokens': 23, 'completion_tokens': 22, 'total_tokens': 45} \n", - "\n", - " latency \n", - "0 1.337838 \n", - "1 1.224729 \n", - "2 3.326496 \n", - "3 1.061821 " - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "experiment.run_partial(temperature=0.5)\n", - "experiment.full_df" - ] - }, { "cell_type": "code", "execution_count": 4, @@ -429,6 +139,17 @@ "print(res)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can examine the `experiment_id` and `revision_id` after you save. You can use these information to load the experiment back at a later time. You can also see the results in the UI:\n", + "\n", + "https://app.hegel-ai.com/experiments\n", + "\n", + "https://app.hegel-ai.com/logs" + ] + }, { "cell_type": "code", "execution_count": 5, @@ -448,17 +169,6 @@ "print(experiment._revision_id)" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "See results:\n", - "\n", - "http://127.0.0.1:5000/experiment/\n", - "\n", - "http://127.0.0.1:5000/experiment/logs" - ] - }, { "cell_type": "code", "execution_count": null, @@ -477,7 +187,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Grab uuid from http://127.0.0.1:5000/experiment/" + "You can get there `experiment_id` from https://app.hegel-ai.com/experiments\n", + "\n", + "The `.load_experiment` API will load the latest revision." ] }, { @@ -495,7 +207,14 @@ } ], "source": [ - "# experiment_from_load = OpenAIChatExperiment.load_experiment(experiment._experiment_id)" + "experiment_from_load = OpenAIChatExperiment.load_experiment(experiment._experiment_id)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, you can re-run the experiment or evaluate them as you see fit." ] }, { @@ -572,13 +291,37 @@ } ], "source": [ - "experiment_from_load.full_df\n", "experiment_from_load.visualize()" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If you wish to load from a specific revision (in the history of the experiment), you can use `.load_revision`." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sending HTTP GET request...\n", + "Loaded experiment.\n" + ] + } + ], + "source": [ + "experiment_from_load_revision = OpenAIChatExperiment.load_revision(experiment._revision_id)" + ] + }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -606,7 +349,6 @@ " messages\n", " response\n", " latency\n", - " dumb_eval_metric\n", " \n", " \n", " \n", @@ -616,7 +358,6 @@ " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", " 1.105475\n", - " EVAL'ED The first\n", " \n", " \n", " 1\n", @@ -624,7 +365,6 @@ " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", " 1.025263\n", - " EVAL'ED The first\n", " \n", " \n", "\n", @@ -643,9 +383,9 @@ "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", "1 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", "\n", - " latency dumb_eval_metric \n", - "0 1.105475 EVAL'ED The first \n", - "1 1.025263 EVAL'ED The first " + " latency \n", + "0 1.105475 \n", + "1 1.025263 " ] }, "metadata": {}, @@ -653,793 +393,35 @@ } ], "source": [ - "def _dumb_eval(row):\n", - " return \"EVAL'ED \" + row['response'][:10]\n", - "\n", - "\n", - "experiment_from_load.evaluate(\"dumb_eval_metric\", _dumb_eval)\n", - "experiment_from_load.visualize()" + "experiment_from_load_revision.visualize()" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 14, "metadata": {}, "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Creating serialized state of experiment...\n", + "Sending HTTP POST request...\n" + ] + }, { "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
temperaturemessagesresponselatencydumb_eval_metric
00.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.105475EVAL'ED The first
11.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.025263EVAL'ED The first
00.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.0.889007NaN
11.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.286091NaN
\n", - "
" - ], - "text/plain": [ - " temperature \\\n", - "0 0.0 \n", - "1 1.0 \n", - "0 0.0 \n", - "1 1.0 \n", - "\n", - " messages \\\n", - "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "\n", - " latency dumb_eval_metric \n", - "0 1.105475 EVAL'ED The first \n", - "1 1.025263 EVAL'ED The first \n", - "0 0.889007 NaN \n", - "1 1.286091 NaN " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "experiment_from_load.run()\n", - "experiment_from_load.visualize()" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Sending HTTP GET request...\n", - "Loaded experiment.\n" - ] - } - ], - "source": [ - "experiment_from_load_revision = OpenAIChatExperiment.load_revision(experiment._revision_id)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
modelmessagestemperaturetop_pnstreampresence_penaltyfrequency_penaltyresponseresponse_idresponse_objectresponse_createdresponse_modelresponse_choicesresponse_usagelatencyrevision_id
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]0.01.01False0.00.0The first president of the United States was George Washington. He served as president from 1789 to 1797.chatcmpl-8F4L3c4rdCCxcT38evtH4hHxPSFWJchat.completion1698602289gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}1.105475c60795e9-efaa-4de0-9a16-770f22e13efc
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]1.01.01False0.00.0The first president of the United States was George Washington. He served as president from 1789 to 1797.chatcmpl-8F4L4yc7QqsJepuhdx4IQkFQ79rTychat.completion1698602290gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}1.025263c60795e9-efaa-4de0-9a16-770f22e13efc
\n", - "
" - ], - "text/plain": [ - " model \\\n", - "0 gpt-3.5-turbo \n", - "1 gpt-3.5-turbo \n", - "\n", - " messages \\\n", - "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "\n", - " temperature top_p n stream presence_penalty frequency_penalty \\\n", - "0 0.0 1.0 1 False 0.0 0.0 \n", - "1 1.0 1.0 1 False 0.0 0.0 \n", - "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "\n", - " response_id response_object response_created \\\n", - "0 chatcmpl-8F4L3c4rdCCxcT38evtH4hHxPSFWJ chat.completion 1698602289 \n", - "1 chatcmpl-8F4L4yc7QqsJepuhdx4IQkFQ79rTy chat.completion 1698602290 \n", - "\n", - " response_model \\\n", - "0 gpt-3.5-turbo-0613 \n", - "1 gpt-3.5-turbo-0613 \n", - "\n", - " response_choices \\\n", - "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", - "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", - "\n", - " response_usage \\\n", - "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", - "1 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", - "\n", - " latency revision_id \n", - "0 1.105475 c60795e9-efaa-4de0-9a16-770f22e13efc \n", - "1 1.025263 c60795e9-efaa-4de0-9a16-770f22e13efc " - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "experiment_from_load_revision.full_df\n" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
temperaturemessagesresponselatency
00.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.105475
11.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.025263
\n", - "
" - ], - "text/plain": [ - " temperature \\\n", - "0 0.0 \n", - "1 1.0 \n", - "\n", - " messages \\\n", - "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "\n", - " latency \n", - "0 1.105475 \n", - "1 1.025263 " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "experiment_from_load_revision.visualize()" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Creating serialized state of experiment...\n", - "Sending HTTP POST request...\n" - ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "experiment_from_load_revision.save_experiment(\"TEST_SAVE_NAME3\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Run Experiment on Server Example" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Response:\n", - "200\n", - "[{'model': 'gpt-3.5-turbo', 'messages': [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}], 'temperature': 0.0, 'top_p': 1.0, 'n': 1, 'stream': False, 'presence_penalty': 0.0, 'frequency_penalty': 0.0, 'response': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.', 'response_id': 'chatcmpl-88dS1ylV1T7BwNiuD53qHp3uylC05', 'response_object': 'chat.completion', 'response_created': 1697068965, 'response_model': 'gpt-3.5-turbo-0613', 'response_choices': [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}], 'response_usage': {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}, 'latency': 1.445512291, 'user_id': 0, 'experiment_id': 'd38f3ce0-ff4b-48a1-a7eb-e87f160f2344', 'experiment_name': 'RUNNING_ON_SERVER_SIDE_TEST', 'revision_id': 'f6e99087-75dc-46cd-87e5-59f827825afd', 'timestamp': 1697054566670, 'log_id': '652737a6675c713faa41274b'}, {'model': 'gpt-3.5-turbo', 'messages': [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}], 'temperature': 1.0, 'top_p': 1.0, 'n': 1, 'stream': False, 'presence_penalty': 0.0, 'frequency_penalty': 0.0, 'response': 'The first president of the United States was George Washington, serving from 1789 to 1797.', 'response_id': 'chatcmpl-88dS2l1gWveHxAOuyvqkjoOJV0ZIZ', 'response_object': 'chat.completion', 'response_created': 1697068966, 'response_model': 'gpt-3.5-turbo-0613', 'response_choices': [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington, serving from 1789 to 1797.'}, 'finish_reason': 'stop'}], 'response_usage': {'prompt_tokens': 23, 'completion_tokens': 21, 'total_tokens': 44}, 'latency': 0.6030918751, 'user_id': 0, 'experiment_id': 'd38f3ce0-ff4b-48a1-a7eb-e87f160f2344', 'experiment_name': 'RUNNING_ON_SERVER_SIDE_TEST', 'revision_id': 'f6e99087-75dc-46cd-87e5-59f827825afd', 'timestamp': 1697054566670, 'log_id': '652737a6675c713faa41274c'}]\n" - ] - } - ], - "source": [ - "import requests\n", - "import json\n", - "\n", - "url = \"http://127.0.0.1:5000/experiment/run\"\n", - "\n", - "model = [\"gpt-3.5-turbo\"]\n", - "messages = [\n", - " [\n", - " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", - " {\"role\": \"user\", \"content\": \"Who was the first president?\"},\n", - " ]\n", - "]\n", - "temperature = [0.0, 1.0]\n", - "\n", - "\n", - "input_parameters = {\n", - " 'experiment_name': 'RUNNING_ON_SERVER_SIDE_TEST',\n", - " 'model': models,\n", - " 'messages': messages,\n", - " 'temperature': temperature,\n", - "}\n", - "\n", - "headers = {\n", - " \"OPENAI_API_KEY\": os.environ[\"OPENAI_API_KEY\"],\n", - " \"Content-Type\": \"application/json\"\n", - "}\n", - "\n", - "\n", - "response = requests.post(url, headers=headers, data=json.dumps(input_parameters))\n", - "\n", - "# Print the response\n", - "print(\"Response:\")\n", - "print(response.status_code)\n", - "print(response.json())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "\n", - "Checking results..." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Sending HTTP GET request...\n", - "Loaded experiment.\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
modelmessagestemperaturetop_pnstreampresence_penaltyfrequency_penaltyresponseresponse_idresponse_objectresponse_createdresponse_modelresponse_choicesresponse_usagelatency
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]0.01.01False0.00.0The first president of the United States was George Washington. He served as president from 1789 to 1797.chatcmpl-87elWGXAZOUy5u9cZpt9wK81fb8Tichat.completion1696835690gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}1.008068
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]1.01.01False0.00.0The first president of the United States was George Washington.chatcmpl-87elYz68OyUCwP8ZBoW9KGszgKuq5chat.completion1696835692gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}0.957149
\n", - "
" - ], - "text/plain": [ - " model \\\n", - "0 gpt-3.5-turbo \n", - "1 gpt-3.5-turbo \n", - "\n", - " messages \\\n", - "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "\n", - " temperature top_p n stream presence_penalty frequency_penalty \\\n", - "0 0.0 1.0 1 False 0.0 0.0 \n", - "1 1.0 1.0 1 False 0.0 0.0 \n", - "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington. \n", - "\n", - " response_id response_object response_created \\\n", - "0 chatcmpl-87elWGXAZOUy5u9cZpt9wK81fb8Ti chat.completion 1696835690 \n", - "1 chatcmpl-87elYz68OyUCwP8ZBoW9KGszgKuq5 chat.completion 1696835692 \n", - "\n", - " response_model \\\n", - "0 gpt-3.5-turbo-0613 \n", - "1 gpt-3.5-turbo-0613 \n", - "\n", - " response_choices \\\n", - "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", - "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}] \n", - "\n", - " response_usage \\\n", - "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", - "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", - "\n", - " latency \n", - "0 1.008068 \n", - "1 0.957149 " - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "experiment_from_load = OpenAIChatExperiment.load_experiment(\"9697a0dd-d603-4443-beec-bd6fd0b9126f\")\n", - "experiment_from_load.full_df" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Feedback" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Received data: Field updated or inserted successfully.\n" - ] - } - ], - "source": [ - "import requests\n", - "import json\n", - "\n", - "api_url = \"http://127.0.0.1:5000/experiment/add_feedback/\"\n", - "\n", - "# Specify the data for the POST request\n", - "data = {\n", - " \"log_id\": \"65239810e9aee9e6d2cbc482\",\n", - " \"metric_name\": \"CUSTOM_METRIC\",\n", - " \"value\": 123,\n", - "}\n", - "\n", - "# Make the POST request\n", - "response = requests.post(api_url, json=data)\n", - "\n", - "# Check the response\n", - "if response.status_code == 200:\n", - " # Deserialize the response if it contains JSON data\n", - " data = response.json()\n", - " print(\"Received data:\", data)\n", - "else:\n", - " print(f\"Error: {response.status_code}, {response.text}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Sending HTTP GET request...\n", - "Loaded experiment.\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
modelmessagestemperaturetop_pnstreampresence_penaltyfrequency_penaltyresponseresponse_idresponse_objectresponse_createdresponse_modelresponse_choicesresponse_usagelatencyCUSTOM_METRIC
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]0.01.01False0.00.0The first president of the United States was George Washington. He served as president from 1789 to 1797.chatcmpl-87dUDKRQCO6Bq1PdPJLfF3vsXeluEchat.completion1696830773gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}0.859089123.0
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]1.01.01False0.00.0The first president of the United States was George Washington.chatcmpl-87dUEABSL6dfbEQqDw6Mc61cKh42schat.completion1696830774gpt-3.5-turbo-0613[{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}]{'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}1.121416NaN
\n", - "
" - ], "text/plain": [ - " model \\\n", - "0 gpt-3.5-turbo \n", - "1 gpt-3.5-turbo \n", - "\n", - " messages \\\n", - "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "\n", - " temperature top_p n stream presence_penalty frequency_penalty \\\n", - "0 0.0 1.0 1 False 0.0 0.0 \n", - "1 1.0 1.0 1 False 0.0 0.0 \n", - "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington. \n", - "\n", - " response_id response_object response_created \\\n", - "0 chatcmpl-87dUDKRQCO6Bq1PdPJLfF3vsXeluE chat.completion 1696830773 \n", - "1 chatcmpl-87dUEABSL6dfbEQqDw6Mc61cKh42s chat.completion 1696830774 \n", - "\n", - " response_model \\\n", - "0 gpt-3.5-turbo-0613 \n", - "1 gpt-3.5-turbo-0613 \n", - "\n", - " response_choices \\\n", - "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", - "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}] \n", - "\n", - " response_usage \\\n", - "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", - "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", - "\n", - " latency CUSTOM_METRIC \n", - "0 0.859089 123.0 \n", - "1 1.121416 NaN " + "" ] }, - "execution_count": 32, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "experiment_from_load = OpenAIChatExperiment.load_experiment('c5f7e53f-7c69-474e-aa4a-b9df17efca45')\n", - "experiment_from_load.full_df" + "experiment_from_load_revision.save_experiment(\"TEST_SAVE_NAME3\")" ] }, { @@ -1450,62 +432,19 @@ "source": [] }, { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 24, + "cell_type": "markdown", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "from pymongo import MongoClient\n", - "\n", - "MONGO_ADDRESS = 'mongodb://localhost:27017/'\n", - "DATABASE_NAME = 'playground'\n", - "EXPERIMENTS = 'experiments'\n", - "EXPERIMENT_LOGS_COLLECTION_NAME = 'experiment_logs'\n", - "USER_PERMISSION_COLLECTION_NAME = \"user_permission\"\n", - "\n", - "# Connect to MongoDB\n", - "client = MongoClient(MONGO_ADDRESS)\n", - "db = client[DATABASE_NAME]\n", - "experiments_collection = db[EXPERIMENTS]\n", - "logs_collection = db[EXPERIMENT_LOGS_COLLECTION_NAME]\n", - "user_permission_collection = db[USER_PERMISSION_COLLECTION_NAME]\n", - "\n", - "\n", - "experiments_collection.delete_many({})\n", - "logs_collection.delete_many({})\n", - "user_permission_collection.delete_many({})" + "### Partially executing experiments" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Testing auth" + "If you do not wish to re-run the entire experiment and only want to re-run specific components and append the results to the existing ones.\n", + "\n", + "You can use `run_one` or `run_partial`:" ] }, { @@ -1513,205 +452,19 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 111, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "f316761ef60ba804c4ae9963656204f14f8b7a85b982e2738aee02e31626fab9295aa760b67dc71300473484f5881744\n", - "\n", - "\n", - "401 Unauthorized\n", - "

Unauthorized

\n", - "

The server could not verify that you are authorized to access the URL requested. You either supplied the wrong credentials (e.g. a bad password), or your browser doesn't understand how to supply the credentials required.

\n", - "\n" - ] - } - ], - "source": [ - "import requests\n", - "\n", - "def get_experiments(access_token):\n", - " # URL for the API endpoint\n", - " api_url = \"http://127.0.0.1:5000/experiment/test_auth\"\n", - "\n", - " # Set up headers with the Bearer token\n", - " headers = {\n", - "# 'Authorization': f'Bearer {access_token}'\n", - " 'Authorization': access_token\n", - " }\n", - "\n", - " # Make the GET request with headers\n", - " response = requests.post(api_url, headers=headers)\n", - "\n", - " # Return the response object\n", - " return response\n", - "\n", - "print(os.environ['HEGELAI_API_KEY'])\n", - "response = get_experiments(os.environ['HEGELAI_API_KEY'])\n", - "print(response.text)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 112, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Response:\n", - "401\n" - ] - } - ], "source": [ - "import requests\n", - "import json\n", - "\n", - "\n", - "\n", - "url = \"http://127.0.0.1:5000/experiment\"\n", - "# url = \"http://127.0.0.1:5000/experiment/logs\"\n", - "\n", - "model = [\"gpt-3.5-turbo\"]\n", - "messages = [\n", - " [\n", + "experiment.run_one(\"gpt-3.5-turbo\", [\n", " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", - " {\"role\": \"user\", \"content\": \"Who was the first president?\"},\n", - " ]\n", - "]\n", - "temperature = [0.0, 1.0]\n", - "\n", - "\n", - "input_parameters = {\n", - " 'experiment_name': 'RUNNING_ON_SERVER_SIDE_TEST',\n", - " 'model': models,\n", - " 'messages': messages,\n", - " 'temperature': temperature,\n", - "}\n", - "\n", - "headers = {\n", - " \"Authorization\": os.environ[\"HEGELAI_API_KEY\"],\n", - " \"Content-Type\": \"application/json\"\n", - "}\n", - "\n", - "\n", - "response = requests.get(url, headers=headers, data=json.dumps(input_parameters))\n", - "\n", - "# Print the response\n", - "print(\"Response:\")\n", - "print(response.status_code)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Response:\n", - "200\n" - ] - } - ], - "source": [ - "import requests\n", - "import json\n", - "\n", - "\n", - "\n", - "url = \"http://127.0.0.1:5000/permission/get_experiment_members\"\n", - "\n", - "headers = {\n", - " \"Authorization\": os.environ[\"HEGELAI_API_KEY\"],\n", - " \"Content-Type\": \"application/json\"\n", - "}\n", - "\n", - "\n", - "response = requests.get(url, headers=headers)\n", - "\n", - "# Print the response\n", - "print(\"Response:\")\n", - "print(response.status_code)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "is_executing": true - }, - "outputs": [], - "source": [ - "import requests\n", - "import json\n", - "\n", - "\n", - "\n", - "url = \"http://127.0.0.1:5000/web/get/experiments2\"\n", - "\n", - "headers = {\n", - " \"Authorization\": os.environ[\"HEGELAI_API_KEY\"],\n", - " \"Content-Type\": \"application/json\"\n", - "}\n", - "\n", - "\n", - "response = requests.get(url, headers=headers)\n", - "\n", - "# Print the response\n", - "print(\"Response:\")\n", - "print(response.status_code)" + " {\"role\": \"user\", \"content\": \"Who was the second president?\"},\n", + " ])\n", + "experiment.visualize()" ] }, { - "cell_type": "code", - "execution_count": 19, + "cell_type": "markdown", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Response:\n", - "200\n" - ] - } - ], "source": [ - "import requests\n", - "import json\n", - "\n", - "\n", - "\n", - "url = \"http://127.0.0.1:5000/permission/get_experiment_members\"\n", - "\n", - "headers = {\n", - " \"Authorization\": os.environ[\"HEGELAI_API_KEY\"],\n", - " \"Content-Type\": \"application/json\"\n", - "}\n", - "\n", - "\n", - "\n", - "parameters = {\n", - " 'experiment_id': 'da044226-bd4b-4fb5-b358-2c781e031dad',\n", - "}\n", - "\n", - "response = requests.get(url, headers=headers, data=json.dumps(parameters))\n", - "\n", - "# Print the response\n", - "print(\"Response:\")\n", - "print(response.status_code)" + "For `run_partial`, if the parameter didn't exist in the experiment before, it will be added to set up. In this case, the next time you call `run`, `temperature=0.5` will be executed along with the existing parameters as well." ] }, { @@ -1719,176 +472,10 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Response:\n", - "200\n" - ] - } - ], - "source": [ - "import requests\n", - "import json\n", - "\n", - "\n", - "\n", - "url = \"http://127.0.0.1:5000/web/evaluate/auto_eval\"\n", - "\n", - "headers = {\n", - " \"Authorization\": os.environ[\"HEGELAI_API_KEY\"],\n", - " \"OPENAI_API_KEY\": os.environ[\"OPENAI_API_KEY\"],\n", - " \"Content-Type\": \"application/json\"\n", - "}\n", - "\n", - "\n", - "parameters = {\n", - " 'log_id': '652ebc5342a9d6e77881c32e',\n", - " 'metric_name': 'score',\n", - "}\n", - "\n", - "response = requests.post(url, headers=headers, data=json.dumps(parameters))\n", - "\n", - "# Print the response\n", - "print(\"Response:\")\n", - "print(response.status_code)" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Response:\n", - "200\n", - "{'652ebc5342a9d6e77881c32e': '10', '652ebc5342a9d6e77881c32f': '10'}\n" - ] - } - ], - "source": [ - "import requests\n", - "import json\n", - "\n", - "\n", - "\n", - "url = \"http://127.0.0.1:5000/web/evaluate/auto_eval_many\"\n", - "\n", - "headers = {\n", - " \"Authorization\": os.environ[\"HEGELAI_API_KEY\"],\n", - " \"OPENAI_API_KEY\": os.environ[\"OPENAI_API_KEY\"],\n", - " \"Content-Type\": \"application/json\"\n", - "}\n", - "\n", - "\n", - "parameters = {\n", - " 'log_ids': ['652ebc5342a9d6e77881c32e', '652ebc5342a9d6e77881c32f'],\n", - " 'metric_name': 'score',\n", - "}\n", - "\n", - "response = requests.post(url, headers=headers, data=json.dumps(parameters))\n", - "\n", - "# Print the response\n", - "print(\"Response:\")\n", - "print(response.status_code)\n", - "print(response.json())" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Response:\n", - "200\n" - ] - } - ], - "source": [ - "import requests\n", - "import json\n", - "\n", - "\n", - "\n", - "url = \"http://127.0.0.1:5000/web/get/logs\"\n", - "\n", - "headers = {\n", - " \"Authorization\": os.environ[\"HEGELAI_API_KEY\"],\n", - " \"Content-Type\": \"application/json\"\n", - "}\n", - "\n", - "\n", - "# parameters = {\n", - "# 'experiment_id': 'da044226-bd4b-4fb5-b358-2c781e031dad',\n", - "# }\n", - "\n", - "response = requests.get(url, headers=headers) # , data=json.dumps(parameters))\n", - "\n", - "# Print the response\n", - "print(\"Response:\")\n", - "print(response.status_code)" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Response:\n", - "404\n" - ] - } - ], "source": [ - "import requests\n", - "import json\n", - "\n", - "\n", - "\n", - "url = \"http://127.0.0.1:5000/web/something\"\n", - "\n", - "headers = {\n", - " \"Authorization\": os.environ[\"HEGELAI_API_KEY\"],\n", - " \"Content-Type\": \"application/json\"\n", - "}\n", - "\n", - "\n", - "# parameters = {\n", - "# 'experiment_id': 'da044226-bd4b-4fb5-b358-2c781e031dad',\n", - "# }\n", - "\n", - "response = requests.get(url, headers=headers) # , data=json.dumps(parameters))\n", - "\n", - "# Print the response\n", - "print(\"Response:\")\n", - "print(response.status_code)" + "experiment.run_partial(temperature=0.5)\n", + "experiment.full_df" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { From ecb5644ed5bae0c4eaeabf12f4e25c7adec2eeed Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 1 Nov 2023 10:58:14 -0400 Subject: [PATCH 103/182] Reduce profile sample rate --- prompttools/sentry.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/prompttools/sentry.py b/prompttools/sentry.py index 18abbd36..f3dff61c 100644 --- a/prompttools/sentry.py +++ b/prompttools/sentry.py @@ -57,12 +57,14 @@ def init_sentry(): sentry_sdk.init( dsn=SENTRY_DSN, release=__version__, - traces_sample_rate=1, + traces_sample_rate=1.0, include_local_variables=False, send_default_pii=False, attach_stacktrace=False, before_send=filter_info, include_source_context=False, + # the rate at which transaction and performance data is sampled for profiling purposes + profiles_sample_rate=0.0, ) try: filename = os.path.join(os.environ.get("HOME", "/tmp"), ".token") From bdd1b11c81dc5e5b7a73311a89fa6d3fe0e032d3 Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 1 Nov 2023 11:20:05 -0400 Subject: [PATCH 104/182] Minor fixes --- prompttools/harness/chat_prompt_template_harness.py | 2 +- prompttools/harness/model_comparison_harness.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/prompttools/harness/chat_prompt_template_harness.py b/prompttools/harness/chat_prompt_template_harness.py index 6abec73c..c7b904eb 100644 --- a/prompttools/harness/chat_prompt_template_harness.py +++ b/prompttools/harness/chat_prompt_template_harness.py @@ -29,7 +29,7 @@ class ChatPromptTemplateExperimentationHarness(ExperimentationHarness): experiment (Type[Experiment]): The experiment constructor that you would like to execute within the harness (e.g. ``prompttools.experiment.OpenAICompletionExperiment``) model_name (str): The name of the model. - prompt_templates (List[str]): A list of prompt ``jinja``-styled templates. + message_templates (List[str]): A list of prompt ``jinja``-styled templates. user_inputs (List[Dict[str, str]]): A list of dictionaries representing user inputs. model_arguments (Optional[Dict[str, object]], optional): Additional arguments for the model. Defaults to ``None``. Note that the values are not lists. diff --git a/prompttools/harness/model_comparison_harness.py b/prompttools/harness/model_comparison_harness.py index 577fe9c0..ac4ec310 100644 --- a/prompttools/harness/model_comparison_harness.py +++ b/prompttools/harness/model_comparison_harness.py @@ -14,6 +14,7 @@ from IPython import display from tabulate import tabulate import logging +from copy import deepcopy class ModelComparisonHarness(ExperimentationHarness): @@ -41,7 +42,7 @@ def __init__( ): self.model_names = model_names self.system_prompts = system_prompts - self.model_arguments = model_arguments + self.model_arguments = deepcopy(model_arguments) self.user_messages = user_messages self.runs = runs self.experiments = [] From 6ef30459211197b5858843c3d0c428c17457c5c3 Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Fri, 3 Nov 2023 09:09:08 -0700 Subject: [PATCH 105/182] Version bump --- docs/source/conf.py | 2 +- prompttools/version.py | 4 ++-- pyproject.toml | 2 +- version.txt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 5cc11738..6b62e06d 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -11,7 +11,7 @@ project = "prompttools" copyright = "2023, Hegel AI" author = "Hegel AI" -release = "0.0.38" +release = "0.0.39" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/prompttools/version.py b/prompttools/version.py index 464b6921..a956d0b5 100644 --- a/prompttools/version.py +++ b/prompttools/version.py @@ -1,2 +1,2 @@ -__version__ = '0.0.38a0+fc1d83e' -git_version = 'fc1d83edea9163a1a50b9b76f4498c9564ce7a00' +__version__ = '0.0.39a0+2d66493' +git_version = '2d664931b45022e08606e12febeb2ed3f98f0796' diff --git a/pyproject.toml b/pyproject.toml index 5817bc81..284b1461 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "prompttools" -version = "0.0.38" +version = "0.0.39" authors = [ { name="Hegel AI", email="team@hegel-ai.com" }, ] diff --git a/version.txt b/version.txt index 71d96866..6195d6ed 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.0.38a0 +0.0.39a0 From 43aac189f2fe90cff918faeba850aa8844eb32e7 Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Fri, 3 Nov 2023 09:10:23 -0700 Subject: [PATCH 106/182] Version bump --- docs/source/conf.py | 2 +- prompttools/version.py | 4 ++-- pyproject.toml | 2 +- version.txt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 6b62e06d..219b606d 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -11,7 +11,7 @@ project = "prompttools" copyright = "2023, Hegel AI" author = "Hegel AI" -release = "0.0.39" +release = "0.0.40" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/prompttools/version.py b/prompttools/version.py index a956d0b5..63d216f0 100644 --- a/prompttools/version.py +++ b/prompttools/version.py @@ -1,2 +1,2 @@ -__version__ = '0.0.39a0+2d66493' -git_version = '2d664931b45022e08606e12febeb2ed3f98f0796' +__version__ = '0.0.40a0+e60cb9e' +git_version = 'e60cb9e454cdc78e1a790e1cd4e5e8d3f01773c3' diff --git a/pyproject.toml b/pyproject.toml index 284b1461..c1f19cdb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "prompttools" -version = "0.0.39" +version = "0.0.40" authors = [ { name="Hegel AI", email="team@hegel-ai.com" }, ] diff --git a/version.txt b/version.txt index 6195d6ed..123b52be 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.0.39a0 +0.0.40a0 From 6e6ef77d520abd969925039b5ababcd3c52fe679 Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 3 Nov 2023 14:41:24 -0400 Subject: [PATCH 107/182] Render system prompts in template as well --- prompttools/harness/chat_prompt_template_harness.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/prompttools/harness/chat_prompt_template_harness.py b/prompttools/harness/chat_prompt_template_harness.py index c7b904eb..5a48f725 100644 --- a/prompttools/harness/chat_prompt_template_harness.py +++ b/prompttools/harness/chat_prompt_template_harness.py @@ -15,7 +15,9 @@ def _render_messages_openai_chat(message_template: list[dict], user_input: dict, environment): rendered_message = deepcopy(message_template) + sys_msg_template = environment.from_string(rendered_message[0]["content"]) user_msg_template = environment.from_string(rendered_message[-1]["content"]) + rendered_message[0]["content"] = sys_msg_template.render(**user_input) rendered_message[-1]["content"] = user_msg_template.render(**user_input) return rendered_message @@ -29,7 +31,8 @@ class ChatPromptTemplateExperimentationHarness(ExperimentationHarness): experiment (Type[Experiment]): The experiment constructor that you would like to execute within the harness (e.g. ``prompttools.experiment.OpenAICompletionExperiment``) model_name (str): The name of the model. - message_templates (List[str]): A list of prompt ``jinja``-styled templates. + message_templates (List[str]): A list of prompt ``jinja``-styled templates. Each template should have two + messages inside (first system prompt and second a user message). user_inputs (List[Dict[str, str]]): A list of dictionaries representing user inputs. model_arguments (Optional[Dict[str, object]], optional): Additional arguments for the model. Defaults to ``None``. Note that the values are not lists. From 1d2c9c60bb42a49e9bbc0e2917f102d83746d788 Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Fri, 3 Nov 2023 16:41:41 -0700 Subject: [PATCH 108/182] Version bump --- docs/source/conf.py | 2 +- prompttools/version.py | 4 ++-- pyproject.toml | 2 +- version.txt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 219b606d..2530dcf1 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -11,7 +11,7 @@ project = "prompttools" copyright = "2023, Hegel AI" author = "Hegel AI" -release = "0.0.40" +release = "0.0.41" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/prompttools/version.py b/prompttools/version.py index 63d216f0..b713ca27 100644 --- a/prompttools/version.py +++ b/prompttools/version.py @@ -1,2 +1,2 @@ -__version__ = '0.0.40a0+e60cb9e' -git_version = 'e60cb9e454cdc78e1a790e1cd4e5e8d3f01773c3' +__version__ = '0.0.41a0+6e6ef77' +git_version = '6e6ef77d520abd969925039b5ababcd3c52fe679' diff --git a/pyproject.toml b/pyproject.toml index c1f19cdb..a314ece5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "prompttools" -version = "0.0.40" +version = "0.0.41" authors = [ { name="Hegel AI", email="team@hegel-ai.com" }, ] diff --git a/version.txt b/version.txt index 123b52be..4e731d9c 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.0.40a0 +0.0.41a0 From 354494713a7751bd3ab585e4d67ac4dfeb465fd6 Mon Sep 17 00:00:00 2001 From: Kevin Date: Sun, 5 Nov 2023 23:52:21 -0500 Subject: [PATCH 109/182] Allowing experiment name to be `None` when there is ID --- .../experiments/openai_chat_experiment.py | 22 ++++++++++++++++--- prompttools/harness/harness.py | 16 ++++++++++++-- .../harness/model_comparison_harness.py | 5 +++++ 3 files changed, 38 insertions(+), 5 deletions(-) diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index 2fdb5f95..0b3d1205 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -194,7 +194,13 @@ def _get_state(self): print("Creating state of experiment...") return state - def save_experiment(self, name: str): + def save_experiment(self, name: Optional[str] = None): + r""" + name (str, optional): Name of the experiment. This is optional if you have previously loaded an experiment + into this object. + """ + if name is None and self._experiment_id is None: + raise RuntimeError("Please provide a name for your experiment.") if self.full_df is None: raise RuntimeError("Cannot save empty experiment. Please run it first.") if os.environ["HEGELAI_API_KEY"] is None: @@ -214,6 +220,9 @@ def save_experiment(self, name: str): @classmethod def load_experiment(cls, experiment_id: str): + r""" + experiment_id (str): experiment ID of the experiment that you wish to load. + """ if os.environ["HEGELAI_API_KEY"] is None: raise PermissionError("Please set HEGELAI_API_KEY (e.g. os.environ['HEGELAI_API_KEY']).") @@ -234,6 +243,9 @@ def load_experiment(cls, experiment_id: str): @classmethod def load_revision(cls, revision_id: str): + r""" + revision_id (str): revision ID of the experiment that you wish to load. + """ if os.environ["HEGELAI_API_KEY"] is None: raise PermissionError("Please set HEGELAI_API_KEY (e.g. os.environ['HEGELAI_API_KEY']).") @@ -269,8 +281,12 @@ def _load_state(cls, state, experiment_id: str, revision_id: str, experiment_typ experiment.prompt_keys = prompt_keys experiment.all_args = all_args experiment.full_df = pd.DataFrame(full_df) - experiment.partial_df = experiment.full_df[state_params["partial_col_names"]].copy() - experiment.score_df = experiment.full_df[state_params["score_col_names"]].copy() + experiment.partial_df = ( + experiment.full_df[state_params["partial_col_names"]].copy() if experiment.full_df is not None else None + ) + experiment.score_df = ( + experiment.full_df[state_params["score_col_names"]].copy() if experiment.full_df is not None else None + ) experiment._experiment_id = experiment_id experiment._revision_id = revision_id print("Loaded experiment.") diff --git a/prompttools/harness/harness.py b/prompttools/harness/harness.py index 425fdfea..8f51040d 100644 --- a/prompttools/harness/harness.py +++ b/prompttools/harness/harness.py @@ -4,7 +4,7 @@ # This source code's license can be found in the # LICENSE file in the root directory of this source tree. -from typing import Callable +from typing import Callable, Optional from prompttools.experiment import Experiment @@ -89,7 +89,13 @@ def _get_state(self): def _load_state(cls, state, experiment_id: str, revision_id: str, experiment_type_str: str): raise NotImplementedError("Should be implemented by specific harness class.") - def save_experiment(self, name: str): + def save_experiment(self, name: Optional[str] = None): + r""" + name (str, optional): Name of the experiment. This is optional if you have previously loaded an experiment + into this object. + """ + if name is None and self._experiment_id is None: + raise RuntimeError("Please provide a name for your experiment.") if self.full_df is None: raise RuntimeError("Cannot save empty experiment. Please run it first.") if os.environ["HEGELAI_API_KEY"] is None: @@ -109,6 +115,9 @@ def save_experiment(self, name: str): @classmethod def load_experiment(cls, experiment_id: str): + r""" + experiment_id (str): experiment ID of the experiment that you wish to load. + """ if os.environ["HEGELAI_API_KEY"] is None: raise PermissionError("Please set HEGELAI_API_KEY (e.g. os.environ['HEGELAI_API_KEY']).") @@ -129,6 +138,9 @@ def load_experiment(cls, experiment_id: str): @classmethod def load_revision(cls, revision_id: str): + r""" + revision_id (str): revision ID of the experiment that you wish to load. + """ if os.environ["HEGELAI_API_KEY"] is None: raise PermissionError("Please set HEGELAI_API_KEY (e.g. os.environ['HEGELAI_API_KEY']).") diff --git a/prompttools/harness/model_comparison_harness.py b/prompttools/harness/model_comparison_harness.py index ac4ec310..3ea3ad89 100644 --- a/prompttools/harness/model_comparison_harness.py +++ b/prompttools/harness/model_comparison_harness.py @@ -172,6 +172,11 @@ def _load_state(cls, state, experiment_id: str, revision_id: str, experiment_typ model_arguments = state_params["model_arguments"] child_experiment_states = state_params["child_experiment_states"] + for i, state in enumerate(child_experiment_states): + print(f"{i = }") + print(f"{state[0] = }") + print(f"{state[1] = }") + harness = cls(model_names, system_prompts, user_messages, model_arguments) harness.experiments = [ OpenAIChatExperiment._load_state(state, None, None, OpenAIChatExperiment._experiment_type) From 4c6f804a1170e2445f68e4ab166d5e6ef5d4057c Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 7 Nov 2023 23:59:18 -0500 Subject: [PATCH 110/182] Adding `seed` to OpenAI Chat --- .../experiment/experiments/openai_chat_experiment.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index 0b3d1205..066a1db6 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -85,6 +85,12 @@ class OpenAIChatExperiment(Experiment): Defaults to [None]. A dictionary containing the name and arguments of a function that should be called, s generated by the model. + seed (list[Optional[int]]): + This feature is in Beta. If specified, our system will make a best effort to sample deterministically, + such that repeated requests with the same `seed` and parameters should return the same result. + Determinism is not guaranteed, and you should refer to the `system_fingerprint` response parameter to + monitor changes in the backend. + azure_openai_service_configs (Optional[dict]): Defaults to ``None``. If it is set, the experiment will use Azure OpenAI Service. The input dict should contain these 3 keys (but with values based on your use case and configuration): @@ -107,6 +113,7 @@ def __init__( presence_penalty: Optional[List[float]] = [0.0], frequency_penalty: Optional[List[float]] = [0.0], logit_bias: Optional[List[Dict]] = [None], + seed: List[Optional[int]] = [None], functions: Optional[List[Dict]] = [None], function_call: Optional[List[Dict[str, str]]] = [None], azure_openai_service_configs: Optional[dict] = None, @@ -143,6 +150,7 @@ def __init__( presence_penalty=presence_penalty, frequency_penalty=frequency_penalty, logit_bias=logit_bias, + seed=seed, ) # These parameters aren't supported by `gpt-35-turbo`, we can remove them if they are equal to defaults @@ -372,6 +380,7 @@ def run_one( presence_penalty: Optional[float] = 0.0, frequency_penalty: Optional[float] = 0.0, logit_bias: Optional[Dict] = None, + seed: Optional[int] = None, functions: Optional[Dict] = None, function_call: Optional[Dict[str, str]] = None, ): @@ -392,6 +401,7 @@ def run_one( "presence_penalty": presence_penalty, "frequency_penalty": frequency_penalty, "logit_bias": logit_bias, + "seed": seed, "functions": functions, "function_call": function_call, } From d0888fbcb07cc6c18f7cafd00bf017f35d00dce4 Mon Sep 17 00:00:00 2001 From: Kevin Tse Date: Wed, 8 Nov 2023 00:44:10 -0500 Subject: [PATCH 111/182] Updating OpenAI experiments to use the latest APIs (#104) --- examples/prompttests/test_openai_chat.py | 14 +++++++++----- .../experiments/openai_chat_experiment.py | 12 ++++++------ .../experiments/openai_completion_experiment.py | 6 +++--- prompttools/requests/request_queue.py | 2 +- prompttools/requests/retries.py | 12 +++++++----- prompttools/utils/autoeval.py | 7 ++++--- prompttools/utils/autoeval_from_expected.py | 8 +++++--- prompttools/utils/autoeval_with_docs.py | 9 ++++++--- prompttools/utils/expected.py | 9 ++++++--- 9 files changed, 47 insertions(+), 32 deletions(-) diff --git a/examples/prompttests/test_openai_chat.py b/examples/prompttests/test_openai_chat.py index 9d67ac28..c21a73be 100644 --- a/examples/prompttests/test_openai_chat.py +++ b/examples/prompttests/test_openai_chat.py @@ -5,7 +5,7 @@ # LICENSE file in the root directory of this source tree. import os -import openai +from openai import OpenAI import jinja2 from prompttools import prompttest from prompttools.prompttest.threshold_type import ThresholdType @@ -13,6 +13,10 @@ from prompttools.utils import validate_json from prompttools.mock.mock import mock_openai_completion_fn + +client = OpenAI() + + if not (("OPENAI_API_KEY" in os.environ) or ("DEBUG" in os.environ)): print("Error: This example requires you to set either your OPENAI_API_KEY or DEBUG=1") exit(1) @@ -44,8 +48,8 @@ def json_completion_fn(prompt: str): if os.getenv("DEBUG", default=False): response = mock_openai_completion_fn(**{"prompt": prompt}) else: - response = openai.Completion.create(prompt) - return response["choices"][0]["text"] + response = client.completions.create(model="babbage-002", prompt=prompt) + return response.choices[0].text @prompttest.prompttest( @@ -61,8 +65,8 @@ def completion_fn(prompt: str): if os.getenv("DEBUG", default=False): response = mock_openai_completion_fn(**{"prompt": prompt}) else: - response = openai.Completion.create(prompt) - return response["choices"][0]["text"] + response = client.completions.create(prompt) + return response.choices[0].text if __name__ == "__main__": diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index 066a1db6..07a6b5ca 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -118,7 +118,7 @@ def __init__( function_call: Optional[List[Dict[str, str]]] = [None], azure_openai_service_configs: Optional[dict] = None, ): - self.completion_fn = openai.ChatCompletion.create + self.completion_fn = openai.chat.completions.create if os.getenv("DEBUG", default=False): if functions[0] is not None: self.completion_fn = mock_openai_chat_function_completion_fn @@ -169,12 +169,12 @@ def __init__( super().__init__() @staticmethod - def _extract_responses(output: Dict[str, object]) -> str: - message = output["choices"][0]["message"] - if "function_call" in message: - return json.dumps(json.loads(message["function_call"]["arguments"])) + def _extract_responses(output: openai.types.Completion) -> str: + message = output.choices[0].message + if hasattr(message, "function_call"): + return json.dumps(json.loads(message.function_call.arguments)) else: - return message["content"] + return message.content @staticmethod def _is_chat(): diff --git a/prompttools/experiment/experiments/openai_completion_experiment.py b/prompttools/experiment/experiments/openai_completion_experiment.py index f04a2e1f..23546cf8 100644 --- a/prompttools/experiment/experiments/openai_completion_experiment.py +++ b/prompttools/experiment/experiments/openai_completion_experiment.py @@ -108,7 +108,7 @@ def __init__( logit_bias: Optional[Dict] = [None], azure_openai_service_configs: Optional[dict] = None, ): - self.completion_fn = openai.Completion.create + self.completion_fn = openai.completions.create if os.getenv("DEBUG", default=False): self.completion_fn = mock_openai_completion_fn @@ -161,8 +161,8 @@ def __init__( super().__init__() @staticmethod - def _extract_responses(output: Dict[str, object]) -> list[str]: - return [choice["text"] for choice in output["choices"]][0] + def _extract_responses(output: openai.types.Completion) -> list[str]: + return [choice.text for choice in output.choices][0] def _get_model_names(self): return [combo["model"] for combo in self.argument_combos] diff --git a/prompttools/requests/request_queue.py b/prompttools/requests/request_queue.py index 0f29c00a..ced95a6c 100644 --- a/prompttools/requests/request_queue.py +++ b/prompttools/requests/request_queue.py @@ -50,7 +50,7 @@ def _do_task(self, fn: Callable, args: Dict[str, object]) -> None: self.request_results.append(res[0]) self.request_latencies.append(res[1]) # TODO: If we get an unexpected error here, the queue will hang - except openai.error.AuthenticationError: + except openai.AuthenticationError: logging.error("Authentication error. Skipping request.") @retry_decorator diff --git a/prompttools/requests/retries.py b/prompttools/requests/retries.py index 27bf52a3..5745c862 100644 --- a/prompttools/requests/retries.py +++ b/prompttools/requests/retries.py @@ -32,11 +32,13 @@ def generate_retry_decorator(wait_lower_bound: int = 3, wait_upper_bound: int = stop=stop_after_attempt(max_retry_attempts), reraise=True, retry=( # Retry for these specific exceptions - retry_if_exception_type(openai.error.APIConnectionError) - | retry_if_exception_type(openai.error.APIError) - | retry_if_exception_type(openai.error.RateLimitError) - | retry_if_exception_type(openai.error.ServiceUnavailableError) - | retry_if_exception_type(openai.error.Timeout) + retry_if_exception_type(openai.APIConnectionError) + | retry_if_exception_type(openai.APIError) + | retry_if_exception_type(openai.RateLimitError) + | retry_if_exception_type(openai.APIStatusError) + | retry_if_exception_type(openai.APIConnectionError) + | retry_if_exception_type(openai.APIResponseValidationError) + | retry_if_exception_type(openai.APITimeoutError) ), before_sleep=before_sleep_log(logging.getLogger(__name__), logging.WARNING), ) diff --git a/prompttools/utils/autoeval.py b/prompttools/utils/autoeval.py index 58d3fc74..9cd3d956 100644 --- a/prompttools/utils/autoeval.py +++ b/prompttools/utils/autoeval.py @@ -7,7 +7,7 @@ import os from typing import Dict -import openai +from openai import OpenAI import pandas.core.series import jinja2 from .error import PromptToolsUtilityError @@ -23,6 +23,7 @@ RESPONSE: {{response}} ANSWER: """ +client = OpenAI() def _get_messages(prompt: str, response: str): @@ -48,8 +49,8 @@ def compute(prompt: str, response: str, model: str = "gpt-4") -> float: """ if not os.environ["OPENAI_API_KEY"]: raise PromptToolsUtilityError - evaluation = openai.ChatCompletion.create(model=model, messages=_get_messages(prompt, response)) - return 1.0 if "RIGHT" in evaluation["choices"][0]["message"]["content"] else 0.0 + evaluation = client.chat.completions.create(model=model, messages=_get_messages(prompt, response)) + return 1.0 if "RIGHT" in evaluation.choices[0].message.content else 0.0 def evaluate(prompt: str, response: str, _metadata: Dict) -> float: diff --git a/prompttools/utils/autoeval_from_expected.py b/prompttools/utils/autoeval_from_expected.py index 88618e0f..cb16b39c 100644 --- a/prompttools/utils/autoeval_from_expected.py +++ b/prompttools/utils/autoeval_from_expected.py @@ -6,7 +6,7 @@ import os -import openai +from openai import OpenAI import jinja2 import pandas from .error import PromptToolsUtilityError @@ -27,6 +27,8 @@ ANSWER: """ +client = OpenAI() + def _get_messages(prompt: str, expected: str, response: str): environment = jinja2.Environment() @@ -51,8 +53,8 @@ def compute(prompt: str, expected: str, response: str, model: str = "gpt-4") -> """ if not os.environ["OPENAI_API_KEY"]: raise PromptToolsUtilityError("Missing API key for evaluation.") - evaluation = openai.ChatCompletion.create(model=model, messages=_get_messages(prompt, expected, response)) - return 1.0 if "RIGHT" in evaluation["choices"][0]["message"]["content"] else 0.0 + evaluation = client.chat.completions.create(model=model, messages=_get_messages(prompt, expected, response)) + return 1.0 if "RIGHT" in evaluation.choices[0].message.content else 0.0 def evaluate(prompt: str, response: str, metadata: dict, expected: str) -> float: diff --git a/prompttools/utils/autoeval_with_docs.py b/prompttools/utils/autoeval_with_docs.py index f92d11db..0cbd6963 100644 --- a/prompttools/utils/autoeval_with_docs.py +++ b/prompttools/utils/autoeval_with_docs.py @@ -6,7 +6,7 @@ import os -import openai +from openai import OpenAI import pandas.core.series import jinja2 from .error import PromptToolsUtilityError @@ -27,6 +27,9 @@ """ +client = OpenAI() + + def _get_messages(documents: list[str], response: str): environment = jinja2.Environment() template = environment.from_string(EVALUATION_USER_TEMPLATE) @@ -49,8 +52,8 @@ def compute(documents: list[str], response: str, model: str = "gpt-4") -> float: """ if not os.environ["OPENAI_API_KEY"]: raise PromptToolsUtilityError - evaluation = openai.ChatCompletion.create(model=model, messages=_get_messages(documents, response)) - score_text = evaluation["choices"][0]["message"]["content"] + evaluation = client.chat.completions.create(model=model, messages=_get_messages(documents, response)) + score_text = evaluation.choices[0].message.content return int(score_text) diff --git a/prompttools/utils/expected.py b/prompttools/utils/expected.py index 0a527d0f..aa2e07c5 100644 --- a/prompttools/utils/expected.py +++ b/prompttools/utils/expected.py @@ -6,12 +6,15 @@ import os -import openai +from openai import OpenAI import pandas.core.series from .error import PromptToolsUtilityError from . import similarity +client = OpenAI() + + def compute(prompt: str, model: str = "gpt-4") -> str: r""" Computes the expected result of a given prompt by using a high @@ -24,8 +27,8 @@ def compute(prompt: str, model: str = "gpt-4") -> str: """ if not os.environ["OPENAI_API_KEY"]: raise PromptToolsUtilityError - response = openai.ChatCompletion.create(model=model, prompt=prompt) - return response["choices"][0]["message"]["content"] + response = client.chat.completions.create(model=model, prompt=prompt) + return response.choices[0].message.content def evaluate(prompt: str, response: str, model: str = "gpt-4") -> str: From bc5bb98c6a39eb5e3582cda04bfcdaedcc622a15 Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 8 Nov 2023 00:51:36 -0500 Subject: [PATCH 112/182] Adding OpenAI response format argument --- .../experiment/experiments/openai_chat_experiment.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index 07a6b5ca..a8a8ecae 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -85,6 +85,10 @@ class OpenAIChatExperiment(Experiment): Defaults to [None]. A dictionary containing the name and arguments of a function that should be called, s generated by the model. + response_format (list[Optional[dict]]): + Setting to `{ type: "json_object" }` enables JSON mode, which guarantees the message + the model generates is valid JSON. + seed (list[Optional[int]]): This feature is in Beta. If specified, our system will make a best effort to sample deterministically, such that repeated requests with the same `seed` and parameters should return the same result. @@ -113,6 +117,7 @@ def __init__( presence_penalty: Optional[List[float]] = [0.0], frequency_penalty: Optional[List[float]] = [0.0], logit_bias: Optional[List[Dict]] = [None], + response_format: List[Optional[Dict]] = [None], seed: List[Optional[int]] = [None], functions: Optional[List[Dict]] = [None], function_call: Optional[List[Dict[str, str]]] = [None], @@ -151,6 +156,7 @@ def __init__( frequency_penalty=frequency_penalty, logit_bias=logit_bias, seed=seed, + response_format=response_format, ) # These parameters aren't supported by `gpt-35-turbo`, we can remove them if they are equal to defaults @@ -380,6 +386,7 @@ def run_one( presence_penalty: Optional[float] = 0.0, frequency_penalty: Optional[float] = 0.0, logit_bias: Optional[Dict] = None, + response_format: Optional[dict] = None, seed: Optional[int] = None, functions: Optional[Dict] = None, function_call: Optional[Dict[str, str]] = None, @@ -401,6 +408,7 @@ def run_one( "presence_penalty": presence_penalty, "frequency_penalty": frequency_penalty, "logit_bias": logit_bias, + "response_format": response_format, "seed": seed, "functions": functions, "function_call": function_call, From 57ec4d4fcb77ae0edc5bfc0411a4932e5ba4e022 Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 8 Nov 2023 01:27:12 -0500 Subject: [PATCH 113/182] Fix mock functions --- prompttools/mock/mock.py | 142 ++++++++++++++++++++++++--------------- 1 file changed, 89 insertions(+), 53 deletions(-) diff --git a/prompttools/mock/mock.py b/prompttools/mock/mock.py index d574f234..6e4b8867 100644 --- a/prompttools/mock/mock.py +++ b/prompttools/mock/mock.py @@ -15,66 +15,102 @@ cv2 = None +class DotDict(dict): + r""" + Have dot access to dictionary attributes + """ + __setattr__ = dict.__setitem__ + __delattr__ = dict.__delitem__ + + def __getattr__(self, key): + try: + val = self.get(key) + if val is None: # Doesn't support `None` as value + raise KeyError + else: + return val + except KeyError: + raise AttributeError(f"'{self.__class__.__name__}' object has no attribute '{key}'") + + def mock_openai_chat_completion_fn(**kwargs): - return { - "choices": [ - { - "finish_reason": "stop", - "index": 0, - "message": { - "content": "George Washington", - "role": "assistant", - }, - } - ], - "created": 1687839008, - "id": "", - "model": "gpt-3.5-turbo-0301", - "object": "chat.completion", - "usage": {"completion_tokens": 18, "prompt_tokens": 57, "total_tokens": 75}, - } + return DotDict( + { + "choices": [ + DotDict( + { + "finish_reason": "stop", + "index": 0, + "message": DotDict( + { + "content": "George Washington", + "role": "assistant", + } + ), + } + ) + ], + "created": 1687839008, + "id": "", + "model": "gpt-3.5-turbo-0301", + "object": "chat.completion", + "usage": DotDict({"completion_tokens": 18, "prompt_tokens": 57, "total_tokens": 75}), + } + ) def mock_openai_chat_function_completion_fn(**kwargs): - return { - "choices": [ - { - "finish_reason": "stop", - "index": 0, - "message": { - "role": "assistant", - "content": None, - "function_call": { - "name": "get_current_weather", - "arguments": '{\n "location": "Toronto, Canada",\n "format": "celsius"\n}', - }, - }, - } - ], - "created": 1687839008, - "id": "", - "model": "gpt-3.5-turbo-0301", - "object": "chat.completion", - "usage": {"completion_tokens": 18, "prompt_tokens": 57, "total_tokens": 75}, - } + return DotDict( + { + "choices": [ + DotDict( + { + "finish_reason": "stop", + "index": 0, + "message": DotDict( + { + "role": "assistant", + "content": None, + "function_call": DotDict( + { + "name": "get_current_weather", + "arguments": '{\n "location": "Toronto, Canada",\n "format": "celsius"\n}', + } + ), + } + ), + } + ) + ], + "created": 1687839008, + "id": "", + "model": "gpt-3.5-turbo-0301", + "object": "chat.completion", + "usage": DotDict({"completion_tokens": 18, "prompt_tokens": 57, "total_tokens": 75}), + } + ) def mock_openai_completion_fn(**kwargs): - return { - "id": "", - "object": "text_completion", - "created": 1589478378, - "model": "text-davinci-003", - "choices": [ - { - "text": json.dumps({"text": "George Washington"}), - "index": 0, - "logprobs": None, - "finish_reason": "length", - } - ], - "usage": {"prompt_tokens": 5, "completion_tokens": 7, "total_tokens": 12}, - } + return DotDict( + { + "id": "", + "object": "text_completion", + "created": 1589478378, + "model": "text-davinci-003", + "choices": [ + DotDict( + { + "text": json.dumps({"text": "George Washington"}), + "index": 0, + "logprobs": None, + "finish_reason": "length", + } + ) + ], + "usage": DotDict({"prompt_tokens": 5, "completion_tokens": 7, "total_tokens": 12}), + } + ) def mock_hf_completion_fn(**kwargs): From e7655ad9827295356a3c5407aff486a5ac935497 Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 8 Nov 2023 01:32:57 -0500 Subject: [PATCH 114/182] Fix OpenAI client init --- examples/prompttests/test_openai_chat.py | 5 ++--- prompttools/utils/autoeval.py | 2 +- prompttools/utils/autoeval_from_expected.py | 5 +++-- prompttools/utils/autoeval_with_docs.py | 4 +--- prompttools/utils/expected.py | 4 +--- 5 files changed, 8 insertions(+), 12 deletions(-) diff --git a/examples/prompttests/test_openai_chat.py b/examples/prompttests/test_openai_chat.py index c21a73be..47f71aae 100644 --- a/examples/prompttests/test_openai_chat.py +++ b/examples/prompttests/test_openai_chat.py @@ -14,9 +14,6 @@ from prompttools.mock.mock import mock_openai_completion_fn -client = OpenAI() - - if not (("OPENAI_API_KEY" in os.environ) or ("DEBUG" in os.environ)): print("Error: This example requires you to set either your OPENAI_API_KEY or DEBUG=1") exit(1) @@ -48,6 +45,7 @@ def json_completion_fn(prompt: str): if os.getenv("DEBUG", default=False): response = mock_openai_completion_fn(**{"prompt": prompt}) else: + client = OpenAI() response = client.completions.create(model="babbage-002", prompt=prompt) return response.choices[0].text @@ -65,6 +63,7 @@ def completion_fn(prompt: str): if os.getenv("DEBUG", default=False): response = mock_openai_completion_fn(**{"prompt": prompt}) else: + client = OpenAI() response = client.completions.create(prompt) return response.choices[0].text diff --git a/prompttools/utils/autoeval.py b/prompttools/utils/autoeval.py index 9cd3d956..2dc41674 100644 --- a/prompttools/utils/autoeval.py +++ b/prompttools/utils/autoeval.py @@ -23,7 +23,6 @@ RESPONSE: {{response}} ANSWER: """ -client = OpenAI() def _get_messages(prompt: str, response: str): @@ -49,6 +48,7 @@ def compute(prompt: str, response: str, model: str = "gpt-4") -> float: """ if not os.environ["OPENAI_API_KEY"]: raise PromptToolsUtilityError + client = OpenAI() evaluation = client.chat.completions.create(model=model, messages=_get_messages(prompt, response)) return 1.0 if "RIGHT" in evaluation.choices[0].message.content else 0.0 diff --git a/prompttools/utils/autoeval_from_expected.py b/prompttools/utils/autoeval_from_expected.py index cb16b39c..8dcdf616 100644 --- a/prompttools/utils/autoeval_from_expected.py +++ b/prompttools/utils/autoeval_from_expected.py @@ -27,8 +27,6 @@ ANSWER: """ -client = OpenAI() - def _get_messages(prompt: str, expected: str, response: str): environment = jinja2.Environment() @@ -53,6 +51,9 @@ def compute(prompt: str, expected: str, response: str, model: str = "gpt-4") -> """ if not os.environ["OPENAI_API_KEY"]: raise PromptToolsUtilityError("Missing API key for evaluation.") + global client + if client is None: + client = OpenAI() evaluation = client.chat.completions.create(model=model, messages=_get_messages(prompt, expected, response)) return 1.0 if "RIGHT" in evaluation.choices[0].message.content else 0.0 diff --git a/prompttools/utils/autoeval_with_docs.py b/prompttools/utils/autoeval_with_docs.py index 0cbd6963..f7962a91 100644 --- a/prompttools/utils/autoeval_with_docs.py +++ b/prompttools/utils/autoeval_with_docs.py @@ -27,9 +27,6 @@ """ -client = OpenAI() - - def _get_messages(documents: list[str], response: str): environment = jinja2.Environment() template = environment.from_string(EVALUATION_USER_TEMPLATE) @@ -52,6 +49,7 @@ def compute(documents: list[str], response: str, model: str = "gpt-4") -> float: """ if not os.environ["OPENAI_API_KEY"]: raise PromptToolsUtilityError + client = OpenAI() evaluation = client.chat.completions.create(model=model, messages=_get_messages(documents, response)) score_text = evaluation.choices[0].message.content return int(score_text) diff --git a/prompttools/utils/expected.py b/prompttools/utils/expected.py index aa2e07c5..6d8244dc 100644 --- a/prompttools/utils/expected.py +++ b/prompttools/utils/expected.py @@ -12,9 +12,6 @@ from . import similarity -client = OpenAI() - - def compute(prompt: str, model: str = "gpt-4") -> str: r""" Computes the expected result of a given prompt by using a high @@ -27,6 +24,7 @@ def compute(prompt: str, model: str = "gpt-4") -> str: """ if not os.environ["OPENAI_API_KEY"]: raise PromptToolsUtilityError + client = OpenAI() response = client.chat.completions.create(model=model, prompt=prompt) return response.choices[0].message.content From f1fcb37cf2be49d5e62bbea90da083c42b0e95c5 Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 8 Nov 2023 10:12:01 -0500 Subject: [PATCH 115/182] Update doc with new API --- docs/source/testing.rst | 4 ++-- docs/source/usage.rst | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/source/testing.rst b/docs/source/testing.rst index a53c04e7..cfb83f7d 100644 --- a/docs/source/testing.rst +++ b/docs/source/testing.rst @@ -24,8 +24,8 @@ so you can test prompts over time. For example: if os.getenv("DEBUG", default=False): response = mock_openai_completion_fn(**{"prompt": prompt}) else: - response = openai.Completion.create(prompt) - return response["choices"][0]["text"] + response = openai.completions.create(prompt) + return response.choices[0].text In the file, be sure to call the ``main()`` method of ``prompttest`` like you would for ``unittest``. diff --git a/docs/source/usage.rst b/docs/source/usage.rst index 7e211030..cb978821 100644 --- a/docs/source/usage.rst +++ b/docs/source/usage.rst @@ -27,17 +27,17 @@ evaluation function: pass prompt_templates = [ - "Answer the following question: {{input}}", + "Answer the following question: {{input}}", "Respond the following query: {{input}}" ] user_inputs = [ - {"input": "Who was the first president?"}, + {"input": "Who was the first president?"}, {"input": "Who was the first president of India?"} ] - harness = PromptTemplateExperimentationHarness("text-davinci-003", - prompt_templates, + harness = PromptTemplateExperimentationHarness("text-davinci-003", + prompt_templates, user_inputs) @@ -93,8 +93,8 @@ so you can test prompts over time. For example: if os.getenv("DEBUG", default=False): response = mock_openai_completion_fn(**{"prompt": prompt}) else: - response = openai.Completion.create(prompt) - return response["choices"][0]["text"] + response = openai.completions.create(prompt) + return response.choices[0].text The evaluation functions should accept one of the following as it's parameters: From 702d95863a7bb427e7c7147c1ca1b9a641ba12ef Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 8 Nov 2023 10:28:48 -0500 Subject: [PATCH 116/182] Fix expected eval function --- prompttools/utils/expected.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/prompttools/utils/expected.py b/prompttools/utils/expected.py index 6d8244dc..f9095e00 100644 --- a/prompttools/utils/expected.py +++ b/prompttools/utils/expected.py @@ -25,7 +25,12 @@ def compute(prompt: str, model: str = "gpt-4") -> str: if not os.environ["OPENAI_API_KEY"]: raise PromptToolsUtilityError client = OpenAI() - response = client.chat.completions.create(model=model, prompt=prompt) + response = client.chat.completions.create( + model=model, + messages=[ + {"role": "user", "content": prompt}, + ], + ) return response.choices[0].message.content From 9e5896d5c21ba1cfd9e05023e51d9b0514857833 Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 8 Nov 2023 10:30:19 -0500 Subject: [PATCH 117/182] Use global client for eval --- examples/prompttests/test_openai_chat.py | 10 +++------- prompttools/utils/autoeval.py | 5 ++--- prompttools/utils/autoeval_from_expected.py | 7 ++----- prompttools/utils/autoeval_with_docs.py | 5 ++--- prompttools/utils/expected.py | 5 ++--- 5 files changed, 11 insertions(+), 21 deletions(-) diff --git a/examples/prompttests/test_openai_chat.py b/examples/prompttests/test_openai_chat.py index 47f71aae..9aae33e9 100644 --- a/examples/prompttests/test_openai_chat.py +++ b/examples/prompttests/test_openai_chat.py @@ -5,7 +5,7 @@ # LICENSE file in the root directory of this source tree. import os -from openai import OpenAI +import openai import jinja2 from prompttools import prompttest from prompttools.prompttest.threshold_type import ThresholdType @@ -41,12 +41,10 @@ def create_prompt(): prompts=[create_json_prompt()], ) def json_completion_fn(prompt: str): - response = None if os.getenv("DEBUG", default=False): response = mock_openai_completion_fn(**{"prompt": prompt}) else: - client = OpenAI() - response = client.completions.create(model="babbage-002", prompt=prompt) + response = openai.completions.create(model="babbage-002", prompt=prompt) return response.choices[0].text @@ -59,12 +57,10 @@ def json_completion_fn(prompt: str): threshold_type=ThresholdType.MAXIMUM, ) def completion_fn(prompt: str): - response = None if os.getenv("DEBUG", default=False): response = mock_openai_completion_fn(**{"prompt": prompt}) else: - client = OpenAI() - response = client.completions.create(prompt) + response = openai.completions.create(model="babbage-002", prompt=prompt) return response.choices[0].text diff --git a/prompttools/utils/autoeval.py b/prompttools/utils/autoeval.py index 2dc41674..4eb9b86e 100644 --- a/prompttools/utils/autoeval.py +++ b/prompttools/utils/autoeval.py @@ -7,7 +7,7 @@ import os from typing import Dict -from openai import OpenAI +import openai import pandas.core.series import jinja2 from .error import PromptToolsUtilityError @@ -48,8 +48,7 @@ def compute(prompt: str, response: str, model: str = "gpt-4") -> float: """ if not os.environ["OPENAI_API_KEY"]: raise PromptToolsUtilityError - client = OpenAI() - evaluation = client.chat.completions.create(model=model, messages=_get_messages(prompt, response)) + evaluation = openai.chat.completions.create(model=model, messages=_get_messages(prompt, response)) return 1.0 if "RIGHT" in evaluation.choices[0].message.content else 0.0 diff --git a/prompttools/utils/autoeval_from_expected.py b/prompttools/utils/autoeval_from_expected.py index 8dcdf616..d8c692c0 100644 --- a/prompttools/utils/autoeval_from_expected.py +++ b/prompttools/utils/autoeval_from_expected.py @@ -6,7 +6,7 @@ import os -from openai import OpenAI +import openai import jinja2 import pandas from .error import PromptToolsUtilityError @@ -51,10 +51,7 @@ def compute(prompt: str, expected: str, response: str, model: str = "gpt-4") -> """ if not os.environ["OPENAI_API_KEY"]: raise PromptToolsUtilityError("Missing API key for evaluation.") - global client - if client is None: - client = OpenAI() - evaluation = client.chat.completions.create(model=model, messages=_get_messages(prompt, expected, response)) + evaluation = openai.chat.completions.create(model=model, messages=_get_messages(prompt, expected, response)) return 1.0 if "RIGHT" in evaluation.choices[0].message.content else 0.0 diff --git a/prompttools/utils/autoeval_with_docs.py b/prompttools/utils/autoeval_with_docs.py index f7962a91..7abd4c39 100644 --- a/prompttools/utils/autoeval_with_docs.py +++ b/prompttools/utils/autoeval_with_docs.py @@ -6,7 +6,7 @@ import os -from openai import OpenAI +import openai import pandas.core.series import jinja2 from .error import PromptToolsUtilityError @@ -49,8 +49,7 @@ def compute(documents: list[str], response: str, model: str = "gpt-4") -> float: """ if not os.environ["OPENAI_API_KEY"]: raise PromptToolsUtilityError - client = OpenAI() - evaluation = client.chat.completions.create(model=model, messages=_get_messages(documents, response)) + evaluation = openai.chat.completions.create(model=model, messages=_get_messages(documents, response)) score_text = evaluation.choices[0].message.content return int(score_text) diff --git a/prompttools/utils/expected.py b/prompttools/utils/expected.py index f9095e00..b898c0a9 100644 --- a/prompttools/utils/expected.py +++ b/prompttools/utils/expected.py @@ -6,7 +6,7 @@ import os -from openai import OpenAI +import openai import pandas.core.series from .error import PromptToolsUtilityError from . import similarity @@ -24,8 +24,7 @@ def compute(prompt: str, model: str = "gpt-4") -> str: """ if not os.environ["OPENAI_API_KEY"]: raise PromptToolsUtilityError - client = OpenAI() - response = client.chat.completions.create( + response = openai.chat.completions.create( model=model, messages=[ {"role": "user", "content": prompt}, From f04af3f5ebd7f3f99b4d58770f3a37641f4962dc Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 9 Nov 2023 12:41:54 -0500 Subject: [PATCH 118/182] Fix OpenAI function call extract condition --- prompttools/experiment/experiments/openai_chat_experiment.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index a8a8ecae..e153fa62 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -177,7 +177,7 @@ def __init__( @staticmethod def _extract_responses(output: openai.types.Completion) -> str: message = output.choices[0].message - if hasattr(message, "function_call"): + if hasattr(message, "function_call") and message.function_call is not None: return json.dumps(json.loads(message.function_call.arguments)) else: return message.content From acaff26bdf33d106b3d05d5cc296f2fa4c0cf085 Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 9 Nov 2023 12:42:13 -0500 Subject: [PATCH 119/182] Dump OpenAI results as dict --- prompttools/experiment/experiments/experiment.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/prompttools/experiment/experiments/experiment.py b/prompttools/experiment/experiments/experiment.py index 41ee2d5f..deaf5996 100644 --- a/prompttools/experiment/experiments/experiment.py +++ b/prompttools/experiment/experiments/experiment.py @@ -250,6 +250,10 @@ def _construct_result_dfs( result_df = response_df else: # Handle the case where `input_arg_df` has the same column names as `result_df` + try: + results = [r.model_dump() for r in results] # For turing OpenAI response in to dict + except Exception: + pass result_df = pd.DataFrame(results) common_columns = set(input_arg_df.columns) & set(result_df.columns) result_df = result_df.add_prefix("response_") if common_columns else result_df From 1345ed0a109b81d77420e6d9bf6bd5abe641f9aa Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 9 Nov 2023 14:02:47 -0500 Subject: [PATCH 120/182] Update visualization for harnesses --- .../harness/chat_prompt_template_harness.py | 35 ++++++++++++++++++ .../harness/model_comparison_harness.py | 24 +++++++++---- prompttools/harness/system_prompt_harness.py | 36 +++++++++++++++++++ 3 files changed, 89 insertions(+), 6 deletions(-) diff --git a/prompttools/harness/chat_prompt_template_harness.py b/prompttools/harness/chat_prompt_template_harness.py index 5a48f725..af735462 100644 --- a/prompttools/harness/chat_prompt_template_harness.py +++ b/prompttools/harness/chat_prompt_template_harness.py @@ -11,6 +11,10 @@ from .harness import ExperimentationHarness, Experiment from typing import Optional from copy import deepcopy +from .utility import is_interactive +from IPython import display +from tabulate import tabulate +import logging def _render_messages_openai_chat(message_template: list[dict], user_input: dict, environment): @@ -95,6 +99,37 @@ def run(self): self.experiment.partial_df.reset_index(drop=True, inplace=True) self.experiment.partial_df = pd.concat([user_input_df, self.experiment.partial_df], axis=1) + def get_table(self, get_all_cols: bool = False) -> pd.DataFrame: + columns_to_hide = [ + "stream", + "response_id", + "response_choices", + "response_created", + "response_created", + "response_object", + "response_model", + "response_system_fingerprint", + "revision_id", + "log_id", + ] + + if get_all_cols: + return self.full_df + else: + table = self.full_df + for col in columns_to_hide: + if col in table.columns: + table = table.drop(col, axis=1) + return table + + def visualize(self, get_all_cols: bool = False): + table = self.get_table(get_all_cols) + if is_interactive(): + display.display(table) + else: + logging.getLogger().setLevel(logging.INFO) + logging.info(tabulate(table, headers="keys", tablefmt="psql")) + def _get_state(self): state_params = { "experiment_cls_constructor": self.experiment_cls_constructor, diff --git a/prompttools/harness/model_comparison_harness.py b/prompttools/harness/model_comparison_harness.py index 3ea3ad89..636eae77 100644 --- a/prompttools/harness/model_comparison_harness.py +++ b/prompttools/harness/model_comparison_harness.py @@ -121,10 +121,27 @@ def evaluate(self, metric_name: str, eval_fn: Callable, static_eval_fn_kwargs: d self._update_dfs() def get_table(self, get_all_cols: bool = False) -> pd.DataFrame: + columns_to_hide = [ + "stream", + "response_id", + "response_choices", + "response_created", + "response_created", + "response_object", + "response_model", + "response_system_fingerprint", + "revision_id", + "log_id", + ] + if get_all_cols: return self.full_df else: - return self.partial_df + table = self.full_df + for col in columns_to_hide: + if col in table.columns: + table = table.drop(col, axis=1) + return table def _update_dfs(self): self._full_df = pd.concat([exp.full_df for exp in self.experiments], axis=0, ignore_index=True) @@ -172,11 +189,6 @@ def _load_state(cls, state, experiment_id: str, revision_id: str, experiment_typ model_arguments = state_params["model_arguments"] child_experiment_states = state_params["child_experiment_states"] - for i, state in enumerate(child_experiment_states): - print(f"{i = }") - print(f"{state[0] = }") - print(f"{state[1] = }") - harness = cls(model_names, system_prompts, user_messages, model_arguments) harness.experiments = [ OpenAIChatExperiment._load_state(state, None, None, OpenAIChatExperiment._experiment_type) diff --git a/prompttools/harness/system_prompt_harness.py b/prompttools/harness/system_prompt_harness.py index 1f356880..6e1c4393 100644 --- a/prompttools/harness/system_prompt_harness.py +++ b/prompttools/harness/system_prompt_harness.py @@ -6,6 +6,11 @@ from typing import Dict, List, Optional, Type from .harness import ExperimentationHarness, Experiment +import pandas as pd +from .utility import is_interactive +from IPython import display +from tabulate import tabulate +import logging class SystemPromptExperimentationHarness(ExperimentationHarness): @@ -117,3 +122,34 @@ def _load_state(cls, state, experiment_id: str, revision_id: str, experiment_typ harness._revision_id = revision_id print("Loaded harness.") return harness + + def get_table(self, get_all_cols: bool = False) -> pd.DataFrame: + columns_to_hide = [ + "stream", + "response_id", + "response_choices", + "response_created", + "response_created", + "response_object", + "response_model", + "response_system_fingerprint", + "revision_id", + "log_id", + ] + + if get_all_cols: + return self.full_df + else: + table = self.full_df + for col in columns_to_hide: + if col in table.columns: + table = table.drop(col, axis=1) + return table + + def visualize(self, get_all_cols: bool = False): + table = self.get_table(get_all_cols) + if is_interactive(): + display.display(table) + else: + logging.getLogger().setLevel(logging.INFO) + logging.info(tabulate(table, headers="keys", tablefmt="psql")) From 4cbc223662aaeaf3e0b3bb39a82b166f8a035fc6 Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 9 Nov 2023 14:09:28 -0500 Subject: [PATCH 121/182] Update harness to allow clearing of previous results --- prompttools/harness/chat_prompt_template_harness.py | 4 ++-- prompttools/harness/harness.py | 4 ++-- prompttools/harness/model_comparison_harness.py | 4 ++-- prompttools/harness/system_prompt_harness.py | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/prompttools/harness/chat_prompt_template_harness.py b/prompttools/harness/chat_prompt_template_harness.py index af735462..566eaa6d 100644 --- a/prompttools/harness/chat_prompt_template_harness.py +++ b/prompttools/harness/chat_prompt_template_harness.py @@ -77,10 +77,10 @@ def prepare(self) -> None: ) super().prepare() - def run(self): + def run(self, clear_previous_results: bool = False): if not self.experiment: self.prepare() - super().run() + super().run(clear_previous_results=clear_previous_results) # Add user inputs to DataFrame if len(self.experiment.full_df) > 0: diff --git a/prompttools/harness/harness.py b/prompttools/harness/harness.py index 8f51040d..4f547de7 100644 --- a/prompttools/harness/harness.py +++ b/prompttools/harness/harness.py @@ -39,11 +39,11 @@ def prepare(self) -> None: """ self.experiment.prepare() - def run(self) -> None: + def run(self, clear_previous_results: bool = False) -> None: r""" Runs the underlying experiment. """ - self.experiment.run(runs=self.runs) + self.experiment.run(runs=self.runs, clear_previous_results=clear_previous_results) def evaluate(self, metric_name: str, eval_fn: Callable, static_eval_fn_kwargs: dict = {}, **eval_fn_kwargs) -> None: r""" diff --git a/prompttools/harness/model_comparison_harness.py b/prompttools/harness/model_comparison_harness.py index 636eae77..69a63998 100644 --- a/prompttools/harness/model_comparison_harness.py +++ b/prompttools/harness/model_comparison_harness.py @@ -103,11 +103,11 @@ def partial_df(self): def score_df(self): return self._score_df - def run(self): + def run(self, clear_previous_results: bool = False): if not self.experiments: self.prepare() for exp in self.experiments: - exp.run() + exp.run(clear_previous_results=clear_previous_results) self._update_dfs() def evaluate(self, metric_name: str, eval_fn: Callable, static_eval_fn_kwargs: dict = {}, **eval_fn_kwargs) -> None: diff --git a/prompttools/harness/system_prompt_harness.py b/prompttools/harness/system_prompt_harness.py index 6e1c4393..58520162 100644 --- a/prompttools/harness/system_prompt_harness.py +++ b/prompttools/harness/system_prompt_harness.py @@ -74,10 +74,10 @@ def prepare(self) -> None: ) super().prepare() - def run(self): + def run(self, clear_previous_results: bool = False): if not self.experiment: self.prepare() - super().run() + super().run(clear_previous_results=clear_previous_results) def _get_state(self): state_params = { From 7eb5b2b8928b5aa33ecc562f69b020fbd6b40f7b Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 9 Nov 2023 14:09:37 -0500 Subject: [PATCH 122/182] Update notebook examples --- ..._Loading_ExperimentHarness_to_Remote.ipynb | 1515 ++++++++--------- 1 file changed, 672 insertions(+), 843 deletions(-) diff --git a/examples/notebooks/remote/Saving_and_Loading_ExperimentHarness_to_Remote.ipynb b/examples/notebooks/remote/Saving_and_Loading_ExperimentHarness_to_Remote.ipynb index 3a18bd09..6d92cc01 100644 --- a/examples/notebooks/remote/Saving_and_Loading_ExperimentHarness_to_Remote.ipynb +++ b/examples/notebooks/remote/Saving_and_Loading_ExperimentHarness_to_Remote.ipynb @@ -4,7 +4,9 @@ "cell_type": "code", "execution_count": 1, "id": "0921cecc", - "metadata": {}, + "metadata": { + "is_executing": true + }, "outputs": [], "source": [ "from prompttools.experiment import OpenAIChatExperiment\n", @@ -54,7 +56,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 3, "id": "6f5d85de", "metadata": {}, "outputs": [ @@ -80,8 +82,15 @@ " \n", " \n", " user_inputs\n", + " model\n", " messages\n", + " temperature\n", + " top_p\n", + " n\n", + " presence_penalty\n", + " frequency_penalty\n", " response\n", + " response_usage\n", " latency\n", " \n", " \n", @@ -89,41 +98,69 @@ " \n", " 0\n", " {'input': 'first'}\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " 1.197017\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first president of the United States was George Washington. He served two terms from 1789 to 1797.\n", + " {'completion_tokens': 24, 'prompt_tokens': 23, 'total_tokens': 47}\n", + " 1.251051\n", " \n", " \n", " 1\n", " {'input': 'second'}\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}]\n", - " The second president of the United States was John Adams.\n", - " 0.479534\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The second president of the United States was John Adams. He served from 1797 to 1801.\n", + " {'completion_tokens': 22, 'prompt_tokens': 23, 'total_tokens': 45}\n", + " 0.949733\n", " \n", " \n", " 2\n", " {'input': 'first'}\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]\n", - " The first Vice President of the United States was John Adams, serving under President George Washington from 1789 to 1797.\n", - " 0.806056\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first Vice President of the United States was John Adams. He served as Vice President under President George Washington from 1789 to 1797.\n", + " {'completion_tokens': 30, 'prompt_tokens': 24, 'total_tokens': 54}\n", + " 0.936664\n", " \n", " \n", " 3\n", " {'input': 'second'}\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}]\n", - " The second Vice President of the United States was Thomas Jefferson, serving under President John Adams from 1797 to 1801.\n", - " 1.065417\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The second vice president of the United States was Thomas Jefferson. He served as vice president from 1797 to 1801 under President John Adams.\n", + " {'completion_tokens': 30, 'prompt_tokens': 24, 'total_tokens': 54}\n", + " 0.971230\n", " \n", " \n", "\n", "" ], "text/plain": [ - " user_inputs \\\n", - "0 {'input': 'first'} \n", - "1 {'input': 'second'} \n", - "2 {'input': 'first'} \n", - "3 {'input': 'second'} \n", + " user_inputs model \\\n", + "0 {'input': 'first'} gpt-3.5-turbo \n", + "1 {'input': 'second'} gpt-3.5-turbo \n", + "2 {'input': 'first'} gpt-3.5-turbo \n", + "3 {'input': 'second'} gpt-3.5-turbo \n", "\n", " messages \\\n", "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", @@ -131,17 +168,29 @@ "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}] \n", "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The second president of the United States was John Adams. \n", - "2 The first Vice President of the United States was John Adams, serving under President George Washington from 1789 to 1797. \n", - "3 The second Vice President of the United States was Thomas Jefferson, serving under President John Adams from 1797 to 1801. \n", + " temperature top_p n presence_penalty frequency_penalty \\\n", + "0 1.0 1.0 1 0.0 0.0 \n", + "1 1.0 1.0 1 0.0 0.0 \n", + "2 1.0 1.0 1 0.0 0.0 \n", + "3 1.0 1.0 1 0.0 0.0 \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served two terms from 1789 to 1797. \n", + "1 The second president of the United States was John Adams. He served from 1797 to 1801. \n", + "2 The first Vice President of the United States was John Adams. He served as Vice President under President George Washington from 1789 to 1797. \n", + "3 The second vice president of the United States was Thomas Jefferson. He served as vice president from 1797 to 1801 under President John Adams. \n", + "\n", + " response_usage \\\n", + "0 {'completion_tokens': 24, 'prompt_tokens': 23, 'total_tokens': 47} \n", + "1 {'completion_tokens': 22, 'prompt_tokens': 23, 'total_tokens': 45} \n", + "2 {'completion_tokens': 30, 'prompt_tokens': 24, 'total_tokens': 54} \n", + "3 {'completion_tokens': 30, 'prompt_tokens': 24, 'total_tokens': 54} \n", "\n", " latency \n", - "0 1.197017 \n", - "1 0.479534 \n", - "2 0.806056 \n", - "3 1.065417 " + "0 1.251051 \n", + "1 0.949733 \n", + "2 0.936664 \n", + "3 0.971230 " ] }, "metadata": {}, @@ -156,7 +205,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "id": "dca05d0e", "metadata": {}, "outputs": [ @@ -175,7 +224,7 @@ "" ] }, - "execution_count": 6, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -194,50 +243,29 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 5, "id": "da6b96a2", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sending HTTP GET request...\n", + "Loaded experiment.\n", + "Loaded harness.\n" + ] + } + ], "source": [ "harness_from_load = ChatPromptTemplateExperimentationHarness.load_experiment(harness._experiment_id)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "243ff097", "metadata": {}, - "outputs": [], - "source": [ - "harness_from_load.visualize()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "eac45d4d", - "metadata": {}, - "outputs": [], - "source": [ - "harness_from_load.run()\n", - "harness_from_load.visualize()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "eaa30c25", - "metadata": {}, - "outputs": [], - "source": [ - "harness_from_load.experiment.run()" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "feb04ffb", - "metadata": {}, "outputs": [ { "data": { @@ -260,20 +288,15 @@ " \n", " \n", " \n", + " user_inputs\n", " model\n", " messages\n", " temperature\n", " top_p\n", " n\n", - " stream\n", " presence_penalty\n", " frequency_penalty\n", " response\n", - " response_id\n", - " response_object\n", - " response_created\n", - " response_model\n", - " response_choices\n", " response_usage\n", " latency\n", " \n", @@ -281,575 +304,100 @@ " \n", " \n", " 0\n", + " {'input': 'first'}\n", " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " 1.0\n", " 1.0\n", " 1\n", - " False\n", - " 0.0\n", - " 0.0\n", - " The first president of the United States was George Washington.\n", - " chatcmpl-8F4wN02YkqM8t17K8Jz8UliEEYY7F\n", - " chat.completion\n", - " 1698604603\n", - " gpt-3.5-turbo-0613\n", - " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}]\n", - " {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}\n", - " 0.829433\n", - " \n", - " \n", - " 1\n", - " gpt-3.5-turbo\n", - " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}]\n", - " 1.0\n", - " 1.0\n", - " 1\n", - " False\n", - " 0.0\n", - " 0.0\n", - " The second president of the United States was John Adams.\n", - " chatcmpl-8F4wOBz1Fnv0snkIIjsgWDYCJbCFN\n", - " chat.completion\n", - " 1698604604\n", - " gpt-3.5-turbo-0613\n", - " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second president of the United States was John Adams.'}, 'finish_reason': 'stop'}]\n", - " {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}\n", - " 0.712007\n", - " \n", - " \n", - " 2\n", - " gpt-3.5-turbo\n", - " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]\n", - " 1.0\n", - " 1.0\n", - " 1\n", - " False\n", - " 0.0\n", - " 0.0\n", - " The first vice president of the United States was John Adams. He served under President George Washington from 1789 to 1797.\n", - " chatcmpl-8F4wOTBLjCC9dnI29Jyi8ol3UPw7R\n", - " chat.completion\n", - " 1698604604\n", - " gpt-3.5-turbo-0613\n", - " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first vice president of the United States was John Adams. He served under President George Washington from 1789 to 1797.'}, 'finish_reason': 'stop'}]\n", - " {'prompt_tokens': 24, 'completion_tokens': 27, 'total_tokens': 51}\n", - " 1.023236\n", - " \n", - " \n", - " 3\n", - " gpt-3.5-turbo\n", - " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}]\n", - " 1.0\n", - " 1.0\n", - " 1\n", - " False\n", - " 0.0\n", - " 0.0\n", - " The second Vice President of the United States was Thomas Jefferson. He served as Vice President under President John Adams from 1797 to 1801.\n", - " chatcmpl-8F4wQoEXOUtRbwj4B5xgr7HrlWfoO\n", - " chat.completion\n", - " 1698604606\n", - " gpt-3.5-turbo-0613\n", - " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second Vice President of the United States was Thomas Jefferson. He served as Vice President under President John Adams from 1797 to 1801.'}, 'finish_reason': 'stop'}]\n", - " {'prompt_tokens': 24, 'completion_tokens': 30, 'total_tokens': 54}\n", - " 1.333316\n", - " \n", - " \n", - " 0\n", - " gpt-3.5-turbo\n", - " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " 1.0\n", - " 1.0\n", - " 1\n", - " False\n", - " 0.0\n", - " 0.0\n", - " The first president of the United States was George Washington. He served from 1789-1797.\n", - " chatcmpl-8F4wa7MquDquowetG3AIQomJqJlgG\n", - " chat.completion\n", - " 1698604616\n", - " gpt-3.5-turbo-0613\n", - " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served from 1789-1797.'}, 'finish_reason': 'stop'}]\n", - " {'prompt_tokens': 23, 'completion_tokens': 21, 'total_tokens': 44}\n", - " 0.853307\n", - " \n", - " \n", - " 1\n", - " gpt-3.5-turbo\n", - " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}]\n", - " 1.0\n", - " 1.0\n", - " 1\n", - " False\n", - " 0.0\n", - " 0.0\n", - " The second president of the United States was John Adams.\n", - " chatcmpl-8F4wbktfasTPH3OmSnzK0ElmbNW19\n", - " chat.completion\n", - " 1698604617\n", - " gpt-3.5-turbo-0613\n", - " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second president of the United States was John Adams.'}, 'finish_reason': 'stop'}]\n", - " {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}\n", - " 0.717581\n", - " \n", - " \n", - " 2\n", - " gpt-3.5-turbo\n", - " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]\n", - " 1.0\n", - " 1.0\n", - " 1\n", - " False\n", - " 0.0\n", - " 0.0\n", - " The first Vice President of the United States was John Adams. He served as Vice President under President George Washington from 1789 to 1797.\n", - " chatcmpl-8F4wb39Imx8WTTcrP6GPLDfzJ1fN5\n", - " chat.completion\n", - " 1698604617\n", - " gpt-3.5-turbo-0613\n", - " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first Vice President of the United States was John Adams. He served as Vice President under President George Washington from 1789 to 1797.'}, 'finish_reason': 'stop'}]\n", - " {'prompt_tokens': 24, 'completion_tokens': 30, 'total_tokens': 54}\n", - " 1.124732\n", - " \n", - " \n", - " 3\n", - " gpt-3.5-turbo\n", - " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}]\n", - " 1.0\n", - " 1.0\n", - " 1\n", - " False\n", - " 0.0\n", - " 0.0\n", - " The second Vice President of the United States was Thomas Jefferson, serving from 1797 to 1801 under President John Adams.\n", - " chatcmpl-8F4wc5lSprgny70aSqHQLP58gMWCR\n", - " chat.completion\n", - " 1698604618\n", - " gpt-3.5-turbo-0613\n", - " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second Vice President of the United States was Thomas Jefferson, serving from 1797 to 1801 under President John Adams.'}, 'finish_reason': 'stop'}]\n", - " {'prompt_tokens': 24, 'completion_tokens': 26, 'total_tokens': 50}\n", - " 0.715227\n", - " \n", - " \n", - " 0\n", - " gpt-3.5-turbo\n", - " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " 1.0\n", - " 1.0\n", - " 1\n", - " False\n", - " 0.0\n", - " 0.0\n", - " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " chatcmpl-8F4xSEJkYZ8YqC9K9CJ9IfUHj4k3C\n", - " chat.completion\n", - " 1698604670\n", - " gpt-3.5-turbo-0613\n", - " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}]\n", - " {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47}\n", - " 0.946845\n", - " \n", - " \n", - " 1\n", - " gpt-3.5-turbo\n", - " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}]\n", - " 1.0\n", - " 1.0\n", - " 1\n", - " False\n", - " 0.0\n", - " 0.0\n", - " The second president of the United States was John Adams.\n", - " chatcmpl-8F4xTjgZqWNoYUvvEduczKmSBhEgm\n", - " chat.completion\n", - " 1698604671\n", - " gpt-3.5-turbo-0613\n", - " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second president of the United States was John Adams.'}, 'finish_reason': 'stop'}]\n", - " {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34}\n", - " 0.716422\n", - " \n", - " \n", - " 2\n", - " gpt-3.5-turbo\n", - " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]\n", - " 1.0\n", - " 1.0\n", - " 1\n", - " False\n", - " 0.0\n", - " 0.0\n", - " The first Vice President of the United States was John Adams. He served from 1789 to 1797 under President George Washington.\n", - " chatcmpl-8F4xUdAiuVAZ5c7M40KdAQM88GAqN\n", - " chat.completion\n", - " 1698604672\n", - " gpt-3.5-turbo-0613\n", - " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first Vice President of the United States was John Adams. He served from 1789 to 1797 under President George Washington.'}, 'finish_reason': 'stop'}]\n", - " {'prompt_tokens': 24, 'completion_tokens': 27, 'total_tokens': 51}\n", - " 1.031161\n", - " \n", - " \n", - " 3\n", - " gpt-3.5-turbo\n", - " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}]\n", - " 1.0\n", - " 1.0\n", - " 1\n", - " False\n", - " 0.0\n", - " 0.0\n", - " The second vice president of the United States was Thomas Jefferson.\n", - " chatcmpl-8F4xVmrsfR17Tn4NbNJiYvsrQ12T7\n", - " chat.completion\n", - " 1698604673\n", - " gpt-3.5-turbo-0613\n", - " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second vice president of the United States was Thomas Jefferson.'}, 'finish_reason': 'stop'}]\n", - " {'prompt_tokens': 24, 'completion_tokens': 12, 'total_tokens': 36}\n", - " 0.712583\n", - " \n", - " \n", - " 0\n", - " gpt-3.5-turbo\n", - " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " 1.0\n", - " 1.0\n", - " 1\n", - " False\n", " 0.0\n", " 0.0\n", - " The first president of the United States was George Washington. He served as the country's president from 1789 to 1797.\n", - " chatcmpl-8F4xZXe1bYYMs6Fvdzshgy71j5AuT\n", - " chat.completion\n", - " 1698604677\n", - " gpt-3.5-turbo-0613\n", - " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as the country's president from 1789 to 1797.'}, 'finish_reason': 'stop'}]\n", - " {'prompt_tokens': 23, 'completion_tokens': 27, 'total_tokens': 50}\n", - " 1.026579\n", + " The first president of the United States was George Washington. He served two terms from 1789 to 1797.\n", + " {'completion_tokens': 24, 'prompt_tokens': 23, 'total_tokens': 47}\n", + " 1.251051\n", " \n", " \n", " 1\n", + " {'input': 'second'}\n", " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}]\n", " 1.0\n", " 1.0\n", " 1\n", - " False\n", " 0.0\n", " 0.0\n", - " The second president of the United States was John Adams, serving from 1797 to 1801.\n", - " chatcmpl-8F4xa3vbyy0Tmo9sRapQ0AW8dyeAp\n", - " chat.completion\n", - " 1698604678\n", - " gpt-3.5-turbo-0613\n", - " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second president of the United States was John Adams, serving from 1797 to 1801.'}, 'finish_reason': 'stop'}]\n", - " {'prompt_tokens': 23, 'completion_tokens': 21, 'total_tokens': 44}\n", - " 0.922105\n", + " The second president of the United States was John Adams. He served from 1797 to 1801.\n", + " {'completion_tokens': 22, 'prompt_tokens': 23, 'total_tokens': 45}\n", + " 0.949733\n", " \n", " \n", " 2\n", + " {'input': 'first'}\n", " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]\n", " 1.0\n", " 1.0\n", " 1\n", - " False\n", " 0.0\n", " 0.0\n", " The first Vice President of the United States was John Adams. He served as Vice President under President George Washington from 1789 to 1797.\n", - " chatcmpl-8F4xbKCF97VHxoeuzuno4YUoQuovl\n", - " chat.completion\n", - " 1698604679\n", - " gpt-3.5-turbo-0613\n", - " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first Vice President of the United States was John Adams. He served as Vice President under President George Washington from 1789 to 1797.'}, 'finish_reason': 'stop'}]\n", - " {'prompt_tokens': 24, 'completion_tokens': 30, 'total_tokens': 54}\n", - " 0.921220\n", + " {'completion_tokens': 30, 'prompt_tokens': 24, 'total_tokens': 54}\n", + " 0.936664\n", " \n", " \n", " 3\n", + " {'input': 'second'}\n", " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}]\n", " 1.0\n", " 1.0\n", " 1\n", - " False\n", " 0.0\n", " 0.0\n", - " The second Vice President of the United States was Thomas Jefferson. He served under President John Adams from 1797 to 1801.\n", - " chatcmpl-8F4xbdIvxnae3r0jiYPQGcpKe7hmW\n", - " chat.completion\n", - " 1698604679\n", - " gpt-3.5-turbo-0613\n", - " [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second Vice President of the United States was Thomas Jefferson. He served under President John Adams from 1797 to 1801.'}, 'finish_reason': 'stop'}]\n", - " {'prompt_tokens': 24, 'completion_tokens': 27, 'total_tokens': 51}\n", - " 0.925952\n", + " The second vice president of the United States was Thomas Jefferson. He served as vice president from 1797 to 1801 under President John Adams.\n", + " {'completion_tokens': 30, 'prompt_tokens': 24, 'total_tokens': 54}\n", + " 0.971230\n", " \n", " \n", "\n", "" ], "text/plain": [ - " model \\\n", - "0 gpt-3.5-turbo \n", - "1 gpt-3.5-turbo \n", - "2 gpt-3.5-turbo \n", - "3 gpt-3.5-turbo \n", - "0 gpt-3.5-turbo \n", - "1 gpt-3.5-turbo \n", - "2 gpt-3.5-turbo \n", - "3 gpt-3.5-turbo \n", - "0 gpt-3.5-turbo \n", - "1 gpt-3.5-turbo \n", - "2 gpt-3.5-turbo \n", - "3 gpt-3.5-turbo \n", - "0 gpt-3.5-turbo \n", - "1 gpt-3.5-turbo \n", - "2 gpt-3.5-turbo \n", - "3 gpt-3.5-turbo \n", + " user_inputs model \\\n", + "0 {'input': 'first'} gpt-3.5-turbo \n", + "1 {'input': 'second'} gpt-3.5-turbo \n", + "2 {'input': 'first'} gpt-3.5-turbo \n", + "3 {'input': 'second'} gpt-3.5-turbo \n", "\n", " messages \\\n", "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}] \n", "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}] \n", - "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}] \n", - "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", - "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}] \n", - "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}] \n", - "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", - "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}] \n", - "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}] \n", - "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", - "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}] \n", "\n", - " temperature top_p n stream presence_penalty frequency_penalty \\\n", - "0 1.0 1.0 1 False 0.0 0.0 \n", - "1 1.0 1.0 1 False 0.0 0.0 \n", - "2 1.0 1.0 1 False 0.0 0.0 \n", - "3 1.0 1.0 1 False 0.0 0.0 \n", - "0 1.0 1.0 1 False 0.0 0.0 \n", - "1 1.0 1.0 1 False 0.0 0.0 \n", - "2 1.0 1.0 1 False 0.0 0.0 \n", - "3 1.0 1.0 1 False 0.0 0.0 \n", - "0 1.0 1.0 1 False 0.0 0.0 \n", - "1 1.0 1.0 1 False 0.0 0.0 \n", - "2 1.0 1.0 1 False 0.0 0.0 \n", - "3 1.0 1.0 1 False 0.0 0.0 \n", - "0 1.0 1.0 1 False 0.0 0.0 \n", - "1 1.0 1.0 1 False 0.0 0.0 \n", - "2 1.0 1.0 1 False 0.0 0.0 \n", - "3 1.0 1.0 1 False 0.0 0.0 \n", + " temperature top_p n presence_penalty frequency_penalty \\\n", + "0 1.0 1.0 1 0.0 0.0 \n", + "1 1.0 1.0 1 0.0 0.0 \n", + "2 1.0 1.0 1 0.0 0.0 \n", + "3 1.0 1.0 1 0.0 0.0 \n", "\n", " response \\\n", - "0 The first president of the United States was George Washington. \n", - "1 The second president of the United States was John Adams. \n", - "2 The first vice president of the United States was John Adams. He served under President George Washington from 1789 to 1797. \n", - "3 The second Vice President of the United States was Thomas Jefferson. He served as Vice President under President John Adams from 1797 to 1801. \n", - "0 The first president of the United States was George Washington. He served from 1789-1797. \n", - "1 The second president of the United States was John Adams. \n", - "2 The first Vice President of the United States was John Adams. He served as Vice President under President George Washington from 1789 to 1797. \n", - "3 The second Vice President of the United States was Thomas Jefferson, serving from 1797 to 1801 under President John Adams. \n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The second president of the United States was John Adams. \n", - "2 The first Vice President of the United States was John Adams. He served from 1789 to 1797 under President George Washington. \n", - "3 The second vice president of the United States was Thomas Jefferson. \n", - "0 The first president of the United States was George Washington. He served as the country's president from 1789 to 1797. \n", - "1 The second president of the United States was John Adams, serving from 1797 to 1801. \n", + "0 The first president of the United States was George Washington. He served two terms from 1789 to 1797. \n", + "1 The second president of the United States was John Adams. He served from 1797 to 1801. \n", "2 The first Vice President of the United States was John Adams. He served as Vice President under President George Washington from 1789 to 1797. \n", - "3 The second Vice President of the United States was Thomas Jefferson. He served under President John Adams from 1797 to 1801. \n", - "\n", - " response_id response_object response_created \\\n", - "0 chatcmpl-8F4wN02YkqM8t17K8Jz8UliEEYY7F chat.completion 1698604603 \n", - "1 chatcmpl-8F4wOBz1Fnv0snkIIjsgWDYCJbCFN chat.completion 1698604604 \n", - "2 chatcmpl-8F4wOTBLjCC9dnI29Jyi8ol3UPw7R chat.completion 1698604604 \n", - "3 chatcmpl-8F4wQoEXOUtRbwj4B5xgr7HrlWfoO chat.completion 1698604606 \n", - "0 chatcmpl-8F4wa7MquDquowetG3AIQomJqJlgG chat.completion 1698604616 \n", - "1 chatcmpl-8F4wbktfasTPH3OmSnzK0ElmbNW19 chat.completion 1698604617 \n", - "2 chatcmpl-8F4wb39Imx8WTTcrP6GPLDfzJ1fN5 chat.completion 1698604617 \n", - "3 chatcmpl-8F4wc5lSprgny70aSqHQLP58gMWCR chat.completion 1698604618 \n", - "0 chatcmpl-8F4xSEJkYZ8YqC9K9CJ9IfUHj4k3C chat.completion 1698604670 \n", - "1 chatcmpl-8F4xTjgZqWNoYUvvEduczKmSBhEgm chat.completion 1698604671 \n", - "2 chatcmpl-8F4xUdAiuVAZ5c7M40KdAQM88GAqN chat.completion 1698604672 \n", - "3 chatcmpl-8F4xVmrsfR17Tn4NbNJiYvsrQ12T7 chat.completion 1698604673 \n", - "0 chatcmpl-8F4xZXe1bYYMs6Fvdzshgy71j5AuT chat.completion 1698604677 \n", - "1 chatcmpl-8F4xa3vbyy0Tmo9sRapQ0AW8dyeAp chat.completion 1698604678 \n", - "2 chatcmpl-8F4xbKCF97VHxoeuzuno4YUoQuovl chat.completion 1698604679 \n", - "3 chatcmpl-8F4xbdIvxnae3r0jiYPQGcpKe7hmW chat.completion 1698604679 \n", - "\n", - " response_model \\\n", - "0 gpt-3.5-turbo-0613 \n", - "1 gpt-3.5-turbo-0613 \n", - "2 gpt-3.5-turbo-0613 \n", - "3 gpt-3.5-turbo-0613 \n", - "0 gpt-3.5-turbo-0613 \n", - "1 gpt-3.5-turbo-0613 \n", - "2 gpt-3.5-turbo-0613 \n", - "3 gpt-3.5-turbo-0613 \n", - "0 gpt-3.5-turbo-0613 \n", - "1 gpt-3.5-turbo-0613 \n", - "2 gpt-3.5-turbo-0613 \n", - "3 gpt-3.5-turbo-0613 \n", - "0 gpt-3.5-turbo-0613 \n", - "1 gpt-3.5-turbo-0613 \n", - "2 gpt-3.5-turbo-0613 \n", - "3 gpt-3.5-turbo-0613 \n", - "\n", - " response_choices \\\n", - "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington.'}, 'finish_reason': 'stop'}] \n", - "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second president of the United States was John Adams.'}, 'finish_reason': 'stop'}] \n", - "2 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first vice president of the United States was John Adams. He served under President George Washington from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", - "3 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second Vice President of the United States was Thomas Jefferson. He served as Vice President under President John Adams from 1797 to 1801.'}, 'finish_reason': 'stop'}] \n", - "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served from 1789-1797.'}, 'finish_reason': 'stop'}] \n", - "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second president of the United States was John Adams.'}, 'finish_reason': 'stop'}] \n", - "2 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first Vice President of the United States was John Adams. He served as Vice President under President George Washington from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", - "3 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second Vice President of the United States was Thomas Jefferson, serving from 1797 to 1801 under President John Adams.'}, 'finish_reason': 'stop'}] \n", - "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", - "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second president of the United States was John Adams.'}, 'finish_reason': 'stop'}] \n", - "2 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first Vice President of the United States was John Adams. He served from 1789 to 1797 under President George Washington.'}, 'finish_reason': 'stop'}] \n", - "3 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second vice president of the United States was Thomas Jefferson.'}, 'finish_reason': 'stop'}] \n", - "0 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first president of the United States was George Washington. He served as the country's president from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", - "1 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second president of the United States was John Adams, serving from 1797 to 1801.'}, 'finish_reason': 'stop'}] \n", - "2 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The first Vice President of the United States was John Adams. He served as Vice President under President George Washington from 1789 to 1797.'}, 'finish_reason': 'stop'}] \n", - "3 [{'index': 0, 'message': {'role': 'assistant', 'content': 'The second Vice President of the United States was Thomas Jefferson. He served under President John Adams from 1797 to 1801.'}, 'finish_reason': 'stop'}] \n", + "3 The second vice president of the United States was Thomas Jefferson. He served as vice president from 1797 to 1801 under President John Adams. \n", "\n", " response_usage \\\n", - "0 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", - "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", - "2 {'prompt_tokens': 24, 'completion_tokens': 27, 'total_tokens': 51} \n", - "3 {'prompt_tokens': 24, 'completion_tokens': 30, 'total_tokens': 54} \n", - "0 {'prompt_tokens': 23, 'completion_tokens': 21, 'total_tokens': 44} \n", - "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", - "2 {'prompt_tokens': 24, 'completion_tokens': 30, 'total_tokens': 54} \n", - "3 {'prompt_tokens': 24, 'completion_tokens': 26, 'total_tokens': 50} \n", - "0 {'prompt_tokens': 23, 'completion_tokens': 24, 'total_tokens': 47} \n", - "1 {'prompt_tokens': 23, 'completion_tokens': 11, 'total_tokens': 34} \n", - "2 {'prompt_tokens': 24, 'completion_tokens': 27, 'total_tokens': 51} \n", - "3 {'prompt_tokens': 24, 'completion_tokens': 12, 'total_tokens': 36} \n", - "0 {'prompt_tokens': 23, 'completion_tokens': 27, 'total_tokens': 50} \n", - "1 {'prompt_tokens': 23, 'completion_tokens': 21, 'total_tokens': 44} \n", - "2 {'prompt_tokens': 24, 'completion_tokens': 30, 'total_tokens': 54} \n", - "3 {'prompt_tokens': 24, 'completion_tokens': 27, 'total_tokens': 51} \n", + "0 {'completion_tokens': 24, 'prompt_tokens': 23, 'total_tokens': 47} \n", + "1 {'completion_tokens': 22, 'prompt_tokens': 23, 'total_tokens': 45} \n", + "2 {'completion_tokens': 30, 'prompt_tokens': 24, 'total_tokens': 54} \n", + "3 {'completion_tokens': 30, 'prompt_tokens': 24, 'total_tokens': 54} \n", "\n", " latency \n", - "0 0.829433 \n", - "1 0.712007 \n", - "2 1.023236 \n", - "3 1.333316 \n", - "0 0.853307 \n", - "1 0.717581 \n", - "2 1.124732 \n", - "3 0.715227 \n", - "0 0.946845 \n", - "1 0.716422 \n", - "2 1.031161 \n", - "3 0.712583 \n", - "0 1.026579 \n", - "1 0.922105 \n", - "2 0.921220 \n", - "3 0.925952 " - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "harness_from_load.experiment.full_df" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "f72c4024", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
user_inputsmessagesresponselatency
0{'input': 'first'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.023014
1{'input': 'second'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}]The second president of the United States was John Adams. He served from 1797 to 1801.2.899930
2{'input': 'first'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797.1.023490
3{'input': 'second'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}]The second Vice President of the United States was Thomas Jefferson. He served as Vice President under President John Adams from 1797 to 1801.0.923946
\n", - "
" - ], - "text/plain": [ - " user_inputs \\\n", - "0 {'input': 'first'} \n", - "1 {'input': 'second'} \n", - "2 {'input': 'first'} \n", - "3 {'input': 'second'} \n", - "\n", - " messages \\\n", - "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}] \n", - "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", - "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}] \n", - "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The second president of the United States was John Adams. He served from 1797 to 1801. \n", - "2 The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797. \n", - "3 The second Vice President of the United States was Thomas Jefferson. He served as Vice President under President John Adams from 1797 to 1801. \n", - "\n", - " latency \n", - "0 1.023014 \n", - "1 2.899930 \n", - "2 1.023490 \n", - "3 0.923946 " + "0 1.251051 \n", + "1 0.949733 \n", + "2 0.936664 \n", + "3 0.971230 " ] }, "metadata": {}, @@ -862,8 +410,8 @@ }, { "cell_type": "code", - "execution_count": 16, - "id": "5e802e37", + "execution_count": 7, + "id": "eac45d4d", "metadata": {}, "outputs": [ { @@ -888,8 +436,15 @@ " \n", " \n", " user_inputs\n", + " model\n", " messages\n", + " temperature\n", + " top_p\n", + " n\n", + " presence_penalty\n", + " frequency_penalty\n", " response\n", + " response_usage\n", " latency\n", " \n", " \n", @@ -897,41 +452,69 @@ " \n", " 0\n", " {'input': 'first'}\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", " The first president of the United States was George Washington.\n", - " 0.551219\n", + " {'completion_tokens': 11, 'prompt_tokens': 23, 'total_tokens': 34}\n", + " 0.744072\n", " \n", " \n", " 1\n", " {'input': 'second'}\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}]\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", " The second president of the United States was John Adams.\n", - " 0.510815\n", + " {'completion_tokens': 11, 'prompt_tokens': 23, 'total_tokens': 34}\n", + " 0.613869\n", " \n", " \n", " 2\n", " {'input': 'first'}\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]\n", - " The first Vice President of the United States was John Adams. Adams served as Vice President from 1789 to 1797, during President George Washington's administration.\n", - " 1.535680\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first Vice President of the United States was John Adams, serving under President George Washington from 1789 to 1797.\n", + " {'completion_tokens': 26, 'prompt_tokens': 24, 'total_tokens': 50}\n", + " 1.126319\n", " \n", " \n", " 3\n", " {'input': 'second'}\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}]\n", - " The second Vice President of the United States was Thomas Jefferson. He served as Vice President from 1797 to 1801, under President John Adams.\n", - " 0.921390\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The second vice president of the United States was Thomas Jefferson. He served as vice president under President John Adams from 1797 to 1801.\n", + " {'completion_tokens': 30, 'prompt_tokens': 24, 'total_tokens': 54}\n", + " 1.534311\n", " \n", " \n", "\n", "" ], "text/plain": [ - " user_inputs \\\n", - "0 {'input': 'first'} \n", - "1 {'input': 'second'} \n", - "2 {'input': 'first'} \n", - "3 {'input': 'second'} \n", + " user_inputs model \\\n", + "0 {'input': 'first'} gpt-3.5-turbo \n", + "1 {'input': 'second'} gpt-3.5-turbo \n", + "2 {'input': 'first'} gpt-3.5-turbo \n", + "3 {'input': 'second'} gpt-3.5-turbo \n", "\n", " messages \\\n", "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", @@ -939,137 +522,40 @@ "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}] \n", "\n", - " response \\\n", - "0 The first president of the United States was George Washington. \n", - "1 The second president of the United States was John Adams. \n", - "2 The first Vice President of the United States was John Adams. Adams served as Vice President from 1789 to 1797, during President George Washington's administration. \n", - "3 The second Vice President of the United States was Thomas Jefferson. He served as Vice President from 1797 to 1801, under President John Adams. \n", - "\n", - " latency \n", - "0 0.551219 \n", - "1 0.510815 \n", - "2 1.535680 \n", - "3 0.921390 " - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "harness.experiment.partial_df" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "afc8e067", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
user_inputsmessagesresponselatency
0{'input': 'first'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.1.023014
1{'input': 'second'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}]The second president of the United States was John Adams. He served from 1797 to 1801.2.899930
2{'input': 'first'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797.1.023490
3{'input': 'second'}[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}]The second Vice President of the United States was Thomas Jefferson. He served as Vice President under President John Adams from 1797 to 1801.0.923946
\n", - "
" - ], - "text/plain": [ - " user_inputs \\\n", - "0 {'input': 'first'} \n", - "1 {'input': 'second'} \n", - "2 {'input': 'first'} \n", - "3 {'input': 'second'} \n", - "\n", - " messages \\\n", - "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}] \n", - "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", - "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}] \n", + " temperature top_p n presence_penalty frequency_penalty \\\n", + "0 1.0 1.0 1 0.0 0.0 \n", + "1 1.0 1.0 1 0.0 0.0 \n", + "2 1.0 1.0 1 0.0 0.0 \n", + "3 1.0 1.0 1 0.0 0.0 \n", "\n", " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The second president of the United States was John Adams. He served from 1797 to 1801. \n", - "2 The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797. \n", - "3 The second Vice President of the United States was Thomas Jefferson. He served as Vice President under President John Adams from 1797 to 1801. \n", + "0 The first president of the United States was George Washington. \n", + "1 The second president of the United States was John Adams. \n", + "2 The first Vice President of the United States was John Adams, serving under President George Washington from 1789 to 1797. \n", + "3 The second vice president of the United States was Thomas Jefferson. He served as vice president under President John Adams from 1797 to 1801. \n", + "\n", + " response_usage \\\n", + "0 {'completion_tokens': 11, 'prompt_tokens': 23, 'total_tokens': 34} \n", + "1 {'completion_tokens': 11, 'prompt_tokens': 23, 'total_tokens': 34} \n", + "2 {'completion_tokens': 26, 'prompt_tokens': 24, 'total_tokens': 50} \n", + "3 {'completion_tokens': 30, 'prompt_tokens': 24, 'total_tokens': 54} \n", "\n", " latency \n", - "0 1.023014 \n", - "1 2.899930 \n", - "2 1.023490 \n", - "3 0.923946 " + "0 0.744072 \n", + "1 0.613869 \n", + "2 1.126319 \n", + "3 1.534311 " ] }, - "execution_count": 17, "metadata": {}, - "output_type": "execute_result" + "output_type": "display_data" } ], "source": [ - "harness_from_load.experiment.partial_df" + "harness_from_load.run(clear_previous_results=True) # You can set to `False` to persist previous results\n", + "harness_from_load.visualize()" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "19f2f8a3", - "metadata": {}, - "outputs": [], - "source": [] - }, { "cell_type": "markdown", "id": "2ebbc052", @@ -1124,58 +610,111 @@ " \n", " \n", " \n", + " model\n", " messages\n", + " temperature\n", + " top_p\n", + " n\n", + " presence_penalty\n", + " frequency_penalty\n", " response\n", + " response_usage\n", " latency\n", " \n", " \n", " \n", " \n", " 0\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " 0.987327\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first president of the United States is George Washington.\n", + " {'completion_tokens': 11, 'prompt_tokens': 23, 'total_tokens': 34}\n", + " 0.849522\n", " \n", " \n", " 1\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]\n", - " The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797.\n", - " 1.222432\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first Vice President of the United States was John Adams. He served under President George Washington from 1789 to 1797.\n", + " {'completion_tokens': 27, 'prompt_tokens': 24, 'total_tokens': 51}\n", + " 1.012878\n", " \n", " \n", " 2\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " The first president of the United States was George Washington. He served as president from 1789 to 1797 and played a crucial role in establishing many of the practices and institutions that still exist in our country today.\n", - " 1.434122\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first president of the United States was George Washington. He was elected in 1788 and served two terms from 1789 to 1797.\n", + " {'completion_tokens': 31, 'prompt_tokens': 27, 'total_tokens': 58}\n", + " 1.540456\n", " \n", " \n", " 3\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]\n", - " The first vice president of the United States was John Adams. He served as the vice president under President George Washington from 1789 to 1797. Adams later became the second president of the United States.\n", - " 1.125934\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first vice president of the United States was John Adams. He served as vice president from 1789 to 1797 under President George Washington. Adams later became the second president of the United States.\n", + " {'completion_tokens': 41, 'prompt_tokens': 28, 'total_tokens': 69}\n", + " 1.117473\n", " \n", " \n", "\n", "" ], "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "2 gpt-3.5-turbo \n", + "3 gpt-3.5-turbo \n", + "\n", " messages \\\n", "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", "2 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "3 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797. \n", - "2 The first president of the United States was George Washington. He served as president from 1789 to 1797 and played a crucial role in establishing many of the practices and institutions that still exist in our country today. \n", - "3 The first vice president of the United States was John Adams. He served as the vice president under President George Washington from 1789 to 1797. Adams later became the second president of the United States. \n", + " temperature top_p n presence_penalty frequency_penalty \\\n", + "0 1.0 1.0 1 0.0 0.0 \n", + "1 1.0 1.0 1 0.0 0.0 \n", + "2 1.0 1.0 1 0.0 0.0 \n", + "3 1.0 1.0 1 0.0 0.0 \n", + "\n", + " response \\\n", + "0 The first president of the United States is George Washington. \n", + "1 The first Vice President of the United States was John Adams. He served under President George Washington from 1789 to 1797. \n", + "2 The first president of the United States was George Washington. He was elected in 1788 and served two terms from 1789 to 1797. \n", + "3 The first vice president of the United States was John Adams. He served as vice president from 1789 to 1797 under President George Washington. Adams later became the second president of the United States. \n", + "\n", + " response_usage \\\n", + "0 {'completion_tokens': 11, 'prompt_tokens': 23, 'total_tokens': 34} \n", + "1 {'completion_tokens': 27, 'prompt_tokens': 24, 'total_tokens': 51} \n", + "2 {'completion_tokens': 31, 'prompt_tokens': 27, 'total_tokens': 58} \n", + "3 {'completion_tokens': 41, 'prompt_tokens': 28, 'total_tokens': 69} \n", "\n", " latency \n", - "0 0.987327 \n", - "1 1.222432 \n", - "2 1.434122 \n", - "3 1.125934 " + "0 0.849522 \n", + "1 1.012878 \n", + "2 1.540456 \n", + "3 1.117473 " ] }, "metadata": {}, @@ -1273,58 +812,111 @@ " \n", " \n", " \n", + " model\n", " messages\n", + " temperature\n", + " top_p\n", + " n\n", + " presence_penalty\n", + " frequency_penalty\n", " response\n", + " response_usage\n", " latency\n", " \n", " \n", " \n", " \n", " 0\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " 0.987327\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first president of the United States is George Washington.\n", + " {'completion_tokens': 11, 'prompt_tokens': 23, 'total_tokens': 34}\n", + " 0.849522\n", " \n", " \n", " 1\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]\n", - " The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797.\n", - " 1.222432\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first Vice President of the United States was John Adams. He served under President George Washington from 1789 to 1797.\n", + " {'completion_tokens': 27, 'prompt_tokens': 24, 'total_tokens': 51}\n", + " 1.012878\n", " \n", " \n", " 2\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " The first president of the United States was George Washington. He served as president from 1789 to 1797 and played a crucial role in establishing many of the practices and institutions that still exist in our country today.\n", - " 1.434122\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first president of the United States was George Washington. He was elected in 1788 and served two terms from 1789 to 1797.\n", + " {'completion_tokens': 31, 'prompt_tokens': 27, 'total_tokens': 58}\n", + " 1.540456\n", " \n", " \n", " 3\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]\n", - " The first vice president of the United States was John Adams. He served as the vice president under President George Washington from 1789 to 1797. Adams later became the second president of the United States.\n", - " 1.125934\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first vice president of the United States was John Adams. He served as vice president from 1789 to 1797 under President George Washington. Adams later became the second president of the United States.\n", + " {'completion_tokens': 41, 'prompt_tokens': 28, 'total_tokens': 69}\n", + " 1.117473\n", " \n", " \n", "\n", "" ], "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "2 gpt-3.5-turbo \n", + "3 gpt-3.5-turbo \n", + "\n", " messages \\\n", "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", "2 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "3 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797. \n", - "2 The first president of the United States was George Washington. He served as president from 1789 to 1797 and played a crucial role in establishing many of the practices and institutions that still exist in our country today. \n", - "3 The first vice president of the United States was John Adams. He served as the vice president under President George Washington from 1789 to 1797. Adams later became the second president of the United States. \n", + " temperature top_p n presence_penalty frequency_penalty \\\n", + "0 1.0 1.0 1 0.0 0.0 \n", + "1 1.0 1.0 1 0.0 0.0 \n", + "2 1.0 1.0 1 0.0 0.0 \n", + "3 1.0 1.0 1 0.0 0.0 \n", + "\n", + " response \\\n", + "0 The first president of the United States is George Washington. \n", + "1 The first Vice President of the United States was John Adams. He served under President George Washington from 1789 to 1797. \n", + "2 The first president of the United States was George Washington. He was elected in 1788 and served two terms from 1789 to 1797. \n", + "3 The first vice president of the United States was John Adams. He served as vice president from 1789 to 1797 under President George Washington. Adams later became the second president of the United States. \n", + "\n", + " response_usage \\\n", + "0 {'completion_tokens': 11, 'prompt_tokens': 23, 'total_tokens': 34} \n", + "1 {'completion_tokens': 27, 'prompt_tokens': 24, 'total_tokens': 51} \n", + "2 {'completion_tokens': 31, 'prompt_tokens': 27, 'total_tokens': 58} \n", + "3 {'completion_tokens': 41, 'prompt_tokens': 28, 'total_tokens': 69} \n", "\n", " latency \n", - "0 0.987327 \n", - "1 1.222432 \n", - "2 1.434122 \n", - "3 1.125934 " + "0 0.849522 \n", + "1 1.012878 \n", + "2 1.540456 \n", + "3 1.117473 " ] }, "metadata": {}, @@ -1362,65 +954,138 @@ " \n", " \n", " \n", + " model\n", " messages\n", + " temperature\n", + " top_p\n", + " n\n", + " presence_penalty\n", + " frequency_penalty\n", " response\n", + " response_usage\n", " latency\n", " \n", " \n", " \n", " \n", " 0\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " 0.987327\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first president of the United States is George Washington.\n", + " {'completion_tokens': 11, 'prompt_tokens': 23, 'total_tokens': 34}\n", + " 0.849522\n", " \n", " \n", " 1\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]\n", - " The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797.\n", - " 1.222432\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first Vice President of the United States was John Adams. He served under President George Washington from 1789 to 1797.\n", + " {'completion_tokens': 27, 'prompt_tokens': 24, 'total_tokens': 51}\n", + " 1.012878\n", " \n", " \n", " 2\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " The first president of the United States was George Washington. He served as president from 1789 to 1797 and played a crucial role in establishing many of the practices and institutions that still exist in our country today.\n", - " 1.434122\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first president of the United States was George Washington. He was elected in 1788 and served two terms from 1789 to 1797.\n", + " {'completion_tokens': 31, 'prompt_tokens': 27, 'total_tokens': 58}\n", + " 1.540456\n", " \n", " \n", " 3\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]\n", - " The first vice president of the United States was John Adams. He served as the vice president under President George Washington from 1789 to 1797. Adams later became the second president of the United States.\n", - " 1.125934\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first vice president of the United States was John Adams. He served as vice president from 1789 to 1797 under President George Washington. Adams later became the second president of the United States.\n", + " {'completion_tokens': 41, 'prompt_tokens': 28, 'total_tokens': 69}\n", + " 1.117473\n", " \n", " \n", " 0\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " 1.101437\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first president of the United States was George Washington.\n", + " {'completion_tokens': 11, 'prompt_tokens': 23, 'total_tokens': 34}\n", + " 0.872892\n", " \n", " \n", " 1\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]\n", - " The first vice president of the United States was John Adams. He served under President George Washington from 1789 to 1797.\n", - " 0.816013\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797.\n", + " {'completion_tokens': 30, 'prompt_tokens': 24, 'total_tokens': 54}\n", + " 1.129201\n", " \n", " \n", " 2\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " The first president of the United States was George Washington. He served as the President from 1789 to 1797.\n", - " 0.723490\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first president of the United States was George Washington. He served as the president from 1789 to 1797. George Washington was a key figure in the American Revolution and played a crucial role in the formation of the United States as a nation. He is often called the \"Father of His Country\" for his leadership and contributions to the development of the young nation.\n", + " {'completion_tokens': 75, 'prompt_tokens': 27, 'total_tokens': 102}\n", + " 4.299786\n", " \n", " \n", " 3\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]\n", - " The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797.\n", - " 1.122580\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first Vice President of the United States was John Adams. He served in this role from 1789 to 1797 under President George Washington. After his vice presidency, John Adams went on to become the second President of the United States.\n", + " {'completion_tokens': 49, 'prompt_tokens': 28, 'total_tokens': 77}\n", + " 1.591939\n", " \n", " \n", "\n", "" ], "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "2 gpt-3.5-turbo \n", + "3 gpt-3.5-turbo \n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "2 gpt-3.5-turbo \n", + "3 gpt-3.5-turbo \n", + "\n", " messages \\\n", "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", @@ -1431,25 +1096,45 @@ "2 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "3 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797. \n", - "2 The first president of the United States was George Washington. He served as president from 1789 to 1797 and played a crucial role in establishing many of the practices and institutions that still exist in our country today. \n", - "3 The first vice president of the United States was John Adams. He served as the vice president under President George Washington from 1789 to 1797. Adams later became the second president of the United States. \n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first vice president of the United States was John Adams. He served under President George Washington from 1789 to 1797. \n", - "2 The first president of the United States was George Washington. He served as the President from 1789 to 1797. \n", - "3 The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797. \n", + " temperature top_p n presence_penalty frequency_penalty \\\n", + "0 1.0 1.0 1 0.0 0.0 \n", + "1 1.0 1.0 1 0.0 0.0 \n", + "2 1.0 1.0 1 0.0 0.0 \n", + "3 1.0 1.0 1 0.0 0.0 \n", + "0 1.0 1.0 1 0.0 0.0 \n", + "1 1.0 1.0 1 0.0 0.0 \n", + "2 1.0 1.0 1 0.0 0.0 \n", + "3 1.0 1.0 1 0.0 0.0 \n", + "\n", + " response \\\n", + "0 The first president of the United States is George Washington. \n", + "1 The first Vice President of the United States was John Adams. He served under President George Washington from 1789 to 1797. \n", + "2 The first president of the United States was George Washington. He was elected in 1788 and served two terms from 1789 to 1797. \n", + "3 The first vice president of the United States was John Adams. He served as vice president from 1789 to 1797 under President George Washington. Adams later became the second president of the United States. \n", + "0 The first president of the United States was George Washington. \n", + "1 The first vice president of the United States was John Adams. He served as vice president under President George Washington from 1789 to 1797. \n", + "2 The first president of the United States was George Washington. He served as the president from 1789 to 1797. George Washington was a key figure in the American Revolution and played a crucial role in the formation of the United States as a nation. He is often called the \"Father of His Country\" for his leadership and contributions to the development of the young nation. \n", + "3 The first Vice President of the United States was John Adams. He served in this role from 1789 to 1797 under President George Washington. After his vice presidency, John Adams went on to become the second President of the United States. \n", + "\n", + " response_usage \\\n", + "0 {'completion_tokens': 11, 'prompt_tokens': 23, 'total_tokens': 34} \n", + "1 {'completion_tokens': 27, 'prompt_tokens': 24, 'total_tokens': 51} \n", + "2 {'completion_tokens': 31, 'prompt_tokens': 27, 'total_tokens': 58} \n", + "3 {'completion_tokens': 41, 'prompt_tokens': 28, 'total_tokens': 69} \n", + "0 {'completion_tokens': 11, 'prompt_tokens': 23, 'total_tokens': 34} \n", + "1 {'completion_tokens': 30, 'prompt_tokens': 24, 'total_tokens': 54} \n", + "2 {'completion_tokens': 75, 'prompt_tokens': 27, 'total_tokens': 102} \n", + "3 {'completion_tokens': 49, 'prompt_tokens': 28, 'total_tokens': 77} \n", "\n", " latency \n", - "0 0.987327 \n", - "1 1.222432 \n", - "2 1.434122 \n", - "3 1.125934 \n", - "0 1.101437 \n", - "1 0.816013 \n", - "2 0.723490 \n", - "3 1.122580 " + "0 0.849522 \n", + "1 1.012878 \n", + "2 1.540456 \n", + "3 1.117473 \n", + "0 0.872892 \n", + "1 1.129201 \n", + "2 4.299786 \n", + "3 1.591939 " ] }, "metadata": {}, @@ -1457,18 +1142,10 @@ } ], "source": [ - "harness_from_load.run()\n", + "harness_from_load.run(clear_previous_results=False) # You can set to `True` to clear results\n", "harness_from_load.visualize()" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "bece5501", - "metadata": {}, - "outputs": [], - "source": [] - }, { "cell_type": "markdown", "id": "051929e1", @@ -1479,7 +1156,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 11, "id": "916167ae", "metadata": {}, "outputs": [], @@ -1493,7 +1170,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 12, "id": "85aec661", "metadata": {}, "outputs": [ @@ -1518,40 +1195,73 @@ " \n", " \n", " \n", + " model\n", " messages\n", + " temperature\n", + " top_p\n", + " n\n", + " presence_penalty\n", + " frequency_penalty\n", " response\n", + " response_usage\n", " latency\n", " \n", " \n", " \n", " \n", " 0\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " 1.090410\n", + " {'completion_tokens': 24, 'prompt_tokens': 23, 'total_tokens': 47}\n", + " 0.947374\n", " \n", " \n", " 1\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " The first president of the United States was George Washington. He was elected in 1789 and served two terms as the country's leader.\n", - " 1.208399\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first president of the United States was George Washington. He served as the president from 1789 to 1797. George Washington played a crucial role in shaping the presidency and establishing many of the traditions and practices that are still followed today.\n", + " {'completion_tokens': 49, 'prompt_tokens': 27, 'total_tokens': 76}\n", + " 1.519669\n", " \n", " \n", "\n", "" ], "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "\n", " messages \\\n", "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "1 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington. He was elected in 1789 and served two terms as the country's leader. \n", + " temperature top_p n presence_penalty frequency_penalty \\\n", + "0 1.0 1.0 1 0.0 0.0 \n", + "1 1.0 1.0 1 0.0 0.0 \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. He served as the president from 1789 to 1797. George Washington played a crucial role in shaping the presidency and establishing many of the traditions and practices that are still followed today. \n", + "\n", + " response_usage \\\n", + "0 {'completion_tokens': 24, 'prompt_tokens': 23, 'total_tokens': 47} \n", + "1 {'completion_tokens': 49, 'prompt_tokens': 27, 'total_tokens': 76} \n", "\n", " latency \n", - "0 1.090410 \n", - "1 1.208399 " + "0 0.947374 \n", + "1 1.519669 " ] }, "metadata": {}, @@ -1565,7 +1275,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 13, "id": "e91becef", "metadata": {}, "outputs": [ @@ -1590,25 +1300,46 @@ " \n", " \n", " \n", + " model\n", " messages\n", + " temperature\n", + " top_p\n", + " n\n", + " presence_penalty\n", + " frequency_penalty\n", " response\n", + " response_usage\n", " latency\n", - " dumb_eval_metric\n", + " simple_eval_metric\n", " \n", " \n", " \n", " \n", " 0\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " 1.090410\n", + " {'completion_tokens': 24, 'prompt_tokens': 23, 'total_tokens': 47}\n", + " 0.947374\n", " EVAL'ED The first\n", " \n", " \n", " 1\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " The first president of the United States was George Washington. He was elected in 1789 and served two terms as the country's leader.\n", - " 1.208399\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first president of the United States was George Washington. He served as the president from 1789 to 1797. George Washington played a crucial role in shaping the presidency and establishing many of the traditions and practices that are still followed today.\n", + " {'completion_tokens': 49, 'prompt_tokens': 27, 'total_tokens': 76}\n", + " 1.519669\n", " EVAL'ED The first\n", " \n", " \n", @@ -1616,17 +1347,29 @@ "" ], "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "\n", " messages \\\n", "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "1 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington. He was elected in 1789 and served two terms as the country's leader. \n", + " temperature top_p n presence_penalty frequency_penalty \\\n", + "0 1.0 1.0 1 0.0 0.0 \n", + "1 1.0 1.0 1 0.0 0.0 \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. He served as the president from 1789 to 1797. George Washington played a crucial role in shaping the presidency and establishing many of the traditions and practices that are still followed today. \n", + "\n", + " response_usage \\\n", + "0 {'completion_tokens': 24, 'prompt_tokens': 23, 'total_tokens': 47} \n", + "1 {'completion_tokens': 49, 'prompt_tokens': 27, 'total_tokens': 76} \n", "\n", - " latency dumb_eval_metric \n", - "0 1.090410 EVAL'ED The first \n", - "1 1.208399 EVAL'ED The first " + " latency simple_eval_metric \n", + "0 0.947374 EVAL'ED The first \n", + "1 1.519669 EVAL'ED The first " ] }, "metadata": {}, @@ -1634,17 +1377,17 @@ } ], "source": [ - "def _dumb_eval(row):\n", + "def _simple_eval(row):\n", " return \"EVAL'ED \" + row['response'][:10]\n", "\n", "\n", - "harness.evaluate(\"dumb_eval_metric\", _dumb_eval)\n", + "harness.evaluate(\"simple_eval_metric\", _simple_eval)\n", "harness.visualize()" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 14, "id": "625b4da4", "metadata": {}, "outputs": [ @@ -1664,7 +1407,7 @@ "" ] }, - "execution_count": 5, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -1683,7 +1426,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 15, "id": "370caae6", "metadata": {}, "outputs": [ @@ -1704,7 +1447,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 16, "id": "ab9110f9", "metadata": {}, "outputs": [ @@ -1729,25 +1472,46 @@ " \n", " \n", " \n", + " model\n", " messages\n", + " temperature\n", + " top_p\n", + " n\n", + " presence_penalty\n", + " frequency_penalty\n", " response\n", + " response_usage\n", " latency\n", - " dumb_eval_metric\n", + " simple_eval_metric\n", " \n", " \n", " \n", " \n", " 0\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " 1.090410\n", + " {'completion_tokens': 24, 'prompt_tokens': 23, 'total_tokens': 47}\n", + " 0.947374\n", " EVAL'ED The first\n", " \n", " \n", " 1\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " The first president of the United States was George Washington. He was elected in 1789 and served two terms as the country's leader.\n", - " 1.208399\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first president of the United States was George Washington. He served as the president from 1789 to 1797. George Washington played a crucial role in shaping the presidency and establishing many of the traditions and practices that are still followed today.\n", + " {'completion_tokens': 49, 'prompt_tokens': 27, 'total_tokens': 76}\n", + " 1.519669\n", " EVAL'ED The first\n", " \n", " \n", @@ -1755,17 +1519,29 @@ "" ], "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "\n", " messages \\\n", "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "1 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington. He was elected in 1789 and served two terms as the country's leader. \n", + " temperature top_p n presence_penalty frequency_penalty \\\n", + "0 1.0 1.0 1 0.0 0.0 \n", + "1 1.0 1.0 1 0.0 0.0 \n", "\n", - " latency dumb_eval_metric \n", - "0 1.090410 EVAL'ED The first \n", - "1 1.208399 EVAL'ED The first " + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. He served as the president from 1789 to 1797. George Washington played a crucial role in shaping the presidency and establishing many of the traditions and practices that are still followed today. \n", + "\n", + " response_usage \\\n", + "0 {'completion_tokens': 24, 'prompt_tokens': 23, 'total_tokens': 47} \n", + "1 {'completion_tokens': 49, 'prompt_tokens': 27, 'total_tokens': 76} \n", + "\n", + " latency simple_eval_metric \n", + "0 0.947374 EVAL'ED The first \n", + "1 1.519669 EVAL'ED The first " ] }, "metadata": {}, @@ -1778,7 +1554,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 17, "id": "7a55f289", "metadata": {}, "outputs": [], @@ -1788,7 +1564,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 18, "id": "9d27cbc2", "metadata": {}, "outputs": [ @@ -1813,39 +1589,74 @@ " \n", " \n", " \n", + " model\n", " messages\n", + " temperature\n", + " top_p\n", + " n\n", + " presence_penalty\n", + " frequency_penalty\n", " response\n", + " response_usage\n", " latency\n", - " dumb_eval_metric\n", + " simple_eval_metric\n", " \n", " \n", " \n", " \n", " 0\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", - " 1.090410\n", + " {'completion_tokens': 24, 'prompt_tokens': 23, 'total_tokens': 47}\n", + " 0.947374\n", " EVAL'ED The first\n", " \n", " \n", " 1\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " The first president of the United States was George Washington.\n", - " 0.888243\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", + " {'completion_tokens': 24, 'prompt_tokens': 23, 'total_tokens': 47}\n", + " 1.145145\n", " NaN\n", " \n", " \n", " 2\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " The first president of the United States was George Washington. He was elected in 1789 and served two terms as the country's leader.\n", - " 1.208399\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first president of the United States was George Washington. He served as the president from 1789 to 1797. George Washington played a crucial role in shaping the presidency and establishing many of the traditions and practices that are still followed today.\n", + " {'completion_tokens': 49, 'prompt_tokens': 27, 'total_tokens': 76}\n", + " 1.519669\n", " EVAL'ED The first\n", " \n", " \n", " 3\n", + " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " The first president of the United States was George Washington. He served as president from 1789 to 1797. George Washington was also a general during the American Revolutionary War and played a crucial role in leading the country to independence.\n", - " 1.557461\n", + " 1.0\n", + " 1.0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " The first president of the United States was George Washington. He served as president from 1789 to 1797.\n", + " {'completion_tokens': 24, 'prompt_tokens': 27, 'total_tokens': 51}\n", + " 1.004023\n", " NaN\n", " \n", " \n", @@ -1853,23 +1664,41 @@ "" ], "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "2 gpt-3.5-turbo \n", + "3 gpt-3.5-turbo \n", + "\n", " messages \\\n", "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "2 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "3 [{'role': 'system', 'content': 'You are a 5th grade history teacher.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "\n", - " response \\\n", - "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "1 The first president of the United States was George Washington. \n", - "2 The first president of the United States was George Washington. He was elected in 1789 and served two terms as the country's leader. \n", - "3 The first president of the United States was George Washington. He served as president from 1789 to 1797. George Washington was also a general during the American Revolutionary War and played a crucial role in leading the country to independence. \n", - "\n", - " latency dumb_eval_metric \n", - "0 1.090410 EVAL'ED The first \n", - "1 0.888243 NaN \n", - "2 1.208399 EVAL'ED The first \n", - "3 1.557461 NaN " + " temperature top_p n presence_penalty frequency_penalty \\\n", + "0 1.0 1.0 1 0.0 0.0 \n", + "1 1.0 1.0 1 0.0 0.0 \n", + "2 1.0 1.0 1 0.0 0.0 \n", + "3 1.0 1.0 1 0.0 0.0 \n", + "\n", + " response \\\n", + "0 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "1 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "2 The first president of the United States was George Washington. He served as the president from 1789 to 1797. George Washington played a crucial role in shaping the presidency and establishing many of the traditions and practices that are still followed today. \n", + "3 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", + "\n", + " response_usage \\\n", + "0 {'completion_tokens': 24, 'prompt_tokens': 23, 'total_tokens': 47} \n", + "1 {'completion_tokens': 24, 'prompt_tokens': 23, 'total_tokens': 47} \n", + "2 {'completion_tokens': 49, 'prompt_tokens': 27, 'total_tokens': 76} \n", + "3 {'completion_tokens': 24, 'prompt_tokens': 27, 'total_tokens': 51} \n", + "\n", + " latency simple_eval_metric \n", + "0 0.947374 EVAL'ED The first \n", + "1 1.145145 NaN \n", + "2 1.519669 EVAL'ED The first \n", + "3 1.004023 NaN " ] }, "metadata": {}, From 1929019ed981532b1692cf1d233795bca182365e Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 9 Nov 2023 14:26:14 -0500 Subject: [PATCH 123/182] Update visualization logic --- .../experiments/openai_chat_experiment.py | 30 +++++++++++++++++++ .../harness/chat_prompt_template_harness.py | 7 +++++ .../harness/model_comparison_harness.py | 7 +++++ prompttools/harness/system_prompt_harness.py | 7 +++++ 4 files changed, 51 insertions(+) diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index e153fa62..90fb8498 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -428,6 +428,36 @@ def run_one( self._construct_result_dfs(self.queue.get_input_args(), self.queue.get_results(), self.queue.get_latencies()) + def get_table(self, get_all_cols: bool = False) -> pd.DataFrame: + columns_to_hide = [ + "stream", + "response_id", + "response_choices", + "response_created", + "response_created", + "response_object", + "response_model", + "response_system_fingerprint", + "revision_id", + "log_id", + ] + + if get_all_cols: + return self.full_df + else: + table = self.full_df + columns_to_hide.extend( + [ + col + for col in ["temperature", "top_p", "n", "presence_penalty", "frequency_penalty"] + if col not in self.partial_df.columns + ] + ) + for col in columns_to_hide: + if col in table.columns: + table = table.drop(col, axis=1) + return table + # def _update_values_in_dataframe(self): # r""" # If, in the future, we wish to update existing values rather than appending to the end of the row. diff --git a/prompttools/harness/chat_prompt_template_harness.py b/prompttools/harness/chat_prompt_template_harness.py index 566eaa6d..7ddb563a 100644 --- a/prompttools/harness/chat_prompt_template_harness.py +++ b/prompttools/harness/chat_prompt_template_harness.py @@ -117,6 +117,13 @@ def get_table(self, get_all_cols: bool = False) -> pd.DataFrame: return self.full_df else: table = self.full_df + columns_to_hide.extend( + [ + col + for col in ["temperature", "top_p", "n", "presence_penalty", "frequency_penalty"] + if col not in self.partial_df.columns + ] + ) for col in columns_to_hide: if col in table.columns: table = table.drop(col, axis=1) diff --git a/prompttools/harness/model_comparison_harness.py b/prompttools/harness/model_comparison_harness.py index 69a63998..d80ce18a 100644 --- a/prompttools/harness/model_comparison_harness.py +++ b/prompttools/harness/model_comparison_harness.py @@ -138,6 +138,13 @@ def get_table(self, get_all_cols: bool = False) -> pd.DataFrame: return self.full_df else: table = self.full_df + columns_to_hide.extend( + [ + col + for col in ["temperature", "top_p", "n", "presence_penalty", "frequency_penalty"] + if table[col].nunique() == 1 # Note this is checking for uniqueness + ] + ) for col in columns_to_hide: if col in table.columns: table = table.drop(col, axis=1) diff --git a/prompttools/harness/system_prompt_harness.py b/prompttools/harness/system_prompt_harness.py index 58520162..9dd9009e 100644 --- a/prompttools/harness/system_prompt_harness.py +++ b/prompttools/harness/system_prompt_harness.py @@ -141,6 +141,13 @@ def get_table(self, get_all_cols: bool = False) -> pd.DataFrame: return self.full_df else: table = self.full_df + columns_to_hide.extend( + [ + col + for col in ["temperature", "top_p", "n", "presence_penalty", "frequency_penalty"] + if col not in self.partial_df.columns + ] + ) for col in columns_to_hide: if col in table.columns: table = table.drop(col, axis=1) From 381dc6fa6476599f847df8370cbb0ddab98e5819 Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Thu, 9 Nov 2023 12:50:12 -0800 Subject: [PATCH 124/182] Version bump --- docs/source/conf.py | 2 +- prompttools/version.py | 4 ++-- pyproject.toml | 2 +- version.txt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 2530dcf1..3b797132 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -11,7 +11,7 @@ project = "prompttools" copyright = "2023, Hegel AI" author = "Hegel AI" -release = "0.0.41" +release = "0.0.42" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/prompttools/version.py b/prompttools/version.py index b713ca27..0e45c082 100644 --- a/prompttools/version.py +++ b/prompttools/version.py @@ -1,2 +1,2 @@ -__version__ = '0.0.41a0+6e6ef77' -git_version = '6e6ef77d520abd969925039b5ababcd3c52fe679' +__version__ = '0.0.42a0+9e5896d' +git_version = '9e5896d5c21ba1cfd9e05023e51d9b0514857833' diff --git a/pyproject.toml b/pyproject.toml index a314ece5..197a1708 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "prompttools" -version = "0.0.41" +version = "0.0.42" authors = [ { name="Hegel AI", email="team@hegel-ai.com" }, ] diff --git a/version.txt b/version.txt index 4e731d9c..a3fa9bbe 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.0.41a0 +0.0.42a0 From f0248bc0f4c68170df0610148d7b8ef383af3eb7 Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Thu, 9 Nov 2023 12:52:25 -0800 Subject: [PATCH 125/182] Version bump --- docs/source/conf.py | 2 +- prompttools/version.py | 4 ++-- pyproject.toml | 2 +- version.txt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 3b797132..e8814889 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -11,7 +11,7 @@ project = "prompttools" copyright = "2023, Hegel AI" author = "Hegel AI" -release = "0.0.42" +release = "0.0.43" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/prompttools/version.py b/prompttools/version.py index 0e45c082..ca2ae2b6 100644 --- a/prompttools/version.py +++ b/prompttools/version.py @@ -1,2 +1,2 @@ -__version__ = '0.0.42a0+9e5896d' -git_version = '9e5896d5c21ba1cfd9e05023e51d9b0514857833' +__version__ = '0.0.43a0+5234a22' +git_version = '5234a228395a7f0c61b7d732927f51b4857a6846' diff --git a/pyproject.toml b/pyproject.toml index 197a1708..e93bde0c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "prompttools" -version = "0.0.42" +version = "0.0.43" authors = [ { name="Hegel AI", email="team@hegel-ai.com" }, ] diff --git a/version.txt b/version.txt index a3fa9bbe..85a9ee5c 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.0.42a0 +0.0.43a0 From ead22e88a83ddcda4c4aba62e1219473d7d1a41c Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 20 Nov 2023 16:21:54 -0500 Subject: [PATCH 126/182] Fix rag harness --- prompttools/harness/rag_harness.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/prompttools/harness/rag_harness.py b/prompttools/harness/rag_harness.py index c955c748..877ae854 100644 --- a/prompttools/harness/rag_harness.py +++ b/prompttools/harness/rag_harness.py @@ -105,8 +105,6 @@ def run(self) -> None: # Run the LLM experiment self.experiment.run() - self.partial_df = self.experiment.partial_df - self.full_df = self.experiment.full_df # Add "query text" (i.e. the prompt used to retrieve documents from the vector DB) # to the final results table here From 2065e14d606db6de3c748db3eba8f05df95a98d6 Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Mon, 27 Nov 2023 19:23:05 -0800 Subject: [PATCH 127/182] Fix streamlit playground --- prompttools/experiment/experiments/experiment.py | 4 +++- prompttools/playground/data_loader.py | 4 ++-- prompttools/version.py | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/prompttools/experiment/experiments/experiment.py b/prompttools/experiment/experiments/experiment.py index deaf5996..872f12e1 100644 --- a/prompttools/experiment/experiments/experiment.py +++ b/prompttools/experiment/experiments/experiment.py @@ -527,7 +527,7 @@ def to_csv( table = self.get_table(get_all_cols=get_all_cols) table.to_csv(path, **kwargs) - def to_pandas_df(self, get_all_cols: bool = True): + def to_pandas_df(self, get_all_cols: bool = True, from_streamlit: bool = False): r""" Return the results as a ``pandas.DataFrame``. If the experiment has not been executed, it will run. @@ -535,6 +535,8 @@ def to_pandas_df(self, get_all_cols: bool = True): get_all_cols (bool): defaults to ``False``. If ``True``, it will return the full data with all input arguments (including frozen ones), full model response (not just the text response), and scores. """ + if from_streamlit: + self.run() return self.get_table(get_all_cols=get_all_cols) def to_json( diff --git a/prompttools/playground/data_loader.py b/prompttools/playground/data_loader.py index d5aee79e..22ad7c9a 100644 --- a/prompttools/playground/data_loader.py +++ b/prompttools/playground/data_loader.py @@ -66,7 +66,7 @@ def load_data( model_specific_kwargs = {model: {}} experiment = EXPERIMENTS[model_type]([model], input_kwargs, model_specific_kwargs) - return experiment.to_pandas_df() + return experiment.to_pandas_df(True, True) @st.cache_data @@ -112,5 +112,5 @@ def run_multiple( experiment = EXPERIMENTS[model_types[i]]([models[i]], input_kwargs, model_specific_kwargs) else: experiment = EXPERIMENTS[model_types[i]]([models[i]], prompts) - dfs.append(experiment.to_pandas_df()) + dfs.append(experiment.to_pandas_df(True, True)) return dfs diff --git a/prompttools/version.py b/prompttools/version.py index ca2ae2b6..7ca825d1 100644 --- a/prompttools/version.py +++ b/prompttools/version.py @@ -1,2 +1,2 @@ -__version__ = '0.0.43a0+5234a22' -git_version = '5234a228395a7f0c61b7d732927f51b4857a6846' +__version__ = '0.0.43a0+ead22e8' +git_version = 'ead22e88a83ddcda4c4aba62e1219473d7d1a41c' From 0ee330eb6da012d100fa340126df04c5dc0a39a0 Mon Sep 17 00:00:00 2001 From: "Steven Krawczyk (Hegel AI)" Date: Mon, 27 Nov 2023 19:35:23 -0800 Subject: [PATCH 128/182] Update README.md --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 8bb0dda8..c0666d06 100644 --- a/README.md +++ b/README.md @@ -14,9 +14,7 @@
Total Downloads - - - +

From 60b68ce3a06646bdc2a0ba4b55f2a1d31efa1a05 Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 1 Dec 2023 13:06:40 -0500 Subject: [PATCH 129/182] Update traces sample rate --- prompttools/sentry.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prompttools/sentry.py b/prompttools/sentry.py index f3dff61c..3be08d38 100644 --- a/prompttools/sentry.py +++ b/prompttools/sentry.py @@ -57,7 +57,7 @@ def init_sentry(): sentry_sdk.init( dsn=SENTRY_DSN, release=__version__, - traces_sample_rate=1.0, + traces_sample_rate=0.01, include_local_variables=False, send_default_pii=False, attach_stacktrace=False, From 1e62528415a48c68ef8a1ef5ca1c1113e85be94a Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 7 Dec 2023 14:35:30 -0500 Subject: [PATCH 130/182] Adding daemon-like shutdown behavior with cleanup --- test/sender.py | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 test/sender.py diff --git a/test/sender.py b/test/sender.py new file mode 100644 index 00000000..f045adf1 --- /dev/null +++ b/test/sender.py @@ -0,0 +1,52 @@ +import requests +import threading +import queue +from functools import partial + + +class Sender: + def __init__(self): + self.flask_api_url = "http://localhost:5000/" + self.data_queue = queue.Queue() + self.worker_thread = threading.Thread(target=self.worker) + + # When the main thread is joining, put `None` into queue to signal worker thread to end + threading.Thread(target=lambda: threading.main_thread().join() or self.data_queue.put(None)).start() + + self.worker_thread.start() + + def execute_and_add(self, callable_func): + result = callable_func() + self.data_queue.put(result) + + def worker(self): + while True: + if not self.data_queue.empty(): + result = self.data_queue.get() + if result is None: + return + self.send_data_to_flask(result) + self.data_queue.task_done() + + def send_data_to_flask(self, data): + try: + response = requests.post(self.flask_api_url, json=data) + if response.status_code == 200: + print(f"Data sent to Flask API: {data}") + else: + print(f"Failed to send data to Flask API. Status code: {response.status_code}") + except requests.exceptions.RequestException as e: + print(f"Error sending data to Flask API: {e}") + + +if __name__ == "__main__": + sender = Sender() + + # Example usage: + def example_callable(i: int): + print(f"Executing callable {i}") + return {"message": f"Hello, {i}!"} + + for i in range(3): + sender.execute_and_add(partial(example_callable, i)) + print("end") From 150c5b324382c8684454aa4a5fe49ca13e3a807f Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 8 Dec 2023 17:16:42 -0500 Subject: [PATCH 131/182] Monkey-patch OpenAI chat --- prompttools/scribe/__init__.py | 13 +++++++ prompttools/scribe/scribe.py | 65 ++++++++++++++++++++++++++++++++++ test/app.py | 27 ++++++++++++++ test/sender.py | 52 --------------------------- test/test_scribe.py | 24 +++++++++++++ 5 files changed, 129 insertions(+), 52 deletions(-) create mode 100644 prompttools/scribe/__init__.py create mode 100644 prompttools/scribe/scribe.py create mode 100644 test/app.py delete mode 100644 test/sender.py create mode 100644 test/test_scribe.py diff --git a/prompttools/scribe/__init__.py b/prompttools/scribe/__init__.py new file mode 100644 index 00000000..1d86689c --- /dev/null +++ b/prompttools/scribe/__init__.py @@ -0,0 +1,13 @@ +# Copyright (c) Hegel AI, Inc. +# All rights reserved. +# +# This source code's license can be found in the +# LICENSE file in the root directory of this source tree. + + +from .scribe import Scribe + + +__all__ = [ + "Scribe", +] diff --git a/prompttools/scribe/scribe.py b/prompttools/scribe/scribe.py new file mode 100644 index 00000000..975486f3 --- /dev/null +++ b/prompttools/scribe/scribe.py @@ -0,0 +1,65 @@ +# Copyright (c) Hegel AI, Inc. +# All rights reserved. +# +# This source code's license can be found in the +# LICENSE file in the root directory of this source tree. + + +import requests +import threading +import queue +from functools import partial +import openai +from dotenv import load_dotenv +from os.path import join, dirname + + +# Load "OPENAI_API_KEY" into `os.environ["OPENAI_API_KEY"]` +dotenv_path = join(dirname(__file__), ".env") +load_dotenv(dotenv_path) + + +class Scribe: + def __init__(self): + self.flask_api_url = "http://localhost:5000/" + self.data_queue = queue.Queue() + self.worker_thread = threading.Thread(target=self.worker) + + # When the main thread is joining, put `None` into queue to signal worker thread to end + threading.Thread(target=lambda: threading.main_thread().join() or self.data_queue.put(None)).start() + + self.worker_thread.start() + + def execute_and_add_to_queue(self, callable_func, **kwargs): + result = callable_func(**kwargs) + self.data_queue.put(result.model_dump_json()) + return result + + def wrap(self, callable_func): + return partial(self.execute_and_add_to_queue, callable_func) + + def worker(self): + while True: + if not self.data_queue.empty(): + result = self.data_queue.get() + if result is None: + return + self.log_data_to_remote(result) + self.data_queue.task_done() + + def log_data_to_remote(self, data): + try: + response = requests.post(self.flask_api_url, json=data) + if response.status_code != 200: + print(f"Failed to send data to Flask API. Status code: {response.status_code} for {data}.") + except requests.exceptions.RequestException as e: + print(f"Error sending data to Flask API: {e}") + + +sender = Scribe() +# Monkey-patching +try: + openai.chat.completions.create = sender.wrap(openai.chat.completions.create) +except Exception: + print("You may need to add `OPENAI_API_KEY=''` to your `.env` file.") + raise diff --git a/test/app.py b/test/app.py new file mode 100644 index 00000000..4dd025a3 --- /dev/null +++ b/test/app.py @@ -0,0 +1,27 @@ +# Copyright (c) Hegel AI, Inc. +# All rights reserved. +# +# This source code's license can be found in the +# LICENSE file in the root directory of this source tree. + + +r""" +App for local testing +""" + +from flask import Flask, request +import time + +app = Flask(__name__) + + +@app.route("/", methods=["POST"]) +def process_request(): + time.sleep(0.1) + data = request.json + print(f"Request received and processed {data}.") + return "", 200 + + +if __name__ == "__main__": + app.run(debug=True) diff --git a/test/sender.py b/test/sender.py deleted file mode 100644 index f045adf1..00000000 --- a/test/sender.py +++ /dev/null @@ -1,52 +0,0 @@ -import requests -import threading -import queue -from functools import partial - - -class Sender: - def __init__(self): - self.flask_api_url = "http://localhost:5000/" - self.data_queue = queue.Queue() - self.worker_thread = threading.Thread(target=self.worker) - - # When the main thread is joining, put `None` into queue to signal worker thread to end - threading.Thread(target=lambda: threading.main_thread().join() or self.data_queue.put(None)).start() - - self.worker_thread.start() - - def execute_and_add(self, callable_func): - result = callable_func() - self.data_queue.put(result) - - def worker(self): - while True: - if not self.data_queue.empty(): - result = self.data_queue.get() - if result is None: - return - self.send_data_to_flask(result) - self.data_queue.task_done() - - def send_data_to_flask(self, data): - try: - response = requests.post(self.flask_api_url, json=data) - if response.status_code == 200: - print(f"Data sent to Flask API: {data}") - else: - print(f"Failed to send data to Flask API. Status code: {response.status_code}") - except requests.exceptions.RequestException as e: - print(f"Error sending data to Flask API: {e}") - - -if __name__ == "__main__": - sender = Sender() - - # Example usage: - def example_callable(i: int): - print(f"Executing callable {i}") - return {"message": f"Hello, {i}!"} - - for i in range(3): - sender.execute_and_add(partial(example_callable, i)) - print("end") diff --git a/test/test_scribe.py b/test/test_scribe.py new file mode 100644 index 00000000..5fdbc54a --- /dev/null +++ b/test/test_scribe.py @@ -0,0 +1,24 @@ +# Copyright (c) Hegel AI, Inc. +# All rights reserved. +# +# This source code's license can be found in the +# LICENSE file in the root directory of this source tree. + + +import openai +import os +import prompttools.scribe # noqa: F401 Importing this line will monkey-patch `openai.chat.completions.create` + +if __name__ == "__main__": + + os.environ["OPENAI_API_KEY"] = "" + + # Example usage: + for i in range(3): + messages = [ + {"role": "user", "content": f"What is 1 + {i}?"}, + ] + result = openai.chat.completions.create(model="gpt-3.5-turbo", messages=messages) + print(f"{i} {result = }") + + print("End") From 776267ab0eb630928d33864a96c22c680cf0ad73 Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 12 Dec 2023 14:03:25 -0500 Subject: [PATCH 132/182] Update backend URL --- prompttools/scribe/scribe.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/prompttools/scribe/scribe.py b/prompttools/scribe/scribe.py index 975486f3..b5e7cfb6 100644 --- a/prompttools/scribe/scribe.py +++ b/prompttools/scribe/scribe.py @@ -12,16 +12,18 @@ import openai from dotenv import load_dotenv from os.path import join, dirname +from prompttools.common import HEGEL_BACKEND_URL # Load "OPENAI_API_KEY" into `os.environ["OPENAI_API_KEY"]` +# See `.env.example` dotenv_path = join(dirname(__file__), ".env") load_dotenv(dotenv_path) class Scribe: def __init__(self): - self.flask_api_url = "http://localhost:5000/" + self.backend_url = f"{HEGEL_BACKEND_URL}/sdk/log" self.data_queue = queue.Queue() self.worker_thread = threading.Thread(target=self.worker) @@ -49,7 +51,7 @@ def worker(self): def log_data_to_remote(self, data): try: - response = requests.post(self.flask_api_url, json=data) + response = requests.post(self.backend_url, json=data) if response.status_code != 200: print(f"Failed to send data to Flask API. Status code: {response.status_code} for {data}.") except requests.exceptions.RequestException as e: From 222b80e2214f304fbd2377b44f060c652908f13c Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 12 Dec 2023 14:39:25 -0500 Subject: [PATCH 133/182] Logging optional model name --- prompttools/scribe/scribe.py | 7 ++++++- test/test_scribe.py | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/prompttools/scribe/scribe.py b/prompttools/scribe/scribe.py index b5e7cfb6..d1ce38d6 100644 --- a/prompttools/scribe/scribe.py +++ b/prompttools/scribe/scribe.py @@ -33,8 +33,13 @@ def __init__(self): self.worker_thread.start() def execute_and_add_to_queue(self, callable_func, **kwargs): + if "hegel_model" in kwargs: + hegel_model = kwargs["hegel_model"] + del kwargs["hegel_model"] + else: + hegel_model = None result = callable_func(**kwargs) - self.data_queue.put(result.model_dump_json()) + self.data_queue.put({"hegel_model": hegel_model, "data": result.model_dump_json()}) return result def wrap(self, callable_func): diff --git a/test/test_scribe.py b/test/test_scribe.py index 5fdbc54a..7cd85131 100644 --- a/test/test_scribe.py +++ b/test/test_scribe.py @@ -18,7 +18,7 @@ messages = [ {"role": "user", "content": f"What is 1 + {i}?"}, ] - result = openai.chat.completions.create(model="gpt-3.5-turbo", messages=messages) + result = openai.chat.completions.create(model="gpt-3.5-turbo", messages=messages, hegel_model="TEST_MODEL") print(f"{i} {result = }") print("End") From e84a71e8e739638f9f8bdc6d715755f6d10eda1b Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 12 Dec 2023 14:40:59 -0500 Subject: [PATCH 134/182] Logging optional model name --- test/app.py | 2 +- test/test_scribe.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/test/app.py b/test/app.py index 4dd025a3..385f7d23 100644 --- a/test/app.py +++ b/test/app.py @@ -6,7 +6,7 @@ r""" -App for local testing +App for local testing of scribe """ from flask import Flask, request diff --git a/test/test_scribe.py b/test/test_scribe.py index 7cd85131..0f3fc792 100644 --- a/test/test_scribe.py +++ b/test/test_scribe.py @@ -13,6 +13,7 @@ os.environ["OPENAI_API_KEY"] = "" + # Launch server from `app.py` first # Example usage: for i in range(3): messages = [ From f6a50e89056085c3a142aca62aa35338304c57aa Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 12 Dec 2023 14:46:56 -0500 Subject: [PATCH 135/182] Disable test_scribe as it is not meant for CI testing for now --- test/test_scribe.py | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/test/test_scribe.py b/test/test_scribe.py index 0f3fc792..24b40e40 100644 --- a/test/test_scribe.py +++ b/test/test_scribe.py @@ -5,21 +5,22 @@ # LICENSE file in the root directory of this source tree. -import openai -import os -import prompttools.scribe # noqa: F401 Importing this line will monkey-patch `openai.chat.completions.create` +# import openai +# import os -if __name__ == "__main__": +# import prompttools.scribe # noqa: F401 Importing this line will monkey-patch `openai.chat.completions.create` - os.environ["OPENAI_API_KEY"] = "" - - # Launch server from `app.py` first - # Example usage: - for i in range(3): - messages = [ - {"role": "user", "content": f"What is 1 + {i}?"}, - ] - result = openai.chat.completions.create(model="gpt-3.5-turbo", messages=messages, hegel_model="TEST_MODEL") - print(f"{i} {result = }") - - print("End") +# if __name__ == "__main__": +# +# os.environ["OPENAI_API_KEY"] = "" +# +# # Launch server from `app.py` first +# # Example usage: +# for i in range(3): +# messages = [ +# {"role": "user", "content": f"What is 1 + {i}?"}, +# ] +# result = openai.chat.completions.create(model="gpt-3.5-turbo", messages=messages, hegel_model="TEST_MODEL") +# print(f"{i} {result = }") +# +# print("End") From 216f5ff128fc95e9c8574bb551be94cdcb519561 Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 14 Dec 2023 14:48:31 -0500 Subject: [PATCH 136/182] Update Scribe API with key usage --- prompttools/scribe/scribe.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/prompttools/scribe/scribe.py b/prompttools/scribe/scribe.py index d1ce38d6..51b9745d 100644 --- a/prompttools/scribe/scribe.py +++ b/prompttools/scribe/scribe.py @@ -10,6 +10,7 @@ import queue from functools import partial import openai +import os from dotenv import load_dotenv from os.path import join, dirname from prompttools.common import HEGEL_BACKEND_URL @@ -23,7 +24,7 @@ class Scribe: def __init__(self): - self.backend_url = f"{HEGEL_BACKEND_URL}/sdk/log" + self.backend_url = f"{HEGEL_BACKEND_URL}/sdk/scribe" self.data_queue = queue.Queue() self.worker_thread = threading.Thread(target=self.worker) @@ -56,7 +57,12 @@ def worker(self): def log_data_to_remote(self, data): try: - response = requests.post(self.backend_url, json=data) + headers = { + "Content-Type": "application/json", + "Authorization": os.environ["HEGELAI_API_KEY"], + } + + response = requests.post(self.backend_url, json=data, headers=headers) if response.status_code != 200: print(f"Failed to send data to Flask API. Status code: {response.status_code} for {data}.") except requests.exceptions.RequestException as e: From 34f1c2aaafb992aca99680c465ebe649cccfaf70 Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 15 Dec 2023 23:51:30 -0500 Subject: [PATCH 137/182] Enhance scribe logging --- prompttools/scribe/scribe.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/prompttools/scribe/scribe.py b/prompttools/scribe/scribe.py index 51b9745d..a27f1696 100644 --- a/prompttools/scribe/scribe.py +++ b/prompttools/scribe/scribe.py @@ -3,7 +3,7 @@ # # This source code's license can be found in the # LICENSE file in the root directory of this source tree. - +import json import requests import threading @@ -40,7 +40,9 @@ def execute_and_add_to_queue(self, callable_func, **kwargs): else: hegel_model = None result = callable_func(**kwargs) - self.data_queue.put({"hegel_model": hegel_model, "data": result.model_dump_json()}) + self.data_queue.put( + {"hegel_model": hegel_model, "result": result.model_dump_json(), "input_parameters": json.dumps(kwargs)} + ) return result def wrap(self, callable_func): From 00d308bc5aca1251e40f0e72acd84abb101af0da Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 18 Dec 2023 15:35:27 -0500 Subject: [PATCH 138/182] Rename scribe to logger --- prompttools/{scribe => logger}/__init__.py | 4 ++-- prompttools/{scribe/scribe.py => logger/logger.py} | 6 +++--- test/app.py | 2 +- test/{test_scribe.py => test_logger.py} | 11 +++++------ 4 files changed, 11 insertions(+), 12 deletions(-) rename prompttools/{scribe => logger}/__init__.py (81%) rename prompttools/{scribe/scribe.py => logger/logger.py} (96%) rename test/{test_scribe.py => test_logger.py} (82%) diff --git a/prompttools/scribe/__init__.py b/prompttools/logger/__init__.py similarity index 81% rename from prompttools/scribe/__init__.py rename to prompttools/logger/__init__.py index 1d86689c..47bc34ee 100644 --- a/prompttools/scribe/__init__.py +++ b/prompttools/logger/__init__.py @@ -5,9 +5,9 @@ # LICENSE file in the root directory of this source tree. -from .scribe import Scribe +from .logger import Logger __all__ = [ - "Scribe", + "Logger", ] diff --git a/prompttools/scribe/scribe.py b/prompttools/logger/logger.py similarity index 96% rename from prompttools/scribe/scribe.py rename to prompttools/logger/logger.py index a27f1696..6366e1f5 100644 --- a/prompttools/scribe/scribe.py +++ b/prompttools/logger/logger.py @@ -22,9 +22,9 @@ load_dotenv(dotenv_path) -class Scribe: +class Logger: def __init__(self): - self.backend_url = f"{HEGEL_BACKEND_URL}/sdk/scribe" + self.backend_url = f"{HEGEL_BACKEND_URL}/sdk/logger" self.data_queue = queue.Queue() self.worker_thread = threading.Thread(target=self.worker) @@ -71,7 +71,7 @@ def log_data_to_remote(self, data): print(f"Error sending data to Flask API: {e}") -sender = Scribe() +sender = Logger() # Monkey-patching try: openai.chat.completions.create = sender.wrap(openai.chat.completions.create) diff --git a/test/app.py b/test/app.py index 385f7d23..dd2a9934 100644 --- a/test/app.py +++ b/test/app.py @@ -6,7 +6,7 @@ r""" -App for local testing of scribe +App for local testing of logger """ from flask import Flask, request diff --git a/test/test_scribe.py b/test/test_logger.py similarity index 82% rename from test/test_scribe.py rename to test/test_logger.py index 24b40e40..06af8379 100644 --- a/test/test_scribe.py +++ b/test/test_logger.py @@ -7,16 +7,15 @@ # import openai # import os - -# import prompttools.scribe # noqa: F401 Importing this line will monkey-patch `openai.chat.completions.create` - -# if __name__ == "__main__": # -# os.environ["OPENAI_API_KEY"] = "" +# import prompttools.logger # noqa: F401 Importing this line will monkey-patch `openai.chat.completions.create` +# +# +# if __name__ == "__main__": # # # Launch server from `app.py` first # # Example usage: -# for i in range(3): +# for i in range(1): # messages = [ # {"role": "user", "content": f"What is 1 + {i}?"}, # ] From 148faf9a54e1f3e605ac645cccc0df02023d6cc0 Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 21 Dec 2023 12:29:22 -0800 Subject: [PATCH 139/182] Add latency data to logger --- prompttools/logger/logger.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/prompttools/logger/logger.py b/prompttools/logger/logger.py index 6366e1f5..361a5709 100644 --- a/prompttools/logger/logger.py +++ b/prompttools/logger/logger.py @@ -13,6 +13,7 @@ import os from dotenv import load_dotenv from os.path import join, dirname +from time import perf_counter from prompttools.common import HEGEL_BACKEND_URL @@ -39,9 +40,16 @@ def execute_and_add_to_queue(self, callable_func, **kwargs): del kwargs["hegel_model"] else: hegel_model = None + start = perf_counter() result = callable_func(**kwargs) + latency = perf_counter() - start self.data_queue.put( - {"hegel_model": hegel_model, "result": result.model_dump_json(), "input_parameters": json.dumps(kwargs)} + { + "hegel_model": hegel_model, + "result": result.model_dump_json(), + "input_parameters": json.dumps(kwargs), + "latency": latency, + } ) return result From fb67547227fac856495ca49f5c2827c52a03ede5 Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 21 Dec 2023 13:08:16 -0800 Subject: [PATCH 140/182] Update OpenAI Azure API --- .../AzureOpenAIServiceExperiment.ipynb | 100 +----------------- .../experiments/openai_chat_experiment.py | 23 ++-- 2 files changed, 15 insertions(+), 108 deletions(-) diff --git a/examples/notebooks/AzureOpenAIServiceExperiment.ipynb b/examples/notebooks/AzureOpenAIServiceExperiment.ipynb index 8bd47786..eafea469 100644 --- a/examples/notebooks/AzureOpenAIServiceExperiment.ipynb +++ b/examples/notebooks/AzureOpenAIServiceExperiment.ipynb @@ -130,7 +130,6 @@ "]\n", "\n", "azure_openai_service_configs = {\"AZURE_OPENAI_ENDPOINT\": \"https://YOURENDPOINTNAME.openai.azure.com/\",\n", - " \"API_TYPE\": \"azure\",\n", " \"API_VERSION\": \"2023-05-15\"} # Specify which API version to use\n", "temperatures = [0.0, 1.0]\n", "# You can add more parameters that you'd like to test here.\n", @@ -252,7 +251,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 7, "id": "4cf5897b", "metadata": {}, "outputs": [], @@ -271,7 +270,6 @@ "]\n", "\n", "azure_openai_service_configs = {\"AZURE_OPENAI_ENDPOINT\": \"https://YOURENDPOINTNAME.openai.azure.com/\",\n", - " \"API_TYPE\": \"azure\",\n", " \"API_VERSION\": \"2023-05-15\"} # Specify which API version to use\n", "temperatures = [0.0, 1.0]\n", "# You can add more parameters that you'd like to test here.\n", @@ -282,100 +280,10 @@ }, { "cell_type": "code", - "execution_count": 6, - "id": "6eab3877", + "execution_count": null, + "id": "2d261524", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
temperaturemessagesresponselatency
00.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington.0.903520
11.0[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]The first president of the United States was George Washington. He served as president from 1789 to 1797.0.815370
20.0[{'role': 'system', 'content': 'You are a creative copywriter.'}, {'role': 'user', 'content': 'Write a tagline for an ice cream shop.'}]\"Scoops of happiness in every cone!\"0.517402
31.0[{'role': 'system', 'content': 'You are a creative copywriter.'}, {'role': 'user', 'content': 'Write a tagline for an ice cream shop.'}]\"Scoops of happiness in every cone.\"0.508131
\n", - "
" - ], - "text/plain": [ - " temperature \\\n", - "0 0.0 \n", - "1 1.0 \n", - "2 0.0 \n", - "3 1.0 \n", - "\n", - " messages \\\n", - "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "2 [{'role': 'system', 'content': 'You are a creative copywriter.'}, {'role': 'user', 'content': 'Write a tagline for an ice cream shop.'}] \n", - "3 [{'role': 'system', 'content': 'You are a creative copywriter.'}, {'role': 'user', 'content': 'Write a tagline for an ice cream shop.'}] \n", - "\n", - " response \\\n", - "0 The first president of the United States was George Washington. \n", - "1 The first president of the United States was George Washington. He served as president from 1789 to 1797. \n", - "2 \"Scoops of happiness in every cone!\" \n", - "3 \"Scoops of happiness in every cone.\" \n", - "\n", - " latency \n", - "0 0.903520 \n", - "1 0.815370 \n", - "2 0.517402 \n", - "3 0.508131 " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "experiment.run()\n", "experiment.visualize()" diff --git a/prompttools/experiment/experiments/openai_chat_experiment.py b/prompttools/experiment/experiments/openai_chat_experiment.py index 90fb8498..77f27a24 100644 --- a/prompttools/experiment/experiments/openai_chat_experiment.py +++ b/prompttools/experiment/experiments/openai_chat_experiment.py @@ -97,9 +97,8 @@ class OpenAIChatExperiment(Experiment): azure_openai_service_configs (Optional[dict]): Defaults to ``None``. If it is set, the experiment will use Azure OpenAI Service. The input dict should - contain these 3 keys (but with values based on your use case and configuration): - ``{"AZURE_OPENAI_ENDPOINT": "https://YOUR_RESOURCE_NAME.openai.azure.com/", - "API_TYPE": "azure", "API_VERSION": "2023-05-15"`` + contain these 2 keys (but with values based on your use case and configuration): + ``{"AZURE_OPENAI_ENDPOINT": "https://YOUR_RESOURCE_NAME.openai.azure.com/", "API_VERSION": "2023-05-15"}`` """ _experiment_type = "RawExperiment" @@ -123,7 +122,15 @@ def __init__( function_call: Optional[List[Dict[str, str]]] = [None], azure_openai_service_configs: Optional[dict] = None, ): - self.completion_fn = openai.chat.completions.create + if azure_openai_service_configs is None: + self.completion_fn = openai.chat.completions.create + else: + client = openai.AzureOpenAI( + api_key=os.environ["AZURE_OPENAI_KEY"], + api_version=azure_openai_service_configs["API_VERSION"], + azure_endpoint=azure_openai_service_configs["AZURE_OPENAI_ENDPOINT"], + ) + self.completion_fn = client.chat.completions.create if os.getenv("DEBUG", default=False): if functions[0] is not None: self.completion_fn = mock_openai_chat_function_completion_fn @@ -164,14 +171,6 @@ def __init__( if self.all_args["logit_bias"] == [None]: del self.all_args["logit_bias"] - if azure_openai_service_configs: - openai.api_key = os.environ["AZURE_OPENAI_KEY"] - openai.api_base = azure_openai_service_configs["AZURE_OPENAI_ENDPOINT"] - openai.api_type = azure_openai_service_configs["API_TYPE"] - openai.api_version = azure_openai_service_configs["API_VERSION"] - del self.all_args["model"] - self.all_args["engine"] = model - super().__init__() @staticmethod From 3f12441a1ecd45e3d6579f3058301a7a56ed2835 Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 22 Dec 2023 15:30:19 -0800 Subject: [PATCH 141/182] Update logger example --- test/test_logger.py | 50 +++++++++++++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 18 deletions(-) diff --git a/test/test_logger.py b/test/test_logger.py index 06af8379..3d3286b1 100644 --- a/test/test_logger.py +++ b/test/test_logger.py @@ -5,21 +5,35 @@ # LICENSE file in the root directory of this source tree. -# import openai -# import os -# -# import prompttools.logger # noqa: F401 Importing this line will monkey-patch `openai.chat.completions.create` -# -# -# if __name__ == "__main__": -# -# # Launch server from `app.py` first -# # Example usage: -# for i in range(1): -# messages = [ -# {"role": "user", "content": f"What is 1 + {i}?"}, -# ] -# result = openai.chat.completions.create(model="gpt-3.5-turbo", messages=messages, hegel_model="TEST_MODEL") -# print(f"{i} {result = }") -# -# print("End") +import openai +import prompttools.logger # noqa: F401 Importing this line will monkey-patch `openai.chat.completions.create` + + +r""" +Example of using `prompttools.logger`. + +All you need to do is call `import prompttools.logger` to start logging. +You can optionally add `hegel_model` to your call (as seen below). This will associate +this call with a specific name in the logs. + +The OpenAI call is unchanged, it executes normally between your machine and OpenAI's server. + +Note: +You should have "HEGELAI_API_KEY" and "OPENAI_API_KEY" loaded into `os.environ`. +""" + +if __name__ == "__main__": + for i in range(1): + messages = [ + {"role": "user", "content": f"What is 1 + {i}?"}, + ] + + # `hegel_model` is an optional argument that allows you to tag your call with a specific name + # Logging still works without this argument + # The rest of the OpenAI call happens as normal between your machine and OpenAI's server + openai_response = openai.chat.completions.create( + model="gpt-3.5-turbo", messages=messages, hegel_model="Math Model" + ) + print(f"{openai_response = }") + + print("End") From 7d36bb0922948f299ace033d0de58590ae4254f3 Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Fri, 22 Dec 2023 15:51:01 -0800 Subject: [PATCH 142/182] Version bump --- docs/source/conf.py | 2 +- pyproject.toml | 2 +- version.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index e8814889..fa00b826 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -11,7 +11,7 @@ project = "prompttools" copyright = "2023, Hegel AI" author = "Hegel AI" -release = "0.0.43" +release = "0.0.44" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/pyproject.toml b/pyproject.toml index e93bde0c..2d4ce9aa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "prompttools" -version = "0.0.43" +version = "0.0.44" authors = [ { name="Hegel AI", email="team@hegel-ai.com" }, ] diff --git a/version.txt b/version.txt index 85a9ee5c..2fcff7eb 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.0.43a0 +0.0.44a0 From c8720cde4fa9d21c2b7226d3c09fd4154b92cc9d Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 22 Dec 2023 15:52:06 -0800 Subject: [PATCH 143/182] Skipping test_logger in CI --- test/test_logger.py | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/test/test_logger.py b/test/test_logger.py index 3d3286b1..8e6b4793 100644 --- a/test/test_logger.py +++ b/test/test_logger.py @@ -5,8 +5,10 @@ # LICENSE file in the root directory of this source tree. -import openai -import prompttools.logger # noqa: F401 Importing this line will monkey-patch `openai.chat.completions.create` +if False: # Skipping this in CI + + import openai + import prompttools.logger # noqa: F401 Importing this line will monkey-patch `openai.chat.completions.create` r""" @@ -23,17 +25,18 @@ """ if __name__ == "__main__": - for i in range(1): - messages = [ - {"role": "user", "content": f"What is 1 + {i}?"}, - ] - - # `hegel_model` is an optional argument that allows you to tag your call with a specific name - # Logging still works without this argument - # The rest of the OpenAI call happens as normal between your machine and OpenAI's server - openai_response = openai.chat.completions.create( - model="gpt-3.5-turbo", messages=messages, hegel_model="Math Model" - ) - print(f"{openai_response = }") - - print("End") + if False: # Skipping this in CI + for i in range(1): + messages = [ + {"role": "user", "content": f"What is 1 + {i}?"}, + ] + + # `hegel_model` is an optional argument that allows you to tag your call with a specific name + # Logging still works without this argument + # The rest of the OpenAI call happens as normal between your machine and OpenAI's server + openai_response = openai.chat.completions.create( + model="gpt-3.5-turbo", messages=messages, hegel_model="Math Model" + ) + print(f"{openai_response = }") + + print("End") From d0e982e5c55464b7a13e0cdc7c5984e200288c2d Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Fri, 22 Dec 2023 16:19:05 -0800 Subject: [PATCH 144/182] Version bump --- prompttools/version.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prompttools/version.py b/prompttools/version.py index 7ca825d1..23fa2526 100644 --- a/prompttools/version.py +++ b/prompttools/version.py @@ -1,2 +1,2 @@ -__version__ = '0.0.43a0+ead22e8' -git_version = 'ead22e88a83ddcda4c4aba62e1219473d7d1a41c' +__version__ = '0.0.44a0+7d36bb0' +git_version = '7d36bb0922948f299ace033d0de58590ae4254f3' From 5be8a21340c2cd0044ceaa2130ee335df64e640b Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 26 Dec 2023 17:15:38 -0800 Subject: [PATCH 145/182] Adding moderation evaluation function --- prompttools/utils/__init__.py | 8 +++-- prompttools/utils/moderation.py | 53 +++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 prompttools/utils/moderation.py diff --git a/prompttools/utils/__init__.py b/prompttools/utils/__init__.py index 543c2b2b..fdbd32cc 100644 --- a/prompttools/utils/__init__.py +++ b/prompttools/utils/__init__.py @@ -12,6 +12,7 @@ from .autoeval_with_docs import autoeval_with_documents from .chunk_text import chunk_text from .expected import compute_similarity_against_model +from .moderation import apply_moderation from .ranking_correlation import ranking_correlation from .similarity import semantic_similarity from .validate_json import validate_json_response @@ -26,11 +27,12 @@ "chunk_text", "compute_similarity_against_model", "expected", + "apply_moderation", + "ranking_correlation", + "semantic_similarity", + "similarity", "validate_json", "validate_json_response", "validate_python", "validate_python_response", - "ranking_correlation", - "semantic_similarity", - "similarity", ] diff --git a/prompttools/utils/moderation.py b/prompttools/utils/moderation.py new file mode 100644 index 00000000..1bb96fc5 --- /dev/null +++ b/prompttools/utils/moderation.py @@ -0,0 +1,53 @@ +# Copyright (c) Hegel AI, Inc. +# All rights reserved. +# +# This source code's license can be found in the +# LICENSE file in the root directory of this source tree. + + +import openai +import pandas +from typing import Optional, Union + + +def apply_moderation( + row: pandas.core.series.Series, + text_col_name: str = "response", + moderation_model: str = "text-moderation-latest", + category_names: Optional[list[str]] = None, + category_score_names: Optional[list[str]] = None, +) -> Union[bool, dict]: + r""" + Uses OpenAI's moderation API to determine whether the text complies with OpenAI's usage policies. + + Args: + row (pandas.core.series.Series): A row of data from the full DataFrame (including input, model response, other + metrics, etc). + text_col_name (str): column name of text to be moderated + moderation_model (str): name of the OpenAI moderation model, defaults to ``"text-moderation-latest"`` + category_names (Optional[list[str]]): specify the names of category flags to extract from the response and + be added as column(s) in the row, optional. (e.g. ``["harassment", "violence"]``) + category_score_names (Optional[list[str]]): specify the names of category scores to extract from the response + and be added as column(s) in the row, optional. (e.g. ``["harassment", "violence"]``) + + Returns: + A boolean flag (of whether the input violates policies), or a dict with various topic specific flags/scores. + """ + text = row[text_col_name] + + moderation_response = openai.moderations.create(model=moderation_model, input=text) + flagged = moderation_response.results[0].flagged + res = {} + if category_names: + category_flags = moderation_response.results[0].categories.model_dump() + for c in category_names: + res[c] = category_flags[c] + if category_score_names: + category_scores = moderation_response.results[0].category_scores.model_dump() + for c in category_score_names: + res[f"{c}_score"] = category_scores[c] + if category_names or category_score_names: + res["moderation_flag"] = flagged + return res + else: + return flagged From 1c9bc7555574f28dd0338389acd0d1923d50ad92 Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 26 Dec 2023 17:15:48 -0800 Subject: [PATCH 146/182] Adding moderation example --- .../notebooks/Moderation Evaluation.ipynb | 574 ++++++++++++++++++ 1 file changed, 574 insertions(+) create mode 100644 examples/notebooks/Moderation Evaluation.ipynb diff --git a/examples/notebooks/Moderation Evaluation.ipynb b/examples/notebooks/Moderation Evaluation.ipynb new file mode 100644 index 00000000..ca0b6a67 --- /dev/null +++ b/examples/notebooks/Moderation Evaluation.ipynb @@ -0,0 +1,574 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "3c76e0a5", + "metadata": {}, + "source": [ + "# Moderation Evaluation Example" + ] + }, + { + "cell_type": "markdown", + "id": "befa58ff", + "metadata": {}, + "source": [ + "## Installations" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "bf6fbb68", + "metadata": {}, + "outputs": [], + "source": [ + "### If necessary\n", + "# !pip install --quiet --force-reinstall prompttools" + ] + }, + { + "cell_type": "markdown", + "id": "c7bd97ee", + "metadata": {}, + "source": [ + "## Setup imports and API keys" + ] + }, + { + "cell_type": "markdown", + "id": "d591fed6", + "metadata": {}, + "source": [ + "We will be using OpenAI's Moderation API. Therefore, an API key is needed." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "fc3e9c45", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "\n", + "os.environ[\"OPENAI_API_KEY\"] = \"\" # Insert your key here" + ] + }, + { + "cell_type": "markdown", + "id": "79094464", + "metadata": {}, + "source": [ + "You can execute any experiment and use their response for evaluation. In this case, we will use something simple with OpenAI Chat as an example." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "cf67014a", + "metadata": {}, + "outputs": [], + "source": [ + "from prompttools.experiment import OpenAIChatExperiment" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "3b00eb5e", + "metadata": {}, + "outputs": [], + "source": [ + "models = [\"gpt-3.5-turbo\"] # You can also use a fine-tuned model here, e.g. [\"ft:gpt-3.5-turbo:org_id\"]\n", + "messages = [\n", + " [\n", + " {\"role\": \"system\", \"content\": \"You are a historian.\"},\n", + " {\"role\": \"user\", \"content\": \"Give me a list of weapons used in the civil war.\"},\n", + " ]\n", + "]\n", + "temperatures = [0.0, 1.0]\n", + "# You can add more parameters that you'd like to test here.\n", + "\n", + "experiment = OpenAIChatExperiment(models, messages, temperature=temperatures)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "b5341176", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmessagestemperatureresponseresponse_usagelatency
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a historian.'}, {'role': 'user', 'content': 'Give me a list of weapons used in the civil war.'}]0.0During the American Civil War (1861-1865), a wide range of weapons were used by both the Union and Confederate forces. Here is a list of some of the most significant weapons employed during this conflict:\\n\\n1. Rifles:\\n - Springfield Model 1861: A muzzle-loading, single-shot rifle used by the Union Army.\\n - Enfield Pattern 1853: A British-made muzzle-loading, single-shot rifle used by both sides.\\n - Sharps Rifle: A breech-loading, single-shot rifle known for its accuracy and used by both sides.\\n\\n2. Muskets:\\n - Springfield Model 1861: A muzzle-loading, smoothbore musket used by the Union Army.\\n - Pattern 1853 Enfield: A muzzle-loading, smoothbore musket used by both sides.\\n - Lorenz Rifle: A muzzle-loading, rifled musket used primarily by the Confederacy.\\n\\n3. Carbines:\\n - Spencer Repeating Carbine: A breech-loading, lever-action carbine used by Union cavalry.\\n - Sharps Carbine: A breech-loading, single-shot carbine used by both sides.\\n - Burnside Carbine: A breech-loading, single-shot carbine used by Union cavalry.\\n\\n4. Artillery:\\n - Napoleon Gun: A smoothbore, muzzle-loading cannon used by both sides.\\n - Parrott Rifle: A rifled, muzzle-loading cannon used by both sides.\\n - Whitworth Rifle: A British-made, rifled cannon used primarily by the Confederacy.\\n\\n5. Pistols:\\n - Colt Army Model 1860: A .44 caliber, single-action revolver used by both sides.\\n - Remington Model 1858: A .44 caliber, single-action revolver used by both sides.\\n - Smith & Wesson Model 2: A .32 caliber, single-action revolver used by both sides.\\n\\n6. Blades:\\n - Bayonets: Attached to the end of rifles and muskets, used for close combat.\\n - Swords: Officers on both sides often carried swords for personal defense.\\n\\n7. Naval Weapons:\\n - Dahlgren Gun: A smoothbore, muzzle-loading cannon used on naval vessels.\\n - Brooke Rifle: A rifled, muzzle-loading cannon used on Confederate naval vessels.\\n\\nIt is important to note that this list is not exhaustive, as there were numerous variations and models of these weapons used during the Civil War. Additionally, advancements in technology and the introduction of new weapons occurred throughout the conflict.{'completion_tokens': 518, 'prompt_tokens': 28, 'total_tokens': 546}8.113981
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a historian.'}, {'role': 'user', 'content': 'Give me a list of weapons used in the civil war.'}]1.0During the American Civil War (1861-1865), various weapons were utilized by both the Union and Confederate forces. Here is a list of some significant weapons employed during this conflict:\\n\\n1. Rifles:\\n - Springfield Model 1861: A widely used .58 caliber muzzle-loading rifle.\\n - Enfield Pattern 1853: A British-made rifle imported by both sides, often used by Confederate soldiers.\\n - Henry Repeating Rifle: Lever-action, magazine-fed rifle known for its rapid-fire capability, primarily used by Union troops.\\n\\n2. Muskets:\\n - Springfield Model 1861/1855: Smoothbore muskets often used by both sides earlier in the war.\\n - Lorenz Rifle: Austrian-made musket popular among Confederate forces.\\n - P53 Enfield: British-made musket used by both Union and Confederate soldiers.\\n\\n3. Carbines:\\n - Spencer Repeating Carbine: A lever-action, seven-shot carbine used by Union cavalry, notable for its high rate of fire.\\n - Sharps Carbine: A single-shot breech-loading carbine utilized by both sides.\\n\\n4. Pistols:\\n - Colt Single Action Army Revolver: Often referred to as the \"Colt .45,\" a popular six-shot revolver used by Union cavalry.\\n - Remington Model 1858: A six-shot, percussion cap revolver used by both Union and Confederate troops.\\n\\n5. Artillery:\\n - Napoleon Gun: A smoothbore, muzzle-loading cannon used by both sides. It fired a 12-pound projectile.\\n - Parrott Rifle: A rifled artillery piece, available in various calibers, used primarily by Union forces.\\n - Whitworth Rifle: A British-made, breech-loading rifle known for its accuracy and long-range capabilities, favored by the Confederacy.\\n\\n6. Edged Weapons:\\n - Model 1840 Army Non-commissioned Officer Sword: A common sword used by Union infantry and cavalry.\\n - Model 1850 Army Staff and Field Officer's Sword: An ornate sword often carried by higher-ranking officers on both sides.\\n - Bowie Knife: A large, fixed-blade knife typically used by soldiers on both sides for close combat.\\n\\nIt is worth noting that this list only scratches the surface of the wide range of weapons employed throughout the Civil War, as various other firearms, bayonets, sabers, and artillery pieces were in use.{'completion_tokens': 497, 'prompt_tokens': 28, 'total_tokens': 525}8.594419
\n", + "
" + ], + "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a historian.'}, {'role': 'user', 'content': 'Give me a list of weapons used in the civil war.'}] \n", + "1 [{'role': 'system', 'content': 'You are a historian.'}, {'role': 'user', 'content': 'Give me a list of weapons used in the civil war.'}] \n", + "\n", + " temperature \\\n", + "0 0.0 \n", + "1 1.0 \n", + "\n", + " response \\\n", + "0 During the American Civil War (1861-1865), a wide range of weapons were used by both the Union and Confederate forces. Here is a list of some of the most significant weapons employed during this conflict:\\n\\n1. Rifles:\\n - Springfield Model 1861: A muzzle-loading, single-shot rifle used by the Union Army.\\n - Enfield Pattern 1853: A British-made muzzle-loading, single-shot rifle used by both sides.\\n - Sharps Rifle: A breech-loading, single-shot rifle known for its accuracy and used by both sides.\\n\\n2. Muskets:\\n - Springfield Model 1861: A muzzle-loading, smoothbore musket used by the Union Army.\\n - Pattern 1853 Enfield: A muzzle-loading, smoothbore musket used by both sides.\\n - Lorenz Rifle: A muzzle-loading, rifled musket used primarily by the Confederacy.\\n\\n3. Carbines:\\n - Spencer Repeating Carbine: A breech-loading, lever-action carbine used by Union cavalry.\\n - Sharps Carbine: A breech-loading, single-shot carbine used by both sides.\\n - Burnside Carbine: A breech-loading, single-shot carbine used by Union cavalry.\\n\\n4. Artillery:\\n - Napoleon Gun: A smoothbore, muzzle-loading cannon used by both sides.\\n - Parrott Rifle: A rifled, muzzle-loading cannon used by both sides.\\n - Whitworth Rifle: A British-made, rifled cannon used primarily by the Confederacy.\\n\\n5. Pistols:\\n - Colt Army Model 1860: A .44 caliber, single-action revolver used by both sides.\\n - Remington Model 1858: A .44 caliber, single-action revolver used by both sides.\\n - Smith & Wesson Model 2: A .32 caliber, single-action revolver used by both sides.\\n\\n6. Blades:\\n - Bayonets: Attached to the end of rifles and muskets, used for close combat.\\n - Swords: Officers on both sides often carried swords for personal defense.\\n\\n7. Naval Weapons:\\n - Dahlgren Gun: A smoothbore, muzzle-loading cannon used on naval vessels.\\n - Brooke Rifle: A rifled, muzzle-loading cannon used on Confederate naval vessels.\\n\\nIt is important to note that this list is not exhaustive, as there were numerous variations and models of these weapons used during the Civil War. Additionally, advancements in technology and the introduction of new weapons occurred throughout the conflict. \n", + "1 During the American Civil War (1861-1865), various weapons were utilized by both the Union and Confederate forces. Here is a list of some significant weapons employed during this conflict:\\n\\n1. Rifles:\\n - Springfield Model 1861: A widely used .58 caliber muzzle-loading rifle.\\n - Enfield Pattern 1853: A British-made rifle imported by both sides, often used by Confederate soldiers.\\n - Henry Repeating Rifle: Lever-action, magazine-fed rifle known for its rapid-fire capability, primarily used by Union troops.\\n\\n2. Muskets:\\n - Springfield Model 1861/1855: Smoothbore muskets often used by both sides earlier in the war.\\n - Lorenz Rifle: Austrian-made musket popular among Confederate forces.\\n - P53 Enfield: British-made musket used by both Union and Confederate soldiers.\\n\\n3. Carbines:\\n - Spencer Repeating Carbine: A lever-action, seven-shot carbine used by Union cavalry, notable for its high rate of fire.\\n - Sharps Carbine: A single-shot breech-loading carbine utilized by both sides.\\n\\n4. Pistols:\\n - Colt Single Action Army Revolver: Often referred to as the \"Colt .45,\" a popular six-shot revolver used by Union cavalry.\\n - Remington Model 1858: A six-shot, percussion cap revolver used by both Union and Confederate troops.\\n\\n5. Artillery:\\n - Napoleon Gun: A smoothbore, muzzle-loading cannon used by both sides. It fired a 12-pound projectile.\\n - Parrott Rifle: A rifled artillery piece, available in various calibers, used primarily by Union forces.\\n - Whitworth Rifle: A British-made, breech-loading rifle known for its accuracy and long-range capabilities, favored by the Confederacy.\\n\\n6. Edged Weapons:\\n - Model 1840 Army Non-commissioned Officer Sword: A common sword used by Union infantry and cavalry.\\n - Model 1850 Army Staff and Field Officer's Sword: An ornate sword often carried by higher-ranking officers on both sides.\\n - Bowie Knife: A large, fixed-blade knife typically used by soldiers on both sides for close combat.\\n\\nIt is worth noting that this list only scratches the surface of the wide range of weapons employed throughout the Civil War, as various other firearms, bayonets, sabers, and artillery pieces were in use. \n", + "\n", + " response_usage \\\n", + "0 {'completion_tokens': 518, 'prompt_tokens': 28, 'total_tokens': 546} \n", + "1 {'completion_tokens': 497, 'prompt_tokens': 28, 'total_tokens': 525} \n", + "\n", + " latency \n", + "0 8.113981 \n", + "1 8.594419 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment.run()\n", + "experiment.visualize()" + ] + }, + { + "cell_type": "markdown", + "id": "afbe9b6e", + "metadata": {}, + "source": [ + "### Moderation Evaluation\n", + "\n", + "With your responses in place, we can use PromptTools built-in `apply_moderation` function to evaluation the response.\n", + "\n", + "By default, it will return a flag indicating whether the response violates any policies (e.g. harassment, violence)." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "19470b7b", + "metadata": {}, + "outputs": [], + "source": [ + "from prompttools.utils import apply_moderation" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "1504a9b8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmessagestemperatureresponseresponse_usagelatencymoderation_flag
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a historian.'}, {'role': 'user', 'content': 'Give me a list of weapons used in the civil war.'}]0.0During the American Civil War (1861-1865), a wide range of weapons were used by both the Union and Confederate forces. Here is a list of some of the most significant weapons employed during this conflict:\\n\\n1. Rifles:\\n - Springfield Model 1861: A muzzle-loading, single-shot rifle used by the Union Army.\\n - Enfield Pattern 1853: A British-made muzzle-loading, single-shot rifle used by both sides.\\n - Sharps Rifle: A breech-loading, single-shot rifle known for its accuracy and used by both sides.\\n\\n2. Muskets:\\n - Springfield Model 1861: A muzzle-loading, smoothbore musket used by the Union Army.\\n - Pattern 1853 Enfield: A muzzle-loading, smoothbore musket used by both sides.\\n - Lorenz Rifle: A muzzle-loading, rifled musket used primarily by the Confederacy.\\n\\n3. Carbines:\\n - Spencer Repeating Carbine: A breech-loading, lever-action carbine used by Union cavalry.\\n - Sharps Carbine: A breech-loading, single-shot carbine used by both sides.\\n - Burnside Carbine: A breech-loading, single-shot carbine used by Union cavalry.\\n\\n4. Artillery:\\n - Napoleon Gun: A smoothbore, muzzle-loading cannon used by both sides.\\n - Parrott Rifle: A rifled, muzzle-loading cannon used by both sides.\\n - Whitworth Rifle: A British-made, rifled cannon used primarily by the Confederacy.\\n\\n5. Pistols:\\n - Colt Army Model 1860: A .44 caliber, single-action revolver used by both sides.\\n - Remington Model 1858: A .44 caliber, single-action revolver used by both sides.\\n - Smith & Wesson Model 2: A .32 caliber, single-action revolver used by both sides.\\n\\n6. Blades:\\n - Bayonets: Attached to the end of rifles and muskets, used for close combat.\\n - Swords: Officers on both sides often carried swords for personal defense.\\n\\n7. Naval Weapons:\\n - Dahlgren Gun: A smoothbore, muzzle-loading cannon used on naval vessels.\\n - Brooke Rifle: A rifled, muzzle-loading cannon used on Confederate naval vessels.\\n\\nIt is important to note that this list is not exhaustive, as there were numerous variations and models of these weapons used during the Civil War. Additionally, advancements in technology and the introduction of new weapons occurred throughout the conflict.{'completion_tokens': 518, 'prompt_tokens': 28, 'total_tokens': 546}8.113981False
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a historian.'}, {'role': 'user', 'content': 'Give me a list of weapons used in the civil war.'}]1.0During the American Civil War (1861-1865), various weapons were utilized by both the Union and Confederate forces. Here is a list of some significant weapons employed during this conflict:\\n\\n1. Rifles:\\n - Springfield Model 1861: A widely used .58 caliber muzzle-loading rifle.\\n - Enfield Pattern 1853: A British-made rifle imported by both sides, often used by Confederate soldiers.\\n - Henry Repeating Rifle: Lever-action, magazine-fed rifle known for its rapid-fire capability, primarily used by Union troops.\\n\\n2. Muskets:\\n - Springfield Model 1861/1855: Smoothbore muskets often used by both sides earlier in the war.\\n - Lorenz Rifle: Austrian-made musket popular among Confederate forces.\\n - P53 Enfield: British-made musket used by both Union and Confederate soldiers.\\n\\n3. Carbines:\\n - Spencer Repeating Carbine: A lever-action, seven-shot carbine used by Union cavalry, notable for its high rate of fire.\\n - Sharps Carbine: A single-shot breech-loading carbine utilized by both sides.\\n\\n4. Pistols:\\n - Colt Single Action Army Revolver: Often referred to as the \"Colt .45,\" a popular six-shot revolver used by Union cavalry.\\n - Remington Model 1858: A six-shot, percussion cap revolver used by both Union and Confederate troops.\\n\\n5. Artillery:\\n - Napoleon Gun: A smoothbore, muzzle-loading cannon used by both sides. It fired a 12-pound projectile.\\n - Parrott Rifle: A rifled artillery piece, available in various calibers, used primarily by Union forces.\\n - Whitworth Rifle: A British-made, breech-loading rifle known for its accuracy and long-range capabilities, favored by the Confederacy.\\n\\n6. Edged Weapons:\\n - Model 1840 Army Non-commissioned Officer Sword: A common sword used by Union infantry and cavalry.\\n - Model 1850 Army Staff and Field Officer's Sword: An ornate sword often carried by higher-ranking officers on both sides.\\n - Bowie Knife: A large, fixed-blade knife typically used by soldiers on both sides for close combat.\\n\\nIt is worth noting that this list only scratches the surface of the wide range of weapons employed throughout the Civil War, as various other firearms, bayonets, sabers, and artillery pieces were in use.{'completion_tokens': 497, 'prompt_tokens': 28, 'total_tokens': 525}8.594419False
\n", + "
" + ], + "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a historian.'}, {'role': 'user', 'content': 'Give me a list of weapons used in the civil war.'}] \n", + "1 [{'role': 'system', 'content': 'You are a historian.'}, {'role': 'user', 'content': 'Give me a list of weapons used in the civil war.'}] \n", + "\n", + " temperature \\\n", + "0 0.0 \n", + "1 1.0 \n", + "\n", + " response \\\n", + "0 During the American Civil War (1861-1865), a wide range of weapons were used by both the Union and Confederate forces. Here is a list of some of the most significant weapons employed during this conflict:\\n\\n1. Rifles:\\n - Springfield Model 1861: A muzzle-loading, single-shot rifle used by the Union Army.\\n - Enfield Pattern 1853: A British-made muzzle-loading, single-shot rifle used by both sides.\\n - Sharps Rifle: A breech-loading, single-shot rifle known for its accuracy and used by both sides.\\n\\n2. Muskets:\\n - Springfield Model 1861: A muzzle-loading, smoothbore musket used by the Union Army.\\n - Pattern 1853 Enfield: A muzzle-loading, smoothbore musket used by both sides.\\n - Lorenz Rifle: A muzzle-loading, rifled musket used primarily by the Confederacy.\\n\\n3. Carbines:\\n - Spencer Repeating Carbine: A breech-loading, lever-action carbine used by Union cavalry.\\n - Sharps Carbine: A breech-loading, single-shot carbine used by both sides.\\n - Burnside Carbine: A breech-loading, single-shot carbine used by Union cavalry.\\n\\n4. Artillery:\\n - Napoleon Gun: A smoothbore, muzzle-loading cannon used by both sides.\\n - Parrott Rifle: A rifled, muzzle-loading cannon used by both sides.\\n - Whitworth Rifle: A British-made, rifled cannon used primarily by the Confederacy.\\n\\n5. Pistols:\\n - Colt Army Model 1860: A .44 caliber, single-action revolver used by both sides.\\n - Remington Model 1858: A .44 caliber, single-action revolver used by both sides.\\n - Smith & Wesson Model 2: A .32 caliber, single-action revolver used by both sides.\\n\\n6. Blades:\\n - Bayonets: Attached to the end of rifles and muskets, used for close combat.\\n - Swords: Officers on both sides often carried swords for personal defense.\\n\\n7. Naval Weapons:\\n - Dahlgren Gun: A smoothbore, muzzle-loading cannon used on naval vessels.\\n - Brooke Rifle: A rifled, muzzle-loading cannon used on Confederate naval vessels.\\n\\nIt is important to note that this list is not exhaustive, as there were numerous variations and models of these weapons used during the Civil War. Additionally, advancements in technology and the introduction of new weapons occurred throughout the conflict. \n", + "1 During the American Civil War (1861-1865), various weapons were utilized by both the Union and Confederate forces. Here is a list of some significant weapons employed during this conflict:\\n\\n1. Rifles:\\n - Springfield Model 1861: A widely used .58 caliber muzzle-loading rifle.\\n - Enfield Pattern 1853: A British-made rifle imported by both sides, often used by Confederate soldiers.\\n - Henry Repeating Rifle: Lever-action, magazine-fed rifle known for its rapid-fire capability, primarily used by Union troops.\\n\\n2. Muskets:\\n - Springfield Model 1861/1855: Smoothbore muskets often used by both sides earlier in the war.\\n - Lorenz Rifle: Austrian-made musket popular among Confederate forces.\\n - P53 Enfield: British-made musket used by both Union and Confederate soldiers.\\n\\n3. Carbines:\\n - Spencer Repeating Carbine: A lever-action, seven-shot carbine used by Union cavalry, notable for its high rate of fire.\\n - Sharps Carbine: A single-shot breech-loading carbine utilized by both sides.\\n\\n4. Pistols:\\n - Colt Single Action Army Revolver: Often referred to as the \"Colt .45,\" a popular six-shot revolver used by Union cavalry.\\n - Remington Model 1858: A six-shot, percussion cap revolver used by both Union and Confederate troops.\\n\\n5. Artillery:\\n - Napoleon Gun: A smoothbore, muzzle-loading cannon used by both sides. It fired a 12-pound projectile.\\n - Parrott Rifle: A rifled artillery piece, available in various calibers, used primarily by Union forces.\\n - Whitworth Rifle: A British-made, breech-loading rifle known for its accuracy and long-range capabilities, favored by the Confederacy.\\n\\n6. Edged Weapons:\\n - Model 1840 Army Non-commissioned Officer Sword: A common sword used by Union infantry and cavalry.\\n - Model 1850 Army Staff and Field Officer's Sword: An ornate sword often carried by higher-ranking officers on both sides.\\n - Bowie Knife: A large, fixed-blade knife typically used by soldiers on both sides for close combat.\\n\\nIt is worth noting that this list only scratches the surface of the wide range of weapons employed throughout the Civil War, as various other firearms, bayonets, sabers, and artillery pieces were in use. \n", + "\n", + " response_usage \\\n", + "0 {'completion_tokens': 518, 'prompt_tokens': 28, 'total_tokens': 546} \n", + "1 {'completion_tokens': 497, 'prompt_tokens': 28, 'total_tokens': 525} \n", + "\n", + " latency moderation_flag \n", + "0 8.113981 False \n", + "1 8.594419 False " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment.evaluate(\"moderation_flag\", apply_moderation)\n", + "experiment.visualize()" + ] + }, + { + "cell_type": "markdown", + "id": "a25a30f1", + "metadata": {}, + "source": [ + "If we are interested in specific topics, we can pass additional argument to return those flags and scores." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "331281ae", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmessagestemperatureresponseresponse_usagelatencymoderation_flagmoderation_topics
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a historian.'}, {'role': 'user', 'content': 'Give me a list of weapons used in the civil war.'}]0.0During the American Civil War (1861-1865), a wide range of weapons were used by both the Union and Confederate forces. Here is a list of some of the most significant weapons employed during this conflict:\\n\\n1. Rifles:\\n - Springfield Model 1861: A muzzle-loading, single-shot rifle used by the Union Army.\\n - Enfield Pattern 1853: A British-made muzzle-loading, single-shot rifle used by both sides.\\n - Sharps Rifle: A breech-loading, single-shot rifle known for its accuracy and used by both sides.\\n\\n2. Muskets:\\n - Springfield Model 1861: A muzzle-loading, smoothbore musket used by the Union Army.\\n - Pattern 1853 Enfield: A muzzle-loading, smoothbore musket used by both sides.\\n - Lorenz Rifle: A muzzle-loading, rifled musket used primarily by the Confederacy.\\n\\n3. Carbines:\\n - Spencer Repeating Carbine: A breech-loading, lever-action carbine used by Union cavalry.\\n - Sharps Carbine: A breech-loading, single-shot carbine used by both sides.\\n - Burnside Carbine: A breech-loading, single-shot carbine used by Union cavalry.\\n\\n4. Artillery:\\n - Napoleon Gun: A smoothbore, muzzle-loading cannon used by both sides.\\n - Parrott Rifle: A rifled, muzzle-loading cannon used by both sides.\\n - Whitworth Rifle: A British-made, rifled cannon used primarily by the Confederacy.\\n\\n5. Pistols:\\n - Colt Army Model 1860: A .44 caliber, single-action revolver used by both sides.\\n - Remington Model 1858: A .44 caliber, single-action revolver used by both sides.\\n - Smith & Wesson Model 2: A .32 caliber, single-action revolver used by both sides.\\n\\n6. Blades:\\n - Bayonets: Attached to the end of rifles and muskets, used for close combat.\\n - Swords: Officers on both sides often carried swords for personal defense.\\n\\n7. Naval Weapons:\\n - Dahlgren Gun: A smoothbore, muzzle-loading cannon used on naval vessels.\\n - Brooke Rifle: A rifled, muzzle-loading cannon used on Confederate naval vessels.\\n\\nIt is important to note that this list is not exhaustive, as there were numerous variations and models of these weapons used during the Civil War. Additionally, advancements in technology and the introduction of new weapons occurred throughout the conflict.{'completion_tokens': 518, 'prompt_tokens': 28, 'total_tokens': 546}8.113981False{'harassment': False, 'violence': False, 'moderation_flag': False}
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a historian.'}, {'role': 'user', 'content': 'Give me a list of weapons used in the civil war.'}]1.0During the American Civil War (1861-1865), various weapons were utilized by both the Union and Confederate forces. Here is a list of some significant weapons employed during this conflict:\\n\\n1. Rifles:\\n - Springfield Model 1861: A widely used .58 caliber muzzle-loading rifle.\\n - Enfield Pattern 1853: A British-made rifle imported by both sides, often used by Confederate soldiers.\\n - Henry Repeating Rifle: Lever-action, magazine-fed rifle known for its rapid-fire capability, primarily used by Union troops.\\n\\n2. Muskets:\\n - Springfield Model 1861/1855: Smoothbore muskets often used by both sides earlier in the war.\\n - Lorenz Rifle: Austrian-made musket popular among Confederate forces.\\n - P53 Enfield: British-made musket used by both Union and Confederate soldiers.\\n\\n3. Carbines:\\n - Spencer Repeating Carbine: A lever-action, seven-shot carbine used by Union cavalry, notable for its high rate of fire.\\n - Sharps Carbine: A single-shot breech-loading carbine utilized by both sides.\\n\\n4. Pistols:\\n - Colt Single Action Army Revolver: Often referred to as the \"Colt .45,\" a popular six-shot revolver used by Union cavalry.\\n - Remington Model 1858: A six-shot, percussion cap revolver used by both Union and Confederate troops.\\n\\n5. Artillery:\\n - Napoleon Gun: A smoothbore, muzzle-loading cannon used by both sides. It fired a 12-pound projectile.\\n - Parrott Rifle: A rifled artillery piece, available in various calibers, used primarily by Union forces.\\n - Whitworth Rifle: A British-made, breech-loading rifle known for its accuracy and long-range capabilities, favored by the Confederacy.\\n\\n6. Edged Weapons:\\n - Model 1840 Army Non-commissioned Officer Sword: A common sword used by Union infantry and cavalry.\\n - Model 1850 Army Staff and Field Officer's Sword: An ornate sword often carried by higher-ranking officers on both sides.\\n - Bowie Knife: A large, fixed-blade knife typically used by soldiers on both sides for close combat.\\n\\nIt is worth noting that this list only scratches the surface of the wide range of weapons employed throughout the Civil War, as various other firearms, bayonets, sabers, and artillery pieces were in use.{'completion_tokens': 497, 'prompt_tokens': 28, 'total_tokens': 525}8.594419False{'harassment': False, 'violence': False, 'moderation_flag': False}
\n", + "
" + ], + "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a historian.'}, {'role': 'user', 'content': 'Give me a list of weapons used in the civil war.'}] \n", + "1 [{'role': 'system', 'content': 'You are a historian.'}, {'role': 'user', 'content': 'Give me a list of weapons used in the civil war.'}] \n", + "\n", + " temperature \\\n", + "0 0.0 \n", + "1 1.0 \n", + "\n", + " response \\\n", + "0 During the American Civil War (1861-1865), a wide range of weapons were used by both the Union and Confederate forces. Here is a list of some of the most significant weapons employed during this conflict:\\n\\n1. Rifles:\\n - Springfield Model 1861: A muzzle-loading, single-shot rifle used by the Union Army.\\n - Enfield Pattern 1853: A British-made muzzle-loading, single-shot rifle used by both sides.\\n - Sharps Rifle: A breech-loading, single-shot rifle known for its accuracy and used by both sides.\\n\\n2. Muskets:\\n - Springfield Model 1861: A muzzle-loading, smoothbore musket used by the Union Army.\\n - Pattern 1853 Enfield: A muzzle-loading, smoothbore musket used by both sides.\\n - Lorenz Rifle: A muzzle-loading, rifled musket used primarily by the Confederacy.\\n\\n3. Carbines:\\n - Spencer Repeating Carbine: A breech-loading, lever-action carbine used by Union cavalry.\\n - Sharps Carbine: A breech-loading, single-shot carbine used by both sides.\\n - Burnside Carbine: A breech-loading, single-shot carbine used by Union cavalry.\\n\\n4. Artillery:\\n - Napoleon Gun: A smoothbore, muzzle-loading cannon used by both sides.\\n - Parrott Rifle: A rifled, muzzle-loading cannon used by both sides.\\n - Whitworth Rifle: A British-made, rifled cannon used primarily by the Confederacy.\\n\\n5. Pistols:\\n - Colt Army Model 1860: A .44 caliber, single-action revolver used by both sides.\\n - Remington Model 1858: A .44 caliber, single-action revolver used by both sides.\\n - Smith & Wesson Model 2: A .32 caliber, single-action revolver used by both sides.\\n\\n6. Blades:\\n - Bayonets: Attached to the end of rifles and muskets, used for close combat.\\n - Swords: Officers on both sides often carried swords for personal defense.\\n\\n7. Naval Weapons:\\n - Dahlgren Gun: A smoothbore, muzzle-loading cannon used on naval vessels.\\n - Brooke Rifle: A rifled, muzzle-loading cannon used on Confederate naval vessels.\\n\\nIt is important to note that this list is not exhaustive, as there were numerous variations and models of these weapons used during the Civil War. Additionally, advancements in technology and the introduction of new weapons occurred throughout the conflict. \n", + "1 During the American Civil War (1861-1865), various weapons were utilized by both the Union and Confederate forces. Here is a list of some significant weapons employed during this conflict:\\n\\n1. Rifles:\\n - Springfield Model 1861: A widely used .58 caliber muzzle-loading rifle.\\n - Enfield Pattern 1853: A British-made rifle imported by both sides, often used by Confederate soldiers.\\n - Henry Repeating Rifle: Lever-action, magazine-fed rifle known for its rapid-fire capability, primarily used by Union troops.\\n\\n2. Muskets:\\n - Springfield Model 1861/1855: Smoothbore muskets often used by both sides earlier in the war.\\n - Lorenz Rifle: Austrian-made musket popular among Confederate forces.\\n - P53 Enfield: British-made musket used by both Union and Confederate soldiers.\\n\\n3. Carbines:\\n - Spencer Repeating Carbine: A lever-action, seven-shot carbine used by Union cavalry, notable for its high rate of fire.\\n - Sharps Carbine: A single-shot breech-loading carbine utilized by both sides.\\n\\n4. Pistols:\\n - Colt Single Action Army Revolver: Often referred to as the \"Colt .45,\" a popular six-shot revolver used by Union cavalry.\\n - Remington Model 1858: A six-shot, percussion cap revolver used by both Union and Confederate troops.\\n\\n5. Artillery:\\n - Napoleon Gun: A smoothbore, muzzle-loading cannon used by both sides. It fired a 12-pound projectile.\\n - Parrott Rifle: A rifled artillery piece, available in various calibers, used primarily by Union forces.\\n - Whitworth Rifle: A British-made, breech-loading rifle known for its accuracy and long-range capabilities, favored by the Confederacy.\\n\\n6. Edged Weapons:\\n - Model 1840 Army Non-commissioned Officer Sword: A common sword used by Union infantry and cavalry.\\n - Model 1850 Army Staff and Field Officer's Sword: An ornate sword often carried by higher-ranking officers on both sides.\\n - Bowie Knife: A large, fixed-blade knife typically used by soldiers on both sides for close combat.\\n\\nIt is worth noting that this list only scratches the surface of the wide range of weapons employed throughout the Civil War, as various other firearms, bayonets, sabers, and artillery pieces were in use. \n", + "\n", + " response_usage \\\n", + "0 {'completion_tokens': 518, 'prompt_tokens': 28, 'total_tokens': 546} \n", + "1 {'completion_tokens': 497, 'prompt_tokens': 28, 'total_tokens': 525} \n", + "\n", + " latency moderation_flag \\\n", + "0 8.113981 False \n", + "1 8.594419 False \n", + "\n", + " moderation_topics \n", + "0 {'harassment': False, 'violence': False, 'moderation_flag': False} \n", + "1 {'harassment': False, 'violence': False, 'moderation_flag': False} " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment.evaluate(\"moderation_topics\", apply_moderation, {\"category_names\": [\"harassment\", \"violence\"]})\n", + "experiment.visualize()" + ] + }, + { + "cell_type": "markdown", + "id": "c2ee48f8", + "metadata": {}, + "source": [ + "To get numerical scores, you can see some results score higher in \"violence\" score than others." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "348dcc0e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmessagestemperatureresponseresponse_usagelatencymoderation_flagmoderation_topicsmoderation_scores
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a historian.'}, {'role': 'user', 'content': 'Give me a list of weapons used in the civil war.'}]0.0During the American Civil War (1861-1865), a wide range of weapons were used by both the Union and Confederate forces. Here is a list of some of the most significant weapons employed during this conflict:\\n\\n1. Rifles:\\n - Springfield Model 1861: A muzzle-loading, single-shot rifle used by the Union Army.\\n - Enfield Pattern 1853: A British-made muzzle-loading, single-shot rifle used by both sides.\\n - Sharps Rifle: A breech-loading, single-shot rifle known for its accuracy and used by both sides.\\n\\n2. Muskets:\\n - Springfield Model 1861: A muzzle-loading, smoothbore musket used by the Union Army.\\n - Pattern 1853 Enfield: A muzzle-loading, smoothbore musket used by both sides.\\n - Lorenz Rifle: A muzzle-loading, rifled musket used primarily by the Confederacy.\\n\\n3. Carbines:\\n - Spencer Repeating Carbine: A breech-loading, lever-action carbine used by Union cavalry.\\n - Sharps Carbine: A breech-loading, single-shot carbine used by both sides.\\n - Burnside Carbine: A breech-loading, single-shot carbine used by Union cavalry.\\n\\n4. Artillery:\\n - Napoleon Gun: A smoothbore, muzzle-loading cannon used by both sides.\\n - Parrott Rifle: A rifled, muzzle-loading cannon used by both sides.\\n - Whitworth Rifle: A British-made, rifled cannon used primarily by the Confederacy.\\n\\n5. Pistols:\\n - Colt Army Model 1860: A .44 caliber, single-action revolver used by both sides.\\n - Remington Model 1858: A .44 caliber, single-action revolver used by both sides.\\n - Smith & Wesson Model 2: A .32 caliber, single-action revolver used by both sides.\\n\\n6. Blades:\\n - Bayonets: Attached to the end of rifles and muskets, used for close combat.\\n - Swords: Officers on both sides often carried swords for personal defense.\\n\\n7. Naval Weapons:\\n - Dahlgren Gun: A smoothbore, muzzle-loading cannon used on naval vessels.\\n - Brooke Rifle: A rifled, muzzle-loading cannon used on Confederate naval vessels.\\n\\nIt is important to note that this list is not exhaustive, as there were numerous variations and models of these weapons used during the Civil War. Additionally, advancements in technology and the introduction of new weapons occurred throughout the conflict.{'completion_tokens': 518, 'prompt_tokens': 28, 'total_tokens': 546}8.113981False{'harassment': False, 'violence': False, 'moderation_flag': False}{'harassment_score': 5.6028698054433335e-06, 'violence_score': 0.006405988242477179, 'moderation_flag': False}
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a historian.'}, {'role': 'user', 'content': 'Give me a list of weapons used in the civil war.'}]1.0During the American Civil War (1861-1865), various weapons were utilized by both the Union and Confederate forces. Here is a list of some significant weapons employed during this conflict:\\n\\n1. Rifles:\\n - Springfield Model 1861: A widely used .58 caliber muzzle-loading rifle.\\n - Enfield Pattern 1853: A British-made rifle imported by both sides, often used by Confederate soldiers.\\n - Henry Repeating Rifle: Lever-action, magazine-fed rifle known for its rapid-fire capability, primarily used by Union troops.\\n\\n2. Muskets:\\n - Springfield Model 1861/1855: Smoothbore muskets often used by both sides earlier in the war.\\n - Lorenz Rifle: Austrian-made musket popular among Confederate forces.\\n - P53 Enfield: British-made musket used by both Union and Confederate soldiers.\\n\\n3. Carbines:\\n - Spencer Repeating Carbine: A lever-action, seven-shot carbine used by Union cavalry, notable for its high rate of fire.\\n - Sharps Carbine: A single-shot breech-loading carbine utilized by both sides.\\n\\n4. Pistols:\\n - Colt Single Action Army Revolver: Often referred to as the \"Colt .45,\" a popular six-shot revolver used by Union cavalry.\\n - Remington Model 1858: A six-shot, percussion cap revolver used by both Union and Confederate troops.\\n\\n5. Artillery:\\n - Napoleon Gun: A smoothbore, muzzle-loading cannon used by both sides. It fired a 12-pound projectile.\\n - Parrott Rifle: A rifled artillery piece, available in various calibers, used primarily by Union forces.\\n - Whitworth Rifle: A British-made, breech-loading rifle known for its accuracy and long-range capabilities, favored by the Confederacy.\\n\\n6. Edged Weapons:\\n - Model 1840 Army Non-commissioned Officer Sword: A common sword used by Union infantry and cavalry.\\n - Model 1850 Army Staff and Field Officer's Sword: An ornate sword often carried by higher-ranking officers on both sides.\\n - Bowie Knife: A large, fixed-blade knife typically used by soldiers on both sides for close combat.\\n\\nIt is worth noting that this list only scratches the surface of the wide range of weapons employed throughout the Civil War, as various other firearms, bayonets, sabers, and artillery pieces were in use.{'completion_tokens': 497, 'prompt_tokens': 28, 'total_tokens': 525}8.594419False{'harassment': False, 'violence': False, 'moderation_flag': False}{'harassment_score': 3.943132924177917e-06, 'violence_score': 0.007170462515205145, 'moderation_flag': False}
\n", + "
" + ], + "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a historian.'}, {'role': 'user', 'content': 'Give me a list of weapons used in the civil war.'}] \n", + "1 [{'role': 'system', 'content': 'You are a historian.'}, {'role': 'user', 'content': 'Give me a list of weapons used in the civil war.'}] \n", + "\n", + " temperature \\\n", + "0 0.0 \n", + "1 1.0 \n", + "\n", + " response \\\n", + "0 During the American Civil War (1861-1865), a wide range of weapons were used by both the Union and Confederate forces. Here is a list of some of the most significant weapons employed during this conflict:\\n\\n1. Rifles:\\n - Springfield Model 1861: A muzzle-loading, single-shot rifle used by the Union Army.\\n - Enfield Pattern 1853: A British-made muzzle-loading, single-shot rifle used by both sides.\\n - Sharps Rifle: A breech-loading, single-shot rifle known for its accuracy and used by both sides.\\n\\n2. Muskets:\\n - Springfield Model 1861: A muzzle-loading, smoothbore musket used by the Union Army.\\n - Pattern 1853 Enfield: A muzzle-loading, smoothbore musket used by both sides.\\n - Lorenz Rifle: A muzzle-loading, rifled musket used primarily by the Confederacy.\\n\\n3. Carbines:\\n - Spencer Repeating Carbine: A breech-loading, lever-action carbine used by Union cavalry.\\n - Sharps Carbine: A breech-loading, single-shot carbine used by both sides.\\n - Burnside Carbine: A breech-loading, single-shot carbine used by Union cavalry.\\n\\n4. Artillery:\\n - Napoleon Gun: A smoothbore, muzzle-loading cannon used by both sides.\\n - Parrott Rifle: A rifled, muzzle-loading cannon used by both sides.\\n - Whitworth Rifle: A British-made, rifled cannon used primarily by the Confederacy.\\n\\n5. Pistols:\\n - Colt Army Model 1860: A .44 caliber, single-action revolver used by both sides.\\n - Remington Model 1858: A .44 caliber, single-action revolver used by both sides.\\n - Smith & Wesson Model 2: A .32 caliber, single-action revolver used by both sides.\\n\\n6. Blades:\\n - Bayonets: Attached to the end of rifles and muskets, used for close combat.\\n - Swords: Officers on both sides often carried swords for personal defense.\\n\\n7. Naval Weapons:\\n - Dahlgren Gun: A smoothbore, muzzle-loading cannon used on naval vessels.\\n - Brooke Rifle: A rifled, muzzle-loading cannon used on Confederate naval vessels.\\n\\nIt is important to note that this list is not exhaustive, as there were numerous variations and models of these weapons used during the Civil War. Additionally, advancements in technology and the introduction of new weapons occurred throughout the conflict. \n", + "1 During the American Civil War (1861-1865), various weapons were utilized by both the Union and Confederate forces. Here is a list of some significant weapons employed during this conflict:\\n\\n1. Rifles:\\n - Springfield Model 1861: A widely used .58 caliber muzzle-loading rifle.\\n - Enfield Pattern 1853: A British-made rifle imported by both sides, often used by Confederate soldiers.\\n - Henry Repeating Rifle: Lever-action, magazine-fed rifle known for its rapid-fire capability, primarily used by Union troops.\\n\\n2. Muskets:\\n - Springfield Model 1861/1855: Smoothbore muskets often used by both sides earlier in the war.\\n - Lorenz Rifle: Austrian-made musket popular among Confederate forces.\\n - P53 Enfield: British-made musket used by both Union and Confederate soldiers.\\n\\n3. Carbines:\\n - Spencer Repeating Carbine: A lever-action, seven-shot carbine used by Union cavalry, notable for its high rate of fire.\\n - Sharps Carbine: A single-shot breech-loading carbine utilized by both sides.\\n\\n4. Pistols:\\n - Colt Single Action Army Revolver: Often referred to as the \"Colt .45,\" a popular six-shot revolver used by Union cavalry.\\n - Remington Model 1858: A six-shot, percussion cap revolver used by both Union and Confederate troops.\\n\\n5. Artillery:\\n - Napoleon Gun: A smoothbore, muzzle-loading cannon used by both sides. It fired a 12-pound projectile.\\n - Parrott Rifle: A rifled artillery piece, available in various calibers, used primarily by Union forces.\\n - Whitworth Rifle: A British-made, breech-loading rifle known for its accuracy and long-range capabilities, favored by the Confederacy.\\n\\n6. Edged Weapons:\\n - Model 1840 Army Non-commissioned Officer Sword: A common sword used by Union infantry and cavalry.\\n - Model 1850 Army Staff and Field Officer's Sword: An ornate sword often carried by higher-ranking officers on both sides.\\n - Bowie Knife: A large, fixed-blade knife typically used by soldiers on both sides for close combat.\\n\\nIt is worth noting that this list only scratches the surface of the wide range of weapons employed throughout the Civil War, as various other firearms, bayonets, sabers, and artillery pieces were in use. \n", + "\n", + " response_usage \\\n", + "0 {'completion_tokens': 518, 'prompt_tokens': 28, 'total_tokens': 546} \n", + "1 {'completion_tokens': 497, 'prompt_tokens': 28, 'total_tokens': 525} \n", + "\n", + " latency moderation_flag \\\n", + "0 8.113981 False \n", + "1 8.594419 False \n", + "\n", + " moderation_topics \\\n", + "0 {'harassment': False, 'violence': False, 'moderation_flag': False} \n", + "1 {'harassment': False, 'violence': False, 'moderation_flag': False} \n", + "\n", + " moderation_scores \n", + "0 {'harassment_score': 5.6028698054433335e-06, 'violence_score': 0.006405988242477179, 'moderation_flag': False} \n", + "1 {'harassment_score': 3.943132924177917e-06, 'violence_score': 0.007170462515205145, 'moderation_flag': False} " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment.evaluate(\"moderation_scores\", apply_moderation, {\"category_score_names\": [\"harassment\", \"violence\"]})\n", + "experiment.visualize()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "86898588", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "04df3454", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From e77fcc5bcd6fa7b123ae17fd660659bcb3e7c8bf Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 26 Dec 2023 17:15:56 -0800 Subject: [PATCH 147/182] Adding moderation eval to docs --- docs/source/utils.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/source/utils.rst b/docs/source/utils.rst index 9754cd67..a73aecce 100644 --- a/docs/source/utils.rst +++ b/docs/source/utils.rst @@ -16,6 +16,8 @@ They can also be used with ``prompttest`` for be part of your CI/CD system. .. autofunction:: prompttools.utils.compute_similarity_against_model +.. autofunction:: prompttools.utils.apply_moderation + .. autofunction:: prompttools.utils.ranking_correlation .. autofunction:: prompttools.utils.validate_json_response From ffbfc60aabe91f54e7c463c4781c7e5f65432beb Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Wed, 27 Dec 2023 08:24:43 -0800 Subject: [PATCH 148/182] Version bump --- docs/source/conf.py | 2 +- prompttools/version.py | 4 ++-- pyproject.toml | 2 +- version.txt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index fa00b826..c9d1bf03 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -11,7 +11,7 @@ project = "prompttools" copyright = "2023, Hegel AI" author = "Hegel AI" -release = "0.0.44" +release = "0.0.45" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/prompttools/version.py b/prompttools/version.py index 23fa2526..d103c2d6 100644 --- a/prompttools/version.py +++ b/prompttools/version.py @@ -1,2 +1,2 @@ -__version__ = '0.0.44a0+7d36bb0' -git_version = '7d36bb0922948f299ace033d0de58590ae4254f3' +__version__ = '0.0.45a0+e77fcc5' +git_version = 'e77fcc5bcd6fa7b123ae17fd660659bcb3e7c8bf' diff --git a/pyproject.toml b/pyproject.toml index 2d4ce9aa..e01419d8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "prompttools" -version = "0.0.44" +version = "0.0.45" authors = [ { name="Hegel AI", email="team@hegel-ai.com" }, ] diff --git a/version.txt b/version.txt index 2fcff7eb..0f225676 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.0.44a0 +0.0.45a0 From 6151062e36d63229b66d1c4193f0173ad022502d Mon Sep 17 00:00:00 2001 From: "Steven Krawczyk (Hegel AI)" Date: Thu, 28 Dec 2023 07:06:51 -0800 Subject: [PATCH 149/182] Update style.mplstyle to use Hegel colors --- prompttools/experiment/experiments/style.mplstyle | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/prompttools/experiment/experiments/style.mplstyle b/prompttools/experiment/experiments/style.mplstyle index b31c0eac..00520178 100755 --- a/prompttools/experiment/experiments/style.mplstyle +++ b/prompttools/experiment/experiments/style.mplstyle @@ -40,11 +40,11 @@ legend.frameon : False savefig.bbox : tight savefig.dpi : 100 -# Rainbow color cycle -#axes.prop_cycle: cycler('color', ["black", "332288","88CCEE","44AA99","117733","999933","DDCC77","CC6677","882255","AA4499","brown","fd3c06","gray"]) +# Hegel AI color cycle +axes.prop_cycle: cycler('color', ["black", "771541", "EB8F4C","594F3B","A8B7AB","9C92A3"]) # Not good for colorblind people -axes.prop_cycle: cycler('color', ['black', '7e1e9c', '15b01a', '448ee4', 'ff7fa7', '029386', 'ed872d', 'ae1717', 'gray', 'e03fd8', '011288', '0b4008']) +#axes.prop_cycle: cycler('color', ['black', '7e1e9c', '15b01a', '448ee4', 'ff7fa7', '029386', 'ed872d', 'ae1717', 'gray', 'e03fd8', '011288', '0b4008']) #font.family : serif #text.usetex : True From 280f4e94b5e1032bb126def256be4d56bb146714 Mon Sep 17 00:00:00 2001 From: steven krawczyk Date: Thu, 28 Dec 2023 08:12:02 -0800 Subject: [PATCH 150/182] Update mpstyle --- examples/notebooks/OpenAIChatExperiment.ipynb | 141 ++++++++++-------- .../experiment/experiments/experiment.py | 7 +- .../experiment/experiments/style.mplstyle | 3 - prompttools/version.py | 4 +- 4 files changed, 85 insertions(+), 70 deletions(-) diff --git a/examples/notebooks/OpenAIChatExperiment.ipynb b/examples/notebooks/OpenAIChatExperiment.ipynb index 654a8e59..f840af3e 100644 --- a/examples/notebooks/OpenAIChatExperiment.ipynb +++ b/examples/notebooks/OpenAIChatExperiment.ipynb @@ -44,7 +44,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 13, "id": "ed4e635e", "metadata": {}, "outputs": [], @@ -156,9 +156,10 @@ " \n", " \n", " model\n", - " temperature\n", " messages\n", + " temperature\n", " response\n", + " response_usage\n", " latency\n", " \n", " \n", @@ -166,45 +167,49 @@ " \n", " 0\n", " gpt-3.5-turbo\n", - " 0.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", + " 0.0\n", " George Washington\n", - " 2.625049e-06\n", + " {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75}\n", + " 0.000006\n", " \n", " \n", " 1\n", " gpt-3.5-turbo\n", - " 1.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", + " 1.0\n", " George Washington\n", - " 1.000008e-06\n", + " {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75}\n", + " 0.000005\n", " \n", " \n", " 2\n", " gpt-3.5-turbo-0613\n", - " 0.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", + " 0.0\n", " George Washington\n", - " 7.500057e-07\n", + " {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75}\n", + " 0.000003\n", " \n", " \n", " 3\n", " gpt-3.5-turbo-0613\n", - " 1.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", + " 1.0\n", " George Washington\n", - " 6.670016e-07\n", + " {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75}\n", + " 0.000002\n", " \n", " \n", "\n", "" ], "text/plain": [ - " model temperature \\\n", - "0 gpt-3.5-turbo 0.0 \n", - "1 gpt-3.5-turbo 1.0 \n", - "2 gpt-3.5-turbo-0613 0.0 \n", - "3 gpt-3.5-turbo-0613 1.0 \n", + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "2 gpt-3.5-turbo-0613 \n", + "3 gpt-3.5-turbo-0613 \n", "\n", " messages \\\n", "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", @@ -212,11 +217,23 @@ "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "\n", - " response latency \n", - "0 George Washington 2.625049e-06 \n", - "1 George Washington 1.000008e-06 \n", - "2 George Washington 7.500057e-07 \n", - "3 George Washington 6.670016e-07 " + " temperature response \\\n", + "0 0.0 George Washington \n", + "1 1.0 George Washington \n", + "2 0.0 George Washington \n", + "3 1.0 George Washington \n", + "\n", + " response_usage \\\n", + "0 {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75} \n", + "1 {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75} \n", + "2 {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75} \n", + "3 {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75} \n", + "\n", + " latency \n", + "0 0.000006 \n", + "1 0.000005 \n", + "2 0.000003 \n", + "3 0.000002 " ] }, "metadata": {}, @@ -247,7 +264,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "d861ab10", "metadata": {}, "outputs": [], @@ -257,7 +274,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "id": "8ddbb951", "metadata": {}, "outputs": [], @@ -267,23 +284,12 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "id": "e80dfeec", "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/torch/utils/tensorboard/__init__.py:4: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.\n", - " if not hasattr(tensorboard, \"__version__\") or LooseVersion(\n", - "/Users/kevin/miniconda3/envs/prompttools/lib/python3.11/site-packages/torch/utils/tensorboard/__init__.py:6: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.\n", - " ) < LooseVersion(\"1.15\"):\n" - ] - } - ], + "outputs": [], "source": [ "experiment.evaluate(\"similar_to_expected\", similarity.semantic_similarity, expected=[\"George Washington\"] * 4)" ] @@ -298,7 +304,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "id": "4d09c18e", "metadata": { "scrolled": true @@ -326,9 +332,10 @@ " \n", " \n", " model\n", - " temperature\n", " messages\n", + " temperature\n", " response\n", + " response_usage\n", " latency\n", " similar_to_expected\n", " \n", @@ -337,37 +344,41 @@ " \n", " 0\n", " gpt-3.5-turbo\n", - " 0.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", + " 0.0\n", " George Washington\n", - " 2.625049e-06\n", + " {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75}\n", + " 0.000006\n", " 1.0\n", " \n", " \n", " 1\n", " gpt-3.5-turbo\n", - " 1.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", + " 1.0\n", " George Washington\n", - " 1.000008e-06\n", + " {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75}\n", + " 0.000005\n", " 1.0\n", " \n", " \n", " 2\n", " gpt-3.5-turbo-0613\n", - " 0.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", + " 0.0\n", " George Washington\n", - " 7.500057e-07\n", + " {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75}\n", + " 0.000003\n", " 1.0\n", " \n", " \n", " 3\n", " gpt-3.5-turbo-0613\n", - " 1.0\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", + " 1.0\n", " George Washington\n", - " 6.670016e-07\n", + " {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75}\n", + " 0.000002\n", " 1.0\n", " \n", " \n", @@ -375,11 +386,11 @@ "" ], "text/plain": [ - " model temperature \\\n", - "0 gpt-3.5-turbo 0.0 \n", - "1 gpt-3.5-turbo 1.0 \n", - "2 gpt-3.5-turbo-0613 0.0 \n", - "3 gpt-3.5-turbo-0613 1.0 \n", + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "2 gpt-3.5-turbo-0613 \n", + "3 gpt-3.5-turbo-0613 \n", "\n", " messages \\\n", "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", @@ -387,11 +398,23 @@ "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", "\n", - " response latency similar_to_expected \n", - "0 George Washington 2.625049e-06 1.0 \n", - "1 George Washington 1.000008e-06 1.0 \n", - "2 George Washington 7.500057e-07 1.0 \n", - "3 George Washington 6.670016e-07 1.0 " + " temperature response \\\n", + "0 0.0 George Washington \n", + "1 1.0 George Washington \n", + "2 0.0 George Washington \n", + "3 1.0 George Washington \n", + "\n", + " response_usage \\\n", + "0 {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75} \n", + "1 {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75} \n", + "2 {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75} \n", + "3 {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75} \n", + "\n", + " latency similar_to_expected \n", + "0 0.000006 1.0 \n", + "1 0.000005 1.0 \n", + "2 0.000003 1.0 \n", + "3 0.000002 1.0 " ] }, "metadata": {}, @@ -422,7 +445,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "d30cd8ad", "metadata": {}, "outputs": [], @@ -451,18 +474,18 @@ "id": "e5626394", "metadata": {}, "source": [ - "You can optional " + "You can optionally visualize the results with the following command" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 12, "id": "d0007a1f", "metadata": {}, "outputs": [ { "data": { - "image/png": "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b4ntxdfYVdQNbrKzs5WYmChJJU7Czpg3b56ysrLk6emp6Ohoh/rac7xhYWGSrvxl6dcWL158zSWK9tq4caNSUlJKbZ8/f75ycnLUtGnTEn8l69evnyTp3XffLdXHMAzb9uJ2AHAz4Jx2fZzTSnLmnHb33XerZs2aOnfunL744otS+4tvItivX78SqxGaN29uu3niRx99VKpfSkqKduzYIUm65557HKrpRlTE+wxuquKfiAigqhQWFhrt27c3JBmDBg0yzp49a9u3ZMkSw8/P77rPfB43blyJZz7/6U9/MiQZNWrUMH7++ecS802fPt2QZIwYMcIoKipyuN6ff/7ZeP75543du3eX2rdp0yajW7duhiSjXbt2RkFBQYn9ixYtMpo2bWr07NmzxPbs7GxjxIgRxpYtW0psLygoMObMmWP4+fld9znF5dm6dashyWjWrFmJZzJf7b333jMkGU2aNDEOHDhg2/6f//zHaNCgge37X94zn3+9/WpXP/M5PDzcSE9Pt+374YcfjJo1axqSjHfffbdEv6uf+fz222/bnvmcm5trPPvss7ZnPh8/ftzB7wgAVBzOaZzTKvuc9sYbbxiSjHr16hkpKSm27Z999pnh4eFhWCwWY/PmzaX6LV++3JBkVKtWzVi1apVt+08//WR07NjRkGTceeed153/8ccfNyQZ8fHx5bZx5n0GXI1gAHBzO3bsMIKDg20nqM6dOxtWq9WQZDz77LO2X5iOHDli61O8berUqYbFYjFCQ0ONyMhIo1atWoYkw8PDw/j8889LzZWWlmb4+PgYkoymTZsavXr1MqKioowFCxbYVevhw4cNSYYkIyQkxOjYsaPRoUMH27ySjObNmxtpaWml+i5YsMA279XOnj1r6xscHGx06NDBiIyMtH1PJBn9+/c3Ll++7ND31TCu/JLasmVLQ5IRGhpqdO/e3YiKijKef/55W5vLly8bd9xxh+2XnbZt2xqtWrWy/bJZ3i9LjvwS9fvf/95o3Lix4eXlZURERBitW7e2Hdt9991n+yXpau+9955hsVgMSUbdunVLfE98fX2Nf//73w5/PwCgonFO45xWmee0/Px84ze/+Y3tfdK+fXsjLCzMVs/UqVPL7VscOkkyWrZsaXTs2NEWnISFhRkZGRml+qxfv94IDQ21vXx9fW3v9au3X/3+duZ9BlyNYAAwgbS0NGPEiBFGaGio4efnZ7Rr1874+9//bhiGYTtxXP2Xl+Jfog4fPmysWrXKuOuuu4waNWoY1atXN+655x4jKSmp3LlWr15tREVFGYGBgbaT9GuvvWZXnZcvXzY++OAD47e//a3RqlUrIygoyPDy8jJq165t3HPPPcY777xjXLp0qcy+5f0SlZeXZ0ybNs0YMmSI0aJFCyMwMNDw9vY26tWrZwwcOND45z//eUN/CSp24MAB48EHHzTq1KljeHp6GpKMqKioEm1OnjxpxMbGGnXq1DF8fX2NNm3a2P6q4Ypfol577TXj+PHjxqhRo4z69esbPj4+RuvWrY233nrLyM/PL7f/+vXrjSFDhhi1a9c2vL29jQYNGhgjR4409uzZc8PfDwCoaJzTOKeVpaLOaQUFBcbMmTON8PBwo1q1akZQUJBxzz332BU2LF261Lj33nuN4OBgw9fX12jVqpUxYcIE48yZM2W2T0xMtH2Yv9br6hUxzrzPgKtZDMPBu6QAcBuZmZmqVauWgoODS1wXaLValZGRocOHD8tqtVZdgQAA2IlzGgDcOG4+CJjYggULJEk9evSo4koAAHAO5zQAuHEEA4Cb27Vrl+bMmVPiuc+GYejTTz/Vn//8Z0nS008/XVXlAQBgN85pAFAxvKq6AAAVKzMzU2PGjNEzzzyjpk2bKjQ0VIcOHVJmZqYkacyYMbrvvvuquEoAAK6PcxoAVAxWDABu7vbbb9f48ePVrl07ZWdnKzk5WYZh6N5779XChQv1/vvvV3WJAADYhXMaAFQMbj4IAAAAAICJsWIAAAAAAAATIxgAAAAAAMDECAYAAAAAADAxggEAAAAAAEyMYAAAAAAAABMjGAAAAAAAwMQIBgAAAAAAMDGCAQAAAAAATOz/AaagJzbDfX3aAAAAAElFTkSuQmCC", + "image/png": "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i3CgXbt26d27d5Lk2muvXW7/xIkTM23atDRp0iQDBw78zPE+udDgo48+usI2jzzySJKs9NGJAAAAsL6oF+FAkpxxxhlJkuHDh2fSpElV22fOnJkTTzwxSXLSSSct8+jBMWPGpHPnzhkwYMAyY7Vv374qbPjOd76TqVOnLrP/j3/8Y66//vokydChQ+v8WAAAAGBNqhdrDiTJoEGDcsopp+Siiy5Knz59MmDAgDRr1iz33ntvZs2alb59++bnP//5Mn1mz56dF154IR9++OFy41155ZXZc88989xzz2WHHXZInz590qZNmzz33HP5+9//niT5xje+ka9//etr5PgAAABgdak34UCSjBgxIn379s1vf/vbPPTQQ/n444/TqVOnnH766fnud7+bxo0bV3usLl265Nlnn82FF16YO+64I48//ngWLlyYjTfeOPvss0++9a1vZciQIavxaAAAAGDNqCiKoljbRZTB0lUi+/Xrt84/raCiomJtlwDAauCUDwDlUpPfQ+vNmgMAAADAqhEOAAAAQMkJBwAAAKDkhAMAAABQcsIBAAAAKDnhAAAAAJSccAAAAABKTjgAAAAAJSccAAAAgJITDgAAAEDJCQcAAACg5IQDAAAAUHLCAQAAACg54QAAAACUnHAAAAAASk44AAAAACUnHAAAAICSEw4AAABAyQkHAAAAoOSEAwAAAFBywgEAAAAoOeEAAAAAlJxwAAAAAEpOOAAAAAAlJxwAAACAkhMOAAAAQMkJBwAAAKDkhAMAAABQcsIBAAAAKDnhAAAAAJSccAAAAABKTjgAAAAAJSccAAAAgJITDgAAAEDJCQcAAACg5IQDAAAAUHLCAQAAACg54QAAAACUnHAAAAAASk44AAAAACUnHAAAAICSEw4AAABAyQkHAAAAoOSEAwAAAFBywgEAAAAoOeEAAAAAlJxwAAAAAEquUV0NVBRFXn755UydOjXvvfdePvjgg2y44YZp3bp1OnTokE6dOqWioqKupgMAAADqSK3CgRdffDFjxozJnXfemccffzwLFixYadtmzZqld+/e2WeffXLQQQdlu+22q83UAAAAQB2pcTiwePHi3HDDDRk5cmQeeeSRqu1FUXxqv3nz5mX8+PEZP358fvzjH2eXXXbJySefnCFDhqRhw4Y1rxwAAACoE9UOB4qiyKhRo3L22Wfn9ddfr9q21DbbbJMddtghrVu3ziabbJIWLVpk9uzZmTlzZt5777384x//yLRp06raP/roo3n00Ufz4x//OD/96U9zxBFHpEEDSyAAAADAmlatcOBvf/tbTjrppPz973+vCgTatWuXgw8+OP3790+fPn3Stm3bzxxn+vTpefjhh/O3v/0tf/nLXzJt2rS8/vrrOfroo3PhhRfmt7/9bb70pS/V7ogAAACAGqlWONC/f/8kSYMGDTJ48OAcf/zx2WuvvWo8Wdu2bXPQQQfloIMOyoUXXpj7778/l156acaMGZNnn302e+65ZxYtWlTjcQEAAIBVV63r+CsqKnLkkUfm+eefzw033LBKwcCK7Lnnnrnhhhvy/PPPZ9iwYXUyJgAAAFAz1bpy4KmnnkqXLl1WWxGdOnXKlVdeme9///urbQ4AAABgxap15cDqDAY+accdd1wj8wAAAAD/j8cDAAAAQMkJBwAAAKDkqrXmQG2NGTMmDzzwQBYtWpTu3bvnsMMOy0YbbbQmpgYAAAA+Q63CgRdffLFqEcEzzzwzvXv3Xmb/Rx99lK9+9au57777ltk+fPjwjBs3Lh07dqzN9AAAAEAdqNVtBddff33++te/ZuLEienWrdty+3/5y1/m3nvvTVEUy3y89NJLOeigg7JkyZLaTA8AAADUgVqFAw8++GCSZO+9907jxo2X2bdw4cKMGDEiFRUVadmyZS688MLcfPPNGThwYJLkmWeeyejRo2szPQAAAFAHahUOvP7666moqEivXr2W23fXXXdlzpw5SZIrrrgi3/nOd3LAAQfklltuSadOnZIkN954Y22mBwAAAOpArcKBGTNmJEnatWu33L7x48cnSVq3bp2DDjqoanvDhg1z+OGHpyiKTJ48uTbTAwAAAHWgVuHA+++/nyTL3VKQJA899FAqKioyYMCAVFRULLPvc5/7XJJk+vTptZkeAAAAqAO1CgeaNm2aJHn33XeX2f7BBx9k0qRJSZLddtttuX6VlZVJ/v00AwAAAGDtqlU4sPR2gieffHKZ7ePGjcvHH3+cZMXhwNIrDpo3b16b6QEAAIA6UKtwYNddd01RFLnxxhvzxhtvJEkWLVqUX//610n+vd5Az549l+v33HPPJUnat29fm+kBAACAOlCrcODII49MksydOzfdu3fPYYcdlm7dumXixImpqKjIN7/5zTRosPwUDzzwQCoqKvLFL36xNtMDAAAAdaBW4cDuu++eY489NkVR5L333svo0aPz/PPPJ/n3LQc/+clPluvzyiuvVN2GsKJbDgAAAIA1q1bhQJJceuml+c1vfpMdd9wxjRs3zsYbb5zDDjssEydOTOvWrZdrf8kll1R9vs8++9R2egAAAKCWGtV2gIqKipxyyik55ZRTqtX+Bz/4QU4++eRUVFRYcwAAAADWAbUOB2qqbdu2a3pKAAAA4FPU+rYCAAAAYP0mHAAAAICSq1Y48MMf/jCzZ89erYW88847OfXUU1frHAAAAMDyqhUOXHDBBenUqVPOOuusvP/++3VawMyZM3Paaaflc5/7XC6++OI6HRsAAAD4bNUKB7bffvu89957Ofvss9OuXbsceeSRuf/++1MUxSpNunjx4tx666055JBD0q5du5x//vlZsGBBtt9++1UaDwAAAFh11XpawTPPPJNf//rXOffcczN79uxcc801ueaaa7LJJpukb9++6dOnT3bZZZd07tw5rVu3TuPGjav6fvTRR3nvvffy3HPP5dFHH82jjz6aiRMn5r333kuSFEWRli1b5owzzsh3v/vd1XOUAAAAwEpVKxxo1KhRfvSjH+WYY47Jr371q/zud7/LrFmzMmPGjNx666259dZbl2m/0UYbpXnz5pkzZ04++OCD5cZbesXBxhtvnBNPPDHf//7306pVq9ofDQAAAFBjNXpawcYbb5xzzjkn06ZNy6WXXpo+ffqkKIrlPubPn5+33347CxYsWG5fkuy+++75/e9/n2nTpuXnP/+5YAAAAADWompdOfCfmjVrluOOOy7HHXdcpk+fnnHjxuXRRx/NM888k6lTp+a9997LwoUL07Rp02yyySbp2LFjunbtmj59+uQrX/lKNttss7o+DgAAAGAVrVI48Elt27bNEUcckSOOOKIu6gEAAADWsBrdVgAAAADUP8IBAAAAKDnhAAAAAJSccAAAAABKTjgAAAAAJSccAAAAgJITDgAAAEDJCQcAAACg5IQDAAAAUHLCAQAAACg54QAAAACUnHAAAAAASq5W4cAZZ5yRqVOn1lEpdWP06NHp379/Nt544zRr1izdunXLeeedl48//niVx7zllltywAEHpG3btmncuHE222yz7Lbbbjn77LPrsHIAAABYO2oVDgwfPjzbbrtt9t1339x8881ZvHhxXdW1Sk499dQMGTIkDz74YHbeeefsu+++ef3113Paaadlr732ygcffFCj8T766KMMGTIkgwYNyj333JMdd9wxhxxySLp06ZKXX345F1100Wo6EgAAAFhzGtV2gCVLluTuu+/O3XffnbZt2+aoo47K0Ucfnfbt29dFfdV28803Z8SIEamsrMyECRPSs2fPJMmMGTOy1157ZeLEiTnzzDNz/vnnV3vMY445JqNHj86gQYNy+eWXp02bNlX7lixZkscee6zOjwMAAADWtFpdOXDVVVdl1113TVEUKYoib731Vn75y1+mU6dO2X///XPbbbdlyZIldVXrpzrnnHOSJKeffnpVMJAkbdq0ySWXXJIkGTlyZGbPnl2t8e69995cc8016dKlS2644YZlgoEkadCgQfr06VNH1QMAAMDaU6tw4IgjjsiDDz6Yp59+Ot/+9rfTqlWrFEWRxYsX54477sigQYOyzTbb5Kyzzsobb7xRVzUv580338zjjz+eJBk6dOhy+3ffffdsvfXWWbhwYcaOHVutMS+++OIk/75VYYMNNqi7YgEAAGAdUydPK+jSpUsuvvji/Otf/8qVV16ZPn36VF1N8Oabb+bss89Ox44dc+CBB2bs2LEpiqIupq0yefLkJEnr1q3TsWPHFbbp1avXMm0/zeLFi3PvvfcmSfbYY49Mnz49v/nNb3LCCSfk1FNPzdVXX5158+bVUfUAAACwdtV6zYFPatq0aYYNG5Zhw4bl2Wefze9+97v86U9/yuzZs7N48eL89a9/zV//+te0a9cuxxxzTL71rW9lyy23rPW8r776apJ86joHW2+99TJtP80rr7xS9cv/I488khNPPHG5MOCHP/xhrrvuuuy11141qnXKlCnp379/jfosfU0BAAAop1GjRmXUqFE16jNlypRqt63TcOCTunTpkpEjR+ZXv/pVrrvuuvz+97/Po48+miSZNm1afvrTn+bss8/O/vvvnxNOOCFf/vKXV3muuXPnJkmaNWu20jaVlZVJkjlz5nzmeDNnzqz6/Kijjspuu+2W888/P507d87LL7+cM844I2PHjs2BBx6YSZMmZbvttqt2rbNnz86ECROq3T5JjcMEAAAA6pepU6fW+HfJmlht4cBSG264YY488sgMGTIkP/7xjzNy5MhUVFQkSRYtWpRbbrklt9xyS3bYYYf8/Oc/z0EHHbS6S/pMn7ztYauttsq4cePSpEmTJEm3bt1y6623pnv37nn22WczfPjwXHHFFdUeu2XLlunevXuN6unQoUON2gMAAFC/dOjQIf369atRnylTplR7Uf7VHg5MmTIll112Wf785z9n7ty5qaioSFEUadCgQbbddtu8+OKLSZLnnnsuhxxySA477LBcc801adiwYbXnaN68eZJk/vz5K22z9LaAFi1aVHu85N+X9C8NBpZq2LBhjjvuuJx88sm55557ql1nknTv3j3jx4+vUR8AAADKbVVuN+/fv3+1rzaokwUJ/9OCBQvyhz/8ITvvvHN22mmn/P73v8+cOXNSFEU22WST/OhHP8qLL76YF154IZMnT84xxxyTxo0bpyiKXHfddbnssstqNN/Sv6xPmzZtpW2W7qvOX+E7dOhQdXXD5z73uRW2Wbr9rbfeqkGlAAAAsO6p03Bg8uTJOf7447PFFlvkuOOOy5NPPln11ILddtst//d//5c33ngjw4cPr3qqQLdu3XLZZZfl6aefTvv27VMURS6//PIazdujR48k/14rYGULDj7xxBNJkp49e37meJWVldl+++2TJDNmzFhhm6Xbl65lAAAAAOurWocD8+fPz+WXX57evXunV69eufzyyzN37twURZFmzZrluOOOy1NPPZWJEyfm61//eho3brzCcbbbbrv84Ac/SJK8/PLLNaqhXbt26d27d5Lk2muvXW7/xIkTM23atDRp0iQDBw6s1piHHnpokqz0toG77747SbLzzjvXqFYAAABY19QqHDjuuOOy5ZZb5vjjj8+kSZOqrhLo0qVLfvvb3+Zf//pXLr300nTt2rVa43Xq1CnJp68dsDJnnHFGkmT48OGZNGlS1faZM2fmxBNPTJKcdNJJadmyZdW+MWPGpHPnzhkwYMBy451yyinZeOONM3bs2OVuc7juuuvypz/9qaodAAAArM9qtSDh5ZdfXrXAYOPGjTN48OCccMIJ2X333VdpvAYNVj2rGDRoUE455ZRcdNFF6dOnTwYMGJBmzZrl3nvvzaxZs9K3b9/8/Oc/X6bP7Nmz88ILL+TDDz9cbrw2bdrk+uuvzwEHHJDjjz8+F198cXbYYYe8/PLLmTx5cpLkzDPPrPaVCAAAALCuqvXTCtq3b5/jjjsuRx11VDbddNNajbXPPvtkyZIlq9x/xIgR6du3b37729/moYceyscff5xOnTrl9NNPz3e/+92V3tKwMl/+8pfz1FNP5Zxzzsk999yTW265JS1atMjAgQPzne98J1/5yldWuVYAAABYV9QqHPjrX/+a/fbbr2pl/3XBkCFDMmTIkGq1rc6jID7/+c9n1KhRtS8MAAAA1lG1CgdcUg8AAADrvzp9lCEAAACw/qlVOPD+++9n8ODBOfjgg3PfffdVq899992Xgw8+OIceemjmzZtXm+kBAACAOlCr2wquv/76jBkzJs2aNcs111xTrT4777xz7rnnnsyfPz/77rtvjjrqqNqUAAAAANRSra4cuOuuu5L8+ykDlZWV1epTWVmZ/fbbL0VR5M4776zN9AAAAEAdqFU48NRTT6WioiK77bZbjfr16dOnqj8AAACwdtUqHHjrrbeSJO3atatRvy233DJJ8q9//as20wMAAAB1oFbhQFEUSZIlS5bUqN/S9osWLarN9AAAAEAdqFU40KZNmyTJyy+/XKN+r7zySpKkdevWtZkeAAAAqAO1Cge6du2aoigyZsyYGvUbM2ZMKioqssMOO9RmegAAAKAO1Coc2GeffZIkkydPzpVXXlmtPn/4wx8yadKkJMl+++1Xm+kBAACAOlCrcOCoo46qujXghBNOyK9//essXrx4hW0XL16cCy64IN/+9reTJC1btswxxxxTm+kBAACAOtCoNp0rKyszcuTIDB06NIsWLcoPf/jDXHDBBdlvv/3yhS98IZWVlZk3b17+8Y9/5I477sj06dNTFEUqKioycuTItGzZsq6OAwAAAFhFtQoHkuSwww7LjBkz8r3vfS+LFi3K9OnTc9VVV62wbVEUadSoUS688MIMHTq0tlMDAAAAdaBWtxUsddJJJ2XixIlVaxAURbHcR5IMHDgwDz30UNWtBQAAAMDaV+srB5baeeedc8cdd2TGjBmZOHFi3njjjcyZMyctWrRIu3bt8qUvfSmbbLJJXU0HAAAA1JE6CweWatOmTQYNGlTXwwIAAACrSZ3cVgAAAACsv4QDAAAAUHJ1elvBkiVL8vLLL+f999/Phx9+WK0+e+yxR12WAAAAANRQnYQDDz30UM4777zcfffd1Q4FkqSioiKLFi2qixIAAACAVVTrcOCCCy7IaaedtswjCwEAAID1R63CgQceeCA//OEPU1FRkaIostVWW2XPPfdMu3bt0qRJk7qqEQAAAFiNahUOjBgxourzn//85/nxj3+cBg2scQgAAADrk1qFAw8//HAqKioyaNCg/OQnP6mrmgAAAIA1qFZ/5p85c2aS5Gtf+1qdFAMAAACsebUKB9q0aZMkadasWZ0UAwAAAKx5tQoHunfvniR5+eWX66IWAAAAYC2oVThw1FFHpSiKXHfddXVVDwAAALCG1SocOOiggzJ48OA8/fTT+dGPflRXNQEAAABrUK2eVpAkf/zjH9OkSZNccMEFefLJJ3Pqqadm1113rVqPAAAAAFi31SocaNiwYdXnRVFk/PjxGT9+fLX7V1RUZNGiRbUpAQAAAKilWoUDRVF86tcAAADAuq9W4cAee+yRioqKuqoFAAAAWAtqFQ7U5BYCAIAyOn2zvdZ2CQCsBsPfuW9tl1CnavW0AgAAAGD9JxwAAACAkhMOAAAAQMnVas2BT1qyZEluuummjBs3Lv/4xz/y3nvv5eOPP87LL7+8TLtnn302c+bMScuWLbPjjjvW1fQAAADAKqqTcODBBx/MN7/5zUydOrVqW1EUK3ySwU033ZSzzz47LVq0yFtvvZWmTZvWRQkAAADAKqr1bQV33XVX9tprr0ydOjVFUaRhw4Zp2bLlStsfe+yxSZI5c+Zk7NixtZ0eAAAAqKVahQOzZs3K4Ycfno8//jiVlZX5/e9/n1mzZuWqq65aaZ8tttgiffr0SZLce++9tZkeAAAAqAO1Cgd++9vf5v3330+jRo1y55135uijj85GG230mf122223FEWRSZMm1WZ6AAAAoA7UKhwYO3ZsKioqMnjw4Oy6667V7rf99tsnSV555ZXaTA8AAADUgVqFA//85z+TJAMGDKhRv1atWiVJZs+eXZvpAQAAgDpQq3Bgzpw5SZLWrVvXqN/HH3+cJGnUqM6epAgAAACsolqFA0tDgZkzZ9ao39JHHrZp06Y20wMAAAB1oFbhwLbbbpskefjhh2vU784770xFRUW6detWm+kBAACAOlCrcOArX/lKiqLIjTfemOnTp1erz7333psHHnggSbLPPvvUZnoAAACgDtQqHDj22GOz0UYbZf78+TnkkEM+c4HBhx9+OIcffniSZOONN84RRxxRm+kBAACAOlCrFQE333zznHPOOTn11FPz8MMPZ/vtt8/RRx+dxYsXV7UZO3ZsXn/99dxxxx25/fbbs2TJklRUVOQ3v/lNmjVrVusDAAAAAGqn1o8LOOWUU/LOO+/k3HPPrfpvklRUVCRJvva1r1W1LYoiSXLWWWflG9/4Rm2nBgAAAOpArW4rWOoXv/hFbr/99vTo0SNFUaz0o0uXLvnrX/+a//mf/6mLaQEAAIA6UOsrB5bad999s+++++bZZ5/N3/72t0ydOjWzZs1KZWVl2rVrl379+mWnnXaqq+kAAACAOlJn4cBSXbp0SZcuXep6WAAAAGA1qZPbCgAAAID1V63CgQYNGqRRo0a59dZba9Rv3LhxadiwYRo1qvMLFwAAAIAaqvVv50ufQLCm+gEAAAB1y20FAAAAUHJrJRxYsGBBkqRp06ZrY3oAAADgE9ZKOPDII48kSTbbbLO1MT0AAADwCdVec+Dpp5/OlClTVrjvvvvuy6xZsz61f1EUmT9/fiZNmpQ//vGPqaioSO/evWtSKwAAALAaVDscGDNmTM4+++zlthdFkYsvvrhGkxZFkYqKihx//PE16gcAAADUvRrdVlAUxTIfK9v+WR+bb755Lr/88uy11151fkAAAABAzVT7yoFBgwalQ4cOy2w78sgjU1FRkZNOOik9e/b81P4NGjRIZWVlOnbsmK5du6Zhw4arVDAAAABQt6odDnTr1i3dunVbZtuRRx6ZJBkwYEAOOOCAuq0MAAAAWCOqHQ6syFVXXZUkn3nVAAAAALDuqlU4cMQRR9RVHQAAAMBaUqMFCQEAAID6RzgAAAAAJVer2wo+6aGHHsrVV1+dRx55JG+88UbmzJmTJUuWfGqfioqKLFq0qK5KAAAAAFZBrcOBBQsW5Fvf+lZGjx6dJCmKotZFAQAAAGtOrcOBr3/967n11ltTFEWaNWuWrl275pFHHklFRUW+8IUvZMMNN8zUqVMzY8aMJP++WmCnnXZKs2bNal08AAAAUHu1WnPgnnvuyS233JIkGTRoUP71r3/loYceqtr/y1/+Mo899ljeeeedPProo9l3331TFEUWLlyYUaNG5f77769d9QAAAECt1SocuOaaa5IkW2yxRa699to0b958pW179+6dsWPH5jvf+U6eeeaZDBo0KB999FFtpgcAAADqQK3CgaW3D/zXf/1XmjZtutz+Fa0/cMEFF6Rz5855+umnc+WVV9ZmegAAAKAO1CocmD59epLki1/84jLbKyoqkiQLFy5cfsIGDfKNb3wjRVHkhhtuqM30AAAAQB2oVTjw4YcfJklatGixzPaliw2+//77K+y37bbbJkleeOGF2kwPAAAA1IFahQOtWrVK8u/HGX7SJptskiR56aWXVthvaWgwc+bM2kwPAAAA1IFahQPbbbddkuS1115bZnuXLl1SFEXuueeeFfabMGFCkuWvOAAAAADWvFqFA7169UpRFJk8efIy2/fdd98kydNPP53LLrtsmX1/+ctfcv3116eioiK9evWqzfQAAABAHahVODBgwIAkyX333ZfFixdXbf/6179edWvBiSeemJ133jlDhw7NzjvvnEMPPbTqKQbHHntsbaYHAAAA6kCtwoF99tknHTp0SOPGjZe5haBVq1b5wx/+kIYNG6Yoijz55JO5/vrr8+STT1YFA9/61rcyaNCgWhUPAAAA1F6twoEmTZrklVdeyVtvvZV99tlnmX0HHnhgJkyYkAEDBlSFBEVR5POf/3wuueSSXH755bUqHAAAAKgbjVbn4LvuumvuvvvuLFq0KDNmzEizZs3SvHnz1TklAAAAUEOrNRyomqRRo7Rt23ZNTAUAAADUUK1uK1hVl1xySXr27JmddtppbUwPAAAAfMIauXLgP7311luZMmVKKioq1sb0AAAAwCeslSsHAAAAgHWHcAAAAABKTjgAAAAAJSccAAAAgJITDgAAAEDJCQcAAACg5OpdODB69Oj0798/G2+8cZo1a5Zu3brlvPPOy8cff1zrsceOHZuKiopUVFRk7733roNqAQAAYO2rV+HAqaeemiFDhuTBBx/MzjvvnH333Tevv/56TjvttOy111754IMPVnns999/P8ccc0wqKirqsGIAAABY++pNOHDzzTdnxIgRqayszKOPPppx48blpptuyosvvpiuXbtm4sSJOfPMM1d5/JNPPjlvv/12jj/++DqsGgAAANa+aocDDRs2rLOPc845p84PZOmYp59+enr27Fm1vU2bNrnkkkuSJCNHjszs2bNrPPaYMWPypz/9Kd/73vey8847103BAAAAsI6odjhQFEXVf2v7UdfefPPNPP7440mSoUOHLrd/9913z9Zbb52FCxdm7NixNRp7xowZOf7447P99tvn7LPPrpN6AQAAYF1So9sK6uoX+7oOCCZPnpwkad26dTp27LjCNr169VqmbXWdcMIJmTFjRq644oo0bdq0doUCAADAOqhRdRsuWbJkddZRK6+++mqSpH379itts/XWWy/Ttjquu+663HjjjfnOd76Tvn371q5IAAAAWEdVOxxYl82dOzdJ0qxZs5W2qaysTJLMmTOnWmNOnz493/72t9OpU6c6XSNhypQp6d+/f436DBs2LMOGDauzGgAAAFi/jBo1KqNGjapRnylTplS7bb0IB1aHY489Nu+//35uuummbLTRRnU27uzZszNhwoQa9alpmAAAAED9MnXq1Br/LlkT9SIcaN68eZJk/vz5K20zb968JEmLFi0+c7yrr746t912W0444YQ6/8W8ZcuW6d69e436dOjQoU5rAAAAYP3SoUOH9OvXr0Z9pkyZUu0n9tWLcGDpL8/Tpk1baZul+6rzi/aYMWOSJI8//vhy4cD06dOTJE8++WTVvuuuuy5t27atVq3du3fP+PHjq9UWAAAAklW73bx///7VvtqgXoQDPXr0SJLMnDkzr7766gqfWPDEE08kSXr27FntcZf2WZFZs2ZVvcgffvhhTcoFAACAdUqNHmW4rmrXrl169+6dJLn22muX2z9x4sRMmzYtTZo0ycCBAz9zvJtvvjlFUazw46qrrkqSDBgwoGqby/4BAABYn9WLcCBJzjjjjCTJ8OHDM2nSpKrtM2fOzIknnpgkOemkk9KyZcuqfWPGjEnnzp0zYMCANVssAAAArEPqxW0FSTJo0KCccsopueiii9KnT58MGDAgzZo1y7333ptZs2alb9+++fnPf75Mn9mzZ+eFF15wWwAAAAClVm+uHEiSESNG5Prrr8+uu+6ahx56KGPHjk27du0yfPjw3Hfffdlwww3XdokAAACwzqk3Vw4sNWTIkAwZMqRabVdltcdV6QMAAADrsnp15QAAAABQc8IBAAAAKDnhAAAAAJSccAAAAABKTjgAAAAAJSccAAAAgJITDgAAAEDJCQcAAACg5IQDAAAAUHLCAQAAACg54QAAAACUnHAAAAAASk44AAAAACUnHAAAAICSEw4AAABAyQkHAAAAoOSEAwAAAFBywgEAAAAoOeEAAAAAlJxwAAAAAEpOOAAAAAAlJxwAAACAkhMOAAAAQMkJBwAAAKDkhAMAAABQcsIBAAAAKDnhAAAAAJSccAAAAABKTjgAAAAAJSccAAAAgJITDgAAAEDJCQcAAACg5IQDAAAAUHLCAQAAACg54QAAAACUnHAAAAAASk44AAAAACUnHAAAAICSEw4AAABAyQkHAAAAoOSEAwAAAFBywgEAAAAoOeEAAAAAlJxwAAAAAEpOOAAAAAAlJxwAAACAkhMOAAAAQMkJBwAAAKDkhAMAAABQcsIBAAAAKDnhAAAAAJSccAAAAABKTjgAAAAAJSccAAAAgJITDgAAAEDJCQcAAACg5IQDAAAAUHLCAQAAACg54QAAAACUnHAAAAAASk44AAAAACUnHAAAAICSEw4AAABAyQkHAAAAoOSEAwAAAFBywgEAAAAoOeEAAAAAlJxwAAAAAEpOOAAAAAAlJxwAAACAkhMOAAAAQMkJBwAAAKDkhAMAAABQcsIBAAAAKDnhAAAAAJSccAAAAABKTjgAAAAAJSccAAAAgJITDgAAAEDJCQcAAACg5IQDAAAAUHLCAQAAACg54QAAAACUnHAAAAAASk44AAAAACUnHAAAAICSEw4AAABAyQkHAAAAoOSEAwAAAFBywgEAAAAoOeEAAAAAlJxwAAAAAEpOOAAAAAAlJxwAAACAkhMOAAAAQMnVu3Bg9OjR6d+/fzbeeOM0a9Ys3bp1y3nnnZePP/64RuNMnjw55557bgYMGJDNN988G2ywQTbeeON86Utfym9/+9sajwcAAADrqkZru4C6dOqpp2bEiBFp1KhR9tprr1RWVua+++7Laaedlttuuy133XVXNtxww88cZ9GiRenZs2eSpLKyMr17987mm2+eN954Iw8//HAmTpyYa665JuPGjUurVq1W81EBAADA6lVvrhy4+eabM2LEiFRWVubRRx/NuHHjctNNN+XFF19M165dM3HixJx55pnVHm+nnXbKDTfckBkzZuS+++7Ln//85zzwwAOZPHlytthiizz22GP53ve+txqPCAAAANaMehMOnHPOOUmS008/veqv/knSpk2bXHLJJUmSkSNHZvbs2Z85VqNGjfLEE0/k0EMPTZMmTZbZ17Vr15x33nlJkuuuu87tBQAAAKz36kU48Oabb+bxxx9PkgwdOnS5/bvvvnu23nrrLFy4MGPHjq31fD169EiSfPDBB5kxY0atxwMAAIC1qV6EA5MnT06StG7dOh07dlxhm169ei3TtjZefPHFJEnjxo3TunXrWo8HAAAAa1O9WJDw1VdfTZK0b99+pW223nrrZdquqqIoqm4r2H///Ze77eCzTJkyJf37969Rn2HD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8cZp1qxZunXrlvPOOy8ff/zxZ/a95ZZbcsABB6Rt27Zp3LhxNttss+y22245++yzl2s7f/78XHvttfn+97+f/v37p0WLFqmoqPjMP0i+8cYb+dGPfpQvf/nL6dChQ5o3b54mTZqkffv2OeywwzJx4sRVPnbKpV48yhBYNwwbNixXX311rrrqqgwbNmyVxvjTn/6UP/3pT9l2223TpUuXbLrpppk5c2Yee+yxnHvuubniiity3333Zccdd6zx2J06dcruu+++wn1bbbVVjccbP3589txzz/Tr1y/jx4+vcX8A1l3OaST/XodsxIgRadSoUfbaa69UVlbmvvvuy2mnnZbbbrstd9111wqvTv7oo4/yjW98I6NHj86GG26YXXfdNZtvvnmmT5+ev//977nooovy//1//98yfV588cV8/etfr3GNzz//fH71q19l4403zhe+8IX07t07ixYtynPPPZfrr78+119/ff73f/83P/rRj1b5daAchAPAOuUHP/hBzj///LRt23aZ7fPmzcu3vvWtjB49OkcffXQefvjhGo+9++67Z9SoUXVUKQB8Oue09dvNN9+cESNGpLKyMhMmTKh6hPmMGTOy1157ZeLEiTnzzDNz/vnnL9f3mGOOyejRozNo0KBcfvnladOmTdW+JUuW5LHHHluuT/PmzXPkkUemZ8+e6dGjR2bNmpX999//M+vs2rVrJk+enC9+8Ytp0GDZC8P//Oc/57//+7/z4x//OF/72teyww471PRloETq3W0FwPqte/fuy72JSpLKyspccMEFSZJHHnkkc+bMWdOlAUCNOKet384555wkyemnn14VDCRJmzZtcskllyRJRo4cmdmzZy/T7957780111yTLl265IYbblgmGEiSBg0apE+fPsvN16lTp1x55ZU56aST0rdv3zRr1qxadW6++ebp3r37csFAkhx++OHp169flixZknvuuada41FewgEogWeffTaDBw9OmzZtstFGG6Vr1675zW9+kyVLlqRDhw6pqKhYZu2NT24bM2ZMdt9997Ro0SLNmzdP//79M3bs2GXGnzp1aioqKnL11VcnSY488shl7n382c9+VifH0ajRvy92atCgQTbYYIM6GXNV9e/fP3vuuWeSZMKECcscb4cOHZZpV1FRsdJLNH/2s5+t8DX65PbXX389Rx11VLbeeutssMEGK7y8dcGCBTnjjDOy7bbbpmnTptlyyy1z1FFH5c0331zpMTz//PNVT2xp0qRJWrdunQEDBuSGG26o6csBsMY4p9U957Tlvfnmm3n88ceTJEOHDl1u/+67756tt946CxcuXO5n6OKLL07y71sS1vb3Nvl/P2tNmjRZy5WwrnNbAdRzEyZMyH777ZcPPvggnTp1ype//OXMnDkzp512Wh555JFP7XvRRRflwgsvTK9evbL//vvn5ZdfzoQJEzJhwoRcdNFFOfnkk5P8+y8gRxxxRCZOnJiXX345ffv2XWbxnO7du9f6OBYuXJgzzjgjSfLlL3+5xk8fSZKXXnop//M//5N33nknlZWV6dKlSw444IDlEv3q2HfffdO0adOMGzcum2++efbdd9+qfasy3sq8+OKL6dGjRxo3bpy+ffumKIrlxv/oo48yYMCAPP300+nfv3969uyZiRMn5sorr8zYsWPzt7/9Ldttt90yfW6//fYccsgh+fDDD7P99tvn4IMPzjvvvJMJEybkvvvuy7hx43LFFVfU2XEA1AXntP/HOe3/WR3ntMmTJydJWrdunY4dO66wTa9evTJt2rRMnjw5hx9+eJJk8eLFuffee5Mke+yxR6ZPn57rrrsuL7zwQpo0aZIePXpk8ODBqaysrFE9q+r222/P/fffn6ZNm+YrX/nKGpmT9VgB1FsLFiwottpqqyJJ8f3vf79YvHhx1b6///3vxeabb14kKZIUr776atW+bbbZpkhSVFRUFH/84x+XGfO6664rKioqikaNGhXPPPPMMvuOOOKIIklx1VVX1br2J598sjjiiCOKb37zm8V+++1XtGnTpkhS9O7du3jjjTdqNNZVV11VdZz/+dG0adNi+PDhq1Tj/fffXyQp+vXrt9I2/fr1K5IU999//wr3//SnPy2SFD/96U9XuD1J8Y1vfKP48MMPVzp/kmLbbbctXnvttap9H3zwQTF48OAiSdGnT59l+k2fPr1o2bJlkaT4xS9+USxZsqRq3+OPP15svPHGRZLi97///We/CABriHPavzmnrZlz2kUXXVQkKbp3777SNqecckqRpDjkkEOqtv3zn/+sOo5rrrmmqKysXO77tOmmmxb33nvvZ9aw9DXp1KlTtes+4YQTiiOOOKIYPHhw0bVr1yJJ0bx58+LGG2+s9hiUl9sKoB678cYb8+abb2abbbbJueeeu8y9aF/4whdy5plnfmr/Aw88cLlVc//rv/4rBx98cBYtWpSLLrpotdSdJK+//nquvvrqXHPNNbnjjjsyY8aM7L333rnuuutqvApz27Zt85Of/CSPPvpo3n333cyZMyePP/54vvnNb2bhwoU5/fTTq+4rXNe0bt06I0eO/MxLAc8///y0b9++6uumTZvmkksuyUYbbZRHHnkkDz30UNW+yy+/PLNnz85OO+2Un/zkJ6moqKja16tXr/zkJz9JkvzqV7+q46MBWHXOaf/mnLZmzmlz585Nkk+973/pX/8/uWbEzJkzqz4/6qijstNOO+Xxxx/P3LlzM2XKlAwcODDvvvtuDjzwwLz44os1qqk6rr322lx99dW56aab8swzz2TTTTfNqFGjMnjw4Dqfi/pHOAD12IQJE5Ikhx566Arvefusx+UcccQRn7p9dT7qaNCgQSmKIosWLcrUqVPzhz/8Ic8991y6dOmSG2+8sUZj7bvvvvnFL36RnXfeOW3atEnz5s3Tq1evXH311VUrDJ999tl5++23V8eh1Mree++dli1bfmqbVq1a5YADDlhu+2abbVZ1aegnv1dLP1/Z9/eoo45K8u/LP//1r3+tQtUAdc857d+c09btc1pRFFWfb7XVVhk3blx69eqVysrKdOvWLbfeemu6dOmSefPmZfjw4XU+/6xZs1IURWbOnFn1hIXBgwfn8MMPz+LFi+t8PuoXaw5APfbGG28kyTKLCX1Sq1at0rJly+VW2V1qZffYLd2+dPzq+sEPfpAZM2Yst/3THsXUsGHDbLPNNjnqqKMyYMCA7LjjjjnyyCOz++67r3AF6Jr6zne+k3PPPTczZszIXXfdlf/+7/9OkkycODF/+MMflms/aNCgDBo0qNbzVtfKvnf/2eaTfyn5pBV9r5Yu6LSy72+rVq3SunXrvPfee3njjTey5ZZb1rBqgLrnnPbZnNOWt7Jz2ooWQmzTpk1VwNK8efMkyfz581da67x585IkLVq0qNq2tN/SOf7zKomGDRvmuOOOy8knn7xanx7QunXr7LHHHvnSl76Ur33ta7nuuuvSt2/fnHTSSattTtZ/wgEogZWdZD9r32f5ZDpeHTfeeGNee+215bZX9znNHTp0yJ577pnbb789d999d9Wbntpo2LBhtttuu8yYMWOZNxsvvfRS1UrV/1lDXb6RWrJkyafuX5VFqlakpt8rgHWVc9rKOadV34pej2222aYqHFgaZEybNm2lYyzd98nQY2m4URRFPve5z62w39Ltb7311qqUXiMVFRUZNmxYbr/99owZM0Y4wKdyWwHUY0vvY/zkI50+afbs2Zk1a9ZK+7/66qsr3L50vHbt2tWonqlTp6YoiuU+amLpvX/vvPNOjfp9mqX3B/5n2r+iWmv6CKvGjRsn+X/3Lv6nFb2xrKmVfX8/ue+T36ulPxevvPLKCvvMnj0777333jJtAdY257TqcU5b1srOaSt6PT45d48ePZL8+/Vc2c/OE088kSTp2bNn1bbKyspsv/32SbLCK0s+uX1NPbFgdfycUT8JB6Ae22OPPZIko0ePzqJFi5bbf+21135q///7v/9b4fZrrrkmyb+fd/xJS980rGiuurBw4cJMnDgxSfL5z3++TsacNGlS/vnPfyZJdt555xr1rc7xLn0j8txzzy23b8GCBbn//vtrNOeKzJo1K7fddtty2999993ceeedSZb9Xi39fEV/NUmSK6+8Mkmy3XbbCQeAdYZz2mdzTlveqp7T2rVrl969eydZ8c/WxIkTM23atDRp0iQDBw5cZt+hhx6aJCu9beDuu+9OUvPv0apa+mjFuvo5ox5b3Y9DANae+fPnF1tssUWRpPjRj360zGOfnnvuuaJt27af+dinP//5z8uMOXr06KJBgwZFo0aNiqeeemqZfWeddVaRpDj11FNXqd633367uOSSS4rZs2cvt++NN94oDj300CJJ0aFDh+KDDz5YZv9f/vKXYvvtty/22muv5V6DkSNHFnPmzFluzAkTJhQdOnQokhS77757jet97bXXiiTFZpttVnz00UcrbPPHP/6xSFK0b99+mcdVzZs3r/j6179e9fqv7LFP/7n9kz752KftttuumDZtWtW+Dz/8sOr12nnnnZfpN3369KJFixZFkuKXv/zlMo99mjRpUtG6dWuPMgTWOc5pzmlr+pw2ZsyYIklRWVlZPPnkk1XbZ8yYUfWYwO9///vL9Xv33XerHqH4u9/9bpl9f/7zn4uKiooiSXH77bd/6vzVfZThZZddVjz//PPLbf/oo4+Kyy67rNhggw2KJMWdd975qeOAcADquXvvvbdo2rRp1XODDzvssOIrX/lK0bhx4+LQQw8t2rdvXyQp3nzzzao+S99InXrqqVXPYR46dGixyy67VJ24f/3rXy8311NPPVU0aNCgaNCgQbH33nsXRx55ZHHUUUcVt9xyS7VqffXVV4skRePGjYudd965GDJkSHHooYcWffr0KRo3blwkKbbccstiypQpy/Vd+tznbbbZZpnt77//fpGkaNKkSdGnT59iyJAhxcEHH1x06dKl6li6du1a/Otf/6rZC/v/16tXryJJsf322xdf//rXi6OOOqo47bTTqvZ/9NFHVW1atmxZfPWrXy3222+/YtNNNy222mqr4lvf+lat30jtuuuuxS677FJstNFGxf77718MGTKk2HLLLave5K3oDcNtt91W9XPRuXPn4vDDDy8GDBhQNGrUqEhSHHnkkav0egCsTs5pzmlr+px2yimnFEmKDTbYoNh3332LwYMHF61atSqSFH379i0WLFiwwn533XVXVU077rhjccghhxQ9evSo+j6deeaZK+w3aNCgYpdddil22WWXYocddqj6fi/dtssuuxSXX375Mn369etXFSIccMABxdChQ4sBAwZUBWYNGjQozj333FV+DSgP4QCUwFNPPVUcdNBBRevWrYumTZsWX/jCF4pf/epXxcKFC4vGjRsXDRo0WOavFkvfSL366qvFDTfcUOy6665FZWVl0axZs+JLX/pScdttt610rjFjxhR9+/YtmjdvXpWMf9qbgU+aP39+ccEFFxQHHnhg0alTp6J58+ZFo0aNijZt2hR77LFH8atf/WqFf4EpipW/kVq4cGFx5plnFvvtt1/RsWPHqjE33XTTYu+99y4uu+yyYuHChdWqb0Vee+21YujQocUWW2xR9SZkRW/mTjrppKJdu3bFBhtsUGy11VbFscceW7z99tsrfcNUkzdS/fr1K+bNm1f88Ic/LDp27Fg0bty42HzzzYthw4YVr7/++kr7/+Mf/yiOOOKIqrpatWpV7LnnnsV11123yq8HwOrmnOactiKr85x2/fXXF3vssUfRokWLYsMNNyy6dOlSDB8+/DNf6xdeeKE44ogjiq222qrYYIMNik022aQYOHBgMW7cuJX2Wfrz+mkf//k63n777cWxxx5bdOvWrdh0002LRo0aFc2bNy923HHH4oQTTljuqhhYmYqisIQ1lNXf/va39OvXL127ds3TTz9dtb1Dhw557bXX8uqrr1brsUMAsLY5pwHUjgUJoZ579913V7jK7rPPPptjjjkmSXLkkUeu6bIAoMac0wBWn0ZruwBg9fr73/+ePffcM1/4whfyuc99LhtuuGFeffXVTJo0KUuWLMmXv/zlnHzyyWu7TAD4TM5pAKuPcADquc9//vP59re/nQkTJuTBBx/M3Llz07x58+y2224ZOnRojjnmmDRq5H8FAKz7nNMAVh9rDgAAAEDJWXMAAAAASk44AAAAACUnHAAAAICSEw4AAABAyQkHAAAAoOSEAwAAAFBywgEAAAAoOeEAAAAAlJxwAAAAAEru/wdgyx9sx58BigAAAABJRU5ErkJggg==", "text/plain": [ "
" ] diff --git a/prompttools/experiment/experiments/experiment.py b/prompttools/experiment/experiments/experiment.py index 872f12e1..30c01828 100644 --- a/prompttools/experiment/experiments/experiment.py +++ b/prompttools/experiment/experiments/experiment.py @@ -461,12 +461,7 @@ def aggregate(self, metric_name, column_name, is_average=False): # Define the custom colors custom_colors = [ - "black", - "#7e1e9c", - "#15b01a", - "#448ee4", - "#ff7fa7", - "#029386", + "black", "#771541", "#EB8F4C", "#594F3B", "#A8B7AB", "#9C92A3" ] plt.ylabel("Latency (s)") diff --git a/prompttools/experiment/experiments/style.mplstyle b/prompttools/experiment/experiments/style.mplstyle index 00520178..aa62ae2f 100755 --- a/prompttools/experiment/experiments/style.mplstyle +++ b/prompttools/experiment/experiments/style.mplstyle @@ -43,9 +43,6 @@ savefig.dpi : 100 # Hegel AI color cycle axes.prop_cycle: cycler('color', ["black", "771541", "EB8F4C","594F3B","A8B7AB","9C92A3"]) -# Not good for colorblind people -#axes.prop_cycle: cycler('color', ['black', '7e1e9c', '15b01a', '448ee4', 'ff7fa7', '029386', 'ed872d', 'ae1717', 'gray', 'e03fd8', '011288', '0b4008']) - #font.family : serif #text.usetex : True #font.serif : Palatino diff --git a/prompttools/version.py b/prompttools/version.py index d103c2d6..49a555da 100644 --- a/prompttools/version.py +++ b/prompttools/version.py @@ -1,2 +1,2 @@ -__version__ = '0.0.45a0+e77fcc5' -git_version = 'e77fcc5bcd6fa7b123ae17fd660659bcb3e7c8bf' +__version__ = '0.0.45a0+6151062' +git_version = '6151062e36d63229b66d1c4193f0173ad022502d' From 326e8c49d268c0c55164abbabd009c875deca6df Mon Sep 17 00:00:00 2001 From: "Steven Krawczyk (Hegel AI)" Date: Sun, 31 Dec 2023 13:29:33 -0800 Subject: [PATCH 151/182] Add feedback API (#119) * Add feedback API * Export feedback func * Get feedback working --- prompttools/logger/__init__.py | 3 ++- prompttools/logger/logger.py | 43 +++++++++++++++++++++++++++++++--- 2 files changed, 42 insertions(+), 4 deletions(-) diff --git a/prompttools/logger/__init__.py b/prompttools/logger/__init__.py index 47bc34ee..5bc0ab72 100644 --- a/prompttools/logger/__init__.py +++ b/prompttools/logger/__init__.py @@ -5,9 +5,10 @@ # LICENSE file in the root directory of this source tree. -from .logger import Logger +from .logger import Logger, add_feedback __all__ = [ "Logger", + "add_feedback", ] diff --git a/prompttools/logger/logger.py b/prompttools/logger/logger.py index 361a5709..c9cc70df 100644 --- a/prompttools/logger/logger.py +++ b/prompttools/logger/logger.py @@ -4,6 +4,7 @@ # This source code's license can be found in the # LICENSE file in the root directory of this source tree. import json +import uuid import requests import threading @@ -27,6 +28,7 @@ class Logger: def __init__(self): self.backend_url = f"{HEGEL_BACKEND_URL}/sdk/logger" self.data_queue = queue.Queue() + self.feedback_queue = queue.Queue() self.worker_thread = threading.Thread(target=self.worker) # When the main thread is joining, put `None` into queue to signal worker thread to end @@ -34,6 +36,13 @@ def __init__(self): self.worker_thread.start() + def add_feedback(self, log_id, metric_name, value): + self.feedback_queue.put({ + "log_id": log_id, + "key": metric_name, + "value": value + }) + def execute_and_add_to_queue(self, callable_func, **kwargs): if "hegel_model" in kwargs: hegel_model = kwargs["hegel_model"] @@ -43,14 +52,17 @@ def execute_and_add_to_queue(self, callable_func, **kwargs): start = perf_counter() result = callable_func(**kwargs) latency = perf_counter() - start + log_id = str(uuid.uuid4()) self.data_queue.put( { "hegel_model": hegel_model, "result": result.model_dump_json(), "input_parameters": json.dumps(kwargs), "latency": latency, + "log_id": log_id, } ) + result.log_id = log_id return result def wrap(self, callable_func): @@ -58,13 +70,22 @@ def wrap(self, callable_func): def worker(self): while True: + # Process logging data if not self.data_queue.empty(): - result = self.data_queue.get() - if result is None: + data = self.data_queue.get() + if data is None: # Shutdown signal return - self.log_data_to_remote(result) + self.log_data_to_remote(data) self.data_queue.task_done() + # Process feedback data + if not self.feedback_queue.empty(): + feedback_data = self.feedback_queue.get() + if feedback_data is None: # Shutdown signal + return + self.send_feedback_to_remote(feedback_data) + self.feedback_queue.task_done() + def log_data_to_remote(self, data): try: headers = { @@ -78,6 +99,19 @@ def log_data_to_remote(self, data): except requests.exceptions.RequestException as e: print(f"Error sending data to Flask API: {e}") + def send_feedback_to_remote(self, feedback_data): + feedback_url = f"{HEGEL_BACKEND_URL}/sdk/add_feedback/" + try: + headers = { + "Content-Type": "application/json", + "Authorization": os.environ["HEGELAI_API_KEY"], + } + + response = requests.post(feedback_url, json=feedback_data, headers=headers) + if response.status_code != 200: + print(f"Failed to send feedback to Flask API. Status code: {response.status_code}") + except requests.exceptions.RequestException as e: + print(f"Error sending feedback to Flask API: {e}") sender = Logger() # Monkey-patching @@ -86,3 +120,6 @@ def log_data_to_remote(self, data): except Exception: print("You may need to add `OPENAI_API_KEY=''` to your `.env` file.") raise + +def add_feedback(*args): + sender.add_feedback(*args) \ No newline at end of file From a00b03a9e5d1ccc01fb101ce1babdb7b1cb48188 Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 3 Jan 2024 11:38:09 -0500 Subject: [PATCH 152/182] Saving template to harness's DataFrame --- .../harness/chat_prompt_template_harness.py | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/prompttools/harness/chat_prompt_template_harness.py b/prompttools/harness/chat_prompt_template_harness.py index 7ddb563a..b6137c8a 100644 --- a/prompttools/harness/chat_prompt_template_harness.py +++ b/prompttools/harness/chat_prompt_template_harness.py @@ -82,23 +82,46 @@ def run(self, clear_previous_results: bool = False): self.prepare() super().run(clear_previous_results=clear_previous_results) - # Add user inputs to DataFrame if len(self.experiment.full_df) > 0: + # Add user inputs to DataFrame repeat = len(self.experiment.full_df) // len(self.user_inputs) user_inputs = deepcopy(self.user_inputs) user_inputs_col_name = "user_inputs" user_input_df = pd.DataFrame({user_inputs_col_name: user_inputs * repeat}) + # Full DF if user_inputs_col_name in self.experiment.full_df.columns: self.experiment.full_df = self.experiment.full_df.drop(user_inputs_col_name, axis=1) self.experiment.full_df.reset_index(drop=True, inplace=True) - self.experiment.full_df = pd.concat([user_input_df, self.experiment.full_df], axis=1) + # Partial DF if user_inputs_col_name in self.experiment.partial_df.columns: self.experiment.partial_df = self.experiment.partial_df.drop(user_inputs_col_name, axis=1) self.experiment.partial_df.reset_index(drop=True, inplace=True) self.experiment.partial_df = pd.concat([user_input_df, self.experiment.partial_df], axis=1) + # Add prompt template to DataFrame + repeat = len(self.experiment.full_df) // len(self.message_templates) + templates = deepcopy(self.message_templates) + template_indices = list(range(len(templates))) + template_col_name = "templates" + template_index_col_name = "template_index" + template_df = pd.DataFrame( + {template_index_col_name: template_indices * repeat, template_col_name: templates * repeat} + ) + # Full DF + if template_col_name in self.experiment.full_df.columns: + self.experiment.full_df = self.experiment.full_df.drop(template_col_name, axis=1) + self.experiment.full_df = self.experiment.full_df.drop(template_index_col_name, axis=1) + self.experiment.full_df.reset_index(drop=True, inplace=True) + self.experiment.full_df = pd.concat([template_df, self.experiment.full_df], axis=1) + # Partial DF + if template_col_name in self.experiment.partial_df.columns: + self.experiment.partial_df = self.experiment.partial_df.drop(template_col_name, axis=1) + self.experiment.partial_df = self.experiment.partial_df.drop(template_index_col_name, axis=1) + self.experiment.partial_df.reset_index(drop=True, inplace=True) + self.experiment.partial_df = pd.concat([template_df, self.experiment.partial_df], axis=1) + def get_table(self, get_all_cols: bool = False) -> pd.DataFrame: columns_to_hide = [ "stream", From 0b36e1baadf7ef525eeff695cd646cdff83d93e8 Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 3 Jan 2024 11:38:33 -0500 Subject: [PATCH 153/182] Adding generic aggregate method to all harnesses --- prompttools/harness/harness.py | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/prompttools/harness/harness.py b/prompttools/harness/harness.py index 4f547de7..9e101308 100644 --- a/prompttools/harness/harness.py +++ b/prompttools/harness/harness.py @@ -4,7 +4,7 @@ # This source code's license can be found in the # LICENSE file in the root directory of this source tree. -from typing import Callable, Optional +from typing import Callable, Optional, Union from prompttools.experiment import Experiment @@ -12,6 +12,7 @@ import os import pickle import requests +import pandas as pd class ExperimentationHarness: @@ -89,6 +90,30 @@ def _get_state(self): def _load_state(cls, state, experiment_id: str, revision_id: str, experiment_type_str: str): raise NotImplementedError("Should be implemented by specific harness class.") + def aggregate( + self, + groupby_column: str, + aggregate_columns: Union[str, list[str]], + method: str, + custom_df: Optional[pd.DataFrame] = None, + ) -> pd.DataFrame: + """ + Aggregate data based on the specified column, method. + + Args: + groupby_column (str): + aggregate_columns (Union[str, list[str]]): + method (str): aggregation method (e.g., 'mean', 'sum', 'count', 'min', 'max', 'median', 'std', etc.) + """ + if method not in ["mean", "sum", "count", "min", "max", "median", "std"]: + raise ValueError(f"Unsupported aggregation method: {method}") + + if custom_df is None: + custom_df = self.full_df + + result_df = custom_df.groupby(groupby_column)[aggregate_columns].agg(method).reset_index() + return result_df + def save_experiment(self, name: Optional[str] = None): r""" name (str, optional): Name of the experiment. This is optional if you have previously loaded an experiment From 5d0fff31a2b49d7f8390d03439245291604d015f Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 3 Jan 2024 11:39:02 -0500 Subject: [PATCH 154/182] Adding bespoke aggregate method to harness to avoid hashing type issues --- .../harness/chat_prompt_template_harness.py | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/prompttools/harness/chat_prompt_template_harness.py b/prompttools/harness/chat_prompt_template_harness.py index b6137c8a..468b1872 100644 --- a/prompttools/harness/chat_prompt_template_harness.py +++ b/prompttools/harness/chat_prompt_template_harness.py @@ -4,7 +4,7 @@ # This source code's license can be found in the # LICENSE file in the root directory of this source tree. -from typing import Type +from typing import Type, Union import jinja2 import pandas as pd @@ -160,6 +160,28 @@ def visualize(self, get_all_cols: bool = False): logging.getLogger().setLevel(logging.INFO) logging.info(tabulate(table, headers="keys", tablefmt="psql")) + def aggregate(self, groupby_column: str, aggregate_columns: Union[str, list[str]], method: str) -> pd.DataFrame: + """ + Aggregate data based on the specified column, method. + + Args: + groupby_column (str): + aggregate_columns (Union[str, list[str]]): + method (str): aggregation method (e.g., 'mean', 'sum', 'count', 'min', 'max', 'median', 'std', etc.) + """ + if groupby_column == "user_inputs": + df = self.full_df.copy() + df["user_inputs"] = [tuple(d.items()) for d in self.full_df["user_inputs"]] + else: + df = self.full_df + + if groupby_column == "templates": + result = super().aggregate("template_index", aggregate_columns, method) + result["templates"] = [self.message_templates[i] for i in result["template_index"]] + return result + else: + return super().aggregate(groupby_column, aggregate_columns, method, custom_df=df) + def _get_state(self): state_params = { "experiment_cls_constructor": self.experiment_cls_constructor, From 37191aabfc71f4ea36f090e48abcdf395e293ffb Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 3 Jan 2024 11:39:17 -0500 Subject: [PATCH 155/182] Adding various harness to documentation --- docs/source/harness.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/source/harness.rst b/docs/source/harness.rst index 907debe2..8dcd1b3e 100644 --- a/docs/source/harness.rst +++ b/docs/source/harness.rst @@ -18,8 +18,14 @@ a corresponding experiment, and keeps track of the templates and inputs used for .. autoclass:: ChatModelComparisonHarness +.. autoclass:: ChatPromptTemplateExperimentationHarness + +.. autoclass:: ModelComparisonHarness + .. autoclass:: MultiExperimentHarness .. autoclass:: PromptTemplateExperimentationHarness +.. autoclass:: RetrievalAugmentedGenerationExperimentationHarness + .. autoclass:: SystemPromptExperimentationHarness From 9cf33192e32bc716ccce898295765e327e0eaa34 Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 3 Jan 2024 11:39:25 -0500 Subject: [PATCH 156/182] Updating harness examples --- ..._Loading_ExperimentHarness_to_Remote.ipynb | 300 +++++++++++++++--- 1 file changed, 251 insertions(+), 49 deletions(-) diff --git a/examples/notebooks/remote/Saving_and_Loading_ExperimentHarness_to_Remote.ipynb b/examples/notebooks/remote/Saving_and_Loading_ExperimentHarness_to_Remote.ipynb index 6d92cc01..c843f51b 100644 --- a/examples/notebooks/remote/Saving_and_Loading_ExperimentHarness_to_Remote.ipynb +++ b/examples/notebooks/remote/Saving_and_Loading_ExperimentHarness_to_Remote.ipynb @@ -81,14 +81,11 @@ " \n", " \n", " \n", + " template_index\n", + " templates\n", " user_inputs\n", " model\n", " messages\n", - " temperature\n", - " top_p\n", - " n\n", - " presence_penalty\n", - " frequency_penalty\n", " response\n", " response_usage\n", " latency\n", @@ -97,65 +94,65 @@ " \n", " \n", " 0\n", + " 0\n", + " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the {{input}} president?'}]\n", " {'input': 'first'}\n", " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", - " 1.0\n", - " 1.0\n", - " 1\n", - " 0.0\n", - " 0.0\n", - " The first president of the United States was George Washington. He served two terms from 1789 to 1797.\n", - " {'completion_tokens': 24, 'prompt_tokens': 23, 'total_tokens': 47}\n", - " 1.251051\n", + " The first president of the United States was George Washington. He served from 1789 to 1797.\n", + " {'completion_tokens': 22, 'prompt_tokens': 23, 'total_tokens': 45}\n", + " 1.620099\n", " \n", " \n", " 1\n", + " 1\n", + " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the {{input}} vice president?'}]\n", " {'input': 'second'}\n", " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second president?'}]\n", - " 1.0\n", - " 1.0\n", - " 1\n", - " 0.0\n", - " 0.0\n", " The second president of the United States was John Adams. He served from 1797 to 1801.\n", " {'completion_tokens': 22, 'prompt_tokens': 23, 'total_tokens': 45}\n", - " 0.949733\n", + " 0.657733\n", " \n", " \n", " 2\n", + " 0\n", + " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the {{input}} president?'}]\n", " {'input': 'first'}\n", " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}]\n", - " 1.0\n", - " 1.0\n", - " 1\n", - " 0.0\n", - " 0.0\n", - " The first Vice President of the United States was John Adams. He served as Vice President under President George Washington from 1789 to 1797.\n", - " {'completion_tokens': 30, 'prompt_tokens': 24, 'total_tokens': 54}\n", - " 0.936664\n", + " The first Vice President of the United States was John Adams. He served under President George Washington from 1789 to 1797.\n", + " {'completion_tokens': 27, 'prompt_tokens': 24, 'total_tokens': 51}\n", + " 0.809008\n", " \n", " \n", " 3\n", + " 1\n", + " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the {{input}} vice president?'}]\n", " {'input': 'second'}\n", " gpt-3.5-turbo\n", " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}]\n", - " 1.0\n", - " 1.0\n", - " 1\n", - " 0.0\n", - " 0.0\n", - " The second vice president of the United States was Thomas Jefferson. He served as vice president from 1797 to 1801 under President John Adams.\n", + " The second Vice President of the United States was Thomas Jefferson. He served as Vice President under President John Adams from 1797 to 1801.\n", " {'completion_tokens': 30, 'prompt_tokens': 24, 'total_tokens': 54}\n", - " 0.971230\n", + " 0.922675\n", " \n", " \n", "\n", "" ], "text/plain": [ + " template_index \\\n", + "0 0 \n", + "1 1 \n", + "2 0 \n", + "3 1 \n", + "\n", + " templates \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the {{input}} president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the {{input}} vice president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the {{input}} president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the {{input}} vice president?'}] \n", + "\n", " user_inputs model \\\n", "0 {'input': 'first'} gpt-3.5-turbo \n", "1 {'input': 'second'} gpt-3.5-turbo \n", @@ -168,29 +165,23 @@ "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first vice president?'}] \n", "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the second vice president?'}] \n", "\n", - " temperature top_p n presence_penalty frequency_penalty \\\n", - "0 1.0 1.0 1 0.0 0.0 \n", - "1 1.0 1.0 1 0.0 0.0 \n", - "2 1.0 1.0 1 0.0 0.0 \n", - "3 1.0 1.0 1 0.0 0.0 \n", - "\n", " response \\\n", - "0 The first president of the United States was George Washington. He served two terms from 1789 to 1797. \n", + "0 The first president of the United States was George Washington. He served from 1789 to 1797. \n", "1 The second president of the United States was John Adams. He served from 1797 to 1801. \n", - "2 The first Vice President of the United States was John Adams. He served as Vice President under President George Washington from 1789 to 1797. \n", - "3 The second vice president of the United States was Thomas Jefferson. He served as vice president from 1797 to 1801 under President John Adams. \n", + "2 The first Vice President of the United States was John Adams. He served under President George Washington from 1789 to 1797. \n", + "3 The second Vice President of the United States was Thomas Jefferson. He served as Vice President under President John Adams from 1797 to 1801. \n", "\n", " response_usage \\\n", - "0 {'completion_tokens': 24, 'prompt_tokens': 23, 'total_tokens': 47} \n", + "0 {'completion_tokens': 22, 'prompt_tokens': 23, 'total_tokens': 45} \n", "1 {'completion_tokens': 22, 'prompt_tokens': 23, 'total_tokens': 45} \n", - "2 {'completion_tokens': 30, 'prompt_tokens': 24, 'total_tokens': 54} \n", + "2 {'completion_tokens': 27, 'prompt_tokens': 24, 'total_tokens': 51} \n", "3 {'completion_tokens': 30, 'prompt_tokens': 24, 'total_tokens': 54} \n", "\n", " latency \n", - "0 1.251051 \n", - "1 0.949733 \n", - "2 0.936664 \n", - "3 0.971230 " + "0 1.620099 \n", + "1 0.657733 \n", + "2 0.809008 \n", + "3 0.922675 " ] }, "metadata": {}, @@ -203,6 +194,217 @@ "harness.visualize()" ] }, + { + "cell_type": "markdown", + "id": "f246c958", + "metadata": {}, + "source": [ + "### Examples of `aggregation` API" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "88d81001", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
user_inputslatency
0((input, first),)1.214553
1((input, second),)0.790204
\n", + "
" + ], + "text/plain": [ + " user_inputs latency\n", + "0 ((input, first),) 1.214553\n", + "1 ((input, second),) 0.790204" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "agg_df = harness.aggregate(groupby_column='user_inputs', aggregate_columns='latency', method='mean')\n", + "agg_df" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "349bec6c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
template_indexlatencytemplates
001.214553[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the {{input}} president?'}]
110.790204[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the {{input}} vice president?'}]
\n", + "
" + ], + "text/plain": [ + " template_index latency \\\n", + "0 0 1.214553 \n", + "1 1 0.790204 \n", + "\n", + " templates \n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the {{input}} president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the {{input}} vice president?'}] " + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "agg_df = harness.aggregate(groupby_column='templates', aggregate_columns='latency', method='mean')\n", + "agg_df" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "18419516", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
template_indexlatencylatencytemplates
001.2145531.214553[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the {{input}} president?'}]
110.7902040.790204[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the {{input}} vice president?'}]
\n", + "
" + ], + "text/plain": [ + " template_index latency latency \\\n", + "0 0 1.214553 1.214553 \n", + "1 1 0.790204 0.790204 \n", + "\n", + " templates \n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the {{input}} president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the {{input}} vice president?'}] " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "agg_df = harness.aggregate(groupby_column='templates', aggregate_columns=['latency', 'latency'], method='mean')\n", + "agg_df" + ] + }, { "cell_type": "code", "execution_count": 4, From c4b5c7d34a4dad87769b624e778c8af65f2f7f6e Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 3 Jan 2024 11:45:37 -0500 Subject: [PATCH 157/182] Adding a note to `custom_df` in aggregate --- prompttools/harness/harness.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/prompttools/harness/harness.py b/prompttools/harness/harness.py index 9e101308..5632f7ed 100644 --- a/prompttools/harness/harness.py +++ b/prompttools/harness/harness.py @@ -104,6 +104,9 @@ def aggregate( groupby_column (str): aggregate_columns (Union[str, list[str]]): method (str): aggregation method (e.g., 'mean', 'sum', 'count', 'min', 'max', 'median', 'std', etc.) + custom_df (Optional[pd.DataFrame]): By default, this method uses `self.full_df`, however, a specific + subclass implementation can chooses to override this (mainly to make modification before or after + group by) """ if method not in ["mean", "sum", "count", "min", "max", "median", "std"]: raise ValueError(f"Unsupported aggregation method: {method}") From 493f825ddadfd6d33fa05ca9f7b04087eb26079e Mon Sep 17 00:00:00 2001 From: greydoubt <43443470+greydoubt@users.noreply.github.com> Date: Wed, 17 Jan 2024 10:01:53 -0800 Subject: [PATCH 158/182] slight cleanup (#120) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c0666d06..b95d01b7 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Welcome to `prompttools` created by [Hegel AI](https://hegel-ai.com/)! This repo offers a set of open-source, self-hostable tools for experimenting with, testing, and evaluating LLMs, vector databases, and prompts. The core idea is to enable developers to evaluate using familiar interfaces like _code_, _notebooks_, and a local _playground_. -In just a few lines of codes, you can test your prompts and parameters across different models (whether you are using +In just a few lines of code, you can test your prompts and parameters across different models (whether you are using OpenAI, Anthropic, or LLaMA models). You can even evaluate the retrieval accuracy of vector databases. ```python From 68abe7a65b910ce952fccd87aa0f3a05c41b5ae7 Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 25 Jan 2024 23:18:34 -0500 Subject: [PATCH 159/182] Fix repeat order in Chat Prompt Template Harness --- prompttools/harness/chat_prompt_template_harness.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/prompttools/harness/chat_prompt_template_harness.py b/prompttools/harness/chat_prompt_template_harness.py index 468b1872..a0db70c9 100644 --- a/prompttools/harness/chat_prompt_template_harness.py +++ b/prompttools/harness/chat_prompt_template_harness.py @@ -107,7 +107,10 @@ def run(self, clear_previous_results: bool = False): template_col_name = "templates" template_index_col_name = "template_index" template_df = pd.DataFrame( - {template_index_col_name: template_indices * repeat, template_col_name: templates * repeat} + { + template_index_col_name: [i for i in template_indices for _ in range(repeat)], + template_col_name: [s for s in templates for _ in range(repeat)], + } ) # Full DF if template_col_name in self.experiment.full_df.columns: From e314fa3ce9e11356f6f1e5e3f4e4addc580d83cf Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 25 Jan 2024 23:19:57 -0500 Subject: [PATCH 160/182] Add Mistral experiment --- .../experiments/mistral_experiment.py | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 prompttools/experiment/experiments/mistral_experiment.py diff --git a/prompttools/experiment/experiments/mistral_experiment.py b/prompttools/experiment/experiments/mistral_experiment.py new file mode 100644 index 00000000..222fae73 --- /dev/null +++ b/prompttools/experiment/experiments/mistral_experiment.py @@ -0,0 +1,94 @@ +# Copyright (c) Hegel AI, Inc. +# All rights reserved. +# +# This source code's license can be found in the +# LICENSE file in the root directory of this source tree. + +import os +import requests +import json + +from typing import Optional + + +from .experiment import Experiment + + +class MistralChatCompletionExperiment(Experiment): + r""" + This class defines an experiment for Mistral's chatcompletion API. It accepts lists for each argument + passed into the API, then creates a cartesian product of those arguments, and gets results for each. + + Note: + - All arguments here should be a ``list``, even if you want to keep the argument frozen + (i.e. ``temperature=[1.0]``), because the experiment will try all possible combination + of the input arguments. + - You should set ``os.environ["MISTRAL_API_KEY"] = YOUR_KEY`` in order to connect with Mistral's API. + + Args: + model (list[str]): + the model(s) that will complete your prompt (e.g. "mistral-tiny") + + messages (list[str]): + Input prompts, encoded as a list of dict with role and content. + The first prompt role should be `user` or `system`. + + temperature (list[float], optional): + The amount of randomness injected into the response + + top_p (list[float], optional): + use nucleus sampling. + + max_tokens (list[int]): + The maximum number of tokens to generate in the completion.. + + stream (list[bool], optional): + Whether to incrementally stream the response using server-sent events. + + safe_prompt (list[bool]): + Whether to inject a safety prompt before all conversations. + + random_seed (list[int], optional): + The seed to use for random sampling. If set, different calls will generate deterministic results. + """ + + url = "https://api.mistral.ai/v1/chat/completions" + + def __init__( + self, + model: list[str], + messages: list[str], + temperature: list[float] = [None], + top_p: list[float] = [None], + max_tokens: list[Optional[int]] = [None], + stream: list[bool] = [False], + safe_prompt: list[bool] = [False], + random_seed: list[Optional[int]] = [None], + ): + self.completion_fn = self.mistral_completion_fn + + self.all_args = dict( + model=model, + messages=messages, + temperature=temperature, + top_p=top_p, + max_tokens=max_tokens, + stream=stream, + safe_prompt=safe_prompt, + random_seed=random_seed, + ) + super().__init__() + + def mistral_completion_fn(self, **input_args): + headers = {"Content-Type": "application/json", "Authorization": f"Bearer {os['MISTRAL_API_KEY']}"} + return requests.post(self.url, headers=headers, data=json.dumps(input_args)) + + @staticmethod + def _extract_responses(response: dict) -> list[str]: + return response["choices"][0]["message"]["content"] + + def _get_model_names(self): + return [combo["model"] for combo in self.argument_combos] + + def _get_prompts(self): + return [combo["messages"] for combo in self.argument_combos] From 6c6b2abf9032bd177416f23b2d3ea6dd11af10ec Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 25 Jan 2024 23:20:59 -0500 Subject: [PATCH 161/182] Adding Mistral to doc --- docs/source/experiment.rst | 2 ++ prompttools/experiment/__init__.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/docs/source/experiment.rst b/docs/source/experiment.rst index 5229e777..d499556e 100644 --- a/docs/source/experiment.rst +++ b/docs/source/experiment.rst @@ -41,6 +41,8 @@ LLMs .. autoclass:: GoogleVertexChatCompletionExperiment +.. autoclass:: MistralChatCompletionExperiment + .. autoclass:: LlamaCppExperiment .. autoclass:: ReplicateExperiment diff --git a/prompttools/experiment/__init__.py b/prompttools/experiment/__init__.py index 70d8ca5d..26df82fc 100644 --- a/prompttools/experiment/__init__.py +++ b/prompttools/experiment/__init__.py @@ -16,6 +16,7 @@ from .experiments.chromadb_experiment import ChromaDBExperiment from .experiments.weaviate_experiment import WeaviateExperiment from .experiments.lancedb_experiment import LanceDBExperiment +from .experiments.mistral_experiment import MistralChatCompletionExperiment from .experiments.mindsdb_experiment import MindsDBExperiment from .experiments.langchain_experiment import SequentialChainExperiment, RouterChainExperiment from .experiments.stablediffusion_experiment import StableDiffusionExperiment @@ -32,6 +33,7 @@ "LanceDBExperiment", "LlamaCppExperiment", "HuggingFaceHubExperiment", + "MistralChatCompletionExperiment", "MindsDBExperiment", "OpenAIChatExperiment", "OpenAICompletionExperiment", From 10a8d7f3cdd6e4267db3a51812de66376f1a614b Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 26 Jan 2024 23:57:29 -0500 Subject: [PATCH 162/182] Adding Mistral example --- .../notebooks/MistralChatExperiment.ipynb | 293 ++++++++++++++++++ 1 file changed, 293 insertions(+) create mode 100644 examples/notebooks/MistralChatExperiment.ipynb diff --git a/examples/notebooks/MistralChatExperiment.ipynb b/examples/notebooks/MistralChatExperiment.ipynb new file mode 100644 index 00000000..9e6a56c4 --- /dev/null +++ b/examples/notebooks/MistralChatExperiment.ipynb @@ -0,0 +1,293 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0a13ddc8", + "metadata": {}, + "source": [ + "# Mistral Chat Experiment Example" + ] + }, + { + "cell_type": "markdown", + "id": "623f0cfe", + "metadata": {}, + "source": [ + "## Installations" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "885dabeb", + "metadata": {}, + "outputs": [], + "source": [ + "# !pip install --quiet --force-reinstall prompttools" + ] + }, + { + "cell_type": "markdown", + "id": "2eac35f8", + "metadata": {}, + "source": [ + "## Setup imports and API keys" + ] + }, + { + "cell_type": "markdown", + "id": "5edba05a", + "metadata": {}, + "source": [ + "First, we'll need to set our API keys. If we are in DEBUG mode, we don't need to use a real OpenAI key, so for now we'll set them to empty strings." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "ed4e635e", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "\n", + "os.environ[\"MISTRAL_API_KEY\"] = \"\" # Insert your key here" + ] + }, + { + "cell_type": "markdown", + "id": "842f1e47", + "metadata": {}, + "source": [ + "Then we'll import the relevant `prompttools` modules to setup our experiment." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "beaa70a1", + "metadata": {}, + "outputs": [], + "source": [ + "from prompttools.experiment import MistralChatCompletionExperiment" + ] + }, + { + "cell_type": "markdown", + "id": "622dea9a", + "metadata": {}, + "source": [ + "## Run an experiment" + ] + }, + { + "cell_type": "markdown", + "id": "3babfe5a", + "metadata": {}, + "source": [ + "Next, we create our test inputs. We can iterate over models, inputs, and configurations like temperature." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "9114cfbf", + "metadata": {}, + "outputs": [], + "source": [ + "models = [\"mistral-tiny\"]\n", + "messages = [\n", + " [\n", + " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", + " {\"role\": \"user\", \"content\": \"Who was the first president?\"},\n", + " ]\n", + "]\n", + "temperatures = [0.0, 1.0]\n", + "# You can add more parameters that you'd like to test here.\n", + "\n", + "experiment = MistralChatCompletionExperiment(models, messages, temperature=temperatures)" + ] + }, + { + "cell_type": "markdown", + "id": "f3fa5450", + "metadata": {}, + "source": [ + "We can then run the experiment to get results." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "83b33130", + "metadata": {}, + "outputs": [], + "source": [ + "experiment.run()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "7598332b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelmessagestemperatureresponseresponse_usagelatency
0gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]0.0George Washington{'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75}0.000006
1gpt-3.5-turbo[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]1.0George Washington{'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75}0.000005
2gpt-3.5-turbo-0613[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]0.0George Washington{'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75}0.000003
3gpt-3.5-turbo-0613[{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]1.0George Washington{'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75}0.000002
\n", + "
" + ], + "text/plain": [ + " model \\\n", + "0 gpt-3.5-turbo \n", + "1 gpt-3.5-turbo \n", + "2 gpt-3.5-turbo-0613 \n", + "3 gpt-3.5-turbo-0613 \n", + "\n", + " messages \\\n", + "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + "\n", + " temperature response \\\n", + "0 0.0 George Washington \n", + "1 1.0 George Washington \n", + "2 0.0 George Washington \n", + "3 1.0 George Washington \n", + "\n", + " response_usage \\\n", + "0 {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75} \n", + "1 {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75} \n", + "2 {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75} \n", + "3 {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75} \n", + "\n", + " latency \n", + "0 0.000006 \n", + "1 0.000005 \n", + "2 0.000003 \n", + "3 0.000002 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment.visualize()" + ] + }, + { + "cell_type": "markdown", + "id": "266c13eb", + "metadata": {}, + "source": [ + "## Evaluate the model response" + ] + }, + { + "cell_type": "markdown", + "id": "bebb8023", + "metadata": {}, + "source": [ + "To evaluate the results, we'll define an eval function. We can use semantic distance to check if the model's response is similar to our expected output.\n", + "\n", + "Since we are using semantic similarity, you need to have the library `sentence_transformers` installed." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "78c0c9f6", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 128534d3cedf91d2c9c01c1e38a8555ddf97bd24 Mon Sep 17 00:00:00 2001 From: Kevin Date: Sun, 28 Jan 2024 23:58:22 -0500 Subject: [PATCH 163/182] Fix example --- .../notebooks/MistralChatExperiment.ipynb | 72 +++++++++++++++++-- 1 file changed, 68 insertions(+), 4 deletions(-) diff --git a/examples/notebooks/MistralChatExperiment.ipynb b/examples/notebooks/MistralChatExperiment.ipynb index 9e6a56c4..c221ae5e 100644 --- a/examples/notebooks/MistralChatExperiment.ipynb +++ b/examples/notebooks/MistralChatExperiment.ipynb @@ -54,6 +54,70 @@ "os.environ[\"MISTRAL_API_KEY\"] = \"\" # Insert your key here" ] }, + { + "cell_type": "code", + "execution_count": 4, + "id": "155d2fcc", + "metadata": {}, + "outputs": [], + "source": [ + "from mistralai.client import MistralClient\n", + "from mistralai.models.chat_completion import ChatMessage\n", + "\n", + "\n", + "api_key = os.environ[\"MISTRAL_API_KEY\"]\n", + "model = \"mistral-tiny\"\n", + "\n", + "client = MistralClient(api_key=api_key)\n", + "\n", + "messages = [\n", + " ChatMessage(role=\"user\", content=\"What is the best French cheese?\")\n", + "]\n", + "\n", + "# No streaming\n", + "chat_response = client.chat(\n", + " model=model,\n", + " messages=messages,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "b5f86d60", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Determining the \"best\" French cheese is subjective as it depends on personal preferences. Some popular and highly regarded French cheeses include:\\n\\n1. Roquefort: A blue-veined cheese made from sheep\\'s milk. It is known for its strong, pungent, and tangy flavor.\\n2. Camembert: A soft, creamy cheese with a white rind and a rich, earthy taste. It is one of the most famous French cheeses.\\n3. Comté: A nutty, firm, and slightly sweet cheese made from unpasteurized cow\\'s milk. It is often compared to Swiss Emmenthal.\\n4. Brie de Meaux: A soft, creamy cheese with a white rind and a mild, buttery taste. It is considered the original Brie.\\n5. Munster: A smelly, soft, and runny cheese with a pungent aroma and a strong, savory flavor.\\n6. Reblochon: A soft, creamy cheese with a bloomy rind and a rich, milky, and slightly sweet taste.\\n7. Époisses: A strong-smelling, soft, and runny cheese with a pungent flavor and a velvety texture.\\n\\nEach of these cheeses has its unique characteristics and flavor profile, so it\\'s essential to try them to determine which one suits your taste preferences the best.'" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "chat_response" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e4c8a211", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "44170e69", + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "markdown", "id": "842f1e47", @@ -95,12 +159,12 @@ "metadata": {}, "outputs": [], "source": [ + "from mistralai.models.chat_completion import ChatMessage\n", + "\n", "models = [\"mistral-tiny\"]\n", "messages = [\n", - " [\n", - " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", - " {\"role\": \"user\", \"content\": \"Who was the first president?\"},\n", - " ]\n", + " ChatMessage(role=\"system\", content=\"You are a helpful assistant.\"),\n", + " ChatMessage(role=\"user\", content=\"Who was the first president?\"),\n", "]\n", "temperatures = [0.0, 1.0]\n", "# You can add more parameters that you'd like to test here.\n", From c832b082ae0cab199888cca060ee8dd6e6ed8597 Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 29 Jan 2024 00:06:17 -0500 Subject: [PATCH 164/182] Touch up implementation and example --- .../notebooks/MistralChatExperiment.ipynb | 166 +++++------------- .../experiments/mistral_experiment.py | 38 ++-- 2 files changed, 66 insertions(+), 138 deletions(-) diff --git a/examples/notebooks/MistralChatExperiment.ipynb b/examples/notebooks/MistralChatExperiment.ipynb index c221ae5e..5813afb8 100644 --- a/examples/notebooks/MistralChatExperiment.ipynb +++ b/examples/notebooks/MistralChatExperiment.ipynb @@ -44,7 +44,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 14, "id": "ed4e635e", "metadata": {}, "outputs": [], @@ -54,70 +54,6 @@ "os.environ[\"MISTRAL_API_KEY\"] = \"\" # Insert your key here" ] }, - { - "cell_type": "code", - "execution_count": 4, - "id": "155d2fcc", - "metadata": {}, - "outputs": [], - "source": [ - "from mistralai.client import MistralClient\n", - "from mistralai.models.chat_completion import ChatMessage\n", - "\n", - "\n", - "api_key = os.environ[\"MISTRAL_API_KEY\"]\n", - "model = \"mistral-tiny\"\n", - "\n", - "client = MistralClient(api_key=api_key)\n", - "\n", - "messages = [\n", - " ChatMessage(role=\"user\", content=\"What is the best French cheese?\")\n", - "]\n", - "\n", - "# No streaming\n", - "chat_response = client.chat(\n", - " model=model,\n", - " messages=messages,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "b5f86d60", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'Determining the \"best\" French cheese is subjective as it depends on personal preferences. Some popular and highly regarded French cheeses include:\\n\\n1. Roquefort: A blue-veined cheese made from sheep\\'s milk. It is known for its strong, pungent, and tangy flavor.\\n2. Camembert: A soft, creamy cheese with a white rind and a rich, earthy taste. It is one of the most famous French cheeses.\\n3. Comté: A nutty, firm, and slightly sweet cheese made from unpasteurized cow\\'s milk. It is often compared to Swiss Emmenthal.\\n4. Brie de Meaux: A soft, creamy cheese with a white rind and a mild, buttery taste. It is considered the original Brie.\\n5. Munster: A smelly, soft, and runny cheese with a pungent aroma and a strong, savory flavor.\\n6. Reblochon: A soft, creamy cheese with a bloomy rind and a rich, milky, and slightly sweet taste.\\n7. Époisses: A strong-smelling, soft, and runny cheese with a pungent flavor and a velvety texture.\\n\\nEach of these cheeses has its unique characteristics and flavor profile, so it\\'s essential to try them to determine which one suits your taste preferences the best.'" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "chat_response" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e4c8a211", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "44170e69", - "metadata": {}, - "outputs": [], - "source": [] - }, { "cell_type": "markdown", "id": "842f1e47", @@ -128,7 +64,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 10, "id": "beaa70a1", "metadata": {}, "outputs": [], @@ -154,7 +90,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 11, "id": "9114cfbf", "metadata": {}, "outputs": [], @@ -163,8 +99,10 @@ "\n", "models = [\"mistral-tiny\"]\n", "messages = [\n", - " ChatMessage(role=\"system\", content=\"You are a helpful assistant.\"),\n", - " ChatMessage(role=\"user\", content=\"Who was the first president?\"),\n", + " [ChatMessage(role=\"system\", content=\"You are a helpful assistant.\"),\n", + " ChatMessage(role=\"user\", content=\"Who was the first president?\"),],\n", + " [ChatMessage(role=\"system\", content=\"You are a helpful assistant. Keep your answer concise\"),\n", + " ChatMessage(role=\"user\", content=\"Who was the second president?\"),],\n", "]\n", "temperatures = [0.0, 1.0]\n", "# You can add more parameters that you'd like to test here.\n", @@ -182,8 +120,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "83b33130", + "execution_count": 12, + "id": "fbddc7fd", "metadata": {}, "outputs": [], "source": [ @@ -192,7 +130,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 13, "id": "7598332b", "metadata": {}, "outputs": [ @@ -217,85 +155,69 @@ " \n", " \n", " \n", - " model\n", - " messages\n", " temperature\n", + " messages\n", " response\n", - " response_usage\n", " latency\n", " \n", " \n", " \n", " \n", " 0\n", - " gpt-3.5-turbo\n", - " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " 0.0\n", - " George Washington\n", - " {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75}\n", - " 0.000006\n", + " [role='system' content='You are a helpful assistant.', role='user' content='Who was the first president?']\n", + " The first president of the United States was George Washington. He served two terms from April 30, 1789, to March 4, 1797. Washington played a crucial role in the founding of the United States and was unanimously chosen by the Electoral College to be the first president. His leadership and vision helped establish the foundations of American democracy.\n", + " 1.334489\n", " \n", " \n", " 1\n", - " gpt-3.5-turbo\n", - " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " 1.0\n", - " George Washington\n", - " {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75}\n", - " 0.000005\n", + " [role='system' content='You are a helpful assistant.', role='user' content='Who was the first president?']\n", + " The first president of the United States was George Washington. He served two terms from April 30, 1789, to March 4, 1797. Washington played a crucial role in the founding of the United States and is often referred to as the \"Father of His Country.\" His leadership during the American Revolution and his commitment to upholding the Constitution helped establish a sense of national identity and unity.\n", + " 0.920111\n", " \n", " \n", " 2\n", - " gpt-3.5-turbo-0613\n", - " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " 0.0\n", - " George Washington\n", - " {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75}\n", - " 0.000003\n", + " [role='system' content='You are a helpful assistant. Keep your answer concise', role='user' content='Who was the second president?']\n", + " The second president of the United States was John Adams, serving from 1797 to 1801. He succeeded George Washington and was followed by Thomas Jefferson. Adams is known for his role in the American Revolution and his diplomacy in Europe.\n", + " 0.628162\n", " \n", " \n", " 3\n", - " gpt-3.5-turbo-0613\n", - " [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}]\n", " 1.0\n", - " George Washington\n", - " {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75}\n", - " 0.000002\n", + " [role='system' content='You are a helpful assistant. Keep your answer concise', role='user' content='Who was the second president?']\n", + " The second president of the United States was John Adams, serving from 1797 to 1801. He succeeded George Washington and was preceded by Thomas Jefferson. Adams was a Founding Father and a leading figure in the American Revolution.\n", + " 0.608941\n", " \n", " \n", "\n", "" ], "text/plain": [ - " model \\\n", - "0 gpt-3.5-turbo \n", - "1 gpt-3.5-turbo \n", - "2 gpt-3.5-turbo-0613 \n", - "3 gpt-3.5-turbo-0613 \n", - "\n", - " messages \\\n", - "0 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "1 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "2 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", - "3 [{'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': 'Who was the first president?'}] \n", + " temperature \\\n", + "0 0.0 \n", + "1 1.0 \n", + "2 0.0 \n", + "3 1.0 \n", "\n", - " temperature response \\\n", - "0 0.0 George Washington \n", - "1 1.0 George Washington \n", - "2 0.0 George Washington \n", - "3 1.0 George Washington \n", + " messages \\\n", + "0 [role='system' content='You are a helpful assistant.', role='user' content='Who was the first president?'] \n", + "1 [role='system' content='You are a helpful assistant.', role='user' content='Who was the first president?'] \n", + "2 [role='system' content='You are a helpful assistant. Keep your answer concise', role='user' content='Who was the second president?'] \n", + "3 [role='system' content='You are a helpful assistant. Keep your answer concise', role='user' content='Who was the second president?'] \n", "\n", - " response_usage \\\n", - "0 {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75} \n", - "1 {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75} \n", - "2 {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75} \n", - "3 {'completion_tokens': 18, 'prompt_tokens': 57, 'total_tokens': 75} \n", + " response \\\n", + "0 The first president of the United States was George Washington. He served two terms from April 30, 1789, to March 4, 1797. Washington played a crucial role in the founding of the United States and was unanimously chosen by the Electoral College to be the first president. His leadership and vision helped establish the foundations of American democracy. \n", + "1 The first president of the United States was George Washington. He served two terms from April 30, 1789, to March 4, 1797. Washington played a crucial role in the founding of the United States and is often referred to as the \"Father of His Country.\" His leadership during the American Revolution and his commitment to upholding the Constitution helped establish a sense of national identity and unity. \n", + "2 The second president of the United States was John Adams, serving from 1797 to 1801. He succeeded George Washington and was followed by Thomas Jefferson. Adams is known for his role in the American Revolution and his diplomacy in Europe. \n", + "3 The second president of the United States was John Adams, serving from 1797 to 1801. He succeeded George Washington and was preceded by Thomas Jefferson. Adams was a Founding Father and a leading figure in the American Revolution. \n", "\n", " latency \n", - "0 0.000006 \n", - "1 0.000005 \n", - "2 0.000003 \n", - "3 0.000002 " + "0 1.334489 \n", + "1 0.920111 \n", + "2 0.628162 \n", + "3 0.608941 " ] }, "metadata": {}, @@ -319,9 +241,7 @@ "id": "bebb8023", "metadata": {}, "source": [ - "To evaluate the results, we'll define an eval function. We can use semantic distance to check if the model's response is similar to our expected output.\n", - "\n", - "Since we are using semantic similarity, you need to have the library `sentence_transformers` installed." + "We have many other examples of how you can evaluate the model's responses. Please reference the examples in the OpenAIChatExperiment notebook or AnthropicExperiment notebook." ] }, { diff --git a/prompttools/experiment/experiments/mistral_experiment.py b/prompttools/experiment/experiments/mistral_experiment.py index 222fae73..22b1fe08 100644 --- a/prompttools/experiment/experiments/mistral_experiment.py +++ b/prompttools/experiment/experiments/mistral_experiment.py @@ -5,8 +5,6 @@ # LICENSE file in the root directory of this source tree. import os -import requests -import json from typing import Optional @@ -14,6 +12,16 @@ from .experiment import Experiment +try: + import mistralai + from mistralai.client import MistralClient + from mistralai.models.chat_completion import ChatMessage +except ImportError: + mistralai = None + MistralClient = None + ChatMessage = None + + class MistralChatCompletionExperiment(Experiment): r""" This class defines an experiment for Mistral's chatcompletion API. It accepts lists for each argument @@ -29,9 +37,8 @@ class MistralChatCompletionExperiment(Experiment): model (list[str]): the model(s) that will complete your prompt (e.g. "mistral-tiny") - messages (list[str]): - Input prompts, encoded as a list of dict with role and content. - The first prompt role should be `user` or `system`. + messages (list[ChatMessage]): + Input prompts (using Mistral's Python library). The first prompt role should be `user` or `system`. temperature (list[float], optional): The amount of randomness injected into the response @@ -40,10 +47,7 @@ class MistralChatCompletionExperiment(Experiment): use nucleus sampling. max_tokens (list[int]): - The maximum number of tokens to generate in the completion.. - - stream (list[bool], optional): - Whether to incrementally stream the response using server-sent events. + The maximum number of tokens to generate in the completion. safe_prompt (list[bool]): Whether to inject a safety prompt before all conversations. @@ -61,10 +65,15 @@ def __init__( temperature: list[float] = [None], top_p: list[float] = [None], max_tokens: list[Optional[int]] = [None], - stream: list[bool] = [False], safe_prompt: list[bool] = [False], random_seed: list[Optional[int]] = [None], ): + if mistralai is None: + raise ModuleNotFoundError( + "Package `mistralai` is required to be installed to use this experiment." + "Please use `pip install mistralai` to install the package" + ) + self.client = MistralClient(api_key=os.environ["MISTRAL_API_KEY"]) self.completion_fn = self.mistral_completion_fn self.all_args = dict( @@ -73,19 +82,18 @@ def __init__( temperature=temperature, top_p=top_p, max_tokens=max_tokens, - stream=stream, safe_prompt=safe_prompt, random_seed=random_seed, ) super().__init__() def mistral_completion_fn(self, **input_args): - headers = {"Content-Type": "application/json", "Authorization": f"Bearer {os['MISTRAL_API_KEY']}"} - return requests.post(self.url, headers=headers, data=json.dumps(input_args)) + response = self.client.chat(**input_args) + return response @staticmethod - def _extract_responses(response: dict) -> list[str]: - return response["choices"][0]["message"]["content"] + def _extract_responses(response) -> list[str]: + return response.choices[0].message.content def _get_model_names(self): return [combo["model"] for combo in self.argument_combos] From 133e02a1ea3abd717770cc4d28b395aaaedb1261 Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 29 Jan 2024 00:11:07 -0500 Subject: [PATCH 165/182] Ignoring macOS file --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 335a567c..3ad58506 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,9 @@ prompttools/version.py # C extensions *.so +macOS +*/.DS_Store + # PyCharm # JetBrains specific template is maintained in a separate JetBrains.gitignore that can # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore From a20a88ce06b4ad0404a6b9dd96585081304972f1 Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 8 Feb 2024 12:07:56 -0800 Subject: [PATCH 166/182] Adding logging test case and notebook --- examples/notebooks/remote/Logging.ipynb | 164 ++++++++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 examples/notebooks/remote/Logging.ipynb diff --git a/examples/notebooks/remote/Logging.ipynb b/examples/notebooks/remote/Logging.ipynb new file mode 100644 index 00000000..d8b5726c --- /dev/null +++ b/examples/notebooks/remote/Logging.ipynb @@ -0,0 +1,164 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Remote Logging Example" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Logging with main client" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import os\n", + "from os.path import join, dirname\n", + "from pathlib import Path\n", + "from dotenv import load_dotenv\n", + "\n", + "# You can set your API Key\n", + "# os.environ[\"OPENAI_API_KEY\"] = \"\"\n", + "# os.environ[\"HEGELAI_API_KEY\"] = \"\"\n", + "\n", + "# You can also import in from your .env file\n", + "dotenv_path = join(Path(os.getcwd()).parent.parent.parent, \".env\") # \".../path_to_env/.env\"\n", + "load_dotenv(dotenv_path)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import prompttools.logger" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The first president of the United States was George Washington.\n" + ] + } + ], + "source": [ + "import openai\n", + "\n", + "model = \"gpt-3.5-turbo\"\n", + "messages = [\n", + " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", + " {\"role\": \"user\", \"content\": \"Who was the first president?\"},\n", + "]\n", + "\n", + "response = openai.chat.completions.create(model=model, messages=messages)\n", + "message = response.choices[0].message.content\n", + "\n", + "print(message)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Logging with single client" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "prod\n" + ] + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Logging with main async client" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Logging with single async client" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} From b04f1c2fc4d82346857e3073d02843a79b104e2f Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 8 Feb 2024 17:04:31 -0800 Subject: [PATCH 167/182] Expand logging example --- examples/notebooks/remote/Logging.ipynb | 57 +++++++++++++++++-------- 1 file changed, 39 insertions(+), 18 deletions(-) diff --git a/examples/notebooks/remote/Logging.ipynb b/examples/notebooks/remote/Logging.ipynb index d8b5726c..5ced4a82 100644 --- a/examples/notebooks/remote/Logging.ipynb +++ b/examples/notebooks/remote/Logging.ipynb @@ -36,15 +36,22 @@ "from pathlib import Path\n", "from dotenv import load_dotenv\n", "\n", - "# You can set your API Key\n", + "# You can set your API Key as such\n", "# os.environ[\"OPENAI_API_KEY\"] = \"\"\n", "# os.environ[\"HEGELAI_API_KEY\"] = \"\"\n", "\n", - "# You can also import in from your .env file\n", + "# You can also import your keys in from your .env file\n", "dotenv_path = join(Path(os.getcwd()).parent.parent.parent, \".env\") # \".../path_to_env/.env\"\n", "load_dotenv(dotenv_path)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following line of import enables you to start logging while using the normal OpenAI SDK." + ] + }, { "cell_type": "code", "execution_count": 2, @@ -54,6 +61,13 @@ "import prompttools.logger" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Passing arguments with keyword is STRONGLY recommended. Logging is done in the background without blocking your response." + ] + }, { "cell_type": "code", "execution_count": 3, @@ -76,6 +90,7 @@ " {\"role\": \"user\", \"content\": \"Who was the first president?\"},\n", "]\n", "\n", + "# Passing arguments with keyword is STRONGLY recommended\n", "response = openai.chat.completions.create(model=model, messages=messages)\n", "message = response.choices[0].message.content\n", "\n", @@ -86,24 +101,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Logging with single client" + "### Logging with client instances" ] }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "prod\n" - ] - } - ], - "source": [] - }, { "cell_type": "code", "execution_count": null, @@ -132,6 +132,27 @@ "### Logging with single async client" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "code", "execution_count": null, From 20231a70e831caca5b5469df1e03a299fd1778f7 Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 8 Feb 2024 17:05:07 -0800 Subject: [PATCH 168/182] Adding logging example for instance --- examples/notebooks/remote/Logging.ipynb | 41 +++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/examples/notebooks/remote/Logging.ipynb b/examples/notebooks/remote/Logging.ipynb index 5ced4a82..c128b0cb 100644 --- a/examples/notebooks/remote/Logging.ipynb +++ b/examples/notebooks/remote/Logging.ipynb @@ -104,12 +104,47 @@ "### Logging with client instances" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can also initialize the client instance with `openai.OpenAI`. Again, logging is done in the background without blocking." + ] + }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "This is a test.\n" + ] + } + ], + "source": [ + "from openai import OpenAI\n", + "\n", + "client = OpenAI(\n", + " # This is the default and can be omitted\n", + " api_key=os.environ.get(\"OPENAI_API_KEY\"),\n", + ")\n", + "\n", + "response = client.chat.completions.create(\n", + " messages=[\n", + " {\n", + " \"role\": \"user\",\n", + " \"content\": \"Say this is a test\",\n", + " }\n", + " ],\n", + " model=\"gpt-3.5-turbo\",\n", + ")\n", + "\n", + "message = response.choices[0].message.content\n", + "print(message)" + ] }, { "cell_type": "markdown", From 77c4d29646405965af56ccf6db1c08ab1b2ecc4d Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 8 Feb 2024 17:05:25 -0800 Subject: [PATCH 169/182] Formatting --- test/test_logger.py | 1 - 1 file changed, 1 deletion(-) diff --git a/test/test_logger.py b/test/test_logger.py index 8e6b4793..8b0adcfc 100644 --- a/test/test_logger.py +++ b/test/test_logger.py @@ -6,7 +6,6 @@ if False: # Skipping this in CI - import openai import prompttools.logger # noqa: F401 Importing this line will monkey-patch `openai.chat.completions.create` From f358a9f3aa8db52146192ea064ee5db2c1bb5c17 Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 8 Feb 2024 17:07:25 -0800 Subject: [PATCH 170/182] Refactor logger `add_to_queue` --- prompttools/logger/logger.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/prompttools/logger/logger.py b/prompttools/logger/logger.py index c9cc70df..9990c629 100644 --- a/prompttools/logger/logger.py +++ b/prompttools/logger/logger.py @@ -37,12 +37,20 @@ def __init__(self): self.worker_thread.start() def add_feedback(self, log_id, metric_name, value): - self.feedback_queue.put({ - "log_id": log_id, - "key": metric_name, - "value": value - }) - + self.feedback_queue.put({"log_id": log_id, "key": metric_name, "value": value}) + + def add_to_queue(self, hegel_model: str, result: dict, input_parameters: dict, latency: float, log_id: str): + # TODO: Deal with other_args + self.data_queue.put( + { + "hegel_model": hegel_model, + "result": result, + "input_parameters": input_parameters, # TODO: Need to record `*args` + "latency": latency, + "log_id": log_id, + } + ) + def execute_and_add_to_queue(self, callable_func, **kwargs): if "hegel_model" in kwargs: hegel_model = kwargs["hegel_model"] @@ -53,15 +61,7 @@ def execute_and_add_to_queue(self, callable_func, **kwargs): result = callable_func(**kwargs) latency = perf_counter() - start log_id = str(uuid.uuid4()) - self.data_queue.put( - { - "hegel_model": hegel_model, - "result": result.model_dump_json(), - "input_parameters": json.dumps(kwargs), - "latency": latency, - "log_id": log_id, - } - ) + self.add_to_queue(hegel_model, result.model_dump_json(), json.dumps(kwargs), latency, log_id) result.log_id = log_id return result From 1ba5abe3c9a6fb35432dbc757bb8cdb89f225cdd Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 8 Feb 2024 17:09:04 -0800 Subject: [PATCH 171/182] Accounting for `*args` in logger --- prompttools/logger/logger.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/prompttools/logger/logger.py b/prompttools/logger/logger.py index 9990c629..9cb94c27 100644 --- a/prompttools/logger/logger.py +++ b/prompttools/logger/logger.py @@ -39,7 +39,9 @@ def __init__(self): def add_feedback(self, log_id, metric_name, value): self.feedback_queue.put({"log_id": log_id, "key": metric_name, "value": value}) - def add_to_queue(self, hegel_model: str, result: dict, input_parameters: dict, latency: float, log_id: str): + def add_to_queue( + self, hegel_model: str, result: dict, input_parameters: dict, latency: float, log_id: str, other_args + ): # TODO: Deal with other_args self.data_queue.put( { @@ -51,17 +53,17 @@ def add_to_queue(self, hegel_model: str, result: dict, input_parameters: dict, l } ) - def execute_and_add_to_queue(self, callable_func, **kwargs): + def execute_and_add_to_queue(self, callable_func, *args, **kwargs): if "hegel_model" in kwargs: hegel_model = kwargs["hegel_model"] del kwargs["hegel_model"] else: hegel_model = None start = perf_counter() - result = callable_func(**kwargs) + result = callable_func(*args, **kwargs) latency = perf_counter() - start log_id = str(uuid.uuid4()) - self.add_to_queue(hegel_model, result.model_dump_json(), json.dumps(kwargs), latency, log_id) + self.add_to_queue(hegel_model, result.model_dump_json(), json.dumps(kwargs), latency, log_id, args) result.log_id = log_id return result From eda1b542919565fa41ea0d759619d851d95be616 Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 8 Feb 2024 17:09:54 -0800 Subject: [PATCH 172/182] Logging instance --- prompttools/logger/logger.py | 39 ++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/prompttools/logger/logger.py b/prompttools/logger/logger.py index 9cb94c27..56c0ae26 100644 --- a/prompttools/logger/logger.py +++ b/prompttools/logger/logger.py @@ -115,13 +115,48 @@ def send_feedback_to_remote(self, feedback_data): except requests.exceptions.RequestException as e: print(f"Error sending feedback to Flask API: {e}") + sender = Logger() -# Monkey-patching + + +def logging_wrapper(original_fn): + def wrapped_function(*args, **kwargs): + # Call the original function with the provided arguments + + if "hegel_model" in kwargs: + hegel_model = kwargs["hegel_model"] + del kwargs["hegel_model"] + else: + hegel_model = None + start = perf_counter() + result = original_fn(*args, **kwargs) + latency = perf_counter() - start + log_id = str(uuid.uuid4()) + sender.add_to_queue(hegel_model, result.model_dump_json(), json.dumps(kwargs), latency, log_id, args) + result.log_id = log_id + return result + + return wrapped_function + + +# Monkey-patching main client try: openai.chat.completions.create = sender.wrap(openai.chat.completions.create) except Exception: + print("Error monkey-patching main client") print("You may need to add `OPENAI_API_KEY=''` to your `.env` file.") raise +# Monkey-patching client instance +try: + # This is working as of openai SDK version 1.11.1 + openai.resources.chat.completions.Completions.create = logging_wrapper( + openai.resources.chat.completions.Completions.create + ) +except Exception: + print("Error monkey-patch individual client.") + raise + + def add_feedback(*args): - sender.add_feedback(*args) \ No newline at end of file + sender.add_feedback(*args) From a42db4ec1670dfd00f7a3b0cb45b1880b3772cec Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 8 Feb 2024 17:22:25 -0800 Subject: [PATCH 173/182] Switch to kwargs only --- examples/notebooks/remote/Logging.ipynb | 53 ++++++++++++++----------- prompttools/logger/logger.py | 22 +++++----- 2 files changed, 42 insertions(+), 33 deletions(-) diff --git a/examples/notebooks/remote/Logging.ipynb b/examples/notebooks/remote/Logging.ipynb index c128b0cb..b849b80f 100644 --- a/examples/notebooks/remote/Logging.ipynb +++ b/examples/notebooks/remote/Logging.ipynb @@ -65,19 +65,24 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Passing arguments with keyword is STRONGLY recommended. Logging is done in the background without blocking your response." + "Passing arguments with keyword is REQUIRED. Logging is done in the background without blocking your response." ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 5, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "The first president of the United States was George Washington.\n" + "ename": "TypeError", + "evalue": "create() takes 1 argument(s) but 2 were given", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[5], line 10\u001b[0m\n\u001b[1;32m 4\u001b[0m messages \u001b[38;5;241m=\u001b[39m [\n\u001b[1;32m 5\u001b[0m {\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrole\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124msystem\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcontent\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mYou are a helpful assistant.\u001b[39m\u001b[38;5;124m\"\u001b[39m},\n\u001b[1;32m 6\u001b[0m {\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrole\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124muser\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcontent\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mWho was the first president?\u001b[39m\u001b[38;5;124m\"\u001b[39m},\n\u001b[1;32m 7\u001b[0m ]\n\u001b[1;32m 9\u001b[0m \u001b[38;5;66;03m# Passing arguments with keyword is STRONGLY recommended\u001b[39;00m\n\u001b[0;32m---> 10\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[43mopenai\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mchat\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcompletions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcreate\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodel\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmessages\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmessages\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 11\u001b[0m message \u001b[38;5;241m=\u001b[39m response\u001b[38;5;241m.\u001b[39mchoices[\u001b[38;5;241m0\u001b[39m]\u001b[38;5;241m.\u001b[39mmessage\u001b[38;5;241m.\u001b[39mcontent\n\u001b[1;32m 13\u001b[0m \u001b[38;5;28mprint\u001b[39m(message)\n", + "File \u001b[0;32m~/miniconda3/envs/ptools/lib/python3.11/site-packages/openai/_utils/_utils.py:246\u001b[0m, in \u001b[0;36mrequired_args..inner..wrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 244\u001b[0m given_params\u001b[38;5;241m.\u001b[39madd(positional[i])\n\u001b[1;32m 245\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mIndexError\u001b[39;00m:\n\u001b[0;32m--> 246\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m(\n\u001b[1;32m 247\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mfunc\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m() takes \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mlen\u001b[39m(positional)\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m argument(s) but \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mlen\u001b[39m(args)\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m were given\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 248\u001b[0m ) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 250\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m key \u001b[38;5;129;01min\u001b[39;00m kwargs\u001b[38;5;241m.\u001b[39mkeys():\n\u001b[1;32m 251\u001b[0m given_params\u001b[38;5;241m.\u001b[39madd(key)\n", + "\u001b[0;31mTypeError\u001b[0m: create() takes 1 argument(s) but 2 were given" ] } ], @@ -90,8 +95,8 @@ " {\"role\": \"user\", \"content\": \"Who was the first president?\"},\n", "]\n", "\n", - "# Passing arguments with keyword is STRONGLY recommended\n", - "response = openai.chat.completions.create(model=model, messages=messages)\n", + "# Passing arguments with keyword is REQUIRED\n", + "response = openai.chat.completions.create(model, messages=messages)\n", "message = response.choices[0].message.content\n", "\n", "print(message)" @@ -150,21 +155,28 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Logging with main async client" + "### Logging with async client instance\n" ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", + "execution_count": 7, "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(1, 2)\n" + ] + } + ], "source": [ - "### Logging with single async client" + "def test_fn(*args):\n", + " print(args)\n", + "\n", + "\n", + "test_fn(1,2)" ] }, { @@ -181,13 +193,6 @@ "outputs": [], "source": [] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, { "cell_type": "code", "execution_count": null, diff --git a/prompttools/logger/logger.py b/prompttools/logger/logger.py index 56c0ae26..3b026513 100644 --- a/prompttools/logger/logger.py +++ b/prompttools/logger/logger.py @@ -40,30 +40,34 @@ def add_feedback(self, log_id, metric_name, value): self.feedback_queue.put({"log_id": log_id, "key": metric_name, "value": value}) def add_to_queue( - self, hegel_model: str, result: dict, input_parameters: dict, latency: float, log_id: str, other_args + self, + hegel_model: str, + result: dict, + input_parameters: dict, + latency: float, + log_id: str, ): - # TODO: Deal with other_args self.data_queue.put( { "hegel_model": hegel_model, "result": result, - "input_parameters": input_parameters, # TODO: Need to record `*args` + "input_parameters": input_parameters, "latency": latency, "log_id": log_id, } ) - def execute_and_add_to_queue(self, callable_func, *args, **kwargs): + def execute_and_add_to_queue(self, callable_func, **kwargs): if "hegel_model" in kwargs: hegel_model = kwargs["hegel_model"] del kwargs["hegel_model"] else: hegel_model = None start = perf_counter() - result = callable_func(*args, **kwargs) + result = callable_func(**kwargs) latency = perf_counter() - start log_id = str(uuid.uuid4()) - self.add_to_queue(hegel_model, result.model_dump_json(), json.dumps(kwargs), latency, log_id, args) + self.add_to_queue(hegel_model, result.model_dump_json(), json.dumps(kwargs), latency, log_id) result.log_id = log_id return result @@ -120,7 +124,7 @@ def send_feedback_to_remote(self, feedback_data): def logging_wrapper(original_fn): - def wrapped_function(*args, **kwargs): + def wrapped_function(**kwargs): # Call the original function with the provided arguments if "hegel_model" in kwargs: @@ -129,10 +133,10 @@ def wrapped_function(*args, **kwargs): else: hegel_model = None start = perf_counter() - result = original_fn(*args, **kwargs) + result = original_fn(**kwargs) latency = perf_counter() - start log_id = str(uuid.uuid4()) - sender.add_to_queue(hegel_model, result.model_dump_json(), json.dumps(kwargs), latency, log_id, args) + sender.add_to_queue(hegel_model, result.model_dump_json(), json.dumps(kwargs), latency, log_id) result.log_id = log_id return result From 8f228f7a13818b48c3444962a47999fbd0a868b1 Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 9 Feb 2024 15:57:30 -0800 Subject: [PATCH 174/182] Adding Google Gemini chat experiment --- .../google_gemini_chat_experiment.py | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 prompttools/experiment/experiments/google_gemini_chat_experiment.py diff --git a/prompttools/experiment/experiments/google_gemini_chat_experiment.py b/prompttools/experiment/experiments/google_gemini_chat_experiment.py new file mode 100644 index 00000000..fecd64cd --- /dev/null +++ b/prompttools/experiment/experiments/google_gemini_chat_experiment.py @@ -0,0 +1,83 @@ +# Copyright (c) Hegel AI, Inc. +# All rights reserved. +# +# This source code's license can be found in the +# LICENSE file in the root directory of this source tree. + +try: + import google.generativeai as genai + from google.generativeai.types import content_types + from google.generativeai.types import generation_types + from google.generativeai.types import safety_types +except ImportError: + genai = None + content_types, generation_types, safety_types = None, None, None + + +from .experiment import Experiment +from typing import Optional +import copy + + +class GoogleGeminiChatCompletionExperiment(Experiment): + r""" + This class defines an experiment for Google GenAI's chat API. It accepts lists for each argument + passed into Vertex AI's API, then creates a cartesian product of those arguments, and gets results for each. + + Note: + - All arguments here should be a ``list``, even if you want to keep the argument frozen + (i.e. ``temperature=[1.0]``), because the experiment will try all possible combination + of the input arguments. + - You need to set up your Google Vertex AI credentials properly before executing this experiment. One option + is to execute on Google Cloud's Colab. + + Args: + model (list[str]): Which model to call, as a string or a ``types.Model`` (e.g. ``'models/text-bison-001'``). + + contents (list[content_types]): Message for the chat model to respond. + + generation_config (list[generation_types]): Configurations for the generation of the model. + + safety_settings (list[safety_types]): Configurations for the safety features of the model. + """ + + def __init__( + self, + model: list[str], + contents: list[content_types.ContentsType], + generation_config: list[Optional[generation_types.GenerationConfigType]] = [None], + safety_settings: list[Optional[safety_types.SafetySettingOptions]] = [None], + ): + if genai is None: + raise ModuleNotFoundError( + "Package `google-generativeai` is required to be installed to use Google GenAI API in this experiment." + "Please use `pip install google-generativeai` to install the package or run this in Google Colab." + ) + + self.completion_fn = self.google_text_completion_fn + + self.all_args = dict( + model=model, + contents=contents, + generation_config=generation_config, + safety_settings=safety_settings, + ) + super().__init__() + + def google_text_completion_fn(self, **input_args): + params = copy.deepcopy(input_args) + model = genai.GenerativeModel(input_args["model"]) + del params["model"] + response = model.generate_content(**params) + return response + + @staticmethod + def _extract_responses(response) -> list[str]: + # `response.text` will return the top response + return response.text + + def _get_model_names(self): + return [combo["model"] for combo in self.argument_combos] + + def _get_prompts(self): + return [combo["message"] for combo in self.argument_combos] From 7f957a7cefd3bd3b920ed8639901c79be04005b6 Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 9 Feb 2024 15:57:51 -0800 Subject: [PATCH 175/182] Adding Google Gemini chat experiment (colab) notebook example --- .../GoogleGeminiChatExperiment.ipynb | 173 ++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 examples/notebooks/GoogleGeminiChatExperiment.ipynb diff --git a/examples/notebooks/GoogleGeminiChatExperiment.ipynb b/examples/notebooks/GoogleGeminiChatExperiment.ipynb new file mode 100644 index 00000000..3415baff --- /dev/null +++ b/examples/notebooks/GoogleGeminiChatExperiment.ipynb @@ -0,0 +1,173 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Google Gemini Chat Experiment Example" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Installations" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# !pip install --quiet --force-reinstall prompttools" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Setup imports and API keys" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In order for the Google GenAI API to work, you must set up your Google AI Studio credentials (one example in the following cell) or execute this experiment on Google Colab.\n", + "\n", + "Executing on Google Colab may require the least amount of set-up." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "import google.generativeai as genai\n", + "\n", + "from google.colab import userdata\n", + "\n", + "GOOGLE_API_KEY = \"\" # You can manually set your key\n", + "# GOOGLE_API_KEY = userdata.get('GOOGLE_API_KEY') # Or, you can read it from your account\n", + "\n", + "genai.configure(api_key=GOOGLE_API_KEY)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once you succeed in setting up your credential, you should be able to execute the following cell without error and see the list of models you have access to." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "for m in genai.list_models():\n", + " if 'generateContent' in m.supported_generation_methods:\n", + " print(m.name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Then we'll import the relevant `prompttools` modules to setup our experiment." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "ExecuteTime": { + "end_time": "2023-07-28T21:15:15.360723Z", + "start_time": "2023-07-28T21:15:15.230441Z" + }, + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } + }, + "source": [ + "## Run an experiment" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we create our test inputs. We can iterate over models (`\"gemini-pro\"` in this case, you can also use the ultra model if you have access to it), contents (equivalent of prompt). You can also experiment with configurations like temperature using `generation_config` or `safety_settings`.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "from prompttools.experiment import GoogleVertexChatCompletionExperiment\n", + "\n", + "model = ['gemini-pro']\n", + "contents = [\"What is the meaning of life?\", \"Who was the first president?\"]\n", + "\n", + "experiment = GoogleVertexChatCompletionExperiment(model=model, contents=contents)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "experiment.run()\n", + "experiment.visualize()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Evaluate the model response" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Please reference other notebooks (such as Google PaLM 2, Anthropic) for detailed evaluation of the model's response." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} From 10dd707735c8890844c1004d088a9c8dcec4de2e Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 9 Feb 2024 15:58:06 -0800 Subject: [PATCH 176/182] Adding Google Gemini chat to doc and import --- docs/source/experiment.rst | 2 ++ prompttools/experiment/__init__.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/docs/source/experiment.rst b/docs/source/experiment.rst index d499556e..ce64b00e 100644 --- a/docs/source/experiment.rst +++ b/docs/source/experiment.rst @@ -37,6 +37,8 @@ LLMs .. autoclass:: HuggingFaceHubExperiment +.. autoclass:: GoogleGeminiChatCompletionExperiment + .. autoclass:: GooglePaLMCompletionExperiment .. autoclass:: GoogleVertexChatCompletionExperiment diff --git a/prompttools/experiment/__init__.py b/prompttools/experiment/__init__.py index 26df82fc..6f712f91 100644 --- a/prompttools/experiment/__init__.py +++ b/prompttools/experiment/__init__.py @@ -10,6 +10,7 @@ from .experiments.openai_completion_experiment import OpenAICompletionExperiment from .experiments.anthropic_completion_experiment import AnthropicCompletionExperiment from .experiments.huggingface_hub_experiment import HuggingFaceHubExperiment +from .experiments.google_gemini_chat_experiment import GoogleGeminiChatCompletionExperiment from .experiments.google_palm_experiment import GooglePaLMCompletionExperiment from .experiments.google_vertex_chat_experiment import GoogleVertexChatCompletionExperiment from .experiments.llama_cpp_experiment import LlamaCppExperiment @@ -28,6 +29,7 @@ "AnthropicCompletionExperiment", "ChromaDBExperiment", "Experiment", + "GoogleGeminiChatCompletionExperiment", "GooglePaLMCompletionExperiment", "GoogleVertexChatCompletionExperiment", "LanceDBExperiment", From 714b046ff251762c7123edeb4c4ff10472e57130 Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 9 Feb 2024 15:59:19 -0800 Subject: [PATCH 177/182] Updating README supported models --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b95d01b7..f5707bd0 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,9 @@ LLMs - LLaMA.Cpp (LLaMA 1, LLaMA 2) - **Supported** - HuggingFace (Hub API, Inference Endpoints) - **Supported** - Anthropic - **Supported** -- Google PaLM - **Supported** +- Mistral AI - **Supported** +- Google Gemini - **Supported** +- Google PaLM (legacy) - **Supported** - Google Vertex AI - **Supported** - Azure OpenAI Service - **Supported** - Replicate - **Supported** From 5a807328435d269d7ed17b53f86283e116e08244 Mon Sep 17 00:00:00 2001 From: Kevin Date: Sat, 10 Feb 2024 16:09:50 -0800 Subject: [PATCH 178/182] Fix typing --- .../experiment/experiments/google_gemini_chat_experiment.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/prompttools/experiment/experiments/google_gemini_chat_experiment.py b/prompttools/experiment/experiments/google_gemini_chat_experiment.py index fecd64cd..60a4c627 100644 --- a/prompttools/experiment/experiments/google_gemini_chat_experiment.py +++ b/prompttools/experiment/experiments/google_gemini_chat_experiment.py @@ -44,9 +44,9 @@ class GoogleGeminiChatCompletionExperiment(Experiment): def __init__( self, model: list[str], - contents: list[content_types.ContentsType], - generation_config: list[Optional[generation_types.GenerationConfigType]] = [None], - safety_settings: list[Optional[safety_types.SafetySettingOptions]] = [None], + contents: list["content_types.ContentsType"], + generation_config: list[Optional["generation_types.GenerationConfigType"]] = [None], + safety_settings: list[Optional["safety_types.SafetySettingOptions"]] = [None], ): if genai is None: raise ModuleNotFoundError( From 7f47fd83f6a97a20af0dc66d0f28edc1a7685516 Mon Sep 17 00:00:00 2001 From: Hashem Alsaket Date: Wed, 13 Mar 2024 19:41:56 -0500 Subject: [PATCH 179/182] MusicGen experiment #82 (#106) * music gen init * musicgen mock fn * init class * llm -> tta todo * mv musicgen experiment to audio_experiments dir * MusicGen experiment * fix init * protect from librosa import --- .../MusicGenExperiment.ipynb | 182 ++++++++++++++++++ .../sample_audio_files/80s_billy_joel.wav | Bin 0 -> 512078 bytes prompttools/experiment/__init__.py | 2 + .../experiment/experiments/experiment.py | 6 + .../experiments/musicgen_experiment.py | 160 +++++++++++++++ prompttools/mock/mock.py | 12 ++ prompttools/selector/prompt_selector.py | 3 + prompttools/utils/__init__.py | 3 +- prompttools/utils/similarity.py | 39 ++++ 9 files changed, 406 insertions(+), 1 deletion(-) create mode 100644 examples/notebooks/audio_experiments/MusicGenExperiment.ipynb create mode 100644 examples/notebooks/audio_experiments/sample_audio_files/80s_billy_joel.wav create mode 100644 prompttools/experiment/experiments/musicgen_experiment.py diff --git a/examples/notebooks/audio_experiments/MusicGenExperiment.ipynb b/examples/notebooks/audio_experiments/MusicGenExperiment.ipynb new file mode 100644 index 00000000..643d798e --- /dev/null +++ b/examples/notebooks/audio_experiments/MusicGenExperiment.ipynb @@ -0,0 +1,182 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/hashem/.local/lib/python3.10/site-packages/torch/cuda/__init__.py:546: UserWarning: Can't initialize NVML\n", + " warnings.warn(\"Can't initialize NVML\")\n" + ] + } + ], + "source": [ + "from prompttools.experiment import MusicGenExperiment\n", + "from prompttools.utils.similarity import cos_similarity" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "compare_audio_paths = [\n", + " \"sample_audio_files/80s_billy_joel.wav\",\n", + " \"sample_audio_files/80s_billy_joel.wav\",\n", + "]\n", + "\n", + "experiment = MusicGenExperiment(\n", + " repo_id=[\"facebook/musicgen-small\"],\n", + " prompt=[\"80s Rock n Roll\", \"90s R&B\"],\n", + " duration=[5],\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'repo_id': ['facebook/musicgen-small'],\n", + " 'duration': [5],\n", + " 'prompt': ['80s Rock n Roll', '90s R&B']}" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "experiment.all_args" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "CLIPPING generated_audio_files/80s Rock n Roll happening with proba (a bit of clipping is okay): 0.01226953137665987 maximum scale: 2.283313274383545\n", + "CLIPPING generated_audio_files/80s Rock n Roll happening with proba (a bit of clipping is okay): 1.1718750101863407e-05 maximum scale: 1.1627463102340698\n", + "CLIPPING generated_audio_files/80s Rock n Roll happening with proba (a bit of clipping is okay): 1.5625000742147677e-05 maximum scale: 1.009731411933899\n", + "CLIPPING generated_audio_files/80s Rock n Roll happening with proba (a bit of clipping is okay): 0.009933593682944775 maximum scale: 1.5949103832244873\n", + "CLIPPING generated_audio_files/80s Rock n Roll happening with proba (a bit of clipping is okay): 0.0016132812015712261 maximum scale: 1.474196434020996\n", + "CLIPPING generated_audio_files/80s Rock n Roll happening with proba (a bit of clipping is okay): 0.006332031451165676 maximum scale: 1.7936652898788452\n", + "CLIPPING generated_audio_files/80s Rock n Roll happening with proba (a bit of clipping is okay): 0.00017968750034924597 maximum scale: 1.1629440784454346\n", + "CLIPPING generated_audio_files/80s Rock n Roll happening with proba (a bit of clipping is okay): 0.0023125000298023224 maximum scale: 1.9037144184112549\n", + "CLIPPING generated_audio_files/80s Rock n Roll happening with proba (a bit of clipping is okay): 0.05552734434604645 maximum scale: 2.8524105548858643\n", + "CLIPPING generated_audio_files/80s Rock n Roll happening with proba (a bit of clipping is okay): 0.0077851563692092896 maximum scale: 1.6531202793121338\n", + "CLIPPING generated_audio_files/80s Rock n Roll happening with proba (a bit of clipping is okay): 0.005824218969792128 maximum scale: 1.2873204946517944\n", + "CLIPPING generated_audio_files/80s Rock n Roll happening with proba (a bit of clipping is okay): 0.0003867187479045242 maximum scale: 1.2601758241653442\n", + "CLIPPING generated_audio_files/80s Rock n Roll happening with proba (a bit of clipping is okay): 0.000714843743480742 maximum scale: 1.5760105848312378\n", + "CLIPPING generated_audio_files/80s Rock n Roll happening with proba (a bit of clipping is okay): 0.006160156335681677 maximum scale: 1.741112470626831\n", + "CLIPPING generated_audio_files/90s R&B happening with proba (a bit of clipping is okay): 0.009101562201976776 maximum scale: 2.25307035446167\n", + "CLIPPING generated_audio_files/90s R&B happening with proba (a bit of clipping is okay): 0.0023593748919665813 maximum scale: 1.4188467264175415\n", + "CLIPPING generated_audio_files/90s R&B happening with proba (a bit of clipping is okay): 0.004226562567055225 maximum scale: 1.790489912033081\n", + "CLIPPING generated_audio_files/90s R&B happening with proba (a bit of clipping is okay): 0.012875000014901161 maximum scale: 2.996934652328491\n", + "CLIPPING generated_audio_files/90s R&B happening with proba (a bit of clipping is okay): 0.0063593750819563866 maximum scale: 1.5094847679138184\n", + "CLIPPING generated_audio_files/90s R&B happening with proba (a bit of clipping is okay): 0.0074609373696148396 maximum scale: 2.400330066680908\n", + "CLIPPING generated_audio_files/90s R&B happening with proba (a bit of clipping is okay): 0.0032187500037252903 maximum scale: 1.4209964275360107\n" + ] + } + ], + "source": [ + "experiment.run()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
promptresponselatencycos_similarity
080s Rock n Rollaudio file generated1.7953970.653711
190s R&Baudio file generated0.0295580.698776
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "experiment.evaluate(\n", + " \"cos_similarity\",\n", + " cos_similarity,\n", + " expected=compare_audio_paths,\n", + " audio_experiment=True,\n", + ")\n", + "\n", + "experiment.visualize()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.10.12 64-bit", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/notebooks/audio_experiments/sample_audio_files/80s_billy_joel.wav b/examples/notebooks/audio_experiments/sample_audio_files/80s_billy_joel.wav new file mode 100644 index 0000000000000000000000000000000000000000..9108aba84abd5b10e4eafdb41403b17b0d3ce29b GIT binary patch literal 512078 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

8_M(^#U?XMHbQmY z{25a~6JdX1-(VkLqyz+Ssow(ZF4Qr=VXzdt2ZO|M(6z)~kJiF6#D zgTDuU03!fqqKU|@x)V(h?+o^PE?I$n2tm9~k`>;2q~mNNGgkPi6@ zZuOuc{%$-Z)IQUG(Z1iKFs#!Mfm<1{yg<~h{wI8=Q1?Sjbw;M6#~7`40d|35$cwN; zw1w14RvG;f^S#d!`bYjO>TY}qYAXH@Q9&9(Petg6)uc`MZLB4)-^5PgJj zhk6LALUtin!@r;-DRKBt{BztEdO3wgU4)x&uXK(CdK8)3TE!*pVo8}q-F>%ZQG32b zFRWKjRiBp4)usU^5v%F3?WdP+1-UlE1|f@}Q@kGMBa=b@RC~%PbKq^g)-rvNX^MTn zsoo2-T>v~X|5@aK9ZL@y4t)(PL~8IcxNA%k2F7AhOSzxIh`3=P$HS%6aNHow99WC1(R%~*OgG$gK=DnPqEQ+Dc&zrD$jQ*}9ywwr;x_s- z`aG^3eG?f&9S;8JS_Z5QBb-%+-PTTflJ^{hXCJ0LW?G_+R?N_Bkjzp94}b?Ys8$%? zX-=six^x@JH5|DMdfofdGs(&VWvc(D?lxT4q-whLrD~g)r|Q?vwP4JrOijua{Tk6s zk-1yn1smkttc) zs@dbX?1X8%BthCga*+0<@TTHZ+Y}*H5!CldVeH+gK4!>=toAFeEu=HlK;8%D zOrMg_MIj+UKN9Xorv;7-dKG#*{Eq*5w%O-m)SrIEizr?6kqVZl-U$AV3MIm5;cSsXMaYTp(51eNoT2W5x+iYn$T4H@8n@;@1P zjfSGx!h-p02&j;f0Cxn5c9ovUDCWgObB$SUkEPrELUY(TSX`)1HHV6~iVmBXXntv) zm^);%AWJ-c=5-*X;w7w;)Jgo}>F8gso@<=#_Xnj=O%-F>T17o-vF5Grj(oZe1B+{% zpkvlAEEiTR`1aC%Unc+`RSr{3ag0Ep1#eUDlOD1K$hum?1XA%s>~+;ymC?M!Rt?F} z{Bu>x<5fkH9_=}GMCF?H6^-ZR=+0HW;uf2d({jImyg=S|!r`uws4jGL=z7$H4ORUG zI*7j1knaAY=Xn!FMV>(QJjia>Li;6$PWI5gN&`0imcfLJ6xgn0)diKaD_nkBj8xWJ zn=QE#Kj}ZsbK^|cbIVv`xiP^A0xi&ZF-w@)sc(Y9BCn)vjWUNl9=;*mFL7>CVMt0`dgR~eYvVOT<_-Tm#Wh}$i<=Ue zL&!e4pl0gc+)0!6jCi%UDtpGr%c;&Wv6+Zz!o=FDq|o=YpTNoQ8NiMG9*77&j|s=G zU~R&PQMu+S*nN)@tg~M-OxDdeErDYc%Ps#DBEnMhd1#_zoMo!}lPJ$n*CjHKZMF@_VdTjOG|%$8Ci7Zm8*>U z=55)Yw?)O9N;j7$RCqot`e^+YTz&mX$Bq@cCE$D`ie^qhjcEQpY(_jBBh*`D=4~v%TYoG^;JWYpa}WPFE^4rRz`)ij@TA8}+-P$Ev&n=71 zbIm`!XhCkv?8DQyF8w#xIpV?`(EP=-zK)Hb#m_k~J9OE+X-B6W8$EfgV9A%9@L3<` zmCTzvYsJ!&GsjQ7G_7}jbXLJM#T44m4`VM6S)4VHxi0HtMpVqq%#dLNBcBakH=;Qi zlNk|zH%&0*@~8!4=Z(ymQjoHARpQ{Uqwo_2Bc9ECoA75s-ry-y6{880@-p6zY|OMr z{uoga(h%3^^PP3oPsb=DH;|VQ?^Ev%A_N3c*>TQLtZ!TdG+-D99=a*~A&VEfpF?Lv z`l%R~=+nt=+*z~)(?TdlfZPq9mwKjrzGIE*VgG66B*6;_MO`V*>U%EPt*!0v&mq&3Ad~|Tj*XEO-oqJ7ux%pc1i~buM?h_t(@6UZa^Q!RSoBLf4*tdo}TXlz!kG_96 zf9vb)n{gj&Z?(M5eRuLhL?QF}+V9@iIc2g}1=Ym6dc{k$z z%O`(sh+fHFB;B1=;(W+?xA?iH{LqWnpI?93^40p|dO^=mOL5_!#`o*KQ_Amr>8}`C z`>Ntu)rRtjPpj&(%H_W%RquMuE-L@2`kGyK;n$psyVW(7r@qgtNvU90qH3Xk@0V+8 z(X}h;@$GfxwSO>mKiZPI!rN|kOddc>CUoIt<((NlE4#-IY;CXankzxpCd&6T^HpU% z;*Qg@WnCX7r$uaAZl6hUNO#g;F=U#%H5G~lwp5_izFa;__sC!q<$Di`f|dT}=YaSS zCHm<2E!kn`X|g@{bv3ROY_IhtI2rI@q+92p1BjuxSWGB!4b_ZZ!ac%-1Ww@$VP6RH z!+j5Hh%62Y<4p^Qi^})$_*T$f(WViGMts62qe=YroZ^59)S=N@+M}WS{Wpd*4!RUf z%w7>bJU%mRRocziLF3@b-RVVrfwYHHhTH|SF^?0n2Be` zOrDr9>)DjvVW-AHGpkZgr%)oBBIM!i!5;s~q2}m~N#MalgL^YZ#?SX3ntm$1G4)Lf zArqePF*{|{zVX9H4o`YH@93!1EWZ)QXV1(qrd^!!Z)9U~)X>9Y2tmr&6+^T`W=Deu zEg1bgV$sl?AWuwKk~3lHkdywUQ7J>t#2t?GOI?`;8Gbp&JgzwLae7i_>BzR>&yvTD zjY{~NzIo*4p@9hr3D%^ds12de*r`#aG+tCoRBHgo|2QKms)Vlhb285H6`%jKs%5w-b6}4@VHA1A;#$RWqU@??oJrK1w*p*%ez9P~$toXACdHcZeS& z$QEMp2?cWhTRE|Q4}!XUclmB-+zrP?(D@DY$gs?yw*i?cuux4%9QS;rIbsx3&0w+C zuqgNh@+dUZ4LGgf?GB8g#q-nh%ubT;_WGMwOBl}2GN!ptdcbr;!d326dhBaEcFL%> zf2{$^x8hXe`o91JxczYNSHbFzLyDkMku<*Ns_bfWlsUQ^+5B32thu^Z(ELx+T;Epr zw)0$jknmhxnCNI7s?*-NrtN2UVdKHRoZ6~d|Bmd=7iGAAjkRAt9j|Wsjj3MrkF(n@Ykg;^4AN02!F3HE&F<*@=0A&MPsq}`^;}2e%*0@ zYwvx(K6rDc^w@*-Z^#AO?`dzGg{385U+nvGvM{0I&fB8z@XE2jrhMA*^Y6FEf96#$ ztqJ|d`upkM$(l=l@@vWk%+{c$?VWv1J=Gun{P~ROW`7SXnqN&TUjMne_;lIVXN;0Z zUw2h}EI#?;VpG{S#m~K!vw!`o6Sr10EpOS`e!c&vz|r|g$QjuDPueuBRrI&9<5J({ z^5GRbt44jvsCo2_`Yott>5t6cC4VBTCO7?R`d{s%TAZ-1KfUW|$NGUj3BTi* zcUp^%XSuBz>id6=O+$JqlOjhBPP}y-qo|$6I)ntLA08+<7$R?-5anSvT{FcGMuEPJ1 z?Iv8{F#vB>6~)0gf$v7mr;CAIcrSW7dKMUKwK;TaZE>)|d8n z!u#kO>E5)G^vlVANB93l^mjGQqzH{x9QYQN@)uD}JcdqO4#3?0Odo*w7%n-sR%KR%Qn^DU@7 zq#}M^I5>39Fz*mQAnmdy68Co_-;!7gMn87C!o&~-i^e6U0baa9!e9?&UX=CHI$Dd1C z5N}DYPq77N1=9n|11EFealiRrrn&jk!*e3;@-GIL`RTb+LLp&CLgFK#k-Or_F?*uo zh6JaeLvF_VC;kc>GAJ|nX6iun{y1#lPycSFJgT4l1bH@S3P6~?4IW7^($phc^$155 zs?^YqJEX}1&DK=8O`1Q@BhWB=1H8$WMjnEhM4JmAL4_eB;T+s<$0_J^^IqF+Ri&cE zcA-C8mSnu57$bWtpP~%v7}>K?~yE}v97 zw{%Ohrat6v?+@R$Ev>zEowcjFyESjBT?2*feI3&Fe3888RsATTx4|sb{>GY|E$wx| z?P<+>8+ZIV*^~SEPUEST`Rxm;7S)*AIIZ!&mDOO0s_IkY^Y-fkSMN69W}&eAtZA~i zK@Jl>SDMWT^=|P``TsN<8`z?oUFSRHfBl7Nf+1hIm7kjpmB@;Y0bcd8e|zfr4f-Ef zDyy15HN9>_SG`lV*Dn0GMsc!LP;;)GuF$q^?!VGIzn@z>sIT9s72FW=R0NN((Ivei z;R|NB9~#)IncjH7e8VV~FB3AlL$yd_P^`@s83K$9T=mm_lz)~*MPk`&p1_( z4yHb#Rf<9-8>M{%DpjF;VeQh+g+MBQNRv|jMtZVkTE`*zXfeF&wq>F096;`>cbKG+ znw#y<1y}X&`WHC=(>@evB~-(O_WS*ZEwN&zX}sC3O;pzF51U`>Vu4=sGO*ZioGJoq zToJH(?`y0Kbp|yC#bs1b8d(~`Arzdmi$4s=7hGVOFk4C4$n9tnEEf`iR=K~EuYh+T zYM>>6Co0`NikL&`=6;8)!jI%xg%H=J`Cy!map>> zn2tr`D!_Lr!N^;lMC4QaB=~nkIHd}eO`nO=`DFsc-$NnE{wUrHze$M&yfvdvBv&Qk zqn)wW;|79MajfvmBbWP5i$o=&g64TYzhBGFUM#Ce~Qz&ameXLPT zFC&YV$$1m@NUZj4QM< z+#~!kGRm9HEbubXLHJ+f8puh^XulrDWjX~zh>8k-5V|~CAB>2&6(Af`A31H^S)KN8nJU~Tw!e_jwX zL6|UQC@AP~v}%wse(aE&L$s-=!K^TQs46Hk@ld>P>@D_fURCT)_6q+z+RUIK%ur@N zp&V%SAHtudPV#)f55iQ?x8er?w&)DPevSsemO6}ahWP)sEge0WAI7|e(-FqgT+|he zUi2s2V^Som77}NVv4gC$T|13S0o!%C=dSjfbE5S>z{Nhs{swUmD)D66qK&6K?T%Tt z3szu)qI<8)*B#N`&}{3c=HLkZ^IzusB(5-pjKec~NSB4AU zk}uiVBk4S(ZmJz(dLr{^2?JA1dxQtXMdpmoR_Tn6L6X!z(#Ej1=mC!COXaQ3N0q;U2w6JsoCBq7Yq}?Bw1o+-%R}-K-=^7rG^uj!T`DeFE{A`WvPN$~6wD zZM!1|azMWnvxwS-tFv0rdu)4b!@x>RrVB5RcKIjy8vH+LS!jPob4tVQ7DCVaR$+UV>Sg_nfq9CJI$z@& z?LDVSb5&L3C^B4gp_DlalCf3(SE@5JOndqm`V#F1(N9sH<}YxP8!e6zx@+I*K^Byu zTRF?p1Drmzppl?f@KB2cO!I6*RY7L6_G4Fo?=mT{Es!R}V^R*W6rx0v-7{bxET0_; zIk$hEZl^R~pR8e`bDaV9sm?Y>sab3tj@Fs19tXQTvH=_(OSaQUntb63tEV0fp2Cd<%LNxhI=e=&>^^ZaLKbcAh*z7XXX)SXaD zN(hS#L`2{BRmMN`yGj}!97K(vydrec*MsMSKYN|v$>3$0MOd97%}vI=09_@tk?xSR z*bw?gww~WXZ=u8l%?KIFV}|_>srRRaKM9NA-(c%QtJyc{RJt4a9Op(`a7N-1q~3c6 zy&Ljd?b0OKi!FQ^#*TI5dG30a*r#I0x_8n3k@LM$)E3fyU|Nc$=A%nca`18_1;T|) z@FE;*lsappO)pPq22(-sD z6`TXTz$h|3K=@)e6Fy?+Kv6zV&6!U ziwswlTioZADb9U}D$B363~8tIBi<76psyq}_%&WexZ(LpxCQe;@Q!b6Zw>{@S@v&E3)cnO~3Du;<2B;bbphB*!1tZT4!f;@J(^#r-Za!xZ-lc)Y^x?nYW1MX94ym94t0IG}6M^_h$)wr;LB0ek`QeH@_t zhgL#HBkf2L^b*{N*Sq2{Y-kjEDG`S{1~eMGopVi*LW!EEB*+iR7K%!RV}NHsqnl*+ z+QTjWo|{Ajs)aC{;6bLrNYwpE8G0%A6=Mso68;aQg`aaZ>4)pvgjaM$>gV$H3Yg}S zCS4D+u5g=OagZ3(K~o?s$n*~O)jreo3et@225-YPvHsyF64NPO?oP}MY#HktazE@U zvkpo|d%=UjB@T%hNTzFe_Kot*ig%J_s$>28dOvhb?sAybVmiQP=6N@I^I>RMD(JCg zhvPfx5%L0U4C_1LCRRhgLt9FmKzNCmiAQ4!VcW15iRWxL0p}<{1w_!?OHd0v_fd~#8l{`GEbMTsAP;|b(Pw0q<8=(jI zBZKWQb(x(PxOkQ!y$uE*U-wP z!it9XEf$aJS8L0q<>pEKCB`UdlD-IVm|QXWm>z@jP1DthrXBi1vA_DQ>bH=uvMCyS zQ{~STHS!0>M(q__qHVDH7HEb2lxm)1l?jjBi0E~NSWj9p&K|>F_bgin=n%BuUFV*S z1LHWR*7|VxU;wvcU@pv*SKdgl96xzLUPT_`<~}K z_x+E9bewnVy=6oeE$3PwMA!k1U|oD&RcC2D+(}iYX=&uuPF2vFpzo$U2#mq^P^+RR z+=mKUl`rx9RI=NvbTxGhcONg?6}sU6MlEp76TiKxz$kW0ppW_$JP-j5GqEv9K)XZL z&NxiJQMMV$7G36@-Bp2^&i>v_e9y|;Y{c6?NQQQVlK3msC6V2^K$;@yF7{FWCRx_a z{}AShCf(7p)o~A$C-uK5=IGbNPg0dyI7`>W^@=LspmG~`FT!#U*}nogm92?Gp6rSr zp)Uc@l}IE3u`uh-xD9*Q80~Y3N8u7 z3H!a@or@eTLLdFM%9y|S$HBtLcWV(~zfk>mC_kJQ=q>hRqUZtmjzX%sihhUEwR^Dw zBw3aZGytATOEl{wZQy^HX<&yKLmQBk$PL2fK2pJ#&G}wdeDE9ae$SicZ~A;n{nWN# z$d9^38w#2414>Yz(^DrJB-^0Nm8s!-v;v$7f{{zCo>(PWgEo$32)(QKxpdyq&RbQ- zos-Ho7c~itb^k^hyb1K*vlNz#r$1~SIFHGWIhz}h1+oQ?A9 z(m5kj`>5P;O*3$14fa`Z%HAijaZiX68}kX{<;1b*O%9IDd})fh&wY z<2dVJ>pIhJ-4SzLqeIs+d6K?k@*91eykXo(Sr79h%_p5&qgS2MJkT@#*%q);YkcWwbGGS-9D>;pON?aik zVpMc~h0-x1lv|>5p7)3R^PFmbj=#clirf(#6+SH4gG`oaz&>;)m>&5%VvCK8(wv%_ zFYf46Ab$uFk>S!B{9SZ}L3mqzs-jTbetto9jjFw0LX86dRwa9i!!X0rA0kp;9}mP3 z{(OIk8|mdD{}Cqv4dg+@6bzdrtx;yHzM!>qhcr{5aHJb^-_wWPNsD-+$T2tPo8!A$ zbvJ1Acq4}b>FhpuIQ(8x!Jk&N!?W}q6pW(3?x-3fYC|F2Z;A(o+4?@_V)-l0YSTb@ zreX~mhGf)E;CE#LDu3fQJ^cyFa_V8Y-dgM76Y)Y<^|Ayq67RgQMY)##yPv(B+ zZMrSkNp&fB25zWq%{YS;J({c~ZoMZhl=xFYQ`gHIMc$AtI zb+Fs~wIw6`e>2;o(}e=^TIehl4NsCCmFe(p%F@KVly>Q#YG1O>%!Vvaa_Z-#)+(zN z!dv61YD#edii>N`k+J&1;m9!>re4cds)wp3AxgLetPPICmZ4u|jetAAWj31@4c?$l z`ANMp`K#@RB{?}K4NAOV9h(GNPRG?(8ueRa8^CAaJ*F8qlTk&F_$1It_p2~T=7lE2 zZqbc}{=#O-CU&i)vv6KARC0p-mHiahB;>HXY!h1cw7mvgCJJmGDTl8w}%Jp<8mD<+x>e+H-Y7b#3&zsx9Ts;zQrTkM*n_6WIidV)_3Fj<*ls)mq*eqy;bR7FOyf&dy3{x^ZnJ5RJ`s1qGVm(0gxf|f3V$c+RE(<}>Ah0gti|B}IM8(~4&J zJ69Kbaw6|zKhvkUU0j^?968n$nBit+tyZ&)3sOs&1Ql1g`QbT*xzC7O| zU#{B_9#gZ5_%DzX+*$Uia;g8Kvj^40eU+`{o*YdBUjvH_%M#8caAt?*gL;^$mU6K9 zhRO{}xZeE7u#zl_Zg%};7iwT{iho3SyYq$PY{{m|1n183=dOjG>Oi)0hogSbxb z#osA7Q8ZX8eZ2d&`(9bo3abmX-wc#_xA}U8K&l44Dmg(P4%(uy|9rjjCntDS*wZ6H0rumiZf_jItOgV)g z9Ijyox@tLgJF{x4oC6~>y;$XLKkv+oysvKOtrIr5-*_exR&^b^AGb@=5$po1(JttM z*hJFGABz>ZpRn8gUqZD!o9rfMUS&xzzhtSyQUh1+EV)BIm%PkI}0hxWHdjh%C-Z{X-yW(D|UdCOvS<~P;xmiooM%!Ykz4e~Ba?9`9F@{(8 zQ29aWuh=(cFFHux1D(L%kjk*5D3RC$S6J4;-x7p0^)AG`_sS6VXn>}ug@m10Uo!9J>K7zL)Ur-}@N=qoZp&#@* z#SP^K#R=8VSWwm-elBUJY=j*|F7jW2y0I6W32n!FkbVLc%ZN7AOqMc=v&ODMCW^DO z;KuYNunu(%(Sn=E7tnp*=kPNJUGgxR9w?x8lHa)})Ob1$t{bJ0 z-(zj*!GU$bJCxJgJ#?BG7X28Bi}@l&>?TPTLaT~F4M1sb$_phDO}hNg*iPiRq&=TU zY3ReETR8z3E~B&uRCbF|S^zk;gA4-JM7|qeLVk*7i`#g%XvgS+sGe*_r$)_Gqu}Id zQ`f6tzQ3lbfp1jdzkU_Hj~~sRl5?sP(6YFh(0=rtldw-W!6jhv<2Zcna# znXh5hrSRcUns7VZN$3fSele*LwrB#n&d4TdOqtKW04-Pxg+~I*U&yYYyNx&WYW=T> z3p=UWtz0g2k=&)1`KD50UyuA4UQ8@;531-{F}3__x#}}iR#5bysB6U<=La7Z8pTL~ zbSMQrXxtC3!Zzw8{3zfwG(uL0IfV|?EqGY$L?lt<%>C}>!|R2k?hXiz0D^-~q^Bx; zv2mIQ#(x!+hFz-r+83%n6jS1cn4XK>n33uE$#>J@>vpWQDdDkMZ9bIvt3rr9RV|Ck z37e27MDX8%;bh}z?Z`~gsAmmd5-Eviiw+hps@D6y1lt6ws3F36-5gk>CV?-Cwc0Fr zjNv;Jlnf)^OMY+*13w4j{FB1toDZp!OzqeP_#GSeza=*c$DJRk@$C zs~*>5|7jYEO%;A%i)9Wiq_xUYR2j-tO_Gogr zalR0r+E~7#=!nDWE(#6~v<&4D`|TIPo!z;_D{n7%8@Hw6XlQW_VxQuy=gz7u^Q`wt z+*`N^^DHRZ-5Js7HY%a5sZOmCgr956A z#&pm|tPOMq0A<^yw}4H$6^4J5p7<{;BoUO&G-o_@zTZvW4wnT#!vbIa~Ca%vM7T?eKMHMxkHMCa@!-qnJaE^M9 zxsz#={xm*cK2mlGdL^}B=TN`YiRjb`a6EcXzg>L;AC2#~&N1%LUo<2t;^XHNzQmSz><) z`z6h!JHZV=FR~%~5&9@P%DajaxxC<8dVI7v^lz-SP#1Wr{;Yg#{oS-b4NmH1I&R&J zr^j`XZj;6%eHCxz&os%#15h1o1>ofG1UnOGm~$NTUk?tbUgLY|eq6Orq=+w`RCKy*xl?Gq6dl5F6Ve*3viIVCS3~Nm23eE`EN*X;39H^8!rq~)B_tzwb*4u zAuQov(k0c?{Vg4)STh$fIdcrUaoI4`t{ zDkgH77XEf%^U!zZf{-lc*3G1|l~qVb;Uh~xZ30GLJKrTos`GT&;UBKz?~eU}YvIJO zi@ZU{lVPBt#3so?*CHOl$~9wZB%Q!6(ape2XN z+r%=x&F$HaO~q_kL3xXkZ=WkZ^!a-E)7bB`3g`XUQiPQv&SmaC)nrvO@3lbZ&^+2p zUm!M0sw6l&pX?ZZ$SC}h>PO}3Z-ZYu@^ebnKZ36M!CADMFh^D7YMLaEQna+Ed^O%4 z-UQyl%C#HS>x_$RYcquOcjlIfX&HRl=ETcd&bZVR)XtHs41RUIv07D$UXUy0Hgr0x zLH9>iQf1x`{-famz7up458%HZ(FwO{3$#qLT0hiMVqAiQ#H}K6!)3u&{kzj^$LUq7RZaSV(Dw3t7Mn*m~yFpf^ksNfoy%9 zJK0TYyHabLf45DIznu_^*Tp*wmlHn4mnW6!S}8MB&t-ez+e{R$6FMFl&0nB$!-GQ` zLc=_xLXTVzLJGPs@i|Cx0=xiB#b@)q#10pTxS>>VEZ~8^h2A?_+7EgECE3`ou!Gqi z3;D)V@1+w$KXa)}zwivt2G^OY4>gm#O(TVLvL_N*A6mougfHB9Nju43;umSW>bVeu z$7>JB*QolMhMT48GR0(NK1u-@^jK-60Ub_=CD`-YRr9KcBxN`s<9 z(#h5epO=->LNpk0`1|-`HGh}>RJGSJ!gm$e0W228l_i7$P3TQ!zT%oXA|Hjmz`dgN z=_O3Cb9h$zSQ&?Z)Xc!GNMX1M%%O87AK+(PJIPi+0iF^KpIe~)JRms^mTe$N=$A3L(y1q5>#uFvCVO_W7oMc?1kXzAen!x z@>}^P$1l|xp;vw=+?+h>y^HE4`H~M%ZRri99Wqj#1{3l&f>pf%bI6?5uL_%Cy<)T2 zaG0c9BF~1VNz>V8&=$}^_eAc>xM%!~~M^Z08(xoUmvC3O*+ z1^yeI$h>8K4&7q^iGAVb2%iC!vIPGilj)zw_cm1+jw%avxrX|(Vfc8s6`Bt$65Hd2 zxLtmnt|Gd7?bSDGhL<-k#4B!8{p8wMdAX>0VNyO>=&IOSJu29S=oVXvUO=xZ<5U|| z({VFCO?Efdossc_!2VvR{Y7AsZ*b5N0LWfZXVe|)&t2n!q5Kfx+w6YpTN}AhZE}yP zZsyGwo$Sk4#$Ohh93-Pbx{@=4iI7TSinW!bLk1u-_FA0)exnWpqev_L*!R10RMqUV zs^XpYm*47s+y6E0?YSSd^ZzMN_7yNzk|*{dg_7q|zsiT16h%fgdRa_XE(1O2An}x$ z4T18Fsurp<%GKtr>ivdxnpL<5x&->=zY15t6nwXOG?FWAr)VJ)wQVBHs44wYvP!T+ zI%zAMLTm94*=cAKY?1C4lTkO*8o+xfCUdtW?SZGUcbHYKHNbc~_E12H&W&b7hBEi)F%h@7E7vpDCwRyIq#}{L8(a~wF&KM?`v{k#dk`tSQnFXRifq7a zc0`IBRy6%Vetq#(UuyaO*gh;&&vDol37(^5J3QO!|pS9p)uwp=FudPAg@u!73OPDxf$Oz<#W<(XSC&(pE$&uY5dR_XIj zEi0&ie@y<-*7c|Jmzq4XowQWQS1wU*HjFd;Y<`&Z&0O2|M6nEs!}5TCV!Qk;{ioeq zh>yhe;H7B2sNFY~S`*E4J&l$V^_e;3d6Ds#4P`>_ky+{{@;~BsXct-En$DXm%uVB1 zLxS#-`HE(&Xx8Xzx~K|@WYie`85jgF#)q~Qln={^}4F= zq4yCPf0`SH{*CX&n`!2#Zkv9=jpfnmcI?x<2o7|>8I<<4BO1l%xSiC z%X_U+nXGz+UQn-8;Mh5462Ao+=6e>o?rt1RXL2GB!Ug;lac;g3;;9iGJyA0wZbaEKJZSMg_5`(k|YjCQ;=7{FTlTC zIC{^&kUbObPinbcVoT%_e-{3k<`|0Ki7k@!h8L*D0KL#w(u-^>whfgZZRZJu6xpl^w*b*N)y$C~=y46>f&rR0+II9I{s$Jz*gamT4uB{vHvlr<~rSwt5NDLZ9< z=iB8ha}5a6k(VNSxL!Cu&|LI{p9`-9wo~c&6l5-XQlY}^@Da2jJR7N$%%bF?pJq(h z622LnDSFjr1)h0_L_dWiF)N)Jx*B}L0OY+$o9OWHJlR1Zm$yd(6c72iENC^>UGrJz zF^x-GZ=-E!YWMg}=0_%2xg)ZbYwVBs9*a}D3lSf~2pOSkkrxz2o(mQbpTnzzVJ0{H z2a!w9ffs4l$S12Z43A7MmD#d4zPI^o+QIm(Nj)tATY~kRxkbWS)nPM?tKoPd26Tgx zg?ro+p(B4e76R8WXn3&j z43xnGl!suwG)}%)!OHr<4`d0*2&}fUuGsbKi@sqKseOLVxuv>A*`xe=MZr?;!?Vx7 zy=z+Xp)BJ&RS~J~;I{;y0t28md^_cL%_-eB`5;Al>^74~4+}k|Xu3Xl6D^frksg=X zWLdDE)`N|r#=tF75eWrq?1w!AiGVPOq^QQ+TzUdyk9H-x@w1_^k{Uk1=0HHKI~@^u z1*x!39a35~os}b`t6(#K0xVN*g)c+bQ3b!2nBzBj$~`Ya8!LNPPI2t_K8)yM3UDlg zBN~+gzk!!Zlmh`C@bLo!5IMnDTr-h$ zhW-U+L2V>aB#Mm3Mj)RRE-?>|2hwyw>=5<}KW+LwrJs1`Xq+PaAw6DB4O*Nuz6U_PbcjhDbr{2*>a@QlM%zOEYeCi@n74mvYkoxM}tA!0az z1b&YW2+b$K=m&0`e1!BNvQyp#yNS-w+O&(X0Ag1+(G)A+X@ZJ}P_B6Ix+2WwCW39) z&XJX2((&ApUo+af(N|H471pV`S97x9L|OMQw@a(4&zBV1iK@re=hsV@ zAva+qI6M3{HlJ7XXUXf)P2oA@FTyd=;`Gd?^I!EI3-|JjDYrS(i%u7%mP&nh={aKR zkWL07Rn$v*2XIVw1nwD^U~HnVGT$^BO|({Px~r>7zm-|b?2ogkuc4LFtH^oT5oAQ{ zakNWxmFIj_Qkkmy8hIir4ZorOM_-Ke4hzgd!NzZbvt$bSX(TRE)@oQKp%>%b1I)l?(C{Igu#K(*a)J^ns!Z&kH@@Ugnb6xdYthHi}Dx{lcdWkPY?qV>YW>ye2^kg_6+)K7r zR?5z)_9!oFu4^+DR?9v89{njK6AW_`g(D2^xlrSEPNEvpX11K|B1|E7`)_dlK_k=@ z8i;mgl(9qHKr~$|<|^=2?t!3#{iqf)M7Gd}iRIA@IxW_hEDUsUp7Mafe`$)61lITm zcvl1!eh*Pg7#^t~%8Y(xy9HkRPJ4TXW%Aq5XZb8F3qA^8#v*t-&LZ;kJMf=rI+_{q zi+jb7JXbw8tDCz!5q|rk$b#?{IwP1Feo4IW*7$ll%3aevTj`NR9fXBn3%QCG(k>c_ zbz4GHlTLTncp>hcq0l(p@KWU8|0nF_YJhHRZT5|CLtA770zzqtG?wTIt`08`_^Njm(|Wc8bOc)ZjobqbA0pz6+DwN4f<$lCETJ&<*+| zsFci#j047kjbiQmo9!nYLq)FBRPPXSuKQp2?oc;kd8`j`9DOE?0Z`*9wb$rRd}In4 zC*s-4-?gmTXY!EYhf?C7C6S$94wnlczh>Ry zgKnisDofKev|iOkv<2#>$~&rNmS1$W@%#GJM3bga>6MSr?ZnQri-gVST;?395zK6T z$%>d)mLjJA2f$M9Df?26np@)W=s6@8x8jZDZIqXA0#!?gDm~b7Wt=iq*%>il*YK76 z7Y+i$sEOzq&Lnc&Zbw;BZuNt}3SWJfH*|$u%BBN{=(WHn(G&lPpGy7>9VQwu1h*;n zYw!vAnrKT6mh7V5Q4;8mP{FK)x`;H|`>xT!yS|LbK;McW;s4$1isblqME9@(uAF+w z9OrHWqEibTCVJN2L=U+8xvtwY15f>`z^cd(!Wy(ix`~NcG4qk=7jv-{Attci_m`ig zuSL>{QXmG%r0b!|SW`9#Okxj4Uj=u&HroH^#vDCsPWv>jIM0dbFC-VuVW-0u>=gQ! zdXP+y9Z`i9ZB<9r26ee5(_+=co97#jTFx3d(_T4%{U?vfZ)xTkGmH)Jq3V3NqjVL& zF7}SC2`y%3QU`oTeE$U-`i?t?yQ9&H@Y9<4&aSR0!WG?b>>}*CGQn^pDQer5FkZb^ zJR67AThaQeCOC)Z$^StvB01n~^e>Se{zKAHcq==P&sA{pjR43t2A9GefyOFS_b%C> zQ>m|*#~K?aOgG2UN2Co%n2>fcv90a*T7%LRR*!mcTRazpl5 zHb8a;?W5XlnJP}-GgN?L4^oA$R-8mctXpikx70bv#rc=GmQ_x*U#-Fm-hMw)Xm(5s zj&fvr9|nfdYv3KgQAQQWBCazHBBO&7qKT0X!EK?wu}Yy!q&+)Uh~h^@zHxITUYrcQ z0}jU2(FW{&dLVn(-^cwhR_OP7UOVza^T=C#vEnv1NO-}I5%;8)i4(e@x|`}L{!wX@ zZ_?K?jFdBYKz0oI2sV-3#S0WonC=44u8h3%+$xLtCzHPu51DiYAoptjl|O?47Uicx z(}MA2g@{MG9XSzw?GJnIRx~Xoi6h**=w9wCd{i=8^iMh!S;80yg-`S6qy#og`4HIv zAH#Z}GZlwbyW=oj7<`M(mmX0bRLzm)LTiBa@Dj-fU@WjcW)s1;pUcj=)@hVQKfWFQvCVN5!+rbS4Wr z4kk(~F$H=U9SHTpAMiWHyM!awjRpx_2zACgasw9wH$!VE9d&}4`*_W0 z`@fZaE6@JGe{3&N7b=`9J;x%i#bO%s3+G5+^s6tb%)0x9(X@COVU=p z&;aTNn$F38Qry!JXo0d8eq6axeNmE%)&qtJ-PsJbnj1`O*nMP;XQ0Or_K6&ZaUmal z3gjefaWlA)egmf{%t~BQDL;(y9$A|F*T!#9;oI}BTcdG&&(p?W#iKzT;K@tOSRTC zMjJBcr_oj})sj$V*kb))>1NuYod%3y%g}o`rW`&uX>~TN$Sz`llOwd z=soHxKTXmT>`PteYV%c0oMa&X2QYx|6de@n$xIKe2zGL@g4j%YK!1>c`rDXf+!E3)`M$oKRsN&?XELv)E?qV{kp+!^R2+!A`pED0VC zrw|gN7txujVYU!|MXox2tK3-8#W#(bLe+*q^c?&v+ELjSM`Q=_+V}|N6)X>KC`~|~ zfVs#x3B^g--^r=r!^AQ2I_(vHVK>4B=w0LyyBM60yah+Ym%)j$ulNydZQVKpZn7ox zN@|kuChm&ycG3~c%H-auhYac3AF^A#92u*+%jU?3$sdZ$nN|TZ*vx(mcG7{2Mq5yuil7sev9f@x`lZywy-(G*O%Qg?JO& z7@fd&kxXX(W5)oOsK&6FTN@q9w2!#`1i72Ckyf}fiA!#XGqJ7m(T3@Xye3t;kh=q# zqHMSoEA_g`+5U$9RDajV2AX7M(14>GIVMoUENNx=IyXl*_(11R z)rYEOHCMb%LfZl!YO?1XS-?DjR-r#5&6EqlQCy4Q0>(k~2^PiV^qJ@k|3mTvl}p!^ z#z_Uqz1VDC2}yVtyp3xPT#cA$m9SA_(>#@5v~(X-m#QJwD*GToSua{hn!uI>=Hchjxf$<^#&bfnzjT6s zt}qS~DV64#Odo^Y^%1T2WlZr#a0I`B-|JPRX#>3*EJHI=^0K#S_BWZj z&LPge)#D46N*V_W+(XpM;N{Fz)dAxXC`+E4azpY~^Ge+0+$#*E+FLdgOTh0y7WRg` z#1?9PBSEsVa!q*6mn$Vq`H6R3zwo8g9fw~pL~^TMkgp|eBwK)F=8i(d8tC_th5AvE zwAd*8iV_09K>KVHg)`b)hUF=>xwF=*i37-g_>Dpnp+U_({z@#(fmU}H_b4ELHnLh$ zM{yf{7mop%@LAXhR%eciT3uwd8C^?}B*oVZl1wjvJSpv=<$g#VG&7)=D)GP{5e zOu&mo?-j0aTz1dr8U^FRi_!E@BmFPzZp~UcS2e*nCpI?erQDmj#`8))UMk2VNwZ_t zl;hz!wcDoFv8fE#4d2XJ#F3=1>JU1I%E7KiihyF-9Hsza0?U!Tp({{}k~TrRw=L0G zV+*`7D$8pt`#B8qmZ}cUFDi;JNV{CUx87Xh2=f)m@Wqs-y91Q{KfH4EuKFLTqb`0| z+cJLqWe5?Yz~k)1%9%?2n`6#bpDIMcbtG^Z?fLSO;lIEmYJ#o}vM%8SGOR&VR!h1| z211S)QFH*A6B2zvbO7A~wU<4!?!iOYWnw=xgzXy6(_f~CQU_UqIzgNXY>{PF_`)Y* zW&jBG4Bg?4Usp=n`u?_K-s{XH2bNzG&M)0pv*ghTY2uH zPfUAa-@pszqZWdCZOg)|jDjJc7_w9QxNiO4v7#KTLl6 zsW8(n>-|K$x-TIT!!lp*{_Q3^h|lk zAK*I%B8sM1fovb#T{sE^5EHAwmWM}#Px;2gC(t41FM3;eHWC*E@FHOgbO0|&s)r5n zcS-4rFNm%#KN~lckUMkbUqVD+zqbG%%baBUtA8a~#m}0l#5bfT^0Ma z_CJoDwib#)>kw-?u&UlI|JbZEp9UziH5w{jdw}VuUmB<_1|0q5XmBppj)J0ls}-)< z(y>oE)1NDtNiOn@QWL!Hi5^A!w&ILjT22u^vQ^CoWazXOD`g>oWRI+A7s1)l_^w@liXxo+`YoTDh7MU`-5I0yn!|qwBw`~da!#{wqJzQkXE zv~W`JhSFg%YiOvfV@U4HW{#A8q_%y{B~0Hsgck^Z1+S7f{N>CkZlYqQ`?~No^w9Z^ zdi8l(VEfm{j-t}j#aF5`UhgjN``=^b`_Fw#Qoy@K(b&+!+1hhu1UZp81~-qkb=cEd zc+&~CDo2R3&*$bK>q9YiBt1uSGLov^h@WQHNklWRY81M@-c4Z>-T)mU*JvW_THQj` zGGv$od1oo%Jd%M-Rq%?GuQ z`HU%L$v~)q55-!Z@o?i@GLP_)dJs0Z&ogouQwfK{!}TYR&{~yJkVNK+gDQODceQ*QND#b z>=|4=P4M3Q2VMGOnf;&dD{DT5kG&ko9Qb|^?)~vjv{7`H|2(;n%g26rtE7+oV=V`H zl`5O;BQ&iy2mCb|0=pnXRAn{|Uh1pluZ0F^X0qKSJt7InQ-m~hP~PG<#cxA6YYWZd z_y^V;{k}vL%|$SIj_;@m&lv0)8*63IOVXfe- z^3$1bgdkuCE{C6kIdl-j{ZVBjk;$%<{|iMGO%(kqZ(725s#sxc zsJH1}BlY#$<KAn@xGU1)dlyy!(X>(yy}qfhhHy}z6Q2A4Z(ZeUBl^pfa` zzw47+iw#lJ+}P#R>-^=kbH?m=R)0TQh5PXaWHCdiR+6ovs|{@d@oZ1oW2M3Qv91WI zDF`)yZsKb9ZGV(X@V@?$BH;G?SI2@Q)To%Ypa~sA;~7EqE_pg2RkuhS@5+E2unAuL zy*7k<7unM^Q{Zu$w{|S`YgiX~5cyxMh5Wx4Fjnu|!$=R$ZH=CI96lT0t-4v#j9`9? z-&i}oJARmyNB#zdI{z!Em$}GNu37-(nLJ7@u9nH!MydA$OA~+fu0S86UKJ{L5=BWj z?Tr2;VUYfbCjgt2Pf3~nqy2+)e6XHk7~fHMq4vD+ZCn)7YCrNl8?D#nh#sIcsSKNU2EPgm@%?yqX;mJ6wz z0L_>GEM0Dy20HK(^Czs(`zE|YIWv|@>@qcl8Ue{*sh$+n=%M5Rj&8amd@7dbdWK&r zj#LWjQs)PAUf2%bVBX92I;8kp{Hp(ld4HfJ_Mdw)TsNd)iyU%l6oURRWLoSs(E;Ra z=i~_Od&MM_vf{1k524_D(-Jz=)U&4IywA+gpNfILW$h~ayT^*tz{&Y@74uwPdN}=^ znvCll>DB|XU(yy*|Edq;Uw93}kPh>|H9yz(`&L>$!cxst>kV0tEHV^d|3Yvve#P`y zHN>pP9%GG&!O~nPBrTVWlpU7@b$+IyYPZnCf10~Ph+QdW zs1yyogA)gapG!UFm-rIus^XaOiEnQ@Y(6S+(7wdBP?oPPG!WUqwI^3-Kgtx63Xrze zS9!r>{NvCeUlUJjUJ{81r_qD4LjkFNnPN)#owhOho2@f=snI?lQNLLWLDTWB_Wx{6 zoTJbi;zr0B@8n<|Q+x8J;3|Eh$PIqsD~aue$4VN1WL@evQor$?)bj_O^_B8QOWH@~ zxi5wg_Lz5ja1GQFy%8&N|Bt*4E*E*IIxt=PQ{>A@y*Mm%MEFLxbnU9{=dUgp9&A_LpyW=a-rb+N5N+xsBX48R)R%-wVk0M& zdycMPo%K$b?xfEEQ%t_3Dd@?>MUchTP14-7h@BK}FUh5v0F|KumM1 z*GWPCulJk#sd8sg&^XCs06UgX2<39d*cZv7kNsjxzWf$F;Lmi;j+wlVlpCcBLJQdG zGQyD^9UOV&EDk85UBg$&$w6gQjqdP?Tc2n{$recn>;`n?2>fMW2zP{rb*m-TSQqdk zds?w5a@0HzSPtue4Uk23uA)Leu8OyR<}Go_>@@Ec!>)<|EUDhFJWxH}Ny@tw%3PDb zYJ#z^)vnRrBSKQm8BY)r*zHKzDqsL*z428qgOdG24+LMAM2sQLAG- zH-;HuH8GRIyLIuB`Kluci!uwTbNDfxGO2Og6zh$+z0mKfkg}7lb2t?|9nFTaqw8cd ztXZVqP#Jri(1l)@9Ttu8^Hd#Tpz4WzmJKbF80rwsln%Kkayl*7w=Qcpc{-y7P)~bE z73beCAxfCIYvDJlG0;2RWNdb1xC$!o7Fk!(nlARts2&gJla5AiLMi=uuF+sp66Az5JoO$ z%YkQF0o~1!CLdix-#}qxy&(~*GTn^UiNldn=>};Yk*`z75|W02f7W?nJEqUl{sP0X zd3IE~r`+n?UDMh>*rWJi@?D8|Ny~Rd`O`qll67EvB8Bz3XD}Wx`P&)vPkf!BCw#+L ztX+vdvF#9fOT$fI+#bnwWd~U*EvQ}8|CF^kpJ;QAL>`8ZxsRX^zAttSq!?cVPu*y| z^sZwV)=fGYK!Rx)j#N9QLla3zJy0^#itEOpc7=uMsS<@z4bsuY$YLpiZsu)@ZlV*e zJ^xOUtrhp1taH`JrEl4vlI_yQqJ`?D292wwTA4gX(M&dpP#fLQ1?F4$nJ^aa7kI}t z^`%Dwp%&;w?FWv7Pbu0)x}kQ`!{YMyYjH3y>* z^$Xhp{DBX*H%(d}E>s*h?1tBxdLSKCdT17X7V<$O-B%c^dadHyA$bEu(XptI!|ig3v0o8Kqfs?56622aHdb z@a#IEGoIkq`o2NQ{zk+GXE;>goh^*UrX$aYWaYp5QR)YRRvuL)N`_!ROL{R~F}3DC z=@PBFoBZj;O=`v#4~dN|C@&dYRq?G~G56W(Ymn#prYQPa9xGh`nSS_k|s`T zG0xrQ|BRUB2VxK5eKof@fbJ$-@IB_2susr{D&s<3LrVf9sL}Zkol;*3w$i)Ga}w!Y zGgPxKV_BR4r4IF;=*h|CIUay;5;Yw7^1KXM16!uYHBDmA8)2pi~onL3XA70$WfCvViN80@MAG zH9G66`JasOdOicqzHhvrFemekwUzaeZB9~wR50+meUeP`W|d%?#r%ZDnTny_siQ2l zlC#bClAFhcY;ifyG8BndQV!|cY8Tk{>RZ;HrkrX`wfwLyQ-9-bNhc$zst>9`Ks7m! z=Dgc|D~V8~tKAwn;6Luz>-iWRTh-UOfH~wp6x>vGtq}QstFl*&jSlkX7uEMSDSht} zgkqvP(2P?fmE|L1qrHaE$Fecu?MQK8fwEPI61qgIp|ap$H|$V*C;7Jet{7HJd#ZP^ zJ<^r~m?>Xw0P89T2t%{SR9}o8BLvrnD5l1w5#lmVOUEI9aWBjxqjR}_{4_d>E)OiA zS~^dO3Gd{hkat!v3#}I~141EH~UWnzZS0T9d-uD~`_Sl-#D)Q0qiA8JFs3GT&v8gsIs} zTm`AXAn9>!8u%hoN#Bzm2#pV%i@l-U!N1~9N#+eQ>YJc4emrvkOzdLR3G=0 z2qnXUEyd~Fi1J3|%W4`2P3}kBLb0#ttJFtB;hr_uJe+e-WMc3@v>iM__KaR@on;#) zZy_c;q~TPGH1&=AqUfS%#EkU4L(LyrG16nw(bSSs3stD;;yS6ByUEFrPZ~+%Np8JurJsW zHXr*9=oZwW5QU2!o&}PSzqf1&@+mr4K1=!m-=)Y%Y+yJPKS(KtW9DbVocIy=`*_jL zrRv z&Ce7UQBHOvt{2};byaTFystn{2Q6gHYdlBKH_HNx__zt-;&WkMt^Nk{9n!E_qeP3+sDDG z(x3QzS!eHIa#J`1+~5r&5oc-a2XijCjo`%H(tNK9oF55+DsFykcywo#i=>F2#7^*? z^hgwQ&)|Oc*N{dym+PWvO|Mb41dg*?>G^>PH4mfj(Kn&K=2Ts|>9k@qVYA?6+W9^9vm1I#@QQCFri1$7pLZVZ~4BBa>4z`?s5woZ3NU9iN?$J|%uw#`Cz;l+*vG z=q%it`ui}vv+nM(F}fQh3=|bnQS9#S?yjHR-7N+xCN?M{f*?qDZDV8IUGI7Sgq>^W zI^XZ-^E~&Bz>zVYHJ(tpNB&wy?0uts-8aPX$yDdf)e0P2w0z?)(=e&RB{hBZ;w=Kr zF!*6tF>E=th~tlMht1?^30~A2F46B6bv!#s@QhRlxrZZA4?!mrXQB_F7Qv+m9W+Z> z(3>C;^n`SsHzXQUz|Lr;rNEqItas{Q^{(ki6aBhXXlO+zAu>Hk1Q*j`%2uTy0(JhP z>56mtGg*75h!->`=_R!#^-Ja2wv`nlIuUw#y|7c+c(VKLzdgNVWqa%5PDAG~ z%fDW$KFv5v{>_0!hmjHtvk^Po+nihNkEySaIVKIXK|a)lF+YKyRs!kQI z^ppeU*@i5n?M2^3UFPbD%XkCO8yHoH(fCE!c3_F&iGqac&{cAN;Qk}+!fz#fqAdx z=7pe>%ALjeZkZ2SW1$vq3w^K;cE-W3=aN z6KOtW0P_pTfH{I$gNNg*;ln`w%X7QGoq%X^d@zkhJ#x%-T}80y#fS!YqGc0mHS(ZG zgV)<%BE8^Dd6H_RT%f%pDen8w6|0QWHR%)dXS6d6WooF1(UL2>)3!r;wdb8-mA0ax zy1A$eA`WbPER{9asHa)?=xMeOQlVlAn0Q*Oe+BU|j*>FW5dD3VtgWPXVY{cTLxigP z-L)@w=dSbO0>Y^-w3&punjQ#p)LCbUoG0 zH8OBMP?At391c?FVpDS>(gz=ph=|$NZwIeFx!P|+7#Tk;nvYHJJr!GmYNACtNBizV zo*)JwdT_C5DPku(%=4bH%rg!95N^f{@z#Q~qFDFKAU^&9f2n`CFft*6-x0MVDIt1E z)Uv27Uq#^Xs0D%(kpSxx=^zWuC`4St3?g)S0r&&}f|{kQwE9AtReK$+NIa$<_8psp z5W%X@6XE&Za|9S+8Cr$g<4QvNs)G&d^gmQp&XK11#?Ibm=MWLr&Mq0KK7wwJ z>$Z_yS>nyT4kfaOX3w^d5Bt@DV16!nCW+_(69cw$5*r1qlpM)9z%lLOhNF`q(9J`))XDZxYrq`ZMIg+M|M&`ug_ge zdJo(@0eKHy?U*9;!;FRWXTNgOagAOqy42F{H{S4pV1<9SpC?)rMa-Y>ImGj@ef<9* zakgz}yydvy8DtgM(f!N3!MnxiV{UTJqO%=T+7|d=kev3?v>R7Nw-9!cSEl@>dVN}g zztKIy)3hgn*8>ZvF3>s0GS4@`E#Fms*4>gOg;PxFlC~W0wuu(@Otqcv8q_+ZUEH_2 zZB5J4?%WQ3Uw-#07rXI=?TSUI-E2kK2b*AuKI&kl5NNO@+A_U4&UdI>&;k^qN!q0kOpSyqY%u38-A=gZ`v!v&9A-#^lgXb$>2YLVR>TMVk}xmre#kuLWBwQVf5_W3 z4w%M@uwalI40!l(tcUs9Ur)OlcY-rEUO|%wo{ha1CP{kj^UGgH4GoC*9UYL!X`-%T zV|nXnDqdaC2>e*`2h30ML-rie8PQ-U_BxwzHpLev^1*wND25vhWNiEpvE*jW!{^4px7qN>yFw|g^ z6dr`kLacG#Hiwz_%Bma#^~?3kRaKrJvMgneH$b7VO=$~oFpYmes>xu*9Oq7Pw{f`a zl5?EgX8ol~g!>bc^jJV4Hye|>8xY3&Cea{Sv^d-KwV4E$8eqtekUzL~H_fycf}eX-IO z70g66rpcW)g2o3i6zGOLg1z%*x?-&hVH;Gnh)|dZTMqqZp8`2JBa_8`2jccAT^-eP~RNO9yh}Ufm3mFC-=+kY-N)nhp2tuaJ`+>u|1udIV4 z8GAXlzmJX7HxRM`qs#IJ#;SX%U8{WUNW}XHlu1e7d%y{eE4{%(|HmH z<>h-<(oQjt2hAW0L)HgH^WqrSg3?3G1Xui$09y0{-=Xm<{e1W#VOhNNAQ5u~{~GiN zYzb+*>!~#uVMTSoJ)C*?O|awmF@$8k5HzOq`KK5U8A+i*!-~Rl!*<3zjWS2F6M*n^ zUI?cva2;QRz0VznUqmh^5y7+-16SZ9!3P9rgui*ATnW*a)sAaoSl~^-2ru7-h36XE z%`j7{>%3BKi9(bbwUjQH1+v<_9yQjZmT(Qr6n@@m5?r6DCr@10vQPze#e$yUU){~7 zhhmmDTDQpvHBDE}a0|L1vfuVJTCb%V8jW7+?Ik@xc0zyXA)be7s-;0I?+bGrQcg6K z>K3~@<#RE~qySgG^RFk#kfXnV>eolM%9_2sccqM;6SCFq&0UvkW-8A7zEM}&m(pC& zI$U&FwW-UdI;|XMIHee=TwsmVnT)^GlOQJT3(shDg3HGtwq1iHxfc@OVk!|g0k3DR z8wy2xJl1MVJu1?TL(Vo{u!nojn67GgT4^5y%yfL!%=bFfIoc)mVDD|r1xgJ20qPHT z1U{9*qdujbBrZb^C(^thX&S%+`(@qi47YQv>1c-WAJ8D<>5ofpI;Vqq{w#~Vp;($x z9V7lzb4ShWnc>QZ%WN-5XU(_qCf7j9Q(zw(MblH;d{-0ihK-;bLez{xFprauPi6nW z^l~h4Irh2!v1P2yttiu$x+5TT@M|1To$hx_Fe2zxL}hJ zI*pc!drFR=;PDXl97Yv;4fYk0V#}28aHKfV+GVOy=J*b8*SdDQ^kYX_S9V`X+h2uV z^h*7_%WZpZp5u9nUhjUx=xDX`@oVz6G5r3smLHN6{DzG;{j#0%) zARom%^COVzrgV}KHPg5QS@ql`ymnGKj* zm?m2+kN}%%H&H6wUtn*bN7>2P7uW@?`BWdlH0*xAi3|=mPq2w{6f~7e1qG1P%zmhi zC>G?UHQ%|?GR(0|snMTR=IOh7>DpwS1Z>_f?~OLD(0(*7>f3F+sAvI==gF-;#+9m8 z-C@md=^Nb=`2*KA>jh7*_NI!V=UHeDv11=}rsEeJC7WuhQX2KaeHX<2d+L7&wi-(R zf}W_rW>`~9caCP9{w_`cDYf&RQINClecp4rW!0St;cGqDp(wY&drfk!d%oyUm8<1s_arStHe6BA2UuE7 zN1WH3J+>R}Rr)rPkadCUB$m??`TKl+`9%uH2RsY51OrjaL*YKNxZqZrw^q;jOB&%6Yc! z5y?VrigLfI#F(gDt(7Zx8Ncci(7)WHA(w#Do(lIt)gCh%G_nV2W6fDTBc*s_nE0)< zTl7FPv+J>*sI7DjuzyGULo&Qq;9e60chB+#&4km*?I2mh%qxQ)N5hdD@QJWATrl+p zUdR&$yg~_SOWAMeH+?F3`7xQk!xz`|>^R`zDOoi^Gw4#Kl zC7hvHf9Nw@Ew&qo#re7F?F0MXYiFsV8((&7d#?5RxAnTe+4I~e@?H{xh(w#Hfz%TE z2K+YmOzb3F5LO3mBXFQcP`9B|h$Q!RCIj}wo(Sube*lX5p6KEmRr;R#r%l_%7pjJe zmjAq~6gSKktC}jL2fM3UTTHi`k6Op{Jh80Mob%FXvl!9B2%O8eKO&QPm3WF99iRXS z->;~4puhExCsWd>p024g2iVgMJo6mu9R2vdIOApMB<&k(9sB~Z8+DGHLmWolfy9x1 zKq1(CbQ(~O$RO0Srn^c#%Z;x+Gdu>!PgjU?rm;?ONGHs)wZcS<9H9~tY z*Z8(-#aVUmE{b%1?@jq~9np0K5$oFLxPpFxs$>=Msz_%DpLtmJI@Cg37+~ZmK#O5M z$oJTT`#~7V`T>1Omrx3Y=^NS^8;IrVKrrv zWwZM(=01;rK0^EI`yokqpshS=3FYaBMGqNmcnzBK> zSU=X7th#1SlJ(aq#5wZJo)PLt@@b-A%e>B^N}if-(&}f}FX{s9%R$=5Dc5>uv&q>t zTX$ArQKt22C6~oBMVmXC|GjR#-?~tNYt3qj>KtmwbPsT?W$yBn;>Y3#5mS7g;VG0Y zAh9hJ?~BWW2YQb}y{H1nKUh3*Bcc{r0?)8KHfEavg`f1iCPz$?&VVLayMejDP7<0^ zz{&F6g_Y5FK$5&Fq#NH#5W=M_p5Rva+bCVgt)KycC&QWo^TJAnk^mg(4pGmHMsU&N zVM5#`2NwPpeT^u@ouZEA0_01W^<*`P3tvP#OFK-f63mZSOy0o7`PBMV1&^mrWv$_i z;FnSG{_z@kzvmH&1UmB*BAf(RM$tAHrht8sT2+JjKuxY`f?};Q zr>oSMs!WmJauQ|ro>QX!+I!LuE&eUsuCtP`CX{`SXn}#Do^5!JQmW_KFT)^qiK)gi zSb9VDv2S1dF=?uVR&znLvgdW{`F2d#)!uaZ$5v~HrEOTv#qK>arffv-T6>y@?sa=L zcr|wbeJrH|Ux*rOe+rSfyHGC6d(%B@lA#*%&o&;l*;0%ac_r|r&~>mMRDphrK2U$k znk<8v8|}Xh5Z6oX3;R$V96Y-$)%}zx6k5|LT`hE@`lIu%eVzJ&x)y36;A~r9Hvk%0 zMF_x#;(mLnu9Jugk$oukerpQVl?6jNGwPQpy8hMCJhD0u8k z3LWFGr0wCguolxkvGVX?+&MmNeyjQRkdwaQTKc(eY9QK6(y*>~y&qZ+i?51uG)ucNhBunepatlj{U$up++!IC z6~S^XQCI`~r85<{hI#~hWg1DGL|lM%0_Bic=S}%e^98-9ZEkCn@^IVtE?A$muS-Ew zM7#ERIH-m2&+tpSUC?G%Kiy)BNFQc7t>nRu^-^_l`hkXV^48A&_P3qp?w67Q`azw8 zyYqSyTaI*$Y+WjO)Q0bAmRiMQx*b|V|E{{=dOH{Z6<UtOtyOubIv5xh~ zw|~l*s2hVKlX(3m#EwcfB@08NqaOy0NUHD)2zkr@5uphV<6jHe?JJ05F!u>w^Ag~f zt&O&8fZI91Mz zxy<+ck*o;jL)LW+3wgsvgpKenc52WSs1j5i`gAZUpjswgz}X+k0S zZeL6^@CtDPauf5|1b5#9ceP1CmD>q5DGs9*O1fI-Bv=bwu)cBV8q-YM5yx0$p%$)k zI4~VILC-JTwnrOe!I&+!IdFp!iwUtb5xU@=7CE-qNVNzZ0Zy2W?p_LZ4_;Zf8m>U9 ztiHArULx#_D-+0u{Pc!F^9>hV&kSGG6%eJj*RzKwh-9@soeG$gx zUJcr0dJX%ijgt1WCL69Aost`dtgf%x0rKOrOA>*4x^ZPkqdd|y)caErV16Y#Al{_% zv2xV~-M-pYy1{0*H&1^^aYcpJ2I{Uh2ldwd&HQ(%v473q#!^|hb-VtnXSr<}aMg6k zGZ?-X38QzAw^ARVGYN3yPRvpKIIC1!v+jUNX90! z*P~6GSGa80M{*$K5RT*ijlOA_Lb`;v0j1!6$VJfr<0%ZpWE3Agl5w7Ph*HOyj&EbF zCih_MBqtZ3+UOM6CzlSmi>t#9HM-0Pv|p{g%3}Kx-7N8pE@VevGqIsS(bD=*b<lx>e;R^NDQUHin& z7rkoHO!+Ypvv+FuB=I^8L7O8D*6+2HcSeeL$wE7BXr!vw%EwBg`m}S4W}k7a<+pW} zB^@ytNpyblt~P|ZR~Y+1J|R^<$JJq&gLrFapueJ>xU-1Y?p zFg2MU=+wqRo%!mj=D}Tq^=YcizU39T&P5H&E2FFWl}pM!<=pa7Wx%iBRsP+5^@lsy zl9S4tnlO;=V3kX?gr0*cubL)$sM~GznrGP$VD{o5_5_W^bV4;jLY2Y!aQrBfK#=)@fFwN3k z*Fn`CI)*q;-Jk?BSMpJ^+wRYLr%v6jm(3F?CB-hX0Y75RqpsfXASl5GR;Z zu-Eug2`5t9xv-Eq!9{^<rU)r@^}7Ve7RsSjtAd^d1TLo z7HftI^-*vh?l+g8IMQ=B-(ezR}2*}spXSfr_k zTH$%F+xVCEAROK1hrnB2S>OnQa-tk35h_Adhvd)uPRNLAq?#i=(Xv={KzCmr)iGSb zZ7pk;Na9;kEC}&O`CZcprCqyJRcD8r{aw`5SI2ei)_}NpR&6=dmxNt*9_eH6jgnjky*1lsXD?A37K6Hr+&vQE?t5 zbSRa~@FV+EW>II*vZ#;A$(UGdfVC5~jqr_D%@5)%2+ZL93me2C`)#DT*#Ut=DYto4 zpwC~x_>U3nD*R?Tka@FEoGp?%+%QQv5yQIeH8JJ<5oFi(GGiXou>*TfQh}^vy3$ zKinDQ2OtAH6M}=i^bBwoxipdEt6~1%!_5hmw{%L; zIYYeSxZ@34WB%#b>fw+bmZi=c*5{sD=QngNejD5$)`cN*?X;r-BY~UlDX12&&}8aK zY{vA=GaQ${7N?7O#z)ra_V22-eW#3lN|&}%Zj_qkTxG59yxgfC4!)xV^IO9Xv(EC| zJ{QKpQmmIfj}6t<4~_sc#961#H9l53-4w$fPc~8N+=4z2V1U^sgacs^*eAeV1M_jW zurnC<88>~G3%7@;!uAKE0%wO5MW=-`!gu=gXG=->)Fj$Q%03>J+#A{(aDX4=OJE%l z#_;LBm#I%crm>tojH{tX^WrhDiFfE6>OYE%_=f;P{3R?zUPd@Px%U0u=ay2>T3{)W z;YotN2K_a;z#mUNWjn?X_uhLRS!5qT)OwBrdH5LU0nBfU7Y-WPf!~TW69y7)I)~k9 z){sX51Y8?ROpHQpvRk|*B9B|Fd~XfaC7JN%8HT~oD02`2u)1A?zy@KMTMhp12Hj4> zI>mGC07bOgzfZ2uHqYyOB-@~NNg7)ocW(VRyEL~ltwQn_TmHE$rFzYumsKA+7b!o; zPgpR0H(NtYO2}U$+;susRIx20=X2OF_)z>U@@7mMrIGF?YmsgEf%Zl-9F^&@y4Gn& zVIVLfVh*N|QR)8*!50oAPNF6f@$_$~O2`888`M7TQM@q>Q(rB42yc6aRIr?vx)ZE`vYBpJb~?jU&by*Jpr_oL`WJs4zdUiKvyAQ1Q!-Y z7!8}wpG?f9ui#0eM1g~7!T=y>r?82(KcYY5JvE)4gPUmo?bz);rn%*ut*?L{*J7+; z(8VqyPZseelR$BE-lGPA)6UJ_Fz z{M4}4;t$NX@4_HFvk*kL8oC*J*_^35u9#{3EZ*aC8Zz~Jbv?=qTaLBIF3_hs-Z(~^ zYIMgh@(_}OE%2Z>QP>nhFmJ zcMcDMdZ<6JC16(JqiX^DDta0zoN$*XL60K%p+}*6QEMH4Eb^}5>RNGyctywS?uY6# z(tZ+L>kyFl^vH}d&(O`#y_KP@VXJ6)iuc4cjIsBfLe#y1Ph~?2Uo~;YdMrfUlri@F}9mf1hACaWgT} z`^i<~8R&V3&&M>d1F(h2XP7+l4PrbthH7#=@$NRCaTuKYU8^87+|ektQ;!^vxPddl zmZAj^EQAMKaje4bgcKsCTKo{XW-G7)y3hUuImGw}{|S5&@4ed)BfQ(JE$#@}SJX)t z8*vO+LU_t7V9tz4q6hmk$PDTed@?bEeggf3c##l~&qn%*JHUe&Y6`g>WWF z*a8`m$Y|guexfPg5sLD|XJdY%vWQ>cld%l%9Hb2L)NVIFl&u#>^lVf5C@2=CMWl?7 z*7S_k*Xe4sNk*1qwQ9Y3vM16S?+ta;yP?XZ8m{5GYOOZCXSwvNqDS5)>o$OFF3T0$ zI~NxgiwN=vT!-KmX93t*PByI4uQLJOa*xfUvtI)yx#h5hz#Qal_#kf#0&cnC%Ja;C zvMm_bTbS7s4JEtl0k8Fuu@*$m{?zU5tL!uPJ?O%>4evtMCAPefz_e3(!^~t&zAn-z zR-bXXED~=&4F=O@@~A?+^eCdmxUz+KgqdAD0*JbNK` zyzen?)Hbdjo<+A4(<*ly zibtYi@(B{uP3A%Rb=EF=4Rb29l+wrVVjtuv2!VjjF~NDzdce`^?llF2jEH!{ZJk9mNs&c+UjKuXrVqnR{A@tEuiT4w(!%K5)2YE6pC07)2 z-A_f2b$N!-@*lb*)ogF6UoXZ)&%zd#P-fXtH9we68JT*yZ|Z zGU$_>(=4qJrF)b+)EH>rZ=Gd(=GMTUV3O?zK@LZ_HNgGMP^fxmVHzFUb^2tL);vVHpSu~P{a&zP zj0N6MugdO+u0pKF4uSGfFA+<6J5d3BI_~Kd(Y-ZJfyS8Mxsed@Rc zT5IyG3$&n8*mlAk>^Kj$+wa@j4G*Lk;}G*v^I1!acRawS_%Q)y6Jb3CPJMv?2)0*{ zzz=VOD;M_BUI!Az7eW(|;h1)a0yf_vw=-;I2CNINp6Q*hawvc4Mk#Z_j&$y45kr12aH3_IK4ubsTis~(;Y3JBA=^z-FMbnXT0EA zV=C7#fxA7MVLP-3fhVXA)FQHuc#Z2z9Z!EpUQL@5$bAzz|>!)E`po zya|xJ$&NP27(=}6fpvtg)sW#?W**_$>b&DV?4nzI9idjJX>MLtDXWB6OBg{R5s_F6g$+B4xrCz;9^j_gMAmJZY>QpLQywliC?@nhF>SYfH}|>MTOGE? zmTJ9QdlBe%n(Zcl3<*S;p=QK19EB*uUm@gDv@VIBUX_NS^} z&sJ%^q_0iTJzQQXRjSrYGNp&b9PKdqwA%M(o_d`AnS7|6Z5-ZHuSvrWuSQycOgx5Cm}2RZsj8emm$gqMBG0f-+>|nxp2%eu!&>*&NS$wcTTw zGa~M#eHd~l%;>iaJaKNKZu9pBt&17sb5qMuzjFn%CNQ^$WaD7ie%dO*_=H9MSp344 zZ@q&EE3-HH`MA;DgY-N5ge-Z&n4GA=0z|&=&W;P62_3nv_h^p)1L4E^%;pD8yYMIa zM@C);+}d8*bTziOvz{*)m08ih#Z_Oku=N|FHT7-~K^0R>D#4Wv!v3U%kO$G+=n0sD z#^A>D1!eC?m6*C_vJOWy4X9$JSVe8uD{mHSYyXNL;b#F0^`(8Coof5{p3AyiWx94@ zH>t8lB<|W~?ANMLJd*EieAqa&2HN>aHNb4H+hDG5{nvA(^iS=1T};o+=CE$4?qI`S z!=w+t8cLhD_MK2I>uQnq|2I#*?BAx=oxdvDTRJRN1G@+G)r0Pi@h$x-mdh4&C=@TH zNW)LJ+ha0AJgu&)iY;1GtyzE11GOc)!`w@Z0pKJbkI!O~QE#d1m>A_Gi{*&hMZFk}Fhjt9= zu2XP&-uK;W^J}JbCibjt;k7{YGwTiAXFE2PU1}jW`FEz2=({RjgCjuOZ(4lxqae^ z)?b~B{p>Iv^x4l1C6j6}+ z{L&|E$)zt7e(o(lQ=tCXUcC6j@3%`zFP2Y#2bA;`ZT+>Y68Md2c~KV77E>D4=K32@ zo79#4@4qf}+s(d)x~uR-B5fZ??o#TcT-kf**skB+Y~38R(XbD`8GDt4!^e4KK0*(T zuoPur=n?&VzJ$~9lY*KV%LD zsq2&7BL@ulkT_&;V{*y3mf`=6%^5ypu4hL4@YOS@6L-v7Iq1^Noulh>-c7xqzH-v& z#7~o2vL{S9G3oCFaT;ucS2TabGmo?Qj8#T9V%%sJ4=U!V~l2g5V{nTfZXRrD`zH8pPp@KyVhUHIR zHsMkZdtA}buIZ5En(^=vu{ne+M&{44>jr!uJ$v-ENre+$E)~x0%Nn=>lcO58WgcYI z?@?366it?A|2JAQo;Epd(z&7foc3W+gU6;@2W}e<8C*KD6jUfbNm?_Uol!FA+l28M zTL#=2dLWq{|1joI|CE@$1FXr%k`E`@LjzN91^kMg5VI`wP$)NKU(6dpQcP1wH}3%( z60(UDil4?Q_1Vr@2;D?_1uKA_!5(4yLCa7^+&ah=*I6%Er7-k^vEhj*u6aKqQ~e0K z9B~V5+QeHSfLJ@&f$m-{tE_=Zc1U9C&vd_OKh-<5VpOlY=1$$An!efxb#IC`G=}`J zw0ep!RAS3%g-?oKd^q}d`HT0Zx$pK=+$u>ZjrfxPZt$O}9~S<(^7weE``+fF!Vf|D z*v~!p*A(Bs-cl@o+3y{YfB46_cmJ+4-%LF{`X%|?qP*N&Lm%DETbw&SfA`^fvr z-}XGFzbq?|=av;*e9@5~nm75m>DuSl84tGHn(zwLPu%+a=vUs>+XJ7Sde-#Vawp)% zg2xXoRXq4`yZ4st?%c=k@}i&bc>nRP zpD`~EzFSlvy}7qo_d5D*?$_EfQQ?QrA1l({#@FQhtonDaSo`C9Q+g?(tm6Bess*1X zG!CpdRw1s;C|9;#|H1EAR-e@Mup_S#r}$dC%Y;)t(dc@XsuK)hZL5^SBzJY#4h8bJ zdY9=2WQJ3L>C}>GXSEE{8)G9Bj{j;uLqwX`$QajP>T`EKXCG<_nuEImjY6!j-9!$z zBO!G6qCy8-0H*paD`OGlg%)c4`E(US)L z7|<|&S%N)rU`%<+UZ2bT9hvju-zHnq@T2tuPmNfRSvb6B_=_CewAe}3(cz)T#g7Ob7Q#;Ok4*AuP5kY9Fe%BeGM*cGKj>>X z#xFHN!^6Z6;zUK<=V?Rc(Wi1}1r`I(g_H3}Hr4hzfPj1iKSv-S1=L#I6n--1IzN=M zHV{n`!d|f{&N~=_2EgytW$C^-%Jsu+dnEwGC^4GXX%_1OO-=Gp^HS+d?MRK@PL%C% zKQ)h24{|SZFNgTs6_CSPq+O?Gm`lNg-7V9+&VRkZBBR>Y{#RFHoTmG!doLXV+7~a_ ztvz$)GrMPqn#HV+FlB5POS!rEt~O5mRWIsWE0s$pG_xd!|98z+(Rqt$g zUYXNT)6!9y+o&&JRL=boR=l-v?XO#f6$RO!#=e}JpZv7y$-&Riei#23RUB9% zt-Vm{EWK0>X<6{^Q6;o1`j7G3_@Zav_o(zcx2m^_Ri-bEt1kL!{4=R!%IC#jq+cvW zsP8K(u6zjlj4UiJ5trD1;(zK(wLhknEvTRIiTQ8EKf~{wUnz~g4a16qe@!o)U9z*t zw|ZS!Rpp{zasPfatf?=kd-lh#s{H$^ANY5Y&wt*geH`?osq|6#=Yk8ZxBuNLLpLD0 z|5gt#-`N<`no@nQrb61dpmUNj^#%?HhhWPT2@OMIeV_8!5 z_3Bl1duvD?7Fli6GrdrMxs%m3Nv#rjTITmnR(quFoiyz-YoA;oqXUo3L24gUkpk#a zcRjS6RyFmWQ3mKXgFKk2)s|LE;FMW7%Sx*4hi;M9u>g38j^)Nfj=tzMe*Z?6F2+3;4F^XD7a7V zqU@ly22Ca30?Db#^j9pHA2RS0<4)-J;A1hLf+XR~0+)iPx+m3%t1IG^hGV0N&vPlcatr+JR@_wXon0(~XA)iu?Wpt#kPHag&khCTN zG9azr;Fz?CBasC$=VRw5y&Y5#hDh? zd`Su^_+{*nkdq+^kzE0k`(*?~C5ACQ!fOm^cqBiV9UFgv7nmURotWfglH;cPI)bW` zuLsp7Q`pIguUMtQ9X@Bm{`0H!`5g7apPkwjnlb2UKzi(>(4!oG{xbSA_J7_@_}QMt z9ybyPcKck|i&!okhv-4aVoSW|@Q>-s2!nBxxNedLYa$}4S@<+U0OJ!m9PI}?jB;wC zLC$|0xS1=|v`Vj4l0XHCM`_d^gE5Uq9mA0kr~u?m^hHh?v=e<1Ye$cEBxB>?R6{!o zjZzV}c(+pzAPlAyyVAWE)dYsZ4a#~g!ZgV-RppWXum$#!?KKhyyt*^8J)~z*!^EnI zm0KlG3tx$9yCyUxRtj5DEd!b$?GI|pWg8poI!@N%+fzGhS~(qs^~*c%l`|{4zn(2V zR=l*R{?Eei=4#BB=+c(r*EP|lcbnMamfZrc%&ys5apsC#rH zzdrhBXUFy5)}MFkTg&Hs+WvE0O~?1^Ki3s^{r&n0tnSnuF8)|@rD}cC#4oM&jM{P4 zH@?rPoLyD?_HoUEzda?+A75*Se1Ux#|26zeTj9X3edYJQhJLR6Hu>+{Z=EHq2Gid& z4cHdBsHS_N2-h*SQ`ECZc36F~`D*ua@m{ID4z5u2<)vo23C-9w^M%WF~Rn!RX3`#m4 z4&UR>hkP>RI71|pj5uk!wAL&%8b$Zq(;<^p31}?o7aWbS3BIwzF(?Yo$HFdWEb=|e zJx-6Oeh9oHETQ0Nsf03cQagfh2!%lbuzcJpM=NFtKGoVq_(z(+olBY*p$E?!iNP0z z<$h(H$FXyGUjw!Wz7AQ*`4!sGe_paZoDnonqz2j zj5L0~;;7KblGJ`F8L?{yzRx(Gv}xGtF%Jf%r9aP@ zJ9_!(ih+*QrvoRYpB-E?ba(&2$SeNR@OEKb)SPf^coXj>b7tsNeo&CyH!?jq;ZJN+ zOjg3(sDj8-1HQ(*i(4G_B&95l5h>x61(XI46Koff1<`amRf`*m+CWG}^hX{8d##5l zZ~O_*W#Ac(1dm57g3{5Q-rH~jR%@1#rg*2qcX%Pb zLfARtYBCz-B+#Aj*%N_%#Bq>P6x`?nZ5m1g8rp1siXEb_0;0ViNmRlPuwHc3dxRE) zts%|By~9nR`{Jjg7B?guIr%`Oart>j58qa7ii)^}M za-(Lp;g4jGMQ43#7mKoVx5U4?Z?@kMpQY4~U<&DAP$zvP~6ic{&l9i|NytLlsVy&+f;CN-#5$Rr(CdoOofZtUL{)q6~g5PcVo7Z=w2 z)f$W+b$^VX4fT43d52@OjbnJLzOKHhw)CBqoYM907PegKyjZiS@>}bFZC6CE+6zS; zEq=;A^+Mwn<4Ds=h~4=SI|5n4jUcsBPT=;S3teIEXPDy_thL$Rryr%oSjZ}pQLY-; zakjC4M?+^(ueaMO-zhuZC$dC$mFddu3FbV_TJ2idD~8mtuUDS+2gHm4L%+pXspH8wHY`B z+BRG8Ldrx^IOZbKPKguT33$S4rL##*90%pN&ouff!dW7NWTDEi5dR~r9J+>98g`R+ zoHUX$!hd@(#&2o#^FW2~j)0qSXCnIiNxl=q=lTBfRSB@%dmJPCFGnKSLHf(sFO%$abLbc_R4Te zS7sgwEJ6e5VE$?5A2N{%57-py!)_0(^=F4y`N4!mVYR%Pu+zSysg0zMv`kkVPyl~! zH`xG?Z@gIB?Cfy=a;7?dz>tJX*g!ao`j@@|^O?SvBu9ra?Q9?798w4^gn1e_k~N>X zD{wwJnw3v~g6U6Oij8No%qmzJVlL(&WP<&jhVtg@#$OH@frAt>BL0J$xhN4NPIj zVOC+^;}zaF_-gtMOa+gRK+t&1^Nc~LG~zGHW9|b~jx!K5*L2ajMD zBaS=ox)Y%vJ-h89ugYaJBY{jXBUhzj*(W*w7+>264jwGntZ;^Fx~)X(9nD+Nw-l|R zsJo1>OdRhl%l{}k3;(9^|BuI;v`xKh=RUUK?n4iEcZY++?QqxQa5&uEzc>sz>~I}2 z_jPsGG-;Awet*IGSkvT__xtsFKG*Ya*>2=h!8Vo$?&PoVE!e*!-2)4P#~n)VXWJ~7 z$GuT-hV*pDh7Jb?_;P~@U=r{I$VW|FktjyqN3g(ORc^u$37dly?69;B`(HQ;I2!(D zUFYL$Z_Hy%m#v-b-waCckg7!cOjn_KirHpaX_UH6|NqRN zZMbQ*Il>sK$9o^TzWPm}zoDtr%D{?1mta>n@8Dd$%D-D1Rn9V>bRM#OH|5v|3VG2a z>k!%!(STNaR!yy%Q=B1!X%GzsMM3g>0j8MAD<^9$A~UCsG=vR3x>|-j&rqtyO&e z><^8XrkN6%I{kI)HJDPQ?WKAi^;+AE>;xvtpUY0+Gh_fhS6U$%C(f1sB$C4?r9;R) z%!M$*eU2#bGvZ&+d0>WwAjin)>qxffGO&Du}cT&@{5P4I=q<9W2(zmOU2pT;Wa zw`>$VjPbF$U>f`pX{Q^h*{nYieOWg%`nz&|^heF&n8m6FF(0tu(o=~)2u4*aEhP5g zixhujE4eMi2}Fr@z{2nrDoN}RNqDaajWFPJyrV2vEt9L@$z)&gI%X|a#j~Pj{I77X ztHkp&u+oy|O1Iu}pEn*h{9O$>w_8|&05Q(;%pPr?&Sd$xpu*dgs&8Mz#t<_BH+~Rn z!9IbvOa2rRs}wj$F;&q)v`Tsd+JWl$p4cH?!Tks1`3k~xu+r1gY;*pg4n%hG6L~IN zLhZp?MV>H);ojgVA!E?Ns}wrrbD@3`r6h$sgkKep70bjA!-u&W_6E#g%dtQzb-TQ- z@l?$^tF-2lTU#3+%nRFmyO@hmqUaywUv&=IG3kHl*HUxq)QLNj`g_`+Dbq3%vqnZG z%VPAP1AT&GtUEFX>Io)EUE$&IbZt)}PLc;q zM04ejB^vc)%}K$XQLGdx)@tskE&LsY2uXwyVrgimy}$3PW3BDa+UZ4)O%9vG`m5?- zpiO0zeUfLTrC)FnKZrZ2m_}4!3gvNjntHIfogy86BwTk!W+1jWtd;Dd#gP^4c#oz! z)mGR3*^=%M8Bdt|IhKU;Y92Zt*eUx3YD%?;`fS#E7ddWtO6c_9aLh(uKuXaYQi7Sn zE~QHYT|!G;%lu}y#B;2&qcORJsSX*6D^@sStd-6w=E)T~rrOe-<=M{m_R8AP<)i&l zm%ldE=c8eFr+^ju=5JtI?e7%n=<64n;?4|h4czmw0kqax^RBXU$^McQ*HNp!tcRtC z@lW%V(xs(kCcoM4Iv$y0-)xOz2S#Sm36PH%DD>l2OJq$k@Orx<&Eo%TPg#LTN-#3j1LkOkyS?rqIM-gHUmxHDF+#GL_f_ zrdMz|m*@6yIEazzSGJKry(H&6< zU)NjieaxQnwRR}NHw^F0)2o+z=TvvE7*#gS{L-|ex+Wy|Yy#%;%dkqM53bdB(yq{t zRnbvr)CXc8#p+`Q#8+r8Mj_f>+L`L?Buq0jJ||Yn?-E*4RpAMqHq3aZH2el#6#=1P z!l#{eT^c5+3YW3i!~ z`5JxH^aGj56oHK+YAHl_Q!GxrhQ1F%u%*a_HHq-|`6`DXFqRy~S zT$!Ox0;y|vRFdeq#3fT`-o`X0epiY$GXze1SM55Y2k}wgUmHoAq+Uw4QZG_3N7C_X z@+HdSTjT~(&kdG+i+Uug#uup?DVB=9;x{A-$OKV4{u`A^?3NXZt3`9cVhIk!(jtB| zzYdH<-US!I)=^) z*2-*LJlRBUR+*x|YZ_&?O)SY8n0&d_?erJvD>F`Ks2aUY?U|_8-b(D3FhgKD()>Gg zBczb1u!GVJ)i6#D#}l#O25v{x0{Va97QofeFn)ZvSoT!&uacBqRTnCXl^L4uQJ-T{ zRO8iaq@ZMlB2Ic;vWmE>9xI}#fouj)8|d$?rFOU{26p+B&=JQ;paej<0$?|GhebJD z^DOcV?!z|23cyn$f*2_HM0-hcC3U2FTp{X*eq+0bwou7IJN*H?89MC!+c3)$Fq>SU zs~^3@@yWQ}lxq|lo0^V>f0ln`dImg}^iT*=;$5LsG}oKT?%`T79cnDDfuBeL;R%`$Cm1Uitj7_jWk0UbfU-_Xc19kd;B@! zzb!J)H}^-Xp7&XxG%(0>C-U4^%J!qS20nOm1B2)SY7=+YBisobzF@@h#nT}y;n#>R zh9?3CC|-B<=}hr-NKK#ht#39hz&e_#kGbFFv(NjDEK_WTOAqtXR_Q4BW| zlt4!5A>zKWt+Ihqq8Kh4r%#ag!TyyF)A^;vqGsYWyoj9#YT^3W8U9Z2YA8Za4b1b* z4}1%>5!~~)xShyeSub>%s0kVab>Y7NtjnG|R+GU-`-N%X+j6^iGII^uVlm2tb!e#DQk7$hST#U8iKyV%p!vmyM4?Lugx zV+^%46vt$`4c?F3QtBQ11){_^LR@6A*eA18RJKNJxtLk2rLO^R7VEBfrMF$G*xnzp|?xb&m3v z+b+=GyfD=<90Q#c-Q^$Q6VV|17#uDhB1_Y>75@&8#xik{Rw6zRHGunzVYIWTRxupT z5$}|2$DVV|(D~49$pA1y9|pXEhg>553UW{h(i{xKULvV{4u;^L@P<$)p|fOy8cS93 z`SM)xE_oBaIkbpVMD_|irdiULU@Q4k9#F0#)!Jf#=(IQapvJ9tYlfy}L|;;mkPeM) zs{T)tnRGPzsV*Qtt02ia$``5%;sr8O*+DZNIt#Q{M#Qm^acF%q4N8DK=q&j!hGr*+ zX9d>#O1Khaoo5)j2&{$W^lxMX^pVhvZ$%HI=i6IytNhx)aMxyE*!ak}&RJaB$6$5m zgz`-5tqxil*c9vzpX6fEP3k|C4bhv*g$l2F60`vQsXULoqIaMt)ow~o-3h-8)Og4F zU)k=}zOd?CB1c?#9q(9go~4mJ*->aaXguk9YWLd*J6F0}yA-}OdZE7uKMZ<@IFTfY zC%QnhQPNn}DPDz7Lv5P#;!g4;;sJEsHycuKxYIBU;wbro2gqo9+4){F*mp$p-)$Wx4CpGj_d--U|> zd-bV6RwNu6=@=c}?LXxoLmzew3GNJh3$Au_r3QOfFxRjbk;br-6X7q=IqIv@Uieu2 zE$YGQC=v1^^i#E1-b*rDb)A?%eir=fmxwR2^JsJYt8|Ir(3%|J9j_egd;v?xaK2CK zJ{B4miV3}@qp_)x{^(`!793DuGKch{>^8ZBoS?p#Fh?1Qo2dGWJRzylE0wfjU-WTw znJfz~AREA5G6QQAJuSvg-i)^h3?7#3r80s7rWIL58V{tUlm7s5EZ zA3ee8AsN#OQQ=J@Bnx3PBV*`O;IF`w!1xeJ_W;r@^Bj|zfajF&Z|DvGzYrq$+jAmC zp=-?kaNEEE;51kSwB{y?#8ke(;V*{P(SyJt0^c|%GB}b1zvQHOroNG18+`#X64aHxDn z&pY=n<2w^>vDvp)JIy1FrjqwgtM?1Ni5;$Vi&wy>h(4MgQ5!|Qv|(laSe=mOf2Ouc z*Q@Qa3G!#?INeP&5%H;;aSv$;vQW}lG7H~|y;iP9KJdBh6d~t7fxC(3d#$1}tfdGC zhe9o)O0X8fs1Av`r@yIF#C+B{xE}o~>ZEuAUyrEe zPr0FyOvzShPhGA?B5kcu#K__o$ExaArCdt6qjhL5#`$!H=(7rI+(zkmeX8mmX@*XS zhl_bGiOfL$fJDGmag)fCK%3xLcWZ~Oe3|us#$nd(t{jKa42O=xF@bBu9ONBN!6U$i z#6e=Iw5!N39)yb}NbQPNe-a#dZp8vp~ z!+uGBKbHfLMB!a%F=b9%4q6iA9& zldZV{;3v@{;w^9&+{f(Udw>Nff|0^>p*7tas?XfRmWSqgQvLNpp-85yd*GdW1{I0a z5bMMT;LXr>$pZN(Y>v7>Hb>P?zKpD+{Eusc&X#;a1Q9&j8NP=ka0eq#eYYbRzT1}r z7X;dP$8l=O&+tg#71c(t-d~|^L!-FvlJi_+T{$e$$0t^*zUkYbonj}F$y%2*M>CUH zEzQ;sp`xTuxB{dtJv5?^wD+71WSU<>8rT%rUr`+J+0_clqiKr29SAs%!qxQ%B zDK8=)5($#a#3b2syBH9q`}IqqHRdF%dRN3ETL z-y9=t1>Rr&;dI#DoS%r-NK%RZ@;P7`|F^mi*AYDn)nHOK8ry-EfTw}y@B+SWAf7T< zXM1KD)|+-${AV0vAk4f|RJ_*^sd{f&T~%&}y%sA(oBV~At=?PS%MQRN4GqUvhx-Me zN2tgTzfhhA1mOVihx4zLyOIR7HN20zD4fC`i~C`(HIt-D@hgQAt)r?dT2Ho@z?u%krr3q@ z40wckH*!V$0$r^;2JtZ`(Y0bwUBa0aZ>gcGmBMsrJ7AZemFyM--uuOI`rU9V*-fyR zXd!>1P>N&ta`Fj114H;S!m2of9+aMw$3v^JZ24+tEwUdPkF_8gBO}4>P;(lk8*umB zbYMqhEmA331N{(+}v zfY&fEd=v9ghj`e39!?Ga<9!!sYTZz?%;fUiE=@IfDr~Oq)JJcpP;$r}d==P(mk5oT zp5o<58FqpEQ~V0-!8d2$Gp}t8e0}(Z-fHh~^BvoE%W9$1`=?XjhB=xUsj8sot#yr^ zu)YAN25 zV~y`zNuE`;Q|yYW-Of|K_MS=Avn>*Vs7Csq__Bj{`C2f8YQ}~U8jgbW=n$e4u|_mj z=zd&;lY#=sHjw685{v{B-E|}9{O74ZgD=C=nKgVzuruV8aRO~+oy03yO?*})iwBY7 zC|;ZxH77P*zYjmFx+Tz64`{o{_h~=H6wAhm=iry{cd|iXd2pexH&aP}3siCAy$WhM zmCE&2oOqXOPmtz!{M9m1h z&Zu0ao<=4RS#W#caO4Y=7hFOQ2o4HsJSW3rDXE)bSA~n%1EF=0(>C9m6YA=l5FThJ z-6h_W!Oo^n&c~HkYlfF)R6MZGE8k(iVVdPiGRTdP?N-@x>k8MApqO6DEQJQZb(w$Q zxxwope{j72Io^a`PhB%@_wBXa3Uk8zeQIQ~X}5i>;k)Zbg_vnj`@v=mXiU5PG1Z$x z!@OC7Wjw^a4S!_sk|p^0=v}hzvQ5%o5{F>8U#^`~Z~^m|H^bu1R`k+Q<}b{EI{|IVtW{ z^xl}}8HeI0M#sd(Xh$lyDK2TGiKHr1@sDbvY?XYa=n!gWb|R$#hU*UHgZEVh&;c+_ z_EO^#-_e%oCa8hfy2_jC|EXuGZDbRo6ZZ=lC+&-O*UU$rNj@WVXk?&2o6I*04~c-( zDQFTZklla^whL8;jzJc|i%|mGB=@6UVx6=XGFQA@;uDQg{3Xg3XTm+9#b_*g34aCO zmi|EA1kre+}$IL*Q zZ)WHv(}BC^X$t$;aPV z=S5=a3+^j4AKO7+3C~CGF<0n~_#k8&djZcxpA%1UOw1{(;6!uV{Jm7R;!&ecm6wB;QT$6as| z{DY{JT}7REYxJtPFw_RFvX z<`Q3}G$B_!Aale|MHWpXA`fW_d6hMU9Z40=+5ZFnMYc*GKylb7-{Gf zH+#+H4F2UA-viF!k)!Hzl|*ToIkq2SM;f3 zc!jEJMy;X3?0sW?X1yP-$M+YEu?M{GZ7JTtfwb^v|It7$^OE_?>khXQnyuO1-<)yw zyETKYldI>O*O_+Ibg5coe(c_8lLhO7^RRPa12CK!3APdqk-b2BgCbd+Laex}AF20i zpQbcQSeTNeYOi-m)?x$17q}|6A@YEj547QqhqeUOp7c-@J&_p>O5vWs6G#OYq5Fvi z@;v!Y(QVOms0{j@oGf&f=Mej)-$W~k%~9#nuCh3(HY!eWS65$F7Z0eesAs7AqN}3j z$~q-AP1ut#CSifPZfq&y*ItM&(Uz)Wqvxs;WmjXG5CgOiHK)_}#a@qDnz}N+Q&KGwyyh(px zCWvw+CEyY0ijXC9@%6-;ffH0w@UpksVRWg$&H`z`is~Q?_zB;|w~OlF*`j#xCs4~D z0^*oUa3}UxaGQT&D2P@@X22pW8!VFg;lXf7v@4v=E`|SL@AG4rP~b{ng#R7ChfR+x z!}f@CBPZaWNELIMd@LR>JY%Pb9uQr)vz#mPKA0e|43<$XeOFww9FXTf%X#bVD$qQ= zMp^|Lf7Tp#T?sB`Vj?BXXpsgvAzmnfpc1U9yjb)IJ}Tac*T}N?wQ@b{$BrWTa2N70 zk4hGD&$;J}l8v`7iTo|hv77lGyEC1)&5--B+v-2$6Q0vFh#Zi8P!^MN$r8y#{R)K) z_sQ;tKBGg?PmyfsJQR(t7ySfE zWWgft2K1s_bSAck$ir~S7uf+=0w+o9At18=co9Ao85t}N%yGx~zXso$8~R%^N{9|{ z+@F$s*=5-Y5|B5%3x&Jmc@NO{9b7a*v@GS9|jZ`o!yc7Oj zyWa84G|8Ib$g$rqd0Bp`(vdf?BDY{=<(0gij{9ZVRrgIA%WK#7(qw9`d%EB2=o~1i ztz&%U+fOiE-F^mRT3$Ulb6T;Oq&*UDQUBOd)xU|sJbswGefW(Jka2cC{B17)lg{4Ox)wsSd9 zJ$wq}z;xo#qNDOBN>UXsZUS9YcT$ozD5_T-sw`~EiXaXt=Bx2_E}@X(xu;1yJb_e3reZSgts55R9k9T>oKgiP<>+-~8$c(3r(?ExR=)!ZSlh|7fsBhidb zLSgzyU!X_u40R{8A#~pJpSy?eF?|F44h$ovh5K=Dklt7)WEL1L;KQl_mOaXDWKx9x z-#hOY>Yvbe{-Qh8YjwA?J-2wuhC2zvF@rY$eZiajWXs&jvxdyzL5CsWc3hP<@yDZ8zPwGv zn+gY%x3T2dE(IS(+5&R+2$6}6kaZUCP}-v&ke_7nQ3n(^aJM`U&je@VELMPQ1=IL} z@c8f{HWeF)iNN16JB8WA@HTmWgpzbtFM!r!sgfGOdUQ*)iM$K0B1Xvv$(xHts{WPz zLvB(BHRI#95UB|(;yTG!D7z%oNoXcan*HFPyqWzI8o`VTl>;-NeG(k(7e7F{N8VmT zDsz<0wM9vdu!g!e`YY-SqJgsUT2s_qMF;T`y;rJKy^(8V)xvaj0vUy!R2?M0s6G+p zvLtJk)%lO-(E7&w_ zB|TlL2`meY=NozQO?sj4vD){@KQm0D6Bsr!5(xouz~A^=(O9ZA9)QmY_y2D6OVmi& zCG$l2SR0}Q0Fm~bo8C!{hv(6C!GZAH2+0V%Dv_4yF3=yg$>i8D0#IECTSI-xH`1oE z5$fN;M6eNY5_}3=likE=V6+cor_-%`UxJdre!8izDKOff7Ko{7D>!D89WnH5cZ#zez&a>q%f0AC{xwKq>s>QM8u~H4IB+e{3v^Je;r5{ckq9$L zI6pjOj{ysz(Fg|3md{k4RTnAW2+gE=@<*z{*d#R~e<+ z8F-q5!8P<{cp*C!LIf6jsbN=T&+>XDT9 z#7l)e;a}(oU>EdBaRBa(`~Z@fEcz1LHncu)m7W}|e56e}B;y zC=0obj}Qh)@e(5DhNP!rrND)03snI!tT|aMK86oON`byaU&SrxCEX3yasz2k&_iGH zzwtiwyr(u8x7$uzua_omFvUuDBzf0B-?$NOHtVpoU*V9iS6zfa{gbR9N zFOXylj#oXj-8a244K!AVKR8-O>bY3+9s4264fkz#nY-G$!hXK?VCYq3G~F?n6&6M6 z(-)uv%zC&U&x?BUv*{y|)4`76*}huN;W9EasK)|FsvGac-XoN}t!TO?UXiM=r~Ikz zE7Rf4u_17QS_`kh0MBQp1vL1Hh4{Dd|hrp8r4$LyiNo6zfQT-`m6|oAhOQf=+ z1lqtTK8tuOq<_DN+Nn0l^a_Kzcl5-h0gB$KrHPw`SEhOTZ!rhtM$Hk`$hgz$b;>Jn z4zf~HEuA2`1jQ0d`~_~-z1#UPfLhW5qwSA_7vZTWA)P1!$yUk>@^SKgQSta8X#>e# zSu=skA4c-{F~sj|CXogJxZs-sh9R?nWIyJ95uELAaW0d@9 zT1SAAC}~~tF4;q=Af!YM{!zM*Uj~X;A9av_9cTsIc6x$#>K^q^0DuPv9=XraK1*@1 zk+UN|#CSW@$2n8*-rn=QK@=VnhVoC4Ce&tpAH0Wchkjy5<7WRnd?R-m7|8Ylf5F$o zuVJbCE#(Sb346F)e_5c^ztQ1zEq2VVi1zxud%T0eTi5}dkv5QTM4ky5_gnI{_*-$Z z`WP`xcvect1;7_157Of}a1-he??o>1hv!86!agGv+eC~~3rlDKtbM{rJX zwZBbJI7`^S1gt`;bA~I|ljok}`E34W9c6xN^jQbn&Ux;*hJv5%7XcnJ5tos8rh%A* zd2%rRFL8!nfatl$bdS(ZTIHP{kTK;VE z7m({zX^LUGc~Yn1pnNycPBxDGOY&E^4^|8?cu#023`!3HUEv4(LVlZXoG;3%uv$yD zl&vXTQ1rQYYvGaN7GJwnUM=o#8)vKy?DIGCy`$RrC-7f`aqtK4Yu{bxP2VKfe*11` zJ41=>yLC@+z2mp)sZ|RqZ~yXEysaKukytalW{EA^wItjglZl6uv&DaiTB^QDBB~<2 zS*O-7)IZRV5I@u{mf-jv_#>_&jeuRcUUHbM#r)td7{yuvF~BNzuFpoz3(gK~2ww9H zq@|%X^eX@VfU|H&5=(Bx|4L5KK!W3=v;JD__rwNK-}M$Js?g5>Qv={dd zd}sfzxngW@{_5=G9cr6NoTt~~ljz@+E#L|4AlWh0qiPd5kuXn{C4LDs@!g~=Y_lDU zTrTIhKo`g7(0l8yP!;ptkJDS7Tf}d;6jd*@P}4%)LUdHST&hosV;^cit5mw0tWu;v zyE4?2tWPwO4HOUOGZj#e~Y|V6`u_Y%O8~}K1?f9x+R40fy)+43uD?0d~!4ZYd)lHoPEg^H4;#R*?7Ra#5x zdk+*hg|NT`ZY+{+zsTQYPU}wko}?ZR4?;BRgUDC8R`Mugb5xsp4oNeeR{WN%8@05) z32%x^qm#H72*x4mbKbjJx3sUQm3XfP(aaYW>h8v#ivOhQnVze@q}4>PlFv$!s!ykv z>+%w>rpn?P#r>|=H~X$+GaF}3P1#SB##G@Ev7NNRy>)6{mN`c|BBm9YsGb}>L-t5t zExkyV6XTS*K(6N%-QUgv#^59&&3PPXf`*L~CBx{~t4+TZ(&uB!1tnjeor)GU@r{!2FIt~8srP;38PY1Ww*$>sNdRZM)s|w;YnO(MdEGsTA}Zyk3qG&b=OAV1|?Ha`c?HBEmwBe1bGQk#qY8y0!Wk2+H zv;S3Xi~p=$QujLlZxW`|$mdGZak(nZ+d$FQw^G&B{8=;r|AN0)G*= zcIck8eI0iyVRXyP#N3?A(1=$3+`49CwQ9w+)D3=fv#9c2jaGu$(Kc}pbZ7M5vcF@_ ze!B@Megv4VmTk4~3Ho~(m-YFH=(uSRbld5-t&ot;vZzNuYxEv`08shAs$%J%=96@G z(eM(;gc;jZtT&9R`s!a;h?E%|Pk(N)T_}57`}0dH{~O~AUq{|r)0GOFa9}KTl5v@Z z-lwa9Wh@<4`YG_!DdKh*<)yCz8H!1rDH)(gO_5iQR_OWqIa#ITw8BH6+HHn?0{G-la!rk^CvXkG8Vv#$pOd++@-`$=W%x)0oe<$U$ zS+`!})%Z`T8k=W|xUioL{urFtP<({xru>ImUsvRKpO(YK>Ca+Y>3zC@J6lrE{7HT( zFB&YfZ1&{=yUSw5sxK2|Pjdh9zOd9QSn4P#0t2>BbCJO|2b2=@Y3Bj+u~TptfL4Dr zHWI}fb_L$o<^sLguf}}-r0p88Clt0Qm>eU@CWPl3ewo!(x<#}QA+KIlK&i0 zHM<;lJ%fZ!=(4q(Fji7n`M-F0V`-;;l%|L;ZDnWnY%8YSvZ+W^StAJ~fN% zubr9^hV$#wG3(MENtpz{_K{?3`iQVLYoskFwU1zw*n=|2O6dk)cGgk)VdGI?-F9`v z%Czq-^3jbAOTc|Szu2$z>ntCxvnTh2bGvmZ%!=4G;1}9^6}A) zwRM2M;CQyRY^h(EZ7{8BGitxn1@y|VrAX_l{Y;F*T`M)UD%}Z;EW*&Ld_Zh6KJlu= zd#d|MyMBw|mX)`|Kb6mPt?*;zz2I)Yjv;qG*&m}MHLgAjTIrwUa&Y=q>BzNRGw6Q^tL0PWBbSqe_?!CFg9f61HMP%H zHga9t!uXStlhggX3}fU*nimV6n1!+G}GPNE3kM0+p zN*&;`Yj#PaO#jBT_&8Z!!msqQ#C&iclu~qryyXhh1y$Y9WlnS15f%b$$iF@;<`DIR zd5yQ1I&e3WASNIFPwtTawpEP5wynbSYX&omgKaAb z7aR}g)P$2B3z?r6(W8hdnyK8nCR*LH_+Q#TqHZbrM%7IjkIa+zgO19U0*OL zzi$wY?9ev(3Z_i)z2|m&8bJ}!o5Goz_omOWM+`e9&EXtAhh&J2n&$S?VwGi#=9zm0 zGpKk^@nCVq7iTd4dzIl%HH4k?H~jS@?5@$pxA0h)LEhha1G!DnD5lntr*AB3qMk+m z(uOoA!K}pdTm@poA6nXIPVx(w`lOCI!1a{>sX5JGz%!J8k|Q;bG&W#KN-*({?EC3I zb*qy}#oO4Nq~D^xB}jEpJ*iHtXw`I6e00nl-GdB7yil%AjMXf{8=`+=ZN0H#Ga{k& z6lm_7kU};HT|iEH)6laLM`ks3LHvRFLhTi=v?i;E{_uPDq08VOfKu>$9WPlE`wRFX zS{|~qqoCQ2W72M(8r6)-JK8v zs+-`i=+7Bp;*M%g>OEm|QIRz(zKClby`)~I{H@|v#u3pWHZf{xngQFPUzO#F43*fT zsubVte?&Lr;w<^nQOJC$$yrcm8k+)iC&=io+24Kdo8Ffw zj2Qbi3U*Ol*S!S8bffUNq`=GM_|8{Ht;0*a*a>> z6-{fA<3E+YQ{GLL8S5g}C0?ekrEa8lV)uMURT6qFW=z*wKEXY>DY(0KtYWFJFTd84 zz|MBz=1mbvKm+ypo~j>LYqqL6Bf8DfB-ArzZt?f2 z+Ueze=;oDEOv~8kZ==xFMn~;~yjS9+&kbtD)}9rhxpnD6yhrgSM@D%j(aF#{+({4B zy1~Wt2J{XKBe4YG+YC6sQ%K*+bmP|WPVsKS_j|Q!O zZ`FR zdzqU{EK<(^Zz}dWe~bUd&6aj#-*P%OE0hu>fl*ZavdE3~g*p}#8sVI3hb}?2bwa25_8kHes8CW7%9+Q;^BNOAC^6pv5 zF+CCw=sK$4OiZ>Z;|Ihf{DEk&H5vo4#}^HV#5J{>q<=_yhBRh}G@ZV0*eKlf7n*yR zB24$%Z`L`68G`X|n!B!Ntz&{CR67ujb{M!9R97U$J4n(Ldu!Z-pAFEGkUcHBt!*lO z320(dg|-xSfcO4N3aT7WsKeF6Y~92UoV5|1@p07H@OtHI;u`gko$KDOk@50W3$-Ci z8}&bMrZf%=D)Yixshzz=cM9|&g2X{;f^&AwbN?Qb!dzk4;HWMvsyP<07e-ebYxek; zgbE#}f`fc55Qa$71@sN^`_c{a4f11}^}6}GHso9B|MWFvzUGQ3ONYo0lMFOSu8lMW zK8eie68Kms67#$KYvQU%Wz0X(`t-6;vvz@nr8 zOSCrpNEsH`pLR<+C`&GzBVUy970J*3$sbI~4UJaW6=$RWifT#C(Qfl*YF37Z!H3x| zp-*h0uh6!==2~!A(PB?)!_mrV#vz7LF0Jis?SP6c!G@-5p}W>ND`xLnd(5`5YJyo? zkZEpUZ0`MN4A;o3k}6IFot2lUJ(hT{(^l#JMAxmY72T?phQ9_Us0_iS9!9>>^?=^Fxz|g(c;`4nNQ;0bQcG_T->x`EzwvZo53~|mv`rB$Rv6n( zKUDFr{IVohQx8dqv{#o#Iv_idQ*1}mN$UydygT0$tcmjV{W;a$%|FTzw*D%gW!+ud zk&bbao_yaEhnJs8|E<1DUe=CM&d~j)$ODn20mzlO`uG%m3%W5m0=Ia^245Qb2fg|0 z0?W%jMT(tG9f?j+^<+a#$r+F|E%8ltiI@o0);$3{FYHz!uMr-Psp&DqRnZDbGk<@S zK>sr-B8lP$5agQ-CVG2>K8I6%)4c5h9sHw=Cd+*bWE|*R6Dadu@hWXk!~W1e;R>)+ z@gc}_6SQu4GqznhNHdwT%7>~~;}4;>vMMbV*lyU6kE3G_L2)LLrH&VOs#=bwge ztvwdH>uVZ1=WQt(0u7C5#7Bv8&3Mt>gbMjv%`n;Pj6a3c`DVqQxKTpixibAsR7AI3 z-aln#+&3YKH&nVrxx}7CE6wyc5y=5j@p^2CYO-jk=CrgOFo#HH zFUThc�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%0Apby7ZcBHonf;(>;$G=PIy+bbZ_|oE5mp#gQ*W zb=cpYG|vmy4Eu3+o-LzboB2d(S#_FakbP5Swi5`9H=PLX3AFa4;3*(B#6MedMtyb{jwl>d zndzG#k&q>l3Tq~JbqWgG&J_jVJh0Gbyg`K91 z6sn%hl!6>}jW}j&#h>j;|Mf9_&29Ksn%|&0Iv32ll$Y>rw5zb}K%h1W%< z%^*)v7YU!_j-)^NGeRjprye2ANP8*j8zs@kVVSxN@e*wrIydefmSJcw6Gsn;9uZ$J z3PyS={)o=%rz0OVO36rtMBEPfJSd z8P}lpo7z;Z)J%D1Y`ur|@mfQg{b^K~^t=9rEGA}7Op7>a{KAZvHH#D4=|9FhqDM#D z^k1>DSY6-*+AMOIVzwl#@2J@xHzYnzyBl?2W#D)PDv#GLiTNVmqqK^uc?#X)3)XjZ0aj2rK9ek>mw6_L z+hObR0t5=LfICX3t467pYhR-OQ@@sVp(n_4vFeBeic)D)&;+g$ZpUY`MWjHOj}HrN z z);v;gh@ovU% zP%l0%nnL#vIZN*r-8Sic4QwRu-k9QCVwvM=TiW@rf;dzPmCN!^77nT+%QAw9x23<# z4pYs;c~CQ;fbxj4sk!pe@?P*`Xov2+vO`pDX&&HHk&^b<6S}YDyl0L3N7aeK-(?T% zH!F@f0rLgRAn&!pZ`70EKWr1QT6a)FiRWmy%0r3gku!?pN&;R@JQ2QyuEA5$G*B;G z2E|F7-qzfL;1T~`&SlyXx@^2)KULkUxPH~RzoSYP{+jWxUNKgw&DRxOEqwF0q_U`D zls(|hAU`|j`cK-=hYpda@i)j0-bFbE)CP7FS`UA2aZR_Ks?ZlaH2ta0D4B0oddJ)B zZvGl~@32+yoY@WD|KX7D68ATp&tAg*N15odK-d=%{4Uxi{1Ki2&xX#Ty}6;xMXZH1 zRwYa;5&Olm`0S`JinS508a-7h>SJ-a@NcF+yahc^4|Y|De-qC_W`|AiwmR8aCYr~r z_b$SUYFw4PmfsKw)D6*(y10n20+LOGo*EXzeUR0{WOj7q>cnNSA7t0!&a1zQR|@M! zNZ{`5TFDAqk>ESHS2>%SDv1N9u_d~F;US8vTnn-Zn+dVxP(dDe3wkeg;rG#Rh+WoQ z`z+24+aVw>7Hn9vhTf~#CWpZ9=umX4VGdI$Tm+4yb>KsC4tb9~8MW3XQMZ1GV33%7g?uYgQM;Cw2-u}-=U&u<2vWlh@R#7jaDqLf{8dTSzpn)we`s=^f64lDsTjA* zNoOcQ_>O0A+#)_fDnz2~prj*b^O?b8$bI2gZjH+q8fx?TeBq6_lp9mE-rT}DlDCWv z3)Tv>c61Lu_FbYQtU12U!3dC5G{)kU9@vZ}k|W_gXlQpQCQy0dl~NzI4<8RG8I4c^++q|yB&>4W zV4IOMt(L$d?@N*q{1s01nS+A}YpA(76k>t}_S?>ep{dLOvLDmT(>Qz|^NR0d<=VQC z0of#)E2cpm7tLp1UxdEVB5t+!E4zVdWgAf$UAZB`%k~t}IS03s)nStiTh` zZKe~yYkClCD_breEEy0xLEk+wMY|_rRYWU2#W;jHx_I88)kM-jK8Gt3wN^F|g2*kT z20W42CeR}Xsr%eB&u&MA$M4207uc-eTq+X)*`BJo@QIi@NFI5e-KJ?Et*xjPBaOD! zsWP-OT#kf!Ta8DiQ-p&x90F>auX*{z@>=G0`C!iI(l=#8EC2Hy@tt!#Fu!wTgvTIy zXd^scbe(A&9!V4mQr(}}Tx=4?8y;j=!8~#@wu0&=SwVgSMu!;beb-oS9H$J{r62pw z$XRx`vPyn7VY_;TzB00b&RBDr;br_UttM$vf;7HC0<1v|&t$o=1=^$-Cb|-eM!TwR z3CD-U>ZAT*pEK~uJj1QF-z2hW$S1W;ciygCQ?kC&US%;h_ z>EI(+4Z>_sDn0yxpZD*hHxdWE_31Ns58eb+hs_4&^WV=E{};NDX)etLIL;>c2rTAW zvl$WZ{29uva1*>E3X7G>H6X)QRSdBmwQ#0Io_WMr-*2Cppz%uh5&n?P1?NaZSOAzJ z84bJ!h7fzWA8a%36}DPl2i?sZEH3(o0nORP$T?yIbX}T4H30>IaQG_wK|BqZBRPz9 z7c>(+0xlzs>3@PLp*->f!wNf!?$Huyh^zsfa!zLAz-nl{Isl!KN`;?dcIbO1ryF`` zY!MS97i(g5^a*YHngslY&ZLhsHb7AFvKjz--8t2~&_D0?6az%H; z)W~Pil9azmu~9dY^z|-e(5X*TekGrY`4}G=3#aJf9`l=m+oBQm2KXZOL0BK@gaG0% zP#kg!c+CDUw9NO-w#U_n{{^)Xgefl(7fcK9rPm9LTqDs$bU$sue^DnWDcV|E2G16n z@m=5+upy%1l88y}Pu3&OdcL*RuT^44;n!_H+Z5mW(Jt@A$G*keN_Utz-zO)pP!6>O z^x**D!8ZuD((RCs`bnba;-_2_gkikWsqP`fzu*?%8G5;FCariGz5hJdLr_TY7sSF@m;W&?I>u# zj1fxk3zk*^vD+G^gZj`wH|;xVd1pmkwXK80{a7)SL=9qR19e1k`WF!$(?%vXN?4bW z9F>-|CvI!X3{87|XY6rwFX>b8KhaYDym{Im5`OTfqMIZu!cJgS_!}F;bdh2p~wX%w)KISIuIT!IbK&cY25?XexoA)0gH5uzME>vtLc9~LRN&XW-=Dxba` zGFXe@p z-U5a}vXEMk3a{cP6YGS%Xgl>WSmGY!-x8GiPFrR<`d0S0PI2xa`>`n$4$q?AFbhJX z$uGf9>=xv3U>H2edj}Xp3}N)Zv+zoIzvBh9F?0=31V?$NxK!b#)P%4{a~1o6jwKth zSg39II{4Z5*!L@x&VDhP%D+3#ns)tK_iw+&@NaYRxa!Bj!s_$36UKS=?)FnODY_MS z46lUxs$PN;?Mao5_e?hxU6i&Gyj8#DeUu5(7wTc?F7abICwZ)SrJb+X$37-MvU~kC zoE?Lxagy~Z!z-<9Km9{|L1Mp0LJkJLvD;X=_@d!4k|wFIJ*hjXjMT{tQ&nxHMpY|a zgm|)Qsq_+@06iCH<+sWh(;1#@y23&l=Tx2u9IuSDQbDE7?=B;U zGE2QW;5#da94sAN0iR>ugdk(C<912dnBkpMUDskO>0&%lPWncW{X8jz9*^{%6dayad%raJ!oS2dh46cNv2y;IoB9r75wtfvTX`M*Dwu(;M25mWg^##Fg4?0F zf^Lu!`a_%tGriA?F5=S}d8ixsRsNi?GYi>LuqHi@yDjcWA?S6qm0}0HIDUEjyp*LG zsfimi{s%|KzDxRF!bE*Uiaz3G=o;XF$CU*&=*$#^7^0wMpU>BuRnJJkPH#V-7 z;Z0QU6s0btJ%%#EN#T&wL2m@_BMuQNI!+Fhy@}+Yz6PIUv#h1872F4%BHAV1O|}K= z!@nVl8wP8z2&Gc&gapc=3ZZ79$fQugH&B^~V6IE-Vy{#$S^=#Qc-TrTP4*W32_}Yp z%xW+QPJ~{dDEzMuAtMKg@M}ZMX^h3(!L(-Cr<)=>Z<*-iXrSWIzc#jd9<_8#5;R7t1&Q6SD>9NCj_lJBQz+Z_rcql&|170z9p|eLRa`DjtQ4BW4 zWg~=qp3WM*G%i;@sK(N$irTvjwdAD{^^~>LmC^GQgMbClJXuWWjsols@tr(OvVRCxUy|?9ZRW0j@q6tu4ksf z#djPxAjUn_P`7L)}fPy9EXYzu^nRQ-IqvvPJKm;Ko@l(asqrH9xYjm zF47)VxiMIk4sh~6;%?kC!9aKf?Se)Cvq=gqfO9mBu*ZT@_Em5wF$Tzi?lXzZ7CwLf zle^B%BJO(65QJqBevjx98Y+kjL%<-i29pN%W7|XDfCq#N3=tV24K$IQ%u&=`-^XBE z*D_l#?+^Ps_brAAJ_I7TAiW&fNWP$&3b$Zh**6sqlcI;nS;=o$qZ7V_?NhYghqQQufv?e%^Qugr6PE@>YQMXY=vlw>6aH8fizE;vT ztj4AUH}ZGp_rOloX?(A6sdFom6<#db&o0nj#(s%N#bUIPb_V@ce4oUTgECt7RjB6a zn|Yyu=q2`b)UwpaDfQD1WUSY9)w&Yaf^EceS*vh@Kpfs5AcA}GW3HjTmsLXNP1};7 zlp5nT<8Mfj3wI2_L!P#r5osu#E$XlAFB!wuWVU&XR9>(xbpl!*Y!^J_%W>E8%_Ik! zfbs)H+x`qGrc1xM2UWeQ+;81xZtG(F4SdsG&X5%v3Xf#Ruvzln%6H<^in}6O5Qi;9 z|3?{wVfq=F&wL2oA-njdItB*Mkd0mA@lL_zLT)55dVwb{17b|diEf5Z1UI5BXS zc*u04mNGSg1>qf{o`RpkUWx-e1^Th{p&nM>mTy+(hoM=o9-y6vf-LE*4Ok>ca^x>JJPG zPo!4K4+yp+A#f4cL!=Q86`mE<;!U0b*;jTd_&<6AB_c??FYl2a;k)j<@4ire#WB$V zRv#|$SXLVETj%*dI?f#=>qT)4{SpYvw6&8?R6A z^K~MU*%?T_;4!cTR*8k!KzXcgwhGal)LhlJM3bOKqS>s0X->bwuaf6ONT{5A>Xw9r zo}hPJ=x{heT7xCUGw^e~^PqQB9p30MqP|xBQlbK;p^ZGR#Am7`Rwh{6=(Sisd@KE0 zanv%n=$3tX*~{v6j^nO8b_TIfc@{qav6b_(A@Z?*mLb|mTq#*;oT#ti_5*zCsWir!^S ztLi$hkd=;X&;C#|`V_cMP%fG%c1hk!E=Cr@DYDbyb`%pFWf_1Qo&AD~oruR6x(CLx zwItJJ?G&@sGVNl0NODzsMm;X_S42zRZciwh%9ko1i|kyoq!&;U7SJ>~4qxg&7MzT; z%sFH|Z$Moj`We;%qB3loHH^E>ssPKP&3!x@)IN$0#;}n=zSOBcCF_3~vRmfrU^<*en|-t|PvR zCIeAolBd+?!vB#*rnh7Qm>PZo*99BXsce1r4D}_%_}b!YeA`SCuZ7DCFPF6fLGfx? zeMM98e5_aOT;=AtKgtb?L*ePlUb^1M0Y!VDt00;ca`6BZigXwQZtvKj-o;d3H5w}m zOiij+7u7FoRWhSAuW)z8t;%brPR^kHdAKQUXUgdnL;~AKn8Cl!9bu-3Mju1dAV0%_ zCZHe;Q(ZZXwS{g`mVnOt+kV`#kEckCvt_$3Sf)5@*c-cMI*)lz^DWBsKs>qF_lIna zK7tZd-@qx7<5-$TsxFhiSF-YfQk=aEgW)X@6#N9;qSu7#lLtK^@6!N5$$bCtroJ=4 z=is4m7tvFuR9r{(0{N+4sB8~(&@{m}!1p;ZOK@wQIl;43w7k2nvJ9svIrskpMSk#TEM8m426_Ty`PN_o- zMN!3u;RzCb@7M;he$5coQUjnlCr*{j70;FbK=vqhA&oJ)w6^lKtd(kk>^V=Uh*me0 z&qpISEx&_mhTrV3T+h3G|=MN@gy)XFwWBHr?^;YdhXjQh?h1a1mYU5 zBA&gnNl;AubhQlBt?I)b4OE3pHrhSNTwZmMZdE;)nrk~t{q_I$-xGAD)1(gt?GTZt zML4rMmEPybv{wX*%EyORl{}}i9e*UQZv60=or)KlO7Sjqfh;86Bq9n3({7D1ZIrBo{{g7<hi2l7_3H43wOoMy72TcjsK81+$6sy51X%1C8U z5w9Af=ClK4qfNT*q26sv@x+S_n^imcp z?j%o_{*vwFd7hbAO(q^a$-bv&Q4^S)(ER`$_|FZ5c6i3SZrPf z+eygme>?{*JsmE~rGl5nvcGl9G771pNoD!&Ug105&%X1H8Tb_UYO(;f$`&gQ=naou#~y0PkO@BwiGJWBisj3w7_%foF$Im9D=M!(l{&qD;e690rNsGEU53@Wwq zu99E!G*y`t*UXK5t9&de(9DvqmZ;FaNL^qtL$Qm19^7XCOR|QihQ9^T!eesu^=12J z+Lg=+C|(vVz9)=^{t6yJ7o{~NkVq^&3Oqs|VH2W0OG!zMhz`QVI%`x!+=Te_q)!p1 zxCTiVYW%KoCk{>yC*F=JRP0vgirMJex(r>J+%3=2K2gb|@9Iy=ENBwPkX}%b0H#wht?hCm31e$nex;K$t`~Qfio;vtX|61$k>dewk zmHNt&<#!7QS2Zdwb3O6$_ebt6r$JG{Hs%yHH(bO-i#y9lD=p$>;x^hq1%6gZL4Uka;H8_ zm1b1bv8VJ=*|8zwhVnW3&0c+V?J8%*@z62iG*aI(#ox+)+vN4v@wN$I?jl#AcVN)t zIVKneI8-$vZlQhjm$WC7&!m>=w#1G#B-c5gVvH`2Ij6WJ-^EW~GbKy0c+neert+_B zoOCL3R{2WiQoMr2;nVb7!4h8s8V85-)3X>~g`hXTd44CtAg!lZsotvi96v6DmhIGx zi=R>RaIJ&sA8WpfI}pQ4aXL-B2td&`=wB_O>dLy_*lDQ-K^mFUR66a?W_0yVSM+sabc z4|>OXr7k_0mCfYB&2p!=>VL2tD zUQ@?;yN`}(6mCs#r!tv3!3bgq{W!2Y6tMpZ&GuYiB89`4_uRO{^R5V=$JT*{jPW>e*;%W^pcJc#|kRJqx5Oun)-f?5pkE|B{dGmj*jc8 zdS-Z{H0YW~&Q$JXab_9nirgP@4|yqDiEdMzQ%};W;St~yp0wEp+XmVsMUp?*D5Wq$ zf;CWIL1P6L(LC`S^c8#_k;wsBmaK#L12_*h@iUlh;nL7K>RtGLU^H7ECXgwDJ=}FZ z?I{5og9>ySb6zx$_z>#uIB0h`T9~_f+Pbp;+45f%ekt7JK2^Tm^r%FZ+oGs(esOW# z3cRYeySt-_V_!H+&_H||90rEOZDq~Tj?gczCpS>=7JopCeC2q7_dzfZZxP&1W%~;8 zdY+A*9N$ylQR@uH3EL#^+29o?UkNxG^Zj1jf8Tu{pT#s5y_28Ot&F`NJtFeCjsVw) zRzh9HEfgidP-Kl2@eg(FcHOBsR`%Y`Rvi6vvhv$xlnGfn_uFe2uuea^PdmFBvYrtb3>QB z1;nD@Xy#3D8`(4Tgn22_qc6dlSf;cEzk{8k9v#8Y8swklWrk5vb5aI2M{7$PG|p@t z^DpLO^4!>KHG0>m86zuG<)Rt2hwQJaQrwZe|7*X^=@C175!t|Rpq5wxXNZ;x zmB<(1J~l^eK?i^-KpLOG>;=3Fd>dKGe@Zn;UH5FMxZ z9@9?}YbcSnmdDCT)da;UxRe`@Ulos_aEMX zS)m)G&P6kk%cvCi6_w79XZQiA+T|Wk?+h} zWGCESTQh!eBo)6_pQgGixS|=VB%|g=swA~wJ-sK?!gHN=d06L&;vEGGe{$bv=B_Sk zYOXFZnbXX#t<3_-bP{0-ej}R-;+V_A3vhz4HS`d?A*c(EgbCy?Z_Y?Zy7K$>a<(&U zWLol7+KCYAAMF+RuR8sng_c(4)Qaw`*#jg5A)1(RL{UuM>|DH&%?)pNL)-Ez!qE zqDrr7fC5B6g?Dr5Yz6&-$qhdBMF)m@R@v2_dcno`ctI)C9~cgPAp?Pv{%?2>!URSj z{}7?*mq^S_LVw7mU^^&_`wQHH<4~`(2Xc#TuIL~;FL@(hA-!mLrh<_|MKhgJyiTzb zE`WS$FY=!pmGn@jr|#EM@_7n*<&%MkC1 z&`R?{&rvvDy4ROuD{`0n-;i@?G4P3!cwRfxTz84jf=j%&VDyidzqB8YB-)ioh1~qJIKChn~;O1{wq(h5mZx1^0&zdEUA7o_3Xwj7MC*a5vHg z+9!BS?h!0yE<0qz6!f+)TykVvPK^Qf+*h3rQz2sGwhZmm6_wV!`m zrO5fkddyns6S%kex|=~qQx_80;p!Wz8|WJ7ihI110`*-8VHt{h5$L>4(^oT zEY?T>0_ofsi4Lh2nb5kTyPOqoj69_GSk{zu`@G}Vm7JKo(LZP8loq!5zSR7wtjLO0 zjle+WNQc2Cz|s)$(Q(6tP1>Hlt*afbFK$8EG ztvLMfZ)0JwWUghIC5f*hK2*YNx>Lw>%B$d}@q5mV9hV$u&^x|7-4rMo@xi?|x&WVm zv@>iF4v4;4wuAp9A@9NRJI=c7^}?@Z?Y!rz6U%xD`#IZ%uK^>2$Dvt)K8~Nt-hoVO z2KZBQNxTtSulQ3sTDCMWtnzx)fy$w5Nb9gQgj*Usf~I(qt|(;I%u#HYq;WARC21Kx zEFqEY6O&prLw-zro@-6LB}Lem;xCC8%sb^xTx;VG8-|I+nFAP^JdVn1_Y!}S+yWRO z;bLY0{n8Gb*VWo6vL*E(4DmM-T#>oy{OqULyKV0+KD%Zozx~etL=gviOP!AU-6um*8EIKE?IP;RKBnO zDC930Ecx_xso-6~IPhszP4ispA-y>mZ~UL&R%tnrXAD4UXJL4xTo>$tGRlv-_3~e` zM2(dWD_6?qNk;PAGdI~KFd`f>-4!e}x1hvyt@6deYz+j=B+FEb8J~Ndfr*%o)Qf1F zmZ_=~KB&iAWs~Bgenj}=l+uyPELAP_V`P4m3xNdBq58t*p#*$n)V#`8bT!-4IRfc| zt_5txcG)*!K)yuwfRk&z?mTjl{+{TP%@)xuYA89e?w!;+X`+a;4RfRGiL|vlaFfyw zS6-3+=2%S0tuNDoX@6FW=KOmg%d+&6@ATo;Z>h~4lH|=$a?N1gxmpKs0TWK~F)vy_ z$!n2h2cv84W{*cTj`>tjTa)4o!J?u`sh#}Cftcv}m4{^G9mAAP;t6rM*i<;l`=e@+ z_<8lViq)Z~uJ=_o&42KX(iOs2K`YO-{vzBQiX|(&Qe;r@U+{~sgLz1Gsqv%rLaveP zT@(l%32gQH+@;QkihkwYz>&`LV0?Kamxy^|{{-Es7OY1=l;dNy%`xW&^_62yH+=Bwtd!tCz##-TAThfU>?Ay+CkdzB+i;}?i+MU`0v{N04 zmqR?~RNg%?Pp~0VfnL#mk8T{XOZyk8 zleNXyG~znFUABZ?<9sTb;>^NbR6@ihSE1^;GFOtw<8|=x`dZ^aZ&LV(y)I7lykeF};XO^( zg;qKid2h*Ggt=rS_o-r6wW#ux+hFpRe)sILohXec-|VlpW}8!yOST%m;xJ9!^ZcZS zpo7@j((bYakqFRPtkA^aLfyQmWMMNPN+TCm+sZW)*?nYVe;w&zm$hIA@|U0Yj}6`B z1cG1GBysoHGl&aLS7bst{4VGfC0TL;%;MQRgjma<%# z2DiT?;&dkomh2!?VV_E;$U739{U@nn0ZCPvhoaAn*4W4P1hrQRsaf?0B({+eF*H=c z`nJ)$Mf08XDfT8KF;qMGh8$}5F!tX!_;|tUDgoTHx{d#t@sE9my@%rp zQIp>;sRtexboAt7Z^H`FF;R8Z=qLrF6kJzZqN@`W2{ve(P2ou#^h7ZkuFr7ia?rf0YhGEGdq1*?3@=mgJ9e43z4`homGw5*k9Y|kykS4)Qr+Dl#sY+9G< ztG_JKp&v#cDCZJPAc?U2ydvCKpPLMa8*Ahiq)s^#a_q$5j1W0{jjP&^^+u z){To_Q0u1j5i+Hrz;j2EB$*k}y{NtJtm=qG#VxML6D1Z+B-UBO(>Xui{dKw17_#`)3}U-^|Q!9nk@G&BvaZ8noTnJ zpGawWu|2))xUI{l0*BAFJGWES($Y%YYK*Q-vMU|Et%1N7U=SSb*-m|suJ_4>%dlP2 zNKq0d)s9u})IAV*Vg?B|vfJJD6s`O(EtCCv$69Z~&lJHH>l*LD?_+%?*MAjLZK8^) zzL(`!fD5jNf^gu8#E1+FFVPr+?FAjs|LG6LitGF~tb?~0x=5C49?EH`KKi#>6RHyb zatO-hp(H`?5|gASfBM6Pd3rS>4DU?n8;q^7nb;jON8LrWMmtS8C$l{ZG=2dssr^bB zTN9Up5oPsn1Z0`Vu`4yZSj7#e1I+{nv8KN4$h`L+h2A?@`7wCiFof=EE;P)-hbxT^ zXI3`bRM8>1zcwxAy0j`QgL{~~1R1Kp6!p>nVw{Xq7=oIM7gT8EXsA{BcX%v2S>i+& z$uHAd^=f2tba(Us)+9j-#UrDHA5@Pl>5=i`TB1_nGHNt&$+1XZ<+?0e7#t;J0uM+= z+SAirzNq|(q?!A=;iA8tjtMv8G@+dp`L0fucFY2{IM^aAbJXKn zk`Cto44nl-6blrEx4S!7x&=iMRIpGG1rae2JF)fIiQS!mfgOm71tJ!L7=(l%oeSID z9dCXE%go$+&-uO-{eEl+gb!b(tZ@G5Um;EyTm{jH{ClElyzZT_1u8jat~pk3bDYAg zcFxwc`5Ck_BU6qA8C2(0GE{=`sQah_M~gm`x{j|`gEW=O!o^xxe=I*rc(QZ8$zuFRu(VuftVdzM=ZH+-lY~pos-O{EE_W1SPs9Zvk#m%! z@!U&ukh^^`kQm|?&_DWX*lVQ3HPaykow1#=|FBuz2=i{M#&!ucLAwL~qL7)Bq`u6kYL}iVC9UR9S8t*r9cVI=toFR`r6X>glp?O*CuS64Wi{lS$1vuZf z$*ys&F>JIfg>JE|0S(2zVC;r|ilkB9JS43!@U#yfG0y)hxji@&$%uT$!QMY2M=)$v9>S_(Ac_49hx%BKiH;y1mol?xT6!W?B2UO7SM@^Q2qOLK5 zdX3}vPWkNKcQBA-mRa7vOUI|27c8{S6uuBa4c~E2si2uHKcRdJ^Ht#G#{|peo~jYH zAX7;lUz{)2iu1ZNP2B^s{_UXSB8^I+LyL03LTjp0XQ@+|q%i$gXoABE=Q+2bO4;i{ z{*Wrq;m85lXj~)EsHg-Cm~-JnAeX?MxJT3y^a0Bo|7Wyb5|#mC_TfeFGk)V(5E`0Z zi~nLjO1OdUCcK5You|VBd?6S&_7o0;{TxK_orCHlOar(RC|o=EF>bi}i+(Z%Xm~ha zC?au>bQo_BJrXOWlyMF-!(55sEyVa?mF|=f6E}o*i1`(>Z%8#*K2ofo1fC_MkjJ^J zO{Ly9WFIK2bS1oh{S%pP*jkD;dNS`K#|Llt*$kHCj48O{z^q3neX3o@&3t1>kl<;!3BVz@N9N7<1ed)pIU8!fNUi;Og| z55^|EsDz^`T_cQ8${cdL>j{m)NGBgL@yNhyTSIj{LFmyZWjin`S(xs;mT9UPxWx}O zZ0)M#FREJ)8TkiDu4;#f^n(a>F9R#i;nh%&kW7$g9#{^8y2ew6Sr__&5gWFH$POR{ zi@n{Rk(77L-4+)%&`N>U8V;F^_CDD{2u?e}GE#gOSEZkXD&SnP;^8@TJu?QeD&#%p zkr$LY*_*+LW%>ud=lS~-sIp z@I=ur#6QIbN4I7eIGcXLu_f5#@r`_tk}+yAK8_XTIiI?awh@`)y9J?yy@RfyO)??C zKhb2-Fw-^VDvLq)-Ck*YZU}Ya&g39-fMSL;t8I~1+7 zY)b>;m$lBlR{@cf0Aw2kY_`13@m~MJ`LS=DbBE)uP74~Yt1)j;EW*VbXKK0Ksk*b; zBJl>cURb4{ZkS?>HJ^dW&pgFat}G3 zw1zU4)J9~Hqdl(S{5^ub2fe0{o4i8&z5SEeuPHA7J1n}_1D1`J1Ixm)abMjjB&MYY z$jzSb$rnXfuc*&!*V>BB>6TFNc`niC69Ek>M|<+JXrZ=9%q1AoJ{m>BjFZ$m_Slc; z&x1~D+@Mu`F^Y?WIt0NU|8HO8nt#d4HzF^~;_k2fS&iQ$PeeZ5y&cE($+qhq3~`yh zP*JKi*@|s3;%vokFD&N{ZkZfR{X{HFNs++odcOI4ihX_cR>Z4)f$Li{T( zoBexsyIb(e{l0&?;s!s@NH-p0-Nhmx8Tz53nb3OmFiX zYA~87X>tu0{}F2yq5Kxf`OXz?pTT}-ggC$`ldUsI)NbQhsJPz)ecbp3K3!kvO@-nJ zA`cq+3M0Z??LU%qi5-nx;#GtUhn3MfP%Xq$?zyaqh7+WIg3I$H?KT2TFNQ_(fZP9=Ge zETgSLoZmz0`quSPm=3!uhOr^mQq*tFBvJzyX;=X!3n30|>jLM>nhUD>&hdg5%AU?s za(Y9qA*X*1bfPkf*zF>j&$t5J16a1<2o0?ZMfroaqMDs8wg%`e^K8Nn<24{Hyw$nS zgu|}4x~&9@Lj|?3m)=r#ns2%0n=+9ca4Q6mN>b<3Xo%Icr*sX1%2IfYp*`bFWhQX& zKL30k`l2~yyZ{Q4l|ngvten@Y~pW74e=rBI_VbbD6O3K1s6xcunC@z zXajxXJ|i6u?f;e3_QM*r9 zAo));S!?VM6JIb6(Qph(%LikyI}ce6?MJZa+wmKzwbUu(ue1cpY2q&GV)8t63G%aB z1=<7O4$9Wv)!wnKQDrJO8!@Ua(pl>J+M^n<;;^pSv`BJaJHs&BOxL!mDpeJtS)vt! z7NwVYq~n0{ljgB@CP3l;YDB6}%0>d!ZkMt}s#KpAd+XN8RQgAQ0Ud|`&K$tGzV~dF z)wLgKi>f{?G0D)4UVrxv>_mYi2K_SiWVBALr1;=OeF|`{R~7n1&lpEq`)A8o{W#1A zN3&?P{6fbQi-m8dtb@*EjV4~F?FGj$R)%^TD72xjIV7gx@z8bPIMY_xV&?`|b>}BU zx^pQD3ZLSA#oA{ofWC46g776?M6>#e<*Xr`REMx2D*em|q=zTDj6TT7_rJvn^}f!^ z<6R2xrY-RM?y<`+(aRL_*_XgO%=Dt6Xu*^PUgO{jVhZ69I)Qi%8;kBDNvL7uv%GG) zA7&_ALyl+oQb3G@*jw}>j1*{;@iDo~Ta-#X8r?!$0A&*A5R#EuaJ%^sG{#ngxrZtQ zuQrQaUY5J|e7(RbvyyZSJ407%B{^cSb6oFib%0&G!h8}eaos_@0xKPB;d#!xu1wHG z_ygc7H_m>-br?wAZ?=zCm#N-p(=;DcN6cXBar1OXoNbB?WWr;%U#q$(iid_RL zRS(}L#z{U1x_f^1{}$j>OM92Jhe!nNJ_6{#3hAou&GMH3THt`Mq!QDf=kJ1u)3H#g?8mZMKj@RCi zjCH4rMl1T;i<;5O)dsDOss4wfG0`KAcp`xo`*v~x??k{tbOcN1zmgHo8p*}cM%%^{ z-Q;k58$O*YqU#(JfZod-`8m~WN1;1fBhX$|PPgD(8(=W#0r!1-q@H4}hdd^ng3u|o zgck39`Wp5!E}r)`V04f>cn|MsSRD^AF$P|uZ@ z0_*`j3BR%LP$!Ay zFeWOM&9u%Yhl(n!=OuQd|~S&PJoH9!|f!1aFt0Oj!%H7X((_OaWQnhp+x@yf5zq*Ot<3s zrv%xe8gQ~U!W7?gy$$b3(@jEt1fTPUu{7RGDT_!#>N#5>XfxtdP&nZ{2?syN-X56e zKZ2D7&LJd&7(>1?Ln+yyH;C6bE6*!pIp?LvbaX2EKVlR02Xry%8t6RH%G`$Gqxv9x zbOdZU>L`33bS*3aD@0d0-+FfP-bQqI-J8Akve@zxG6dKHj~0W9@y zz*sd=NR>?Hr#)wcxl=&C;Mdj}_7{k6n8`R9 zawnPrl0$mHT1%>9BDfgz0aj>7m=A+a!ZYA0jzN^u+-%3WuA2{7_d06r1%O}intcN7 zlGfYqaH^g2Y?0t3`yTsqL?3hs_84RhfkRw`z6{?@UP2f~un>wth0p+)H$K_f4L{`A zfl$*fp&XPGre1fIF-Lzu!*c@Djd3`$FrYqS?U<6dkKQovdBlEr4X=~M@-6~>f}aNC zP&t-k2xjj<**^So+sM?KAD@@|8KCe74 z|Eatop^GyHK>e1US7LjAtmv}%NzY-GT=QOkK%HuETVLz18P$&UhC_x3`&-3$V~1&~ zEn2(9JX5RHL^w(fT*Er`J@GTyE4^*7RFy40A>F3X4%+pta)$}XkSoXV-->VA*167k z=^*o=BAZ5*BY)sJNjRl^qh~5n&Q5GP#s}F0|7wY__;^j_VrXIXzrHYnh#BB@m;@#r zz`pmmLTtu-M{Hrhx&JsYn(-4V>PV#>w3^|T^n}zon>Q%y<%*_k%V0$rl;r5d^ zvZ5%bfCe9*P-{0Lz0v25Jz}?1BTLbTo4=^zjLBjUVDbs+8POjoI-`^c4+)OMa7ol;P|H^c zUGjBixcRdRCQnryQyx)m)2vraH@wjWX-AmMrc%Rz$f?xpF5wbLXpel(|P(8>ks zJjFqyPF}1L>1OBzhCkw2)&ugdhD@!~#xgqXT2r9i7xUb72{RJ82_0mc!@l55Lr&!4 z!Gq{?_DRIIZV%W}7n+dh*rY`}Cc49sPQyY(s2c9j8jibmf&F0JObBu;9Zkt%?_fb$ zsT>I7809fDj=Pdp!cAk<&Cp9o-#}DIB<>l`POYY9a|S)`@m{j>JzAK-oC{o_3&xmC&cZE0 z??NN6lZhAbftYWwm9TE~G}lTr4dn%y;;4mv!=<9~U=;f?_gRfmQ^~cvYFD9Zx5aX48kl%qX@nV^AeMEy3!R@H=(q1fg~e z&C}EAJrk=!ywLYsSAhxSO|GY~7W97P6Y6U45}3ge3#~DYwA@hiNIkW~RRTw@bbIfe zo;LoxftAW?jZ1q$I$kBSd{8b@Ds9iq3l(M73a1v_OPoj93K)rg0Gws6S1&_JTSfao zk&xn00!o5=BKi_+1Nyb~vm;f%MZME8N#*BEGv2igR}3Jk%*R3Jf&5<~c86;TRYrJE z_Qvh@IZkY+im7L)6Z{XdUvb%Z4x7wk`)j-t=>O5jQdH~>m~iwdxZ5$=u>^G+^b!_= z8|vtCr`Qc9k@c~&(-s3xcV)pI!h>Pk@Xh!vW(#*A8$wH9-D9|!7dZF0C+PQ>fYlYH z#Rw5kL3)S`QtV1}<=f9d_8Fy4E<%d<Md6;~(Xr^?8Vx3^7aEX#74HN8CZqZlt zbtpb+&#H*71@=Az8pX!b3*&|sa zx~-#H{4AfWd1kxw9dw&x z*-EAgD~*@jmx-haqTv#QT%%mBEVUHr=j$)av9gO+r>zlDjVgppwbY~H$VN^Y$3*c3 zxQil=%yXjedp|;el3g0m8l1|U!5Tx4VBPl^&iF#g#G)~1mbX_ft%ihWP$?0(D%K48 z9V~vHc~;fl@@oDtbl6Qi5ZV)oUIf!RFJ7Kjp zq57!MDpf0X^ed#Jx*J7*`3qHBgjq6!JY7|7yeux$MCzUxiH1}5`=%4-f2OzgOkmcY z5018MvVVgx@RtEk3lZyve8nWAnMgdILAeQk4kjp5`2GBdwyKs-^{!^<-?KgI23|=w z33%#Dn(>mo=1dL99Bo&C+HDR?2IvCl31T_a7hVh*0>y)0LYH77Y(CIn_fXhf@FCYC z&=|v2$4yI(ZG`44N~SxZy=s6u-a>VQY70&cb+_9D&QkCt9E`NcdEKQT`ZA7E^SxKI z#*-gVegp}^QN!m3dGlC|iJXbHfo$vG8BaTrVFu|MZ zFZ7ws;xVm^07e?a#0;a3Wco5Wtc5fQV+AXll0*$4Z>F(vbMXJ+ZSWP?Q>ewLCxk@! zFX(K<1K=-|0om`K=m>#6Ku(3{!Ljga_;_?OHV+qv#UrO8CZLC)2HndbLRXIAlgKFK(tqOS-M*#GN5hKHDt*NaicP!XO^l>8`Hk_UmU+rGP^sz<#I*9ug)L;I{SN| zb(C&ZuMa=7W3k|HZ}-53fpqmp?W@7ficXylra@E?l!!MVf4x$5-#x?-qHquTCxxPW>9*t(})xCYZ>dvEtu7$G-NO~38Tl^m}8m$kl%^HwB_8I zpfAIizVmo9cz2o0sfWpY&jH>!b}coJt)ny&LNOL-gY$sXXy0M_&-xokqQ?VQ^z+7E zd$Ya5k>?(5(wVcZYaE-Q*Wl@{YRp5YufvA^gDJt!BIn`kL>sf2x&;|Q?4looFGP4i zA`D}-Cltd6liSmOdbTQS&sXUimo&=$zGY# zRq@^gHy0QzhFYMlGicna-eJHRCdgxzMk7SKLoi?Ty34!cqV!_V`*T$~y80`rG}Ba{-i5nwoP@<}oY7f-xSQZddm2B`wt9Xf>` z!f-I~jH65!V>4qPO-O4XoFcBp2w~^(dobsbkBDj5Rk#Qo8~vPm9#@B5PM2X8qjoUv zutXmFLN&wvBRBc&^5Ns-p-0gqjDWG7-ouy+e?dDOI+mvO(SkGxfMq>+f6t12JKHn zjFn`x=-8S?(sBG7;v|KiQl}=1dnIlCKg3BgKlv5uTTzC{UlA>5%kHU~qJp5}yFidjZA1=fhh3uY2cum3Up{EFr@f@i;wU8)_Be6Sxbq#TDha13L@L zf*}w~2~g5y>QQ#C7lE^#H4d=H2`NL#r>GUA7o|fK{(*3zDuwhrDvWZ)Fxv{wMX8ps43gDJ`Kx9{?=-#M}+BWk= z3)d29XwX^>FAT#iLhDUioN1-@wZ2-jOcp5FBv}KH4V=;}#bx;{Ws~NowqM88J9SG< z`z+H;W%kGVSOc)JSKZYv*6H=PtUt}=<~}piddWS^wH>|{Xi;H6Z=ErS09Mx^t zw`-%c%_fLu)Syi9LG)9wOCB>o5VUt2JJLG}TAp^-cB(o8dMf(o@pD?oclZn5NLuuG z=p0Ni+8b*^RpTzxLor1Cew#oSXP<$}*BX_jcCJYy>FRjUJ*_jeZ~wrM!5!Au;$QtQ zTR#Y?dY7SII7FOiJ|a7Xq;XzSiTYyW4qzX%)90wyU$2!kT2$lk`O*2~js_2gf8iyQ zeOFFQ9p(bBDMH6X)S`OOw!&gA*ggxZ#Bopled$%Xs=eUo; zOX4-rx5%f9H_C5Ez*CRCUhshVz8J5mzVEy~^B!|LX-g^BsN2a%ObQx@(1N7U32=Z4 z1zrsu1>NdA3C5xw*h;*fY++5|%qIl+)(_MBF@{C>HS-!+0369AUO}Ynw?**{iYV(Y*nd3sPt9>nJ0-$CX-H(zL7L2M@AWc!1@r*S4R^|AswDLc;lN-(=dIfDb@7eG9ffVR{M4R;-VpU3`4{PH{@H;@ ziNZA8J`$4Zz5{;*eF|>?Iwin<-*p_41)qST!T-3%7`EBwTZNKxRipfi9AQc_%(tF1 z5VgIAZN?w!UCIo#NM~1pohHag+ZE;r{5|Mx++EZm=5FpOpJcB>%$~rzAr*d)Bcwiy zz3x%(;nbLYR6c4R!WZR-`iW=&X^^j+nJ6)mi?$*sprp7DI5RexfM*`Z8<kCL=M*vg79LPK5Q^aiO z5cn%Z719Hj2?PH7(J}ZaTqd^OBbK}kdzJoyK)_eiyzz@sDd@u>l5?avSbbQ()0(Sm zm3ifhIb9= ze`j_)Yl-f@J1~22j_jr64nU1wq+jGpftA1z@Nyu9yOK4>?=>TgHi|QpqGk_eTLE)+ zDWjX^$^J^IV^GNj#4ubdVhQ}7>nbGPamkWo4YBOkcB)P&LrpAo7MM)7(I$JB`Q>_! zDTI;7+AgK_f_h+;}RpqB-ZohO?5?CvXXmHR zS?x!=$o*4<3}K^0t7ubf)h*E7HE01k^`j0YSBlFZgp=AyIqU%TSubyn zKf9mR!CmSl_G%(2Xd=Q2;vPC2JrbD=o9gk2Z^rTW7{t(+K-EYy2*s_u|>tGZsQ6-H^s zDX&QZDX{Xb5@6v-_R6-4nuIHWC)rmyU)^EcZ@mdF!hgYf!=e#b%yIHMwv+l7*G&jU zZ$>P4J~m~j4bnu-N$GsasX={TZQqH0Zu`34A3f1sk9*5{umel`9fPw3_asTGd&WS0 ztUl1xWF53Fwxl@%oNQN)MPNT{QtK`n`t(zk?aE9ATGA_5i~fqY4dYsw8SOQ?fP`kOr#Jz$vH>cAS;md0l)A@ z^-*vJga^vTu^{I$<-lHMvqvtiEp)6`C+!uro6hiFPb*-xG4If^ln3m5!f5U^Ithj>L@i9!3jsgggb>=xf841YPwi_k2lRgKjmpn0uwOdPenl z^bc!0-+H)H`sx7gOc+GRoc%4$|qx&o62)o4b@=Dbi16;XTJ5rXR zIb$Ae+^HL;cNy1PA&{Gn8|FRwHKQ?h(RISbsgWDO8ZtAaf+;^X&z2l~#f3Rcm4$L(2UIvEjpx%eD-A-Gl_NLZX zR%!YG@KHA+qT$it-QXJVNPCKl?CQo|$A__merm>2-Um*6;OXI~hOdlV8-^cliQE=J z9kDUwmj{I_;;v`jBo~tt@i*`cR4XLiT?`7e{kDFvL>UUq6D%_>wf(&&P^9=*g!5~XPc%V()u6?d+ zmfzH`Rqm8-R~7(ygXfkJ+QX{Fg4!Mr(P_S~JXq?Z9Hvmp4k}a%r|FsDql#uowx=rQ z=^8Cq`78A}Jz8?9$5YlVJ1V^(-P~!E#3-s22=ye*2cuK&32+T{+T(hRWwd>>)eg$G zMT0wSo!}(|qN~a()}CEby{^$ziFevBZ}@i&x=hp>UW>$b8s(XroPJDz#gki(RFl zmCpIF(Wp`QOwt$DRG>$^iF4KC8C%RlvKas^XORb#)67ot*h$MHd?zxnU6?6AV&FXD zEHuJtu@h`9MuOHyVU#|XUR7UGVfD|9Hx0E$r2Vqtx4~vVZAb)m*+WhG-NOq_^yst*Q!724l7Eu0wckKx9ziyv_#rI zxQ06xxv{o47Oi!sIm-A$e?&1)JV$as^H5<{F;wTZnMSg{%UGrK6ipO%_Pp=+Q(1a% z_WAaYYq>94Bnx*0=r8j3qh7j0(C_h6iDxL=aPu7v#*_A^+Ud@*#tm+`u0r|TT4?mJ z3$Nx7ne&|sDVPSEB zFM~Mjo4n^7B`?mS9-4$n1}{YT!CDa$v1=e~RJZex?WDtMaVmG3B6a=xUm$;L8>Rt< zfKEU(p$16*2*+5(xLkM!!G_uggM#>AfQXJLfqzH+%vZz>ND|VBi^LuzU3Q&sB=s=tf!v8M7mIZ7icp}G-r*e zE;V#K+64E*UBum?2azA+ZxWWl6`&d`$6TTbQz8`_*~-BYg4#YuZS1Ok%5)bn<)tJJC4ks6hsTj@pW=P z(v}U$4>yG81caccqWod=kRvS3&?~Sk)FICj>IUj8WH_;u*bd)Mu%j2D+aR@wF@$JL z0JRA}0hEqt-3u#)aBbno+`I5~fr* z_(S9=x-(!9j26rg4Jf9oZMuIdk@1K)Lf)>mdCzuMy+!8VO~xaE^A(zVQW3%mw=3z30rLsw%8u)g?P7&ROR z+67)`-elzJEppNzNpP`$v0#HFR&Z6gUqBNz59}WNPehiD5ZzD>)9}?i!$kcj8_D?= zITN}D`43@n=fVHjkme?Homj2Kn-=rG3O#${IulxVwN2`#CX!olsSwW-4)h+^hfJd$0+l1;}^j@eV<{y@qnvN zHx?738*P1{|45ACap4E73C3jHeH#Ps&Ex~jrWv?ALKeeK+)ExwTZ64;rUQA(U}`0$ z7B@%?CRlM5L^ypCPD3NGCo`4;TzXHh30|E6uf5y-ih@|dS$<`H%Y*cOHt(x`-9g8L zX9q<2C59jZhxzpc`1Bx=uhQ!V^%- zVAoMlbUWG~-3jniF2i>r$H7aHD{v2SE((hDmI`AY!GEU(VwNN4pe&#e=y<2h5%1V( zZMQR=b+%dN43mfHhW4J^QxPv}7e)?@5**~;9;_M|&2Jr0_TS<|dJThf`^JiDsWI#06Iq;HNaMU>_v{w(gTxfxNd z4pFa>_$y9p72?5mW@}2Tqba-Zdo$|ak&dM1J@w%g`p?YYfsK`2=s^H_|8HOaHq#J* zi1yjELnE|1-LtH#;nz_+k<-EJzLF-Un#F;+ct{P-KVlmH#x$XW=H`qM& z(}f>2Y_}gMLoSiM)#>?1OlOS8<(~(aOO?9ivctLpF-!zetT29+rbtLam7qy^sDDLo zaaXJ2lQP(_S~JmDZJj1p%8Sg6y7zqmDczPO*Hp8%;}GvFL0& z5_JKYWP4+lK-6|mkkR(QrUGw(tcFjt|Fqsz&6ThQws$r6tPoW5&vi}f@9DvGrSh9Q z4c!+NNYQd&60KFu7IEcQwKnw>!#BCvga_|*m${EqCu5!!1J{6jNbpBaL$UFd_>0(VTq41apT|g{ zp_pgcUw9wc7g-D+vd^)AG@q?LaNk{i_x-E<%X}vVQG>&ST7oJ9p80*@g?PXA2xFHp zvl!1wtyB}RomoP7f;A!RP^wD@Itn7Xw6F=tZ74D1G-xiU$YzEAbtam&L*F<^mZjEa z({|Smh|ARlnF_(6=b|Rz_}DYpr8o$1VP1ms1{lqeaE-mrRIYyjY%R9P$I9=>07*K3 zdtXfFR$+CIsbA2?=$gp~i6}~yVLh0Ot>tLI82R(TAioUvW9?YdF2yU4bEq-YQe- z7th;AFCg(yqcA_P#nw*PGv}b`H29r8)m7r002<=D1=#|nNH~sSxB1C@(U6PKTSAAv%ylXD0Qwyo^krwuY=dR_B-#u9wGAJ z<**J|F=ZL=o8P_Q2f;Uey}Y0LKlfIJj`G5K-{OvB^i!8HC$nD=%E;aHsoZkr2!Nyi zox6({~r*XmMEgi#SF*<`N1;1y4}n$f(1v5rT=0b!A4TX zcOoEP;}9Q7_%;|ZBdn{`lAtwETTUYt_U3*3I6W+({ubZpmx-;r0HVv=t?3>bn>)8G?zAn5z zq-^6q!k1e=t>st$>?`^F>3uQpP3O=Q0~P(xd&)~5PW#+Y z{=T&D&9_fQFEdK+zUg`b`MB%Rn~$wT&%{7#V34mhia)e6>~L7aNWA~bs0nep5l_af8f_o@ zY2<~;4<>CJyKwxj@!O_WjT<+mcYMplF=OwJU6;s8{yB5`9x9r{kZ+wM8Z`wM-9+ zx|(rdoN3{m@cBs{6Rsv+A9a8D+{mZCb#r24aTAPbD{RUw*3?Y@Hh+F3n4 zol)WsRfeY9n%w@?`aDU9@N(m|7RX>;ud*%SFSl>xw@*Ju*6;cD=)r&Qpr2!2xZgi6 z`c|lX@ZU#|=b{3^#~JTVy`J^D_&L7t;D@}D>i0tmcD&mCepjL3$+42KxAz|3eua9r z>tW_yYrg76V@}&W?(N*$&|9nTn{O`5zmUJ|Y3WPF1KYF2r~1O=dsp&T=3jg?H^1#+ z%9C*~VqX?Kt@v$z^ZU#1vhx)uOE#AuZp3^Z-heE-_~%p6&kEPCqjj`jzJ;KgZ6%o_GfR>|1m8t*yMYEbd!y>Bg`3KW+PT>Q8G!dDDo_+Rmh|Hu-uD*}Y3s37U#~ z0y|+QnP#9<1eLB^h&-6TZjd>~bEH_>CzQVGdtHw|WWb6;5kbML1!+L?b!U&;w z3^7Dpi%J_mFXCI`@2O8_jGOQ!ZFvems$=H48AsAW6MoFenHrxmEA>bGqqLRd<5TIg zvlgtGadE-)jG&3$^VTK5O+iduG!Kz9JmvM=zp>_J;c>Oe;OXNs)~DT{*0AtmGIT|6 z;=>hJW{BoDr?N9PtlTr*Yxnrf`&+|OChW;td2*q0b66^BF)yrb?#iSib5G4w%vrPa z;xzsW-Q2j<)|o5TK3*O?*JA^5){8kqQud`AW>qaoTauJOULsm7n)PLwbK&--^V9QI z_$@y&`}y2!3(hWyn-V%dAhkSEI_254C294^57TK$2c}Ttf273B7%_QQ>XUKn$EQtx zF#gv#aC}V4_DSp0BBvKj?@zcgF)-m-?6~BE$^G%>ag@pG(a53bQTbu_hV=Q@kHCg5 z3SKy(B+762b3c5vB4k5AU)a;3Y~LNhTRmUV93BZII2^FTkdv|X6bf{Udxpyk$TW|z zEZ6TeWV>bBT~@5h;ADuMswcLm(gRMtYn&~+Z-(=)pjgM$off+lNsU*Vaw}3~O_c#% zle=F2-CeW%^QNA(%G3Q@>#efS&7F1H@`GRG&0l_o3LAbzv?)G^b{+fk=SNX}boqkj zd#`r>9aA1uxvU8C?c3+Pm*w9C#ns<_zQla*eOK{LT{`id&-<${UVI37{rQvhRnF^U z?*d+<3gs`l-}=4mDtPwj!RzJu=z{b@L;mRdV;-D%y5#Poo2RqMw-#IvxbDndaD{XA z!PO6!o3F`l47s`T`pX>U^%vQ3xnpzrInWzlZxQbF-8*qR@qR)c^WKX5uKa@!1D>f0 zi=Hfa_vQJ|fTLdbrF^h|aJ{fh+aXOK7y(mh5^dj| zT<8UTGh`n{PRYjR5*ujQ)G}rsdK32`?j?RWZ8~`nuOMxqWwI2!-@qNn;klPyNow*K zWb`u40}8}cG%Ro@G$!@S8QIC|1hmr)ChrJP|Vy> z)`{B_=1f{OO*HP{l%>86W7=aSQLiUf$N9`ij~F@W<)qKkZpWFXolRSi+?tw|l(Sek zWA!Y>v=^zj6LzGO&;FA5BY9%Vy!k0fS#wCKsWbYM%rg>a6wD|}9v`2WvTf3YB>j}# zDUiv_r!*yQOP0;ePN|z!l>Bl3Z>}m? z^kIo~HgxgsjQ`dyTV1xkAR~9_*oBld-LiXWMYBt0ZC@~X<)00?i+O2|FIcl+ z^7NN;!Q&ItzOPt0y<)05Y2?i0q4DXx)4)?ArXEc7nRzez`czcN?}S&Lts|f#1# z++LBL<|!!26iQ4C?!JIK&*8(IgHps)M&InD2;T%b{5+P*16M>EpRUME94U96*K_R z=opIL;ZoZF1D9b(qXTh8lwbrNcM(=XF}ROGd;va{%G4$)lA~L$2*$PTZt7|-`Xg>` zsz!8KzW=HpsNdY#+Xk&W%Fn4k(Ngp$Qgrs8Kq?S7cdhA>bdbd3nh=9K8)x;_HN`f! zHBW09{Bx*rWc}8k-0FaL@Gp~#qTc*27JZymwx{$_DdEGjSLUL)(t#fvJ_VINu8#Ot z`>VDBQx{QPRKC0FKx5*cLtnquD=Rb08oyPR6_@0FDEzwbjK&>Nn|+S@{#5Tzk%WhI>gVBo`&Tjrqu{j(%JJz3*r0{}i2tTNGa#hG%wW zyF1vWTQD#XQLziVyE}h&2X+T`cVjmyDyXQSBHggC-CZ-g`_1+W!VVAu9?{~bUeVX$0**o2Xs^>Fbje1>D zH2KfvQqKG6+7ac&CFAR$R%6}IB7eiGCVPdVOs*VIQTr#ac76T+219*q{j7RTMZYRk zGeW+rTHQFgaZdHL<|TDEnhWaiwIa-UTc){OQ)L=r`Y3nT=U5JEmY1Jb4cF9aYFZoY zvn^bGXv;n8I?FKid$Yi>SfAH0*SW-|F#y&i%-HY>4Mjcx<j{d>Y`CCzg%8d>s4jQ3yNB*Z`T}mhfu}2B*-H!r9^VZ(MB>#gkt79dNik4 z{66x2m@?7SW`3Hn^V5_c10s6&==nB{IZTuBwbzg_Z-(_6jGC&~^+tEdR&Wvf(*)XDgdUWr1UETf2eGYYP9CRSf*lSfv>X2<+ zy&V^(g~soVfx?%@R!P(`88K~S#5S)J9>*MRH>tCz1HSE*l(`+&Bz|dgp)I9tpJ;9T z%Xn58Q)UiZAn7Ot!sKC1A-kkKLvh@_f+JWSrjDFN9|AkT`EUe0ffNo!V75UgVHfEn zzbESn$0h9V!whJY-?VghU!n%L-F^g$0`I|GQ)i^rJjSxjamTX9dsN=XGg)`gcE&RV zc3_F^;n9%*}ygCm`@fm%%JkOzwXcmWO)KlhDW5fF|5I0Y zX`WKJsdQF}{1@}fp^}>g?)-yAA^C#8j;|4=55CMOI9pWq?_2SnqE+?fmFH?k*MC*E z6rWTLve8wyw5xPY3S#l)hP~hB7rVcyzvtv{%k5t(`k7jyEpSx~$d~>s{hju^wTSUa zQ2zMGt)DmkM9cgCy4xU8Im%bnU)FuHJDPi`T#EBLi*bf)rv8HJtNgP5jG12bw-qff zt5W>_RgUIIeao!Yd=9S)EhSa;{Ia6z+oyqVPW{_eN|q1*t8F@2tx#UCOjHHzON=G% zL#7A|SeA+;U)I+1n>(sXe>tj`YFVv_ zyt;0eORclwFQZ$4HyC^GJ86_%K;ImAfU8B18^h3WV=cY{j%AHQ&w0*TR>%jayHs@3 zisesQ&;H5#Go$cSSz`038mdzCH(Tkf`>I~3x$U^d*l31kQ^Td%Y?&&tzaJRC{P^ug)SqEgL4T^{22T~ zkV>m3M~v=X((_%~f|$E8quPE=ecgRXdc~mGJ?8h$ z=>Kx`nDn!$CH-Cwh#0ZE*Pje>#Nz($41XH4$Cap-jIR+lI>%(ZA9}J!TEeJ!QLKM} zBK>csv(K0jy#^c|Jbcjcw7S7td!!HMwEfba75h6x)plI`^mg-wf1<{v5W2)B$MBmH zN;{qGe7Do+q^gMGBzh#F?a7RUwA(3{dmJ6mF!cD8rGwCnUIQPFTGQ8@LGD=AesBE# z_%B`5N#3qVxG-UPqFC}#q7E4po-S}DWHO)eHc0Sc31Mo!F2=|$?zESi9zCU9Fflf? zGMwJ`v$!%5;BHOWExQ^1fY~1yY+n*?S!WB>8jXWI97ndvp(xPd&D|8!EnUiIRNiYG zU(;lp^y@ygW8*ycXiw9?7b_CwAWKeC;cH#yrueZ6aOKO6JGu3jFQ z>?mYeUE57tTz`DAz`(``Pv4fEy6gIEeNw%zX{q8;Re$ZHroNgQbCvsycUREiTkYH7 zzHKdY-?7+@Q>--CXnldP&OO|*#;9=2ag8!ZVRk#RF5EoW7KNo?zNypocAeXN*zi<; zM48euu61%tCN>)zsd6;d>+p?>o3FOEG&VI^TNfIH%|ZPDHL3MlT?Z9Mkykdle0uSO z>e(&k%JSl@;;SXY%EKyZzDHFaDy5VaG^c*2RNiR4(A-p6D(|j*RDHd*4;sx`;2{JG zEgM~@Jpt<%55Y86Uxg99|F#fxc*RETRb@Zb5yNctG1cML=bCrQH#({Qpe0pjvvhW@ z$E;x!U3iEIjG%mAoTlEVWb=!qPp2l{F$%+-Uf1jXkKQCcPLf1%A z1U+Q3s8SfgzQWEDwH1~iTNpD$+XRW?T@(eyO6-+tir>clknoTl*QsyVf4w`6C1o6o zpCplV;3w}L_OkD|{)w?&la0~hj@JH{I~?xoiG#X)4x7;aoa8Khk$4&Fk}%(Wo3M_g z=01tI(55OB6nvQ^o1h zn(!Opog=4&{uA~Ut`KfuePomn-hep!Nw*KjLg<0Dle0Zr{C{yZM-&p z5t06#yP5leHHLGJKaH_T5J9(aq{3rZXW%jADF-6$q|D&0B4ttO94T`EVG?--ek}YG zYQdlIcl56h=6bhdP5w|P$*gexvv2fu;JhS+22#wYFx$`p^A=|wl7P1X4~fSaI_4r7 zC2l@r6n-F^$Ld4-9sZJg!jIXbfqgI;j6xqf3BDTSE;7x_b*^%6v$3HEwiwe#9oLs^ z?d|B|eeU^1vw9W8G3Y5o0C}h}_)URTq&VIQRyg@BaVGeeFu}Fc`wPV;!j4?`B18Aq z&*l~O(~iy9-Ik%ap^8;CC}t{sx|6Mb)meqJVMKFNYn~xYf71UHcM~@geuzz^e$exn zhqw^EJ8%^$M!2>JcOTbyO`byDJho+5?aGGVHTSFD*M6*OQ(xSm)k$k-E6h5&t8Z{O zGS%1JtTT2nZVpb-cJp*Xx@d#u4VGL_Cs&^U!JMmqqIPQ-HG}FHwTJ)qDBD?vuaZ4D z_`36loY$|vT`WrdJM81@uTa^Hf2n_;RURy@`cbc3i=B?*G@SawI$u+j{A<-~n_%U7HUn?8-N)bi*iP zyrETR(sgsMH-@!lX>&{`Eky>hEk}7CYmir(pIUYpvMgfjSzVp#w(*Q|rskIRKlOj6 zB2^vcMCoJN=h*A)X&&rj1?#~YstOv+{L2hyE)-4TLfql>3HWGo7eWrM4|tb&0%E{> zNgVhxZaQ%#xrkt;b!G5~t%SSeb{vrURm$Vp0V%gFX=P{)|6KIuKHoLE&7(G%9lpo^h@BDtE;K)c8D1>zC)mtu5KQDg;zx6~vuCji z=$jdfDC3A%=^n;WD2rAEHUiJ^?colP910Mw!T{+meL8m93Tf>Eg5xr}Qe{kEO ztvCkxIy?bu6Mh0N!$tma!LY!1caRo7`AD}=2{WJn5q#aCH=+gIx6+j(A< zX`p_+GR4wUi?p6nJy0G}j5o)bS6gmacd8@3i{Tu^NEk$;lD-mGgP6n)t_}9aCgxL6 z2lNk|=_^N0B13&zPdEQ%WFn~azxLs2{3N!3f(gqBDA?Ujp#A~NpitJckY$p&=v0==lNNj! zVTq72nz^IH1zouvzI8MAafzQKWyPKET!-zKM1-l~3KnMYvLmu(`{OF4 z6tP{nja&##4P3+h!>AHlynVf$bqjz|SYg2&U?XY5HS|2pSy?M-=7vUY!?tCG59!vSeAs3vPhW+NDhH`DLc9mnMX@c`{ zAj!7Dw;$S1_EGyXmQgzbB*IhhhX-{K9Zbsx{S*&|T(oy`?XVX*Df+Rx?xt5tM)TID zdzEV{bu}Z)2UX)L(wml-J#T%eXs24MZD)L@Jz)tUJ@8+)!A)I=CUhm<1816Rl-HY% zd&e{@jHt%!5*x0$M}h0hr_}APkFx0lbD)_zr>fX>NIk&57AeDB2iN<4+E=@~XiAJv z{6h4rr=RmqAlgm!#rPw!6x14IDgJ0M37`gK_;tY+Y;8U7w>#TACs?{Vu!^xy>h0ys zK+3I?eN&On!Cj7%m@PZm{3&qGHO4m5==FIlTTL*UsMaxQY_i19oQYcY2VZ6v#f+Lz_ij& zlJl8^*)#%7iXh3wNxZ(yA$TQ<5Ae~!+&!-6P%||j)^i=g?NmDOhcb#AC7LEX5&epl zLT!w`C@g1B6j*>sFQPc))P?@@3kN&`e|r{&`rntSGyLuu2O~u=ex|-j*jcr%Scm@Z=d1lf%UQ@ z9OsbU!J&jlSTZr0yn?``%;o9{6WM!cTWNb4EN(V?38e%1A@dH=8N3G98&~T)nZBt{ zwj8Y=BfnTx{I`AGr>gEn=|!K)JC*(_`&yUXKxr&djMDzr8mtkvDefPx1`FRY&E_*# z*+tHy?iBkI=LOGkTa~Tc;81+CmG~|=7dYD(CK=PUf6a?5H(R5$XzS3H^SXZeNv&Dt z4~p*^ll7Hpm)qi)4{-6#%sG^KtWFdF_ybv(*ICjxAT|r zwr98LHhSDyZyIA!pGdz62=hm4EI5Sz(1KH3|`UK8;v5BW) zy=C?ke~2oG`<_IPz0xi`by1W@&_EeO*AvrNxjZ>l$o&*@l(ifdP`C^wm>D4&>b zDH`Tq4nCA4t`m$Vfy}JVMT{$Rr;ZO~H5lX?^fhDkmL}kAt zR}n7Zo>BV{mcnmYxvY!yIeb85BG)jF(A@MF7;EPx=^`lrjSYN-3Y_nKZQb)sS8X=a zIHSu%vM;ceX**f+Y+dy$b)Y_3r_gsZAJpGA>@_#qk6WkMlkIdzcgH4YqAkz7#C%Y7 z-O$-kuP0)jM5khCLv8(^)){qdH`WQPgOO$VB2Kf{eB;aM|him-;HH`z`lcZCalGqIXLm0k~<)H{DXa zckT8)u+<@6+#~AJ;8NfK?z?|FyK~4{ab%cWRxM#jK1c`f^)fl{IOm0MB<~I5BXh9u z6ETK1J}?ruJP_iUj)XW0J>j0s0i)+Qp(vOS6p{i&BQ2Gl#M#0bBHoRytnWj?FnZ*H zs9#|*VO0^!W%%$HVuMH!%IERff7qQ#gGqkUZs;Y+0c8+Z!|ej`&{}W^JdU~#_X5wy z$5W<-$OOwmR06hex-30zEq@k;$GJ?sLVk$Pf_7mm#vm zajI{fcc34Ge|tuFZ7wN7Mj>ypJJZ+dykQsG=G)xH*T$vlY1+eDuIjpKb2Hj>wDN52 zqq@}E=(;`4S8LzaNt-X!T~#lXS1FRz1Vu9DLtJZ)x9c!2a=Gh=e-4mtIfn7#2(DD! zZy(-HH=jZ%9?*5KW{c@riwx)y`bV~2VhU&&3eG}KtB;91(Ji$cM%KE8L8GPBP^*vj z5e$vi#X-CGKgU?-AzO=at~(IuAAAc9h6?=SfsT-Xe1W=!I)pWpoyMHbDq$>O2e^ft zIL3FTpL&Y$gAxg?fY0MMLsED)`~i-v~iq+3JF z!#gL9iMbqkH&L1poy3dV*=|_Eyx8s1d7(QZ21yjrgJqXO<+6^VT%Jm_h1W?kK19R1 zLEkOPko6ATn>dcwC+>diU=df8Lobh97LqM$FYXzBfzB0V3pbNQG-L2Kg+(8dOiwP3 z9mPFE-ob(WuYsdxm&Vxo)fC~xx$8}*bR5e){aYi+a~>#n4+GW(w&SAQrNAiKUuq3A zhB$zPBdjJwlCv3X=o{$;D69qr+?VhuU#+X7?>IuT zmDnaZvW;;SISmzZUHwgkNnNWhQLjP|1^C|A);dcU=Sj@uTiO*hX59S;mj2*k+P&sJe{n9N0HPCE-*-fA>26DTFPVkB?ceMwVWY4 zsC~#hN`FWTHTy>)hrG48p5UzDT!<0S1bgC3;37g6V-L9tE1dp{eo?eA5mo`~6lp!zDadA&30fsz85ddA)Kp*{_m?1p zb(7^G9pH2m(3l3^3khBt$q;aUW1jFf)CT-vjOqTvSA<&ou4fmGOF{Jr=7-IzwM#%W#U^MpAusBV4JM=QfO};b{k%zS{N~NS^U1(KR3a z5zspqnx)8E;DdId{e=6r?+^J2d3M;#(8JO_1TOVE`y5a$YT}+J|FyiaJ`B=b zh4Y2E#9oGk`62iXYV>G4d@!5XhSUaQ0o&EIAZj7zTw-6sLzh zl5`OB#cM*c1V(O?a11+6NMU!vR_r?J7)Chx4*mwEnzD(SEI7v!an>_2Qm}B2s7Ht^ z3<~=mvME9?qsn$khKM!dZz3H=N2zCip{=Kr2@d}aXf5>2CGh4Vn>`oZpS&%>xm1&X zska#OZ1+IMIm9@TYiH9L_ji2_hzY1@H=*IiBesdgIPzi-6Q7FHx-XGZSsy4*E#Yug za4~xtVYG*9`=qHs^rm>b!qDhsDhS$B_9TnOJHmR#JITORY%=dNa^+!~fvw}45)}i~ zzYGnkORWipjhaN2R6AMw4|{)!*1l0ysxG%a&~#|YQY0%l^2dt4%|)%-G!A#*Q7KY@zeZj}k)W-tCaF*MfX|3* z6L~WtyzQRUg2dO65$&=Ba_K%d@Hp@|NOY$KpwdMrFL(5I$74uNz8vQd} zp5Z_3F#Qf|g}Kc9#NO488fF??=If>`gU7f|zfm2hJ#IOmBkMXC25Z}Df2td`MD=-W z?v-niZD0+IPA_`%M?sN%73_d%c4LJN)mll|C)d)2j?#CqBUZO{w|dz$esHMjUA<=?lIuZw^Koz8D+DT`R~I zfb=qI0xd|gQrl6FvG1~`^3$0E8Fb1_%5RR2EoDE#?WL@Qf5KT*F>xrAPTD~MNvA2J z8H<@5W;c2!eGPppS!~$8 zkTHV$Laq24cO`E$XB7Pl24skPc)AJ%ZaVT7``X0ED0eZ%ls_ruo1DRmcNlf+@@3A7O*_(3Gum*w~P6z**A zCuD**%A4W6?YQP3V!q>dhCk}PW|mH?p09td-KLmq{$wOrlFaXnOMUm9H;^+PBJz|v zm3W8v85r%2b?4BA6VC?S+gi>^*7)mQNfm+7`8I|-dj0#2sy@8od>qLnnN6|AG zxrDQ{C-fu4U6g0+ebis%d!!4bEySs$zIYwPBkv>@Qb<$^yO8vfI*hpyW4Zs~vM~}2 z6vAEkB!wxP4(iGT~G*@T|nZU}1x^5v;bdii!o7kQB;2x4bS#{IfP`!MTo z`yw^NFvESjZk{SpQ*MaGHB#3Fz2?Q0kDG5<%5|~&U)oOQww_z~W6)eQ1o>ufa*YDI zpgHK~;4Sp3sfTH}onX0Yf8hLRZ|78awtMe+l!5Usu{FbHF{WY;W0PsQrnkAbZkjSe ztMeAwmzhOa+m_}@b1y&|93qbZ+xvZWw71W5P;9V0$`#_;YR_?mTd9t__H5fn>vqQ> z$0BQ6BZSHR3qOqF$~e;bF{`3z(x(w})&`MU zI!?Tm`2=_ZF0jnBzQ(`B=)e zKP{V^Y<*DoRMHOQX2?}UOpgn=Ha4q`L{|Rj% z`n**0aUdOI*OyZo*b(&hf+Bh&Sw()2=Kw>4mz@2~JU12N@`O6;y)hVPpYET+u9~S0SKL=|l*y_@Rf+s=OO9fb+MwvDU8pjv>TO?4 zKg~C+M#BNy3um=&0#fK%i+1%-1aJDg2ef{tKLqtSMHsByX!c`C{UzoZXoaK2UF83a zrU6v{JAetC^LGy3f|n9msE)B4OCi1&2bsqycL^&nL&Cwhqv_-0jzZ%+d6C_?BRJ=v zQO*v2G~C=p65dbz3tA*-ORc82Ymes_kPU?A#QLZ!k*u(FiH_u!wx^@cCM}bx1@lGY zIkQBgNDj$f`fL)3`jwo9^ZEb4q2ONHc60lXn5MZNfV5L6?c>}z1 z|M6l6CEhEpTIWpgh3}DlB9`5};dq35N!>~=_6vQfo&~tIZiVNGr<46l;I`|4O=96T z4XlzW<(f~eqguMR2pbbh!oHs<30MpbTmM`v0ly6>r)!PQ!n*XjQstf|vcB2DqRpah z1rIWo@s5eJggY^UK{9nMx`Rk@9WrMiDf<5``|A>0J&k*-VZ}e?d{=Ll&VBb(Nqw*k%a&4eCN?@C?l-o!g>MQDJRAJRT5E$mPf962DYmYd2%r8Rsr zzaO&`Q^B}SNyqryQ#kK=dGrbfL)6H=!rL!6$a=~8!k9@D&^prIkjYdlc^2gYsRzC{ zDG@G%*5C*jTYeZUr?AKc)Zvsiv?sK5{z4WY+(Ma48NuiCUWyGV8jn;E3h=I{pyjtl3IeuFQ-ho}wt=kK zSE$g}wiDC`q&UJM#y?*Ov^#WS*YELjyJqxA>9i}IHBjASXUB%*u(%r?EPjKSBV1oVXBo2+i;hgG|6Dd>KNf}OmVmr@;^&e- z61r@SY?f?~cxA{I5iFf1>?pk`SSSz(inx5vWL677o@~!aUxWiA8Thb+9?v7fEmxv-uO4r+Dh{i)jj0tp?GB_T@x1Y{ zv8i#Q<)cYw%lGY5jI=(x$oE>c$?mxN359OZ`+$K})q3-`LU|s|D4+wLY!Z z(m}V?QtxE=2u`~u+*#tOHEg!^b^kQ3w)gTCI=6enh7o>l){B zjJ)5@9dGBE{~23M)691*Mmy7NHkce|t(Ar)4w>j6tHr018I0i!Ctb_w$6d~n z^EdFK+3y4e0wI^nujXH2pXIz@?O?_-o>8;OH1ZCDk9Z6A!1r(;gKu%00V%PUJCWFn ze8j4-HtQx(o)VwQ{z_l@9k?zLWeFN?W=tOIpu;w#)l3=ycGX zV~GXM??5Q=3?#MAKu83(|DDvsKTIFZ90RBFpM*wtTHJ%pE{yLKcUt<6hV%5oenl>6 z0_imGKJWow$;c*OrD`a7jNid!ypCbZ+g^#i6hAYzU+B2#u@O6??+H%FgoGqUoQmN@ zNaCu)7RB6`Qbl^vN$F03K{|!4qx!f4wuaN4K9DmA?69x^fT$4H%t-jHA~J~!rH_-N7FKIk&jb%QC<<~ z@L*)L|D#KS4h0S(?+}N5vg?dvhvT2uW$s~t&}!2jWQ(J}!epGU-D7|1oaf54rr1rE zZ5Ex?=DLKtBEMd*ar9SH>n>Ezt)5$xSURX_U1{p4;D@Adn|=r?{RY64Qn#?-hpFC^ z?SEqZ&)(ToY7^iTz7S)jD`*W^7TPMUy&V5kHM-xbg-WwLSEW~cZOCmcsre;;tE^ED z*3@Ft#U+ll?oYP9p4ZmR?)zXeIDxQ;Fc-c<)nn8SCuuZsI^{f2z+-Fee^$!>NpHh-}vnUvmW%Rc{@z!NZml#IVl%%+ynP@aR; z9%qnV5NCwf^0x6F(cPriF&g0>ey51OlJ3+z*2d^Lk(ELZqn31&X5#|LN;i@8%>rA- zdYt|o>p$fe@2J2|=#2Op|09k_urufI62p8EWszCoy`@nx)1y|0QbOK};>A~Fza{$w z6lOVf04t69l@v?5Kxl!gzye$=mmy$d^Le1=r(kvr_r@of?C#kiXCfoJl7QHrj+Eyk;0h=L6OVk z_0p$v{$j>FEtyMmGfrD;O&=Q9*9>lGSAS9W$cR@)=+>yR)K9Qy|5eQ`MT2p%d6ugX z8RQw^uCgw0c}zl^z;ng9+qcYr5AEcjdKSCKdsWUmjsx}#^Eo5S$TxM=O>%89-`4im z4b-<)wzgh2{#HN0X3Nt}tMyqr&`_;wXF8}S83yZ~S%w>OEf{-KXSUNZpYBG-PRA14 z7%$UV@9gaqS?8G-I1ih?8v8mvVW%xUG{s(pCEj-4!g7wa?QvcWoOWJ-hWN4pKGuR2 zp+gDbcrI=g%S0-a9v6QXZI)5Ohw>VsjkJw%vNoZ@MZAT4m~3U$((|c!umqc8^RycR z6*2_l`x-dI7^Ap%#EXPkaW&$LNi#bqq_pq;tj*>2g2W5S`{OpofeDg0eRQXYJ0UNb zW;U1M#keG?@CY==&&It5pTO_&FtMIEp17G%PHLn$u^o0I_8%+ea>bUA=aLWM`fypu zy~qopha|@&uVn$zZtmB}Aa9RY7`j6=9ixmK7i6(=xo;@|jzYm>Y!ebujO;MYQ1=CY zfE-(f)31$oFZSw59(X+51GAt$wJYqMe5iLR6;GJqK80TQJhQM&F`i?{6l8-Eb$mq} zaGbwh^Fh(0v28CJZI_^3TTHcw4+96|{&7|+FZf}^TAE3Fa+oQX!-)M4M z5Nn=3$Nry#?zo}(Wz4tBY>jBONAGJ0^z-%et8i?m+&>+h8Mq3F;OV4k_vx75#zYo;*;&ZBb7qPt>`&~aTsq?%HJjCg z+>LFd_a)sUjsm%m0mmlo#oE^2;S(elNlO?CmEoc&9NY$QM$ilWKX=hU{0yf-X9EDP z1li!<;O`Dp`2!#=IEelezY6D|ClG&9_t3gi&l3kyPZ8TwX2NfS--(kc6M+nCgFh$a z2uLP#lw*?&12CFq0}kAAbQjdiy3yAiRkag=!8`zQOR zxWlmqc{CD^%S7?Maqjc>-xw|Uj+_j!L(jZ0UFjc+QT#TF>Q*J zu_hunel%|dpMcvyua;!t@B4OGZaU|g?x6P} zHEvqKhkr(J4>=(Wu?yhvF?3Z+4_=r%S zWW1z=o4~?hq(E7<=fpo`QVmj+;`%~*q$4L8P+nj*VH401u*LW4k5Tu)zj}F8Y z1j4{P|7<`Wybjz2%t3wNAUF~@3a)~2;5CpNEW~E^0|6`tM6?i|;}1~X^d&?OF*}$E zoyQkJ5^oxE!a?#X0~g&5#M{7QY8b$9kxZMFHc^D+JSe1o)=%=(z%l%S@RjUytnYBC zNI>r*=n*-emJp%{507d{3T-o{O-S5VUVyX)H^8$Q7lltF<-xsijRX%kgE%*Ef~+Eh z5(bkW1_#oYGe)wcoaw^h0!UOQ2y)j+i)0IgS9vc){ppL?=a_w{M<{Wa7b(vx3(m&K zql>J)ty*KbCB_jj&2ZP68ZAAY1Dzv0tKBOcU2Irl-Z{^=!tL@_`s98#dMJp|%|IP+ z5ci2HAmC|n#J&s~ehAA+j%SQv_5ms=4ftH>6w&}}vmFCxd9B`*zzQVCebT}P4%zk2 zrJfu93$6&?EC7crNWe3&v)^qaiEjwD+TAAXSqTVqI^N!?M>WxkAEl#CB z;N9z8m<-h5a)EiS zR#a%9xINl&R;wXeC$)3+?J+jzpVnE{$%Yb3ifxQitP?aCE&af7_GOUj=@7`n?IY~M zJ499rUc!of)Y%v-WL}B12p!VRvd$Pur<-7j;EHgsK*3@$N77d?PI8Jlt9Tz+QofhP z?Gtu_tQY_!QVeN1DllYAfD1Kh>dUcq#4duMns-{E!V z+CpuYEUzu6eJ89Wi^0~*Fw^?dY|@@GO}2eDe|GV`Q@slB1otSUhkp}v1h)dDf-{5f zeK|-h5bCp0uYt2^RB|&xL4FHHv4%h|=@)TP^xODLgzn_MR4z3p0{FiK_!ew3vPxH?*e~YUz4NEvs_nfj@B9UVXaI@xO%ZK-ZDhL89_9+2qbt4cREPt zv|*NsMoEqcJ4C#agtcP=FCs6|oTA>Lo8XHH#Q~eFQvB8*g`RWGV-B;frN$vDb0z(H z%SNuJc^B>oz9&gWn$_|wG+zHK@p3Q`O^H?Dv1os!mzTiwC7y^FNvuK^g)9%9Kq`^O z2Ft+VFx~#y*R@6%sIQ)doDUqdKGfaU^2~4R=K5dP9`Osb|Ga+vCiPK&4blP1(Rm2B zG{r`o{TD)YOArD_ZU_Wgg7f{0?Iu?kl5AmmB(_2n@4n&=_+jg$;B?nHm%t;|>;d03 zi!6DX35qw)Dr~NeuO|oZsV8CgbLR$ud%tpuCc=uH?y7uFg?D4?(_oXv2#iwv3chw0 zR=z?qs~1qFm)l)>yAST`?4Z$6*EI>LlU8ef&p|4)G_k!u%dk8!=e(S++V*AKC|?$4)}4yoa=ofXP~pT>(r^%cxazDgTBOjgXn~kZJXHhJzD6L=NF-#V6RB+KV8=fX zO5!P&5hiQan5b5-^1OVL>bE=R-&0F{=?Nvje0~j3-M@B^@1&|Wc(ImD_@H}jpRYe) zzwe2YrwEedR|)^D<@gv|8p@_z*S!HgyH`;<8=eCe=Rn_a%5`5ZJl-=n_!b7R=W34a z4*q~WUVR1Jr)otHcqq_OTzf!3IRZYXOyrPd&9w1^6jlsTB^XJH3(3Y-Z%;7bUPKds zNnuwj_dD7lYs`a7d9{A|!Gb17vEmmxxcG{GSyShFgN3clXU{R`2^Tg@0kS0Yd`}I9dXankFH#>_>5N#Yf&2qk zLVVBp;N2G46Tc?3B4j|qLk1yKoMP0J5$Vg z7nsVJif2&MgE8<5>3$3WUX)cA%vL9hhiWb;yeB=7f z=2918zJa@@FTU=k1Z^ARb4O>;4jyf7qg&w;HQa1|6&Pjv-Rz(=X`D*f*ayYwV)U2c zJlzR!yK1?8wYko5-|@w6^{!Dhvs{+J@DR#!-)zozWI)&++bsbP{-^$c`M|C8M=cMC z_gco;7h8|jE1|2kYdjMBaFnCm?ay&5rWLd8-mldWPnjE()9p_RaCOAMi#Gk*{#$~mTgu+=XphmOzC3apcZF$7!_t7? zwVAn^oQRYW2dSqx!axmrHvr1!P!GGGi`P0ssQJ(w2p34TouRhK7mMW0q3(XcPx$GY zaOEM+LiuuLhNg)9vQ-@Dq`s?pf z#ghL~be2(V`)wF*(l)8PD{f;ObLPg}-F;*JpS!!eySoc>V?M^la4TA6j?DYAe?(Hp`i%Q)o0K7`Sf+{F8yRU3MU zXNvDJ--||uy3jX@GN6OZHh4?%26YjO$gQR=A@`-JM2o>9av`IExR5*}!s8$D?&l2+ zQ^Nzqsfda}4>y;3L(!BY3^o|SI$6DBvau`fnSEzEmES4y+4!*bBJGhWF<>j{9IX2# zG|aKB(tk%jR*%)R{_$NixisV)QnR^Yw5@p|!;xg#UrPxX8qye$D@!t%ze!pzToLXr zD>r#$*BuWeE}V3mMIVZ+4P{yGvA_lvX{z(4GupSnvl38P2a!Zj@TIgaz|G#T>XTy z)bW74&}^k04$Skph)!@Dl7(2<^Sn~J2#%o?h4BM|lqA0oM5|AzZYM7x4i21-4Oyzx zd&1iZeIr+lb?!XIsPM3cM&&tWQ|n60^q8Hj-V%2#oowbcV;`YR6feM^(Nl=Oljlcm zgTHfi&a%j*$j4@LQ$qYjf^z~z>-ml}tTiXI@vN^nP>fv2Y6>jCMK>341MP1?(D;m7 z?|&tk79NiJ7)VG0OCw*zW34*XNy=r(P*o;howAK^uk+o8PRi4=7g&-oirqrhw_YKQ z3T)u0yx#~+vfZ`Ae+;<=&oG@M&8)j-^O{SX8r%T9lW@{GA4~wA8(I-ch=c7^$V&Ug znC%;n9w6L9Z1&_}MP!=uvcE-LTjyazcjSg)ob93UUPWE_Rn8M9zhEFqZX8fa4$iI5 zXFUBK3{1Dm0xK+-;kUk_Sc|PQ42NIqxh_USmydEp@F%(9cJ*~DH7o`$#8fxHF%{@O z;Sl04V-!E8Q47c!Yx(!}lXyaUrD-NJK73z6^kU+Rc-L_UcZaX7y1EvX3?(1nyl`d^ zwBlQqG`ZRMI6B$+GyZGnYuF*(XYum2hOcUWzA2%T`DbVxy~;Hxts>hR>krA5g994n z8S!|VBgyN|l#H*X2}fA>H>l}t94yipcfNFyb0j@q^fuT@HIIKSPONe%lM>|OM&+ou zwXqAu)5TX3?@1PlnkzmC8+pSyyHc)`SKudx{bVEb35=Glwx`Sb;PmsA%r}7t#FfEl z^$pJi=5qRXiHd$5x)2Y;L={BF;nIhEGZUI>mP z#1qzV>WS~s{boCQUjNYbBJvb$M`}i`w+YB>{Y|ehD5dXn{pV>A!3}k?5B6e_hj_u; zlu*l`2)8iJiLZ6;bguEdB{_|)(PDIy{vB~$a1BrhHwF$6YWy+Kaf-+O3Nx_R;LfIh zoROrfB!&B%zZzag3%Xsq#> z2=zbQy&BJlXjL+BXMw*#qFeOu2*wH|NbTPz@;`>NT|l5SFWE`PM@f28Q;NaR z8`_M#NSfkh(+10oz&?VCJV5eT<4>su((wtSo5_y+s#^=?*Tga#N=@Dz{eGw0n(5ww zN!`)mUez$6d96)XUvjXjmAB$wtJ;`9t^aJ-9*LBp1^J(Rog5nHVjIO(=n&cq0w)OH zaK|KrsC3@I_lu7(5uPo|4scALo%G<{nvV= zKq~L50@>xMZN%x)K47kJkLaj-fruSyBR}R|5xXb(FRMAl%v#^U6S<_&wMeq>H#M@J4yGESvJJCdYcSwzun4WJY-xBH6wMZE5-` z=o_4gW=b^P>!1)F4Q1hPC$-p^I#+0+?|`E%{RVA`+6;}57!c%Bv$7+ZPamEb^QawA84NSK4~d)vw>Z_(Y8$h zdCsvo^ew*Iwxj&vQ14n|FvfYtzrwQ3*SqnNriGVNOSQCgj&yg|UM|kI-7Z{Q8gL9E z#=1@PIAu-a(HIAQ-hYg?VwLgCD+yG6iUcTBJ9X4y9*rPceqbE@{(E3F(- zsaEApqp{rU(UFk~>N_{an@-n-&QrE<@6o4GmkBPjXG>SmLyB~9Pc{v~86G$sHBXU_LrXAt*5p$zv zL3(LZ@hJEde=O@CM-ExID0vI~51PRWk{iOO0e(bBS{67I9_$|)VBy`6ce+!~U!;@v z1rc)aN@%3x0sSwYd`dvChJ{$V>ozzD-9WyF(|#uqF>Dhk4DZK!6V|{Jk@;i~o(5V@ zigiNl96cS|gk06+xhLo zshTn2WQzp6&jy60qTSXf)RO=kYGXO?Z}iTIc)hx?v+8%j0S0}rJK`&TPRsB+%DAc^f6Cp zt3~cf$VTF$g`vN6{n)#;A%+fZCxGMKZ7xa5d7) zvKA_JMaV1k7m*c&ct6wkxN%bucD8a2w#;|@(9LuxwAXY;{W@2s^|d|4^4yEhn9Tjn zkDPmfwdRGCx5kb3@r^}V4=S>_!k0@YTkGr{>Y6q#4Rz-%r_Pd-EO$W+V^R+jORRgj z@qs}66%&)hR&;0H@GM69Mo+O`2u&EmF?spOP2HE|ran zqs1eVn=uCZUfxMs4ZAr%$hJ}yz)$83+@sbC@^N<%`@+2iVlY6T$$i0?&Kkw1D(sR| zf)S!**)>Uj2`u}~?LxoD{zy-x{1wRIGX#LDMK9vJybi!40z_R3-w3yXXTVhWSmY)A z9Jj|#CVwJ7B1yniBsy@CI3?1NvN&`wtO$LEyE9${+TnM@jovu_Q$&FHb$sh?`vl8> zupwOFeq?v)a*3}h<~N8-FMMFuzi$Xso%eKLaSai|Tm66j6V@H1Y6h+PC3L_|q$TF2 z);W#Rs=0;g8ZR-syfe1i@Y=`t$Fpzq&U2n-eK4N$&eIFw8To=h?}nH5r*6A>H`=3; z;$UkF{cPu8 zb|f_Rywz$|;-i>7O~%IinyA~RD96Mkrc_DGM_OL&)575Ib+KIqa>@VmG4Dzn=?sZ*p%Mp>ce{h307T>xo zAzcT1qKANFQX({#It=^@yn_0>-jgPU_63Uq?Rt{PXpR-cCaEz2p^ls}+ReH|-k?&caZ0$bXXJBtoPW`_5A zUSlTnXYeZNGv^~Amw3UF<#F;yM1&#=Hd~tR7|e$46Rmp8>U>O2%_{%_Aarn!IMc3T`p@E-4y*s`yx}a=~ko51A8kRud(-m z(~%FJZQe2AZfvZt&^bz9_J5TN|ND}1#tcYN;R>Yn9;kz0*L#wOLV1H z?nBNFp3Ue-vOC?!voL9&ayi z6sJE)EKH!>XP(AAxG*r1&t&YT*q9-~1i?C9Gu0_hp=7RPS=6~WcT$VEEpeKJ;n9@D znd-r+z5FEE3f>NGA@>367h^v6JnIns8of0XN4Jopm_}z4`UEbIm?unIYTW*l@8vjF9WL)gRY&Y3yiUY9=dj&5vbJZ$!v z-?}=OUb)YpdH(NcQy_(MH{zxB<%n1_*}Zu|&SLQw&LzQQNtMJV9nEhiujOtPHdW1M z4H3MIjhC)x4UxC!-xb{FwT!D$M|0LD`dKdot)cA-LK|fi4Yu)7=^FGicNs7gnnarf zAEj}?SYQ~=mw!ud5KRQ4J(Dnv@)5s1Wx3!Dxthk5v()X9cgPg%pTaS0a`fGV4B5%p zc~PH}8e^LC-_cy;Tja^Ghj<34_Aq>7BPfy`2;0}W?ph_DU4cD#TeU5^*7M2s(X+~R zE-==y$}=O-)4LH>hn9!>29F2x12Qxl8BMx^N+VW$N6+`xI%erc>gtP>bsH-~ITTaI z_w>3t8(llXH9F8l_n;uTqMLCq^{ioBWUudZK%#D?rZ z*{r4H?NA@u2WBok%!w8K5_Xl2mLHUJ)YPcW@{fx8giNU`>Zh76tCIB>FP2^utrn*! z@)hI6?Na8aFk_A?Td6lE98phc5o$U*E-m?5+~8O!_E=hFYOkofQAFuTr8suKsxNmj zD5ebL4#V;+T=)RT=pPa;#CWE1-OXx=Z3pWjvfaf5AIpvdN!06fL#0iB0`1C|vu7m^ zitniG7q>SWY;A6Y1dO#RvF zE%m=@CK|5Pi|bZ5+^l`3`)7QNCu)}1&ezmeID7#t{tY};FzOj#Sw1?=MZN2UHU=sE`(n!*0+%?< zx<-vk=$E>T*R^f`WOL*SZ?B?G`8=q$wb7o&S~6yfe$f4Ht$t-yrbF2{DbOK2$(C&` z@(wcTZPlJtj)(3|`Zdm-n&Y}Ju6vfwjeTri9iU}{6%J$umN$T2POu-Lz}0Bm-H=+u zEn8hSvq(~$TXeb@EP0l9res{{<+6_TO>KAmGW4TQ>zWrD?OPD0VAa6IuqkjpG9t(b z&hr-99vRh6gZZR+o8_lzo!(}o7$+IFIGUS#I5yk6+DXCx+$UVSLuO>CcW$sBG7ycA zfWRrn3eNvMk2|GZM8|~lgoDNV1VM&h+>=9P%;S#WJf)AO>M0Cj29Qte4=9KsIGHd2 zZ+{PAzTuCj`dH)n?K$0PrzDx8bC3lJSoaj?-%yR+fBEr?M0Qihq?$# z<4H+I`dw0yJ1VrqGd6I+z1<}?mYJ;jJ?2++^J@-N->5!p-&osBM-J{FihcdUXQ?d! zzWse&0E`wMlI>{TO>th_7djZ5#asK}~p=4+D?skKk_9_qIz; z3_Te*T|c2=P8n49tKeDLnUdV{6PhlS2kIgflWI@c-nma&&N~WSrxA%iJwl6|#rER& z#onkmY(X6;5Ln(EfriNspN?;S=3U(K0L%vVm0NMaO zkO=`~8$CrZOE_IvBJC?1Bk81Y2}j98;uieovO4Ynp++F)=ouIBMBz=SjIf)m2Csu9 zrQ9iTQx* zx95^~mgiJ$g(g+Ms>Y+~Y5J1?srXI9?7GMGW2%<=tC4VU3|InhBv6Sf0u*AQKh}4E z(>EMXJV%^OE+m{JTl|Y?089&6LXBWgJauoNUdJSav)C$91Tw2fDK<;RvR(3G(LC{| zD6#C0YL>D~;)iC>(gvqqPutlvBl%UDA|XBLaoqa&B=ygzgQ~x(Ch9+ur|eJE8LR^0 zRw$EvFcJ)H0!1NP=s#k8&`1~zouZCrey6z@-I*%(CLVtHP(0&@_*#jY$5fMLyQn`| ziEIJ;8#IB2&}R^rLqCZf3DFUvZx-4gw1)&PHz>ePrMUV%C3j*OIpO008?ljIKy(oIXEH+COY?{d@vqeA6)Ie zY)iJBbK>m_kI@qdq?qp1A2)5+2I_M38+6;WLETgR6#XaTXvb^o$lBSsh3YrXewu6E z=A)P<{9?F-vG7my!1g&w_ILZbq!6i1CSbHT;M6j`K`?D6un7ndIi` zl>uQ>!4D-pjuUsV`I^?Nn`SnhA2%%FS^U0sJ(?_4ze{Wzdq|Wd`Y18TM{?Z494>|Z zoM8a-NY@FeA-nHTP!_o7{}AXAC`E@k zX^xW<$n3Se*U)lWDytiH9*ae~4y3|U(5i4C{1NF3;Dk7AEtm*?Ad<1!SOIA*_Siov z+zn&}?Ww{qNMcCj_d_Epzl2RP4`=b7>d6?t8 zWvI}yOM|a<5$8i08J=M}J(4DZt zxl%XYeGOyMCx_;M>s+lH+uO!Ce&W8-Esj2>c!1$q?;hoOhEviSFumxlyqx=q5oUMb zVzF!0-BjwRfcj-@gX&~7RZ2@7tL`EADZDSTa=Y@+it4#NM00pk@J6y#kSdre%@=#5 zq^N6hr#woU9d}k)BUdCzl4eG6<3>l<$9+#ti)Y6ykZaX%R9_TFGR=w21ww(2yvC{NgUG<*Sz-B^mq`5ETEcDuf5p)sp zWq7zh1xrDPgwumA)Pz5u%D_k96hMewi~Nl=#eH%$_$TfPX%RLSP=YK%tH8|Q@j$#w z6a0tsd>(jOIZwN+&hFOf4v}G%QEF_fJ!YosGL5nIu@!kWn&QJn8_GXcoY8cyeQgrB z3mu~{yT5N_HkN8RVmS?+;044prT-XL<$TTu;Hp<_?{9DGd*zGque8+bJLu2U&ZA!r z6*;zIak>eO@s7gaP)l?Tp{9kcx?;%hP6cG5ESz8aA7h*MKJ&3WT{e=p4s3!qZVz+M zl5ep){r?)lw@bC+28`u>>!}VTfXj)|(B`lvI1f-0S7BqoC!n9YR(wx(Q2vQ^huMvu z&Oj8KgrIJuh3hT$Ck{NLvUO z$lt1#3il|_D|;sN7UoGsc$}CJlc%=H?g+f1KYTKmMt{Y+55>|u5gj20aZMm2aLHfe zXos_lZN`n(DLR90P3_y-E;TbW>3UiNS)Xn#bQCwXcAhY=^|r-SkpuqD-e~`wpeaDb zIf`Q2fWU6I7P*Zy_YDp_L0O2?-^*X>o$Wf~X%YHqeeGKlZtz_WM$_?x5V#k3Oz4YU zCvc6kN>}HnJ%}1q~qug8cPhycxx)ng3>mxp>03dws&7vM$o?vy*E2VeswNZ1VAplt(Vu~=|B)*s8o zN(rkXIfMu~A@VvjAzbIV;pV#@J1pMKZWm4+y&b6xc*uLHJ9*sbRxlIs1D|;9l09LFS$AA0pCYo$=!w11%lKaWHSvAzUNL8-Vs!hkMgsHM_Ani zG15sYuB5#jRA(jZQD@2XqgvvY)76Y&{8`+o)C6c5;XZ00HwO24CxxU=r-N?Fw0yTV zGXph;G{o90O;^o@vh#Trd50^GX>v;nD#(pJEeGAdeFv@7AO~&hiXk}hzSc$p3-@{t z^6fTLts8>le9hfHtO9Qz{RwN_JA8A(yMvzs4}AxGts-yzv+(A^Z~~WfkJt*Hi~jYh zLrK_CFaxfnCWDK}vk8-f*`f6zz&plC^R=@t$Gzk-Lu$>;%I{ihEwyA#>72TV=2=6D z-fi+XUN_9QZMH%#wXeJ93Hpi9HoO6+73Y$clUIP_;02_?&_!A+D9G4Legz+<^#$fK zi>WlyNZd&~fwmTUNJMb*hzgyG)Osa>7@!sQf`Kzg8H1qtoD-rx{L|z<@H>W+S|Gkl zNujL)cf^}zi~VzA}|ridQhPv8Yk2O5!!&a19M@3u(0 zh?g)E`byNpL7GY?;v2ZdoIB7G<|yGv;cH4JJxE9-tALV7fB$cXCA8By-KDX$as~~{ z4BZS{b$u*(dQ<&#&E&F9e`o%U`E}yQ&Ai$IasHReby~2l(NLqyv#rM)bxn|sfdZVt zzc$=4#P|IR)&Wm|1LQ`^0meU46=)*DVGu|_eut7Ha|3TfNuC{^;W#&a7n9!w8 zwD+2~C^#{aimnAtG2c>(h_GFTbdC(?iDOmK-% zq`pL5P1)6t+U-`;f80pqEaNg|0rf6;Mm(4OE%|7=Lz1By9=kN{SK{uZd&#Nl6n;U} zr>OSI$&zErvyzeg8=}jsM9~)97I}}cUoeh2lDnQ(3su7fw7Kkw#A3!6Ax$uze^dEa zV!_+B4#`zvj;dAMU&X`d24z#_Ju!!Wm;R30g$zSCNNL!D0K?S;NVP9(9A_C`)uJj* zx6awDsyJWL5O!rp##$DFB!R})Ec}#Q%>M`$F!|Iu`k~gJ&cl#`cbtCQJs3$d?W_2z z`+#_mVW#ZLK<#7uM!l#ePLYttkA8{Z_jjOJdzxK?V}*Aym!0n5WG{WnuA_`(kH^I1PQQU(gQ zppD_2r{+L|C<|E8qDzWp(8iI>T%Xo*bFW7$N9^F9Q;W#+cm~vL{6GW zjw#r{UZN3bUhV(tpZD2@_RA;$Oy%kGdNlj{6qlR&I|OqSz#QBUvxn z#-G3?u!r!3>@SQa%ss57te>GMVkc5mq=|ov^G0xMForZsH7aV7a24w&vsN`(9o=P9 zXLcIWG)dT}&4eypx{p_wn2GHEvTw;E<{9O0Hkq@8w@W+}B-D1W9FqPZS;H6ke{K6h zbKDBzPYM$=MO4lqjpo`-K6!XDcrxf=jHK*fhB!vj5d4jKDCNCxO@!+C9ef^YVjbYT z>1*v7;>_{%cUuDo&>`M^4JH17ugw0Rd%E`z;UwuBNrpFQ^1W~D9M?I=`s3rkc4`KlQ5&hc!u!C-l2;8DwJ3`J#_CSF2iAJL)!7eb$2b#8_w8VHv5rYkXn} zJAb%e2WACm?m@nX!Dwu8aD*>A;zSMy9|Y!m#syn@dqrlsHdqnMV0WW!GTJwYGbOPo z;|Zt1^(%n+JfNDAgkQ@w$V55iHGMIyGxY%=0Oa6zq$6&|zUoG7YI`rM z#c|Vh$HTT?_Y_9Bf#Yae;3`2&oCQg#eQAECgsb7ckGDV%aDnK_JB$2o!fsIN=Aab^qliN14QvQ|l6 ziU$f)d0SWvzEyk>ZzK<7P-$zZ8cG873&~B{0&QdbCU=SKLT4d&U9SV7&=@>NIna08 zx5j#tjzkvWIktlhmGyWYoiHL|vz8jVi$8LEqJYQV^nqln{S>cteu9Z&)jRzf^|+AQPH}c5?qm&vXqVPN(2|9y(LeLP{jdn3tGtnwTc7u4!% z?$`9Gkrv-8-&vCKJEJ(|PtKodh19RC&&cm%xlhX;{%Wk~T0OR5zGAXuMH0CtVA@Bqvb1qnkkw=?>rmFN4`Yr_kNtv%q_Q6@eIe@1KO9 zArIoy^n6TC-B0Q0e2ZJ6S&WI&VX^H=COM*N)^bSN&FBGb;}f3C=93ZmOZr-xBeDk1 zX1+O=-l(b`#isdZS5+W4be#frdpk>Bc&u*&;YsXIho8J$<`ME0QWoaJsx;;{?lEAT z&QaFinOK!p1!>9Y8IB0 z>J;H$;jWPsXApe~eWxJ|klFwYqtR$@(eChj!aHIX(+?b^_5)E2KoMXwFpuiuXw}xtqC71y4o8 z@jLJ0@Wya}+yOUA{s8p2uZ%|840OQ`;k?(l@Gw9CPNQw7QCOoWDS`v6Bdq&elW4l) zvFcykKiNM;rLw84Li|m>h1HBP8nfB_~Ojs0eRy!oeFoBCYg#FH`!9FvuqvopHPSh+aB6ts-9^-LS5-c ze_ySOZrJ7gV`eudYp+xl+Q8}*-<5x5HEU{?eqBSP?k}$Xlr>kE|GOy@JBq9@qxRVxtl(hdWAx! z%p=W)2LNr!SBO)|=_CtjA-)fSg$&6E$spCJ*kiHFqT8tjQL(Bj^#|1>es5`o_=sSF z=n3lsryk_GfuG-OZV24rCVtKX(>l?ZI2q6 z^)a=LrbmY5)Sb2im7lCz{WE-eGav6@EySsZ_bBC{fk+d~ga^{LgewVx(0Y^?A$hBV zivtCoy)K3SvGYA5!Fk-ztuDOPH`_GY_`%%U(azk@w8y;GzQi`#uCT&}UHCR&upw4= zv1(4^Yt4$PS+xsl-j*~eJ6v?3e0Kfjl0Vg>3wq?Wsma#mo3~nG3G1CJ!2eW}OsToi z^~Kmrd6KdPhtY&9l%?jW?P7DAf$Ga#19Y4k>l($JOkYi_WaRx4Z^iF~l~SS5 zC(IVaa*2$o%>A^zv>0j}Xu-h|V(oYLlv!;Obdw z&^=E_#CL+bJQn*#SC(~+y~@?E(d9m)zv}xP=^bol>!E*u97P6tPx%^5C(Rl_;H!2Y zN0Yr<>)YukHl~<=)?PD=t?yNR-_^x)O0(}rsgle{=@lOXTnd}6pDq) zg<2DrM>-Lu!O`GE>RQ%a!g%H}b`@n8o64>i-Q>TKe2}+{iW5kb-$m` zS8WlN@rO}etiu!)yaJ^B{&ru8F@#3Npk=r$ZMfW<`VW3-fk+7x{lKe z=fi!brPJC0!@|xGoxns-U;&&%ahjk4zY%(bK1Sw-H$i1YA8`q_k+F>OoqCcvj*_ap!dl+>&_>LHZ4hdx;uk90@E6v#kyMB3H&&Ib}eS^;E zYA7_mx73;z8mHJE*of{HwgUGhx5Hz`$(ld?>pU@@_WpBWk#8CD%JbW`+w7xbzBVDU|TDQhsT9<~gBlXgc^o_xN zN#i7`d_U{}`vP9#R^tNuIfQ9shc@B;M0une_S*JcGq8F#dKOt4nNIHpxp4-~0mfgh z9`7G47yO9&lT23iiO-QPQg=?;o6@^NP`pOnLA*|?5;hU1vcC|1;$8E4 zj!H0(h7dcDFA}!;-(bfnB9I?`O8E#<2oEUT!JX7yq#x)TBAJ8|Oe8aP6840UN*hjp zhf|4Ts1&#qA^-{C06>KPpOZ5tfO+XIS_qGv5;EY+5CmSrIg$c$S6BnwpzH?*;^|8* zX&fj5(~(=A557L084kZa4(aargLn~>Nvi)``_?RqJonv$1~Be3en8{FMrj)DR$vRk zM;<}{L{G#zlXgeuK`3=2c!!HIw=wSmTzEg$EY#IM!544#)O65JtGrRxytJfpW6{dW z;iblshgAzo4VCS2{@!ctW9MZ&62|jJ2PR;SKuTb>j~^EM8nKGt1KSlh)sqI=f+nzt zFcq5yhyw=1fZTAKola+_^^|Fj`I>D7z7;>_x#(Nt810XEi^FxHmBbEUA8-d{1=NdV zrQD~DCQbr^;KJayFd?+TwaICR&6L?bj<=+EYTXrbcJPqzlDI$l71Z5ll)O*q?0yQ? zQ642~#R6e_-f;2(ZiT!iZDH)e4ymo?#Vm+N{b`;2rRZ4*^R?ZD|xgNS4z1%3j5Vc)0MK-p;p#^;dTCXIN|k}XEEDHw1GxmJQv`dq`zR~;6}mS z)Wd87?-Ab$iwIkY7+MPU_xNF9;Fhnqxl*5D8)1JI?&a%D+Up#SZVn)z3jFGr>F*!@ z2`j-A@&_yvVt{=(g(mr1dinM-W}tD4&R==5R9ypC zT`fx}8&`>xF=`%YjGC+(R%4;TV!Uh}YA!c_w)h<9Tn~M#JBQcS3!|6*>(c@E1!HFa(1GQo{+HwU4^UE92? z?W?h8$Sr*Nr=;wmrqFW951~Dj6U<9goNz}{Mv4e6$$!ALo>H$AO`+Q1eqf78vac-I z+IPtF-QLm!8car3adiz){jYkL6*Q&<4*E*nI>#+ltgGWW8(N-Vo8%>jIYU z4u?6@742N=TJD`0h{2x(>&X+be8L0F1q>&Cg3VwTtcGwhvIiVP+(j-T_-Lu5t*{qN z1(#9Ug@!?0B0C~ga0V%!_%w2Wx|q9-(i_W%GKKk^ehP|gENc+si@c0~5^BZ_aqsiD zk(H7MLK|}zZ33w;=`Zjr^4xzoc-yltI4iOoe8}iSISI94j3r%T3y9-yHid>)zGQaIA19 znW(PSgjSv|A$2g_IeI^KIlJM2bq%$*|qr%rn-(*!x~M- zF}fK@^DqmQhb0z(eN`b-1qF2^E@%T^2y^J?iCqGZ(L*Ey?+W(-jVMbJWC~}qzi@`} zpOQ6yMVf?r`I|*lq=!LCXgetfOaVjS5BMPY z7zbk25~tFWxdYj8^lkM1%!AY>tOfWPD<6y_(trs#o9c7m8NhazdAX)vb&3YOf^T|k zo8tXsIa5AQ)5=t!=_cz2UMw%N1yp~?s$y4jgihHAT7749ndWu~iY@W~0M15M5SxpZ1DkQ1NG2dBOr)ft zZJiqXPunHS1^YEmj{S-EUR9O@G*jvtTt{33k>mQW?(eppZeFMq6#4E)#)ghNigE7s zS;i({CS?hHkgtPf)Wd>tU^1LTnF&`#rsC@Gmx05+L-yx5q5X=ng*n?dy>XIunC4_< z%lbb75+<<45jIm!A+=#0DLssZ63O=j>5v{U16lk5;@bkFqBVP*tRMcYZl%Z-Q|Wt{ zYvFH92A+=SNsA{WP>1W5w zgWPwVA|`8{sNQ|Z-nnh@OSl)ieSaJnA^Z3AOuVSvVb6+PHhRE zg?7;wf#vMsR1zmZP?1QKxslr;H5hSNhOSAU#OYj+lN~(H&S-l z-q4QM-*&geE@&4t#x=xvB0)c8Fk>F`NOZf@=$M{@oWv7gYgVk{iLju#4)n7h1^f7? za%YBHqiY$f8iv#z#`;33@}ukzjAVE_-i^xkS0WKM%=fW#(C*=|cSWQH`FW&oq+|HD zr>CyHQ_)c2M(o3kE$z_`x;NFA5-jxW5B{~0t-lfldDK_u3W#}VD9$#{F!HN|-l7Z*SF?B*W<`EAFMw#Pk<8mc5hS;3Xk)sU!p zKkjMqU;SjyL+GMy7h@*zC21(qigr`GntsO?c0FWFwaG*i>)K*jc=NoQdmPke;MeXoJ$GyjrPAM_|3bT}mw;y)j)yL4*&&{Dqh&(KP@)PR zF|Uoh(rz%^GYl|B17}^0j@xcMYciU^uJT=_ZJ zFjKWRu5g94f%94P zL9|cA5k2Le6NmW!CBJ7p7oCYpQZ3_mOsbawVlbtjd}gaYlF3bi&7BE@(`>Q7)0(UI zBp+{jyM?XIptNDlhe>ZHKas*QFQk0g``E?e=CP2lb<8K~#pnWYZB$w8IM()<({xtT zNv(2PJ&abwIHd*ZVeQ(;STR>E~PryO%60ASaF)%k0kCdWH-weX92$7%-pMv(1vq+%_%Be+9D&1xF@@@@LWz$M2 zb#1HPmwc%{Q?M+5bcy?K-QS6YeRKMiHTjwQ=~mIM@4tT({m3a^_-(=OZ{M5$Ec-R* z<>JS@*!dh##h zL*ws0pErM+arepN-EZ=rwEQ^b$>W!i*E^q1%qn|Q_O{Q1==blw)xF^S5@nNe=l<(o ze81pr{^^RdMMsK-Fa*Kk`4F z_^$rS`_?Xd&=2LW)Zf4Vboxj8d#}(@d8&ACwW2mq-nsrXqwwx z7tC9f->O`rql&zW3{1?t$sutNP6y+AwJCkS4?8h9~siI&t@y=wZTv{)4A3 z&pbKp+k}m?W5>shUN$>_V&5f`r+%55G3Winf=tW!Cu7GBxi{$ZIMpz2|DJ>8y&AjK zjOBOPJm69{SzqV4tQO$(nFF7UT-&$%q}zQ$cl3N~q``q9FYaHYwO> zT-V&1C%z7jDb|ybOW}YUPs9tSGU8m#_zL0y;2w7w|CR8sN5<3IE&i$IeMWMy&^_Im zUo+9Ps&Y3ar6?^sGP3n z>38(a^4Hw2$6qG=kD{}VYpQMI_*r-N#$a?QT`Hm|c42q>7?1hb-GSZRVs`_IiHd=A z$6#aK-P?K3`yc#!KHI%>U%%h={eEYb?EiB1%h8XBZ-1XEK^RAS?!8|?u zq~8bKqdc7g$hwJ+@G{3He3OM!)nO@azI^xGuOMPZ?fhc?Cc1QaOj( zY?cw|&#n&$EK%bd$*sb1(Ol#__e9<@^G(RK#EF?3 zBYq0cBtK8yl>HzFoiKf%BYAJmfao5nx{MW}>tpqi9T|5c7xtZ#;fi3U9n2cvCw}0W zk))xQMhQoboG@|J`%%KF<)cT8VvXfZT{P|EMDomOqoPOm$#2VV8=jqaV<3CvpJD5> z4-A>nt3I(S=Xa7dH6eX-x;$rXigC!@B+Afx1GeSuoO^yaW$KA(3G>&DnKWtTKh;wy z(={{JPg*o}`Rp50BJ!^f?KMIqpzd)W7Z?}s(y4$HWgY-{T&L!c+6v!O%Bw1AA{sgy+fR!|ATMDT}Lm% zl1P`3dq6g0BKj3-3vP)khu#hR2KHbpQBGJbKALr&lz~rY|6)w`?_pQc@A4+FBEjb< zGkG0q89K>bZ>aX2g1C|Trr|9ahFHmX{}yjmmrc?r`Q=$?3-V8ZHJC=YChF6S+ZEF^ zQ|x`kuNn?3Qd_MxH@XX2uhmazz24BbN!?yh^Rv-ZWv-{y%ta!8&lrVQc`!aW4ZWQRcQPBw&u!~x|GJV-%85ImnW8~zuqlQ{vmze>s@ro zXg@*DFL;=8T1pm@`} zKd;7@bv>C_BL2AkiKj?aQurqK(c7YsS1U`_zuH`+E$%FtRgC$t{Qal*+RvAZV?Rf~ z9P)AEx0&y19-a9<^;cHO!f%gDhQ3U_msryNv*-Jy8bkez_epOnN^!6GA9{U>D?Iqw%dj(aF6S@>bv_dXTBD{s~mwH<0fcB21ItzuVC`unbeQ@vXvtPbri zt||ZXsOkDI(+}q#RIT{u*+28jr+r^pw)<1#*AJhMf0F&8eY;s6Rdc)QSk-`rYptKU zv%4m#yL1!uH2XSxDD0V0=#McKyQcU+*HwSG^{`>GF5WRr%68sVbsJ}S!RCj$sIF4O z57iDuIF>A5>kpGN+n$l<0DE26S*nB*;lZH${F{t-3>>)%x^bPxo^-ya{)UoT0C^Zx zySE1-(6_uoAE+5l49AWm=20{JG45Y(8#JexkGTYvW1b?K$wr!twv+mc?h-b!3)zE1 z<_K~lFu~7xoUnhn`vhxfs1T5y&FCY1Bpv5doz1}lA>0?h{Oi}u& z9^&L3nY`4(m$-~k@()(t8>Z{4PnR6v2yZ6~FW#-$g>3#cU!FrjqPo#6Qktw74 z$Mzzmm!~!N%1OMOusiK@W?6Du#=IVw(Dwd6dYusz(EEsZF)4ZPdtJz1mFDfaV!_V- z!dV}NGDjwl9G}yB+3zv-aR-MU?A<4~Pj5nxYbo};e-eDztNSia`qF1{YD?DD-a|9W za&^fO8N<@^)5oSY_H^{y(z_tFq<4L8d5&km?tVjtTputg&(JR>iPq~&R!AZt<7GTG z?tRY#p-ZB05v8GQQLXS($h)9^LE9o;^^E8-J1MItE2$&pUS?6|gPvPbsuh781fkuk zd!;C7^+@vCiY(LGKeUbPw6>PC%iCe{W_gA2m}-opP;tgO%LzsDno)YR?w)j{iXuI% zdMRD57^Ex~uNRXgC9NY{MzyxomDdld%&r?-_4m)&UxgK6f0BRl{|5aLRLyS8X}n!q z*RF2Lltgy^ltXx$ww0`2xmcKX36Moan z+ROg?^0utA0{OeK`bcGHb>!cf)vwxCw*S=Jl%8&xVcw3?Yf<~}on#V{JjT^lLodUf5!9u4uj4c1Ij8eWtpqIH6f@=qF24>2-Mhc=Hw0 z07sg(PBzlMQrk~Ez@gE^LsqmQmQ{|!`exf#+k41R+-NywPPC<2U)l|<+%ah zg;-+y4LHz;aXG#c>S$^Z}Q$y2)vm;LiU8N1;P2jVGIv6|XPwAIvT9%tXEP@`B_ch# zC8aegB>HUfk(A--ds5J;y%W3Qi<93c#3vq07!%VRJ2K{PJT|6J3?`y2^mp98&^h7A zsHDU#5v6g|)bTMnNutDs$xEXyi2ltSoN>D+t~W2Uc63djak;;f&P8So(I#!l4eQf0 zHePTfgBf#zqYsacs1J4pO$!zY+JiArr=W$HAJV{3l4|Ie83Y!I1ev5r9n@iD6DOKe zB0LnjC0G}9CWPH%M%d=)g<(A+62exAFd-j;%6W$b*Ew_O6y{fQ13esVBJ7}$$-i)S zacJC5gdaH;y@47^A5RF-Ls>C+EWasooPZIMD69{EDZCv^;~nRvgpFZlMTAhvczuxLy>C&ZwXU5 zzo{G9lc<}BCjxi8Cmo6Q1GY`FDPo6=ZC-1@tBy<8D3?gC>Rrkfb*ZkygoW-7;ocwa z8;&jdK{qm(7G>0J-CotjQa_o?tk#psp&6=wFk^*t$_pl#7elBkalBd+SR3ST&b-A@|HGLbWC|2l> zcCGk(uI`-Xi}+wCO6O5#TBZ6j>laI$M%Y!Vmv!cLPwTd}fo;Uvbn)$)*;NC6Hr9;& zwf=i)EuuNP_Hy0sj^oW3ZN9uhy-9UZ*`j}ExS?f2SwOTl+*8US>|K2iObk|y9eJ_9-ZyP!p zIfZ!CXYvmKj(JBKt9_-G*UB-L8WY^urrl%Y=@Cl4tcQNNtiK)SzXo8?^IbkihPw{g zMy4B%DdsvSA|LY#D7%>y!b@xj^}crpeH=5G-p+)~EW}pW&A@XcI?xCfpmSVV-cUrU z+hUuJ*ay6W&43qp2m7Bm9$+U0MmlBo{sE(R7RX|#NPig?{8{`G=IWRxUZRK+*TUe1 zuMW->)(eDu8($$@&F>|+$-Rk}v*t15sBB6;>mTYp>Q-77bviAY#G~J!OkwsWk0DIO z&BTXbF5(1KACie(g>A>xqbg8ikUwD+2s8K`S07X78u6799zl$IIYs2?>Pt5{3u&37ZfE7b(Nw zk;|i2iw*}9M7ss2Lb8HS2LBC#2@Zq}V8hrd0gASYQ6A*sX7QJDdUE;;t>w12*qG#bX?tRZs7Jb4x-R8mZAv#+}fb)aBQ`{)*rLDwHK^+omJ+ms_SN}r_hgpjP6H#eJp?M zQ}vU)mCE_bFrY9AQhEA=A8U5;Qy1V8v<{YcmW;8uF_V=YblMxV2z_=WC&G-(K0aA^~ zL{grVaJxL6bm>1`Y;lnInppZbyM9d5(AK+-)tX}+GZgorwC9Yr+c(_u#FrI#;9Tad zHtB60&Y3ojR;*fMTIxQinb)Q?WJs<{cC_^B+*I39ensCcIojgr$QOh46{-|H-$r+r zTla&(-VRn8YYAZ_@eq%~TE|_$a#A1hJ8=%~PRvV67#{R<@CsxSED4wcuq?xU|5@Wr zbp0xgP4PnZTK80QQYM9*He?_R^%}8<|BW;N)j@0#1T!MY_h?BR8S5{pkC1?w$OvUs zge(qM(pzG-3-iK!3@vjvSwY-I+()QK-$T8oys^^=$IR>Or{UM!xv*r|OxGLRPf`J8 z7=14PRqz`!mslu(Q0u{q!(72V;&DCJ3+(jO!DB??$f=BN!8U&Xq;EZwS({^2!2rWg z;Rd{p!*F_xAn7_z)AKa*9405^Nz8`Wc=iV70wE9@%Rd;@#E>(#)BdF)aL*A+*bvkQ z)J|9&&<4BcCOJV&J|+_vN!*AKkyfxp1QTr+w4C3c zU&Fo4G_hw<3djohK};Pm&SL=`)^_Vk<4XH(+X5?K$9nS|R43@$;GT_4_KZc0L_Q7t zMtGnMejixto#dN=fVr2$$3w=_G~XA;6;uWc1G@+7fOaDv`#(6BBfBA^^-1gpRBzY= z%T(BPa4xtIdy5!qk45f*ul1e+o_V3v7f8lk^gi)sGWMc`u$`#==3Ib51PE<(JS~cT zka7;7W1n)4VGfa%3>xQQ&>7BnSQIK>SSb2Vsl$(;WaCe9&jj~^T(mbSS7=Fur|8w# zZwREPhxaQ)*EkN%%5naofvvy=M-u2gi)$Ln zYE!g?#v^|=*F5<%|IgIVmn)3o5QkfJ(zI1?tP3`GTC{qcyveArjf0^)=?18+tE1Xh znmaT{)M7PLi8tPMDO77@QJOqiSL>46i=B$PqWaxpuyJ!^pe3f33d__2o~QpStb#JO>VDa;Bq>`agk3;2G|ZsFh$Ws)sYp ze-Jh)kPYMq&id}!)ZiE3FY&Yu?tJNg?{K2oP&2a>?jcytMgpu1qczsNamGhha8 zSi?Pqz(nLA_B>J$K7hOqZs4z{wZN{R9N=hJ3hb*V)$z>EGb?qyRWZs0eS?~&YPHuD|xpmbXdWMs8- zKI*6Uo0g{=@5)vW*2Wl`ot?fA%{TL%?ylCe=ET5!_iS~TAwj>+(bL1!tx>*!HWttM z!%-{EA3do)nnwsegHJ(R_74l(M_)k_aR1<@VuqlGf}`Mg>}m{=L?kYRn&WM>KFp~M zEc+>CHS01%Mj+6pu^!M8=yAMD6p(X=N+ds|4QDLo>|q^e`B;0HVJrlX%lXFYO+G~z z6XxJA;fd%Lj122U&!!x~^`iXb7UFvcUlPp}+JlOPTcWX1%cFio9En*anx0-4?u_{n zy*enNM-yM!vz>iIm=_@yAW`AI8Vg^kMT%|db|ZQYy0?2NRFUGRVgL#3KaHLe|5dk>>l0X=ji-7#lq4?spEqmg2dq z$<+TR9iBWA}OG=--SB z)!5tAjA|hBAH(xYJ z(1W{%)Sr6_+T>Wsm;kq7&chCSC%|faD?R5NT>CQHP18)1-pDY1F>E$mFg55y3_JAK z)t7Xg+9Ykh>VRsa^1WuBfux3zyrx=byxnFAbG3ELEMHXG*3Z;|Si82`eGN2XdNPHG z0jRfN3fjU&P;kt8$9&y!OTCH$pMqKldukDhW9{YYB^r+Ei%hC-?>yI>**&lIbk$xl zwyLwkD=w|CX{@Z9&`{F4PUjVm?%u734qhAETW(FX&hVD%)b{Q0-(H;0gy;fpJ8_P9 z{|XD)H~@9PdDyiPnd;84O|^Wq&G+_J?^N~alr{}-k8HhWJ|SBve=6pRuSt)1l3Yzz z81e)XU?|Clg?>s6V`fh}vgf)Jk}>*7?Croai`(|pxxhD<7{<*Fi{$_0!P(`ZeL@+)ch7Z+T_>$yRnsB1Ou7F# zQV7WWk6Z^G4c&ky$T-2g&5|XJ_ZCa;X%fvjhDczwZM^oTd060Er$(O)ALRXw+3YX! zHh}}pJ_i-^$~7}E8z+EoCPx9AeZ!$ss2KGD-T`m$wt@Q)=uG?*%`Cw^ulZJr{xkMDh|@e+6W219b~`C2cPA4Q(KOIAuR; zA9)`IM^B;;=SesQ!9T(#?i|6d5I?s?Fg$o}Xi?A;ftdS1ID)yBOW=Itj;A~#`RVH+ z$=V0ZPU3cW3w$RGaLM6S9*Qg5O+d8;?jT+vCPED<7jhN0ue;2tK<&pq#sw38AwQtJ zm{{yKL=I*=l8g9+c#6IRhoil~Pj>-0#PiJek8PB%w`;rhmA=vPTuGGGYtJioSVe|n z!y7}AAoYu7}`Y5}V8x{BD!5XxBi1v`SO#`}tzM`!+vLpWqx~ z90Rpi$I5>z6D3>Kt@d2&9_w+B&~zB#$Nd78h+h6t{<*IHC<&$!A@?WyxaJ1C6_^0I z)cV5UWK*C@U8I>PTVM|}57o{G&&XnH6S@`}j@U5RV(GEkoh{qji=2M&%6S%k z39e2W8+Rgxky1{&%00&%$sWgZ(0en>NHHiYzBeMo^$@a-gm`GaChIBFGo8@d=v?ji z;972r@(=cXcfW%X5$(Q(Fe+j(^JvI9{)y0>usx9jW7A^u6JZHu;k#m~q23Th%&Bl; zu!A$4Wv8goyRZPP9Y{mGLwtgmCN^-4`+yG&eDM}}h`xo+JcrUV(t5?&VX1;FJ7uo+ zfGtpnH~_WpUB*z4Quee{+esQg2iPs-K#>`WI@m#%Y>j+h$`2_9DZ8Md-Ek z;p}}(7F$m}%_tH$MVG=#BC--{gC4P5>;+tZ*mK&}XcsP*B~IGG7>0>9S?#RQdyyiP zJ~bz_h<}VXCEV3B8+HP*(KCiQn86A^8J>sxN!-Xh5JDDwjTz2OCvRh2VaJ4QtMb z1iho2>+~9 zC#f0zog{`oAWp|3;j_v800+E3`UZHM#36rzX`#;Wrod%58|OjZ4_K)r{4=_UeVKZO zA)^O48ulOP%s9rzM9f-sZy zE;KS~apI=nVl2dUq|*We{F7ken$@l_LxZ=>u*BAva)fpbpAs10rn(xCd(blY2iJK3 z?xs3Vd-S^RCZo}2iFR7eQ^4JhDovDQlPBI;Y$-O_jb7Ib?FZ#}MV$Jp`kcAlHrJNu zx#L*wKj}RNtO6JL4W3!>@8Ae~p%*eSSnAcqs%!F4X^eDehpl!-&5#ED-|Ll2YGl;| ztC!bh)%|I7w5Bv?iW9o}E7DCC{R>;EV}i3XkQit{|ARY+e1yqDT*HX~S)d4R@Y#J= z?2Aov&4)G7`tSNoIZ-#ZD@Zn_`;>CF;)`^jmFEXAHrmRd-ozpFLe3C&D9z6p&wfEP z(X&|>SXdUFIhk+;6^DKoC`V34Z)T*CiYWhuF2P1y1BUG;GB(UJNOcCW%d{$R-nP_- zWqm+=b)NI~=6+(lNXpFeP@HIc$o9}`@LFs(;VIUN zeL-1@|4CU!y-58N^qPgFv`_=6T=Yl$6>=Pfh~LX@+g9m7HNrR>M7Jmz-Jznnt4lNm(WM;lEUK#~xz z5W+~A^!J3*^r6gr-dUlNvol7(%oa?JTM>LyR1!8+IGR#L=n@%1HxqLR24)&W`6_iY zzyhk)!58%7t%G}E6fNE{T0->?5xv1?VtLF=;ac{<9uH#AMmlLf290vPlyHG z>l3@-e@%5s?&*3yg2wO(Ecp4vTE7cox4WHP;9{DTdds=qsaAfI*LR&zU6l>%(917F z+`>Ub=(=!UNVF(A>_J#%aCAhS=sAC9*h=BOprjxTbGx8V(10L2V^uCHQ7I4mJaw2Y|?QTs#FsGSPaoHqqYFr?bwoY8ca*aO!jRztF7wp>PcK8?HBd z7llOXLzaNCh$`C_|5@LBWe)HQvCdFpZLnn#>O+tYcUYoOO-UDIh5iYXqLi3YAcMY! zyENE=ehr0Jibm44xciQT*tSDLl^XS# zx<~r)j$CK76|~eqhT|Phhxwc7u2!VTRK4pMF23HjM0~B)(-Emz&^b&ppe0!ORjF^~ zRQ+h``W4g|qYrDP1jJ^R?HsJibjW=Rgi%Zwk6|i&ElBduBy9rdz;?6&9d94&PBnt^ zUS=mS8eZ*O>m8>Eu)&qmJ`R*;IHlGeg1-e6QoQ=e9yjTGc zay0ZS<9l#h)JD-Q?gK$2cPVvZ&~esq_QqhV;Av1XFIV8_WkG+j_%!}F-e)K)dCoWR zkMoX)ScA8PO$a_Cm?50bBXIILLYA1;!Q#>Xp#n4~aWdSC;6u*M2e>=g;Te;#}jN;i-h{Srd3Scz0VH;Fy!Sqmn10BY|!Tfp?HK zA@vq)F99JG;6vrijv|><8)mttJ|BoxZPuqrCRjdMhpKYLcdC}PUHS2=v!iuo-M(g9 z`#MFwWNq6w(>RT{Gv66dFHsKEjCFRovK$%C_ojQkkFZYNAN^y8!y+=CRTW!diuaZo zeua62dY;ZNg^ByRo_@DTsA5h~(6SIz=rAUR z(odudUYhnaGda0ChDYY`Gb0Z~KTe(#e1|ZVpTT4?cf((zrv~m=<~vp9F&e*0W*w?& z@FoH80#(TOh(`ZS{|{i3hvu1sJc`?jdPtl|CD5)C3J?g)TI3TP8?zKuh`HrU^g3L( zO&1+9OR*YlVrXWn#EL8Go$B$51?pGwzH*Vgw_=X|oT<^c&^pPm*B<7;x!*b2R+;Uz zeTjXBy{~P(CevawFV#-d=jz6&tg7g4l4^wBEa@fPp)WT)(v|2cmBpr^?g&d`ccQ6H z-AnS*d8d7AleLWq(TMN090xA6P>h2h_js6h8|Jjl0`}nRl@`f`#$O$4x^ci&+I8$&naD9byMEk?=Tl72hAaLFlAgIHh!Pd@$pN?=7kV@dLbu zy6vO6YJBT$42Z*{b4)e#beOH%txue991qL9g-bnn4dykJ}l%C{C()X0c_wP9<(i(AIxIHL>izfZ1s?i@|gE7g7(by$e4HAyOja`rO z)1DCLVM@tbdWqnmFeRc#xIvT?(;2>sB@XTz`H3_#@>IlGY&3pBz-h-B|1tdW!~|vr z0^YCI6^JFkYOpu(!U=ag==!GpWUyN2$T1byJXABf~J(ILFlNWjbc+=2-S=4wx^SFB`5~ z@MeX2jRkbtEH9nY&5N~tENPY#wypNL*2Ai`5{jZ#8>6=9x=cMyvG$3MkLKTocJn4^ zO8ndUK|k0OWS|=QT5_xnR;-aPR45HPvG)@-rFRv_W zeQ05DHa!S{TWszt{wNDZ^;?mzk*G&um=KqGH|{2m&)>rqG0~V=6d|)0u{Zlf(5Hyg z@d<*{{LJ8moa&H0VY5Qsgw{Y@)a4;xLU#zt=v(PMD4nEPxR->9z;66(^gl2FuR;fa z$?!Qi1+W`2oX|>{O>SqO;pX#qF}37N%rMdbVgV8n*Z?ID^T7;Y8HCsEYl=5ba8w%C zI18aE!B+2Z_Y`ZsZGrujgXr%O$nnS>e#=1h6mJ#U>k+^vKXg;}@>#JT>}Z~#$>&mrYu>zFTzQ@t0xdRPea5Pkvo zC1(Y-FZT^Qz@5sHG0Is7LvmUBBPT>Z=&>Z~6T`(@F6a(5ab~l73Ub0;u;($)5)-ga z=-zUd)`Ts={0mVe41rMW7(8T+^sez=1kQW5z{@?iZ1MJ9cAH)Zy`jz4ZP4yiKGogV zw42ZCWTt80JY)sL?OTP2MbQY$Fw+PZNl0`C;xIz!n*)>vlANjjQ?@UbR1?V%r20?Q zro7XAOZK6&v`gE%q~ate>_?8GW65)%t^O+3Fxn^P52l8ZOU5(r2K_&j<#MDfGIt4e z3;i?gHTfa=U&arjmQsT{2TgCnapwpVp$)TDn4Oer%5&y={$W0WA>qdGj`5eU2UE^c zRD`~G51xj-NZwCM$L_)uA){cc(SzWFsV3nkW)9;r%|t(j8Hsww85h(SKU_p-{e#b9 zr*Rvg_vz=@`2;8B0?x~5rN`h>$i?^+$~`I@H5Rpw0ubgPqe=b!XW`!ft!o+VK4u(j zrHAR8i5MF+fJ$Zz#}uKqLcV1i2aBZfHKJ-9z&mlOLLQ zV(eC<)R1l1r(bDK*N3Q4`hV1^@;Kew&Y9hPq&@3DwWQU5 zZ9Qj|+FDW1y+3TLEii&Qgg|}ddFl)W;{q3PKk*n+65d0}5z5$30{t9oLZ-wW!?}DcfaMJ(88v^9Pn_&#XR{U`i zjQ$J1n>K<`KpVhaEXs+v8CMfMD>{?U2znElB{~%z9bD5>)njMkz{J9MfAAnCL9l>3 zExeGif>43K1iR~gXL)CNteVojLsHf8O6D;V&C!ab`qP&8CIgrXaKLihDP}Hf2k(O5 z1>}{A58o#G%?o0WWdV$*!97Iv0vD&9_!T=7Q-hv~8$h zRsUFbun+W|(CjcLxuf+z)gt9um85&JGS^^KWol}bE4vXgf*h&(qgtdM26;dVjJ>t( z-4SXKBH;23-G)j{hGvgppy{tIVA*3`<62}t=$zyJ&u+A>aF*Mrx$<2^`%BAmd!Fs6 z3+B!8DFTuJ5_=YV0(l#UB*#JRfxpNQ>{!$aAO?L8IS}>|7y*t1!=WkT8~ABh3fvFN zLm$S@!~YlkQN%*f#?z)!c9OSKZ&T+mcF}4%pXebh9epD6 zKgLx0Ka#EP zezu|PfTh%(;_h(g`@KLZW)}Q4;s$IZT!a3Gd52tv5`hd%3`T%(;~rqUpgqMp*z>?> z>uB3`_cY5U!!Kiw>;_cN8!jEI_$-|Q83#7VQ@U<ouEom>{ncqV`MNzvGlksLH1pa z>x4RF-BTphozJ@xyRtih?%k5HvgWo;s&k4La=U7=s!|atb9G*_Z^Fm<)d;8m9ixC5 z*PT@tBgw{W<9roql094oDJFCsR?c`u|AM{D{DI8lKc`-U(|xh#Y)687ltpHUaOIm# zkohGZ-t2^^i`csuJ_$=ZNDC$^mByN&JR7g_;6yMPG0Qd?)q!u1&DF=23=vo7k5vRvR{h z!_8L$<9wZlNMntv(7&ImM7=;t{mYQmI0lh`X+@4>si{2fU&eSO3bvEbjF)+a1vVm{ zfGDreaoJ;Z#yQrRO}a_;@#?vXZ3;a^Gd^p)rI+b?nonBRx(eKFK&KDk68eF_6>o&| zus6|l&!M+=*-t>UzsHWd5FJ-xS2^z6Z@ZN4A>LDNnQOLfl|2JWSw`7kS?lajw(b1x zIOQ$0yIf1%MlaOnfVeGVyi)MFJHv(Ya6O?en{%=?)tTZ{*fs>(jF@`1+`+@SAa8NV@-QTzuxTbsI%SCvC5I?UghjfTWjH| z@Vvl$^e1;d;ux|J$RLb?O(!c!!6*^&GYpSt3GB2@c4vBeS%x~J3{x#<4ITQ?9)>Jd z`^0^^vhAL>>eU|+!TQj^@1kC?ZExv zl5q&)PTF1)KvuhVn>X1R)&#fGa}yi`(GY^|JD}deGVc@Xb{EIH&pQq3Cw<4iM)_eR z>{oCk_8cXdrXh@kzoxuq?!kqUKrDjDCVU|*#a|$1gK*ST!g`<-JIdJzJhiX&ykHNZ zLz%nh2s|9l!%m0GeIvd1{K<||Py*41&S~rHP3n7+4V}5FR@DeaPs56CxnjMdOI0oH zHZaWl>`Bhv&TRJw=Lp|T*BL(|nB(z9IY(`8o3uG8GvGTq7w^cU&$0-5?W_q#vYHS|=)2*`7NG+ZTE(te@;P>Z!)D z+Em3{NsYv5%~vh;#QTe3eFMe51KxiLV90)y&mCfk#@TRJ1^MCS!e!Cp*e6A^NXyC5 zSPXY=ke^T+M~A%VOwM=F&8V-0xs(MQFtj_w7_}kdZCC^O66dp!!MZCfrrxK`B;6(z z;BKJoux*eh8IQeS%(U87N1(frxG6N1*DYLuU!nCEF(45+b4-bzwaXOQ2K z!>ASX>5OUARa73f4*whCY)QO-!SAr`E~@{6Z=q|yufV&~x*osSc{`LCYk#O225Lv=X^R&(~ehZdFwnbl^H?r>PBcI!p|hd{@Cc2nuindAx-}A|N z&hgg&%Qh92?dplx>IV^z2({Ql_>XWJb`!CR*vkiydLY%9Rg`S{GiHULi|gYmhrqd0(Ai=`naW52^ym{*8OK!h&`J|lm?W590zU)K*yymO(&U}78Zm{J{| ztoJ+t#{x=TkDK3$)ht$^_s$_GPGOUk z6n?0NIFNaXG>xSs!iWIl5@s6;hL95GU}@w+@?qvwLMpv4!^CT&jUjFXnEr(f2{4>< z2o1RgXm^kW_|xh(hA8-4{Lb{|peWw3@QZPIVTp;EeQYs*BO68XxCNneLOnDt3d`<7 zHW9Aa_Jei)tKM+P?b6HeNA5QkbsRIE?#xk8wJ$6q1CRZ7^luN$xe@Um$%eV{9K4#| zfc}d)ODjdKgJ!w$U_2%g-|a1gc3?jThPc*wB0FPqMj=F$7tSw}l6-4jfAt*i8Q{Uzm*mjC1}ZH|`J z^>fAe`hQw7YL~QKYqmBDySM)tt60@AQBkBXXkyy;cJ+2&GL?3YAp{}!VSX4zuq)op z)}9p+ZPftT@r4ubYe9ImqpUXYqGl415WobyCcXQK>T@6nXu=_QR*xQN)N`4S1%zNl z$cB*KA*+~MXvrJ|Ho>+K_YpA!8$rpyP5^GgP=S-kUrspu5^xv+QXXSdNY|m>-gMw! zN)}B|-+^vGdm#@^SMUkKm&jz6ltB_zv$h6xvNi;7XKv$<4j98b1z z!q|sMN?ZwvLzE+bU=N~(W6$80G5T>nU=oCLkoxe!j6R~i2?fm3wBy8;;oYG=zJsJ@ z4H0d@YiY^2YTOHt-af?BVyQ8tDF(}Hv|#H>`9~R2w_T&t>5MCsi*$O0&yX&QHD1;o zH_p>(O>eDS+au3+bA=b?*zDM4DRabn*7#PqAN!Y?p1RW<3FeEE37`1(r%HW)xw&I`We>U zor~lTnj7THRe(0%>NRuSTfHZJW(<`uAD@D*rd`0tqdt+A;eJq`0Z`fxy5QT8R<{s6 z$Sp-z`pOX%;56g|e?M;m%<6mqK62lKT>w{mUQ^Ox-%+9dJ^XTlkd3m~a^NYv^h8#-M&-sF2Hy&G8BRN7RKF0+cKaRIuT<72h1M;XRB&&Jz3V zz$Vx=`xn6Bp5XlBodg{z3>)XSpbc@@Bhb+fKHferXC%e6)UyK&SVQ;U$2bRo>HMSWA*sv) zD}Q&q5@TRzl=<##imcTW@XKAe1KCR2+*#ViN#b4QGK(AGQ!4$g)fyuOPZzK6V#7x9N zdN3hi#Qeh;x4Va68rZA{LrvQ}x(ggxsJw zdXeZ0`v&(H|FNKqSHM+q*z9oDLB>UvpLK+#BQ57#B;-)b$(IOiXa#B^VFs!YF_Tz} zyMb0=kB~p1r}$%OTJL7|bl?jKhB)Dy88O$FC%lL_L?n|tX@&Urrg&;1%)~RIEbJLU zyIf!RbtZ;qD?J%*4qoMWjNcm2;)ilSa;?EnK}l2zuPWkX?8lxOVr672Cj+>{T?q_9 zOAM>Md{~m}j8_5tr@JQkCBLp7Qn$DZ>^M}tM~-g2*tn@X9Ln0(YVWkLbxC@n5&<5v zd^X?l4)Tq%DL@yZ#;x^b18j%Nv?wrDe!w%`qO~TPf6M1u*NHv)(~^HRA6mUKx`f`z zcWswm^Q|(qnB1td@;w0Gcix{*xNd4EH|rviW8oidubH5f@6dRP^ap)IkkS6P(gqZX zdK3-lPV07l-syU+m$%T!@5P`0N6}fvMX|qqcyed9yXgi2yYm?6u{)0Wx6otjvAf%2 z9=p4-y92vW1VnP#?w+05nP;Atyo1m3`RyIw`?~m^7o7ySdJa%rcEC0W-2Urp;@_O? z2J?d7a?GiE{i4QF(fards8?2h>*s_TFpKv-ZoZ&ta?6_2$uB~&lG)4=-aJi#wVk{a znFoCe7inPOVR(7{rh?koQHjsB9h>U-_gav`*%^1@KgQ0j|Ckxt@IBHcLz~zmAywEW z=8!rs$|h{WwVX#k%Yu&u*{&J1+U#!;Vb%uP#$AIA#FQFi`07B;@FE~ zO=1=&i*q~U3))@9k(?05hj(%tAYEPTycWnLa=kwV3WtsIvK9=vsGpw!w|Vm;7P3EZ z8rsRI(W!Vn&T&R53?SviEBON7QGa9bsJEZ3pYvU0w6)p~Ro`{qsq9_V;nyi^{f|eB z8(JS1?X;Ja^bY*5_+8x~$I$Zj?l>D>Ya+ry&}6d@w&yUK$Uax8?|yI*a4r1VUyIMQ zbc9}r6~+%OIqCB_*%XaT9>R9nNQh`mUuSnV64BJi~;bn>L;0Ht7 zd`D~{owah=3G}UEG&E7v0vQSoX0QR_bp|rqOd!gf|p%MASl}2=myQ6(08Ig2N>sO{|$~6b2 zO^H8co&+e|mh+BjRrl2Q)FBeetB#N;YrwgPa2?w%V=B^tKdW*9D{l><_IIWm0Ak}N z&Liv3M3Vp4x*f<(pN|~u9fE~D%K{Gt zsQ)Iig?c1DrE*G4+56Crsc=$y!levaDbM;85$G>y21&KDnG!(QQFT*xE+FIGsD0yC zz++tuxCQR6SBdwMPHjD?qee}a2-0%q3STMOX|vNI;p3P;)lK48;w%C?wO0N)j2M+PEb>D8$T;lDKVEA1n=xF>{@h=cXD)Ob$192;wI7)WIsrbL z(rrsinf~-V><^+d^fmeqnGB^6v)yMSOM>ZEjGA8CBizo~*{Z8PRI}W+{ioJ6w`@V3 z`TH<4r^x6t|7chT(`eZ_YMUvA^Vr){+K9c#;iFHHDflJJ9**8&V?Iz>!R9`Jtv^%F zIw<0NU%fZ1OMgA7Y2|A8z1457ef`fab~Dw$VdYK%X2SwmiguC8Nl#JENsuXKwCLAz zjIcnSspwVzxO#)~r}!Uc6}>4EpeMNIa8LNhU&fc7+FdrlJ;Uvb4=%W`!)9L$o8U2k`&@cS$sfJ$6x5HX$ zFR~po9Cz-inr>RzV!@q*bLjf-`MNlAC3|zFEWsJaFU_*+>#I`YfYpm{*8zP z`J|IfPNIJuRzHipz~+&Ig;P~l^YR!jxH`56mKoEUH#B-Sd#s?Beu?@>i!qrmWxi%j z6;m?*ZQ4C`Z0bkBe~C!A5zr^8h;x$a5%dbzVflO^>++sOKH}eOpFoZh2J!v!k{APT zalP5x(=jQ8S(>fyCi@r9;WmqFg%qa{fGb-2880C22?3mBY9ZX5S7+EKEXCyh0rwX*qC7eQ;qBH*fiwxoZQ2LysspiQPW z(d!0LNf9;vr_#Ik=kV|l(~94?by}dcDY3Q#x$T?AnNm~X+H9O*-S1B~4h^?p?Q3m> z`O(3=7q~@wT~k6;)4#!~)KMS7%nx3StTUYS4E4+}zUW-%zEO+X{|+4dy|;L=$;h8+ zALkiO1iu4hF5v_w2|#=svxvIQTdI02%;Ig37U|r)hinqH1NA9d&2C_q*R7`exsLh^ zTsr%f;MW@Vp3B&sUg)_LX%brD($T4|72$J%b$C%A9X~Cu<#&=^k*-!w7E2VH)rjmD z+wXj)-wJ&35Cb&_q<$4Zwbj29SG5q?0niuVbH1kJH>bU!p3dP?U3joiDV_rqs` z&xjGkVEAs}yx2wN`$3I7oQLJe*Xgh0hmfynTd~RNQ}PmOpYA6#&o^7xhg`y5o($7; zRlNXS0HRk!iMT9_TEfA8kF45Ze5aUg$d7arU~Z`w=550tTMjE414YrsQB>&nqER37 z-MbfGV(LhYuG&Nt1rB;VK+CX`D=6O)XllLqOK0Exor1r-e`}Uj&L}QtuVU8my4DWo zWt-fQCQJk3arCWk4ky>c-dK831a=_u% zo((pVDKtEd*14KP?*heCFSv-@p_~IRlDtBv3pXjJP=iyS2)4(Rro1ORYOi4z6i+Fe z@|$F{w+b?c&2TA_A>37$K;Ojl-28Z>t19HK1I1rds$jcxllVeW-qxTdX{-fXGBiHZ;1b>#Q+W7 z0}n<9MDB-Y`GRgcxx;2;&0YN+2Yn`=&3L`0twCmfRMp1N(Rs|+sunbZjt91Jo>TVU zbxmp#3C7pbJeV_CL1V2 zJ;)w-9%}JCm-a$`g+FncO1^TE2~z$5{f+e1-<9p;)1pjy2jw^3{1`Z4y|#_^nm(wR zqFKhiC;{0{Rjo!NKCNKMkMXnQprTk@AXzOar>%mH99&h7&y<(q{|O3oKIKM*UA|s5 zNhr{DkDC-%8oMI)w<1x}6~BT$2UY_S&Ml4>yNry06RBT<8RTy00sMd^SFQ?=;+=C( zg)jdaJBO z^mlGE#uDaYH+kcoKI!hX{i#2a$oieqchvJ|%*|Yz{#iFZbAb4nDpxT>sO6Nxr;z}% zoHIj`jeT~njV^&=I0E!Kben8VAF|#D=aTYp2K*aTBsS+C6DCs6*@$gdZwxPwA@M)4xm*WtGN!=yQpfS9k zw)I?MoqJhCg()@k+E8KO7z&D1;p;CO`Y+VgRGQ7KWi_GmMXuY?rGq) zCrhxAtdgt^4i~4X{*>-c=!X?&G}B?(m(W9+M4g2@QDMR%c}xHlv?KVGk-IqZ34BfT zLowx38cZzY21+zx?rpLuzN$Zfg7*lb>G0Cd$ z`nWh*0+=4J*cx|>8o_J~$2+eEvW>x@s_dVtHtxgbZ8aCldV0T^S_MbBCRRW;Urld& zAIm9nQJvZIh5EF@@Jj_szT8qPPw20@M9#h4E+O1MAM_gSQBnXY9mqNoN4Xl zS!quuwz+3`@7H~)*yLVN-kx>Vo(?=Qws$rTr}=roF@8g|XXrPd8<*aGyraDqUCprWsm`|6j-pW>y$G_t<3sT3D}<~C>A1YQC&Ls|CL&J)fG zu(+yuB*|0Dd8#2J_n|cioLa#@lzF@{6?;8Llsdj)UgB=uFa70=P(50w%s9fEi$VB$ z^aA7-g!Pw^4`EGYD4Y}GMeR|DoiGYRarhH#C9+n~9(&78<*t_(3%aNRioTk2s%i2y zvU|e!>P_;$)lDU<;|!7?_%HcF*=iwxuV*(hH&F#OmyRPhu;!4VESa~Kt&2xR{*FdN zHB@ubO!0z$vyR30o;#7dp)Ia@WL)^6iza&79|a%VzPk^*XIMCnYQr1nR?}YRYukJ_ zr@JR~(ziXdkgW2qh6Uj>(dmRYium)0dcMn!FW#u-jQ44c!ya#&So_udxRN#>Fg&Z4 zvGx>${i`L{E{PlnUa9F~X;R$XJ=bLPH;rvC$X4waJgi;k&B4gnGHyf50`Xv@&gJm5 zHLb8U_B^bx7Kt3yztPGrhQ_vS_7>CxhxzyC>g(axas{?bHVZkZ55Tvizw0>^oSc0e zn|7&IquCp?F>O}rxwv_%4?K!j?wT&;M<>#sxwolw;5!5g5BitW19>WrLNHp+Csm*goX8x~!Vv}YKZ8_yxd08_v`y{;T~|DB;iCZy{^Co!&tvXMz8B#$xkB6`Ny@5{@%EW zGy!esG%!rXz|*3OB5%UYeJ!Xt7J%yDLQS)*Ph5TMbg*6ZXHS3c<6k5E7riUgDDPxR z&zA$8yCQ$`Zc4{xJWDX@ZQZSSqV8Jk*Cc;@U*V}()SF1gI18;G-BVo2PNQReq{zI~ zC$vBC@38Y-CBEr_0zghqM(&6H1{A*j@I~+zr>ka*G&dC5ak_QPQc+SgG9fNN@i`+5cN?&uIIZ#J@A|5hRU=L>>_bd0V zG$LQ6eW$C5=f(1LBNBe-=j)1MaVblKOOtRKi{;J|H{(YQxob- z)j3;P>wAw!9!GBxxCy3KIYNE!4PY@F+7chc#{}n9r!I2?(BB3Q=kfjFF3)Fe0-C+TAx3*L=*$uHpyfgW+P zm}}8Z^cU4k(J`tjmQU^_{zXr!Z7CPTSELVFI%+=oM$jF@pt-JPbR2vG%;jte%>Zt> zQY8uSB->_UEp`|8@MbISQ&sYp%0j`w^n-d@e^R&|yyv;EKW*%kJ?ol^Rt=MA+G_eXy6 z7qa`c0;x~dL_1%zS8Z2clD&|D{Ga$0@k-tb&L12-r6qNdaA0$AisyA;m3_S<*Ud5i zaLjUTw)s6pKGdJd?9&-3BJ&oh5wizcG_g8H-an1i4GR>6jrg5MfvO|tczs>o`%Wgo) z^Px4tMCdcHF1&-9%2d*A!D;s9o`<2-kUToW_tew7Zd&;u!_%sZm2b%##)Usu1veOH zR|t%Zl{D5EOt6>3mQk9G@}p^&q0`Fa@_qPlkRF@rV*V0Of#nqM`U=zDp*Q zM1*zHTM0C=3;`6)(ykvd~x`f@pP9f_Br-Y!;KCg=ixLSKZJ3TIe;{od| zn`!E4AL_i}Hk((nyDyK`Vk)+uweGMNdMQh~Ki^Xj*&G}nI2y7N%OZagYXXAk+sLrG zbs;o>zx*AfgJK~^mn5t17GZN7wTN)cuEww>#7RM(<+-+ zq?A6WS!%pky|1PNwHnl*%QF)R-*o z3~>(HS9*%LE}JYF&mDv3Q(|}|H6EW9*a>}$z6rEsb}}gNH7r3dMMZFx;DbP}Ii@<4 zEN$E)bz=IooSQiha(m}os9(QfVfNbk1L~!uGwIJ0rp2ZvEZ3e_eURM}PLTHH{ep%;lh2QDl)2l$1 z84CXDUh|h}HdX91_!cs4i51a#c9Z>M^y-lA7%RqAH?;qimji&fY7M-*CxS&8Z%sCKEI38u;n zf^Ui?iZ+T|UUS|+{&VOYT94k!*#dZ=0pLJ*4D>%phrVPy@E~w4-87QI5+eIE!&q9x zIX3Hg2IvgD27khd&?=OR6(fE4ZG_F)iVDE4;x_mL+6LLrBtZh8Kl41YhuIdHN9~6) zsKMkOW*O0&enPU@9x@u3L$vhMK85#<@1^^xwUO_h?TR~>yb<{VH$bm2O0+;A)g)^7 zdAFMi&>(T1-(D4>TLrWD9XSKdH{4Auadf@F+i*vOFiteKuKLfijHJCmLpR?G@lpJX zthsW7J!lfRmUt70@1zWz<72BO=OS}w`Yr3;F^6xv`i9?IR|FP@4+eTV3!^*2T^$45 zoqRJ{SJ`3eb5IdV3Jn1M0^W)jan$^!;wQ4Fl7Oh2bi9xwUCKWoeacT0wMP`3hl1x| zAC^>9Qhk&eH3Q;0D_g}s)mt^q z68_Y_Q~jlLNQX#DdHLL*+<`EIjg9(&?&Ns)Cx0^!Y2RUSnHw7uYnRuYs+mz;Zfa56 z-Ja=N;HxC|lU`sEGK_1GAu+S?Pkeo18(q)jQ0!ZYA^BWlP7I<&WtAz?*c#?4CU>es z_pu3hta>){$-{HCH_fW*R@Y7jhL-*ez>DgJ+6B}etQl`(prtFuT`bJP@)MWp7O~;( zSIYHr6*v;Pe_~r5h8k>jO7nr;HTH1Wh-PUiGWXD=lH`g}H zN)Kb~Z+&DI8HQS%mhp8qBW|fN{?ATWzS#`+H2-9e#QiQP_O1#^y>44Z@RldeofL|C zMu)Nj^StYWv97be9RbomIMf)j65Rm-&^U58I-WFyuZ3~I=o`jnu0+5HxG&TZDuJ@N zr?3VhFS7{!%2owx!AbVjVbd?1r)UP7OY99gu}s0=;vL8)euR64b5nYWzK*HkSIk?+ z3@rqn2PQCQBZZDFEJfjvw+`q=NSIQzIok`=N*iz!6t}YG=jF}OcL9CD*;^>8y!cr;QDG64^+>ow7#)$gzcaT@(Y5pdDZ*(bZgXEfe z1>cu%FwL*3Z|(PkDg9Z8{1)22e{WPAuHIvu^78Mx`Jr>wHaNlm)}eN1K{Z02^0n|8 zu>jn}w3ZekXUHeseUaDD!EoQ`2g|3jOXa=lo_+oD^;re^@sDp~iw{=xEt_3N{hnIF zv8}cobggv{4RvS!jh2JM!Ka)>g1NUM!i$=1m?7r}6(M zn#`NYAH_e3bCL1TNX}2N1rp_S;$35Fy9V4U9xC}uv{JT8dshvrOOw{>z$7MCm-r*T zBIaRye|f3ymaI~GS5_%I%xfe1ms7;e=j$0A){AV(anN<}3P{QQ8*B#-kPSu7OVjW* zvSZq8&7qW8qW@yxI7yPb(TKP|braO{72=e6IR}~j?#@0JeIDdV_#%a8Ik1J|J678? zt_kFTP_f}Gxz;?)7e`+R^`?uhOX`M~x3QlybcX!O>F^`{9M#O|WZ!P?ba*$6in=ok zpg4p9yF~9sY0sG8XI~HBWp?^C!C&Ut;QMTGRA;*wgR1;gt)e9U$FX1H%30-q*9@sU zRer;8*gCpymaCa1$-(#k^pEqdcVb~8Fw5=aT4SNYNdCC($>p-z?UqOHhw-72vRu@1IfHvP}L#<|+j2m0YRqZ-yGby8}^zl%1C zk86i0)~la$1#vx<`3WnsUd4`05yxdFFN&zd_Et|=RV=w zrt<0WND?xhZvVjTCcK zoq|Wjmjec(TVS-CA@#&bo5EieJyU)h_~fZDjc|1gZi6DhE7T+JIr?n4nsscQ;V zQCQ@VE#mRGo$yL52TbGjWBz5bqLBcf8t9$lK5hXm(>-f#{OV2a%cdT+dBHzu8+DpY zrM@%I=xfp(cG-ie9Q=@y!{&S!iNVAI#Yd?-VHocuoBA!sq=F*F5ooF)Hsa*EvD<-7h?Yj z34RF_kN+b|lV0Vvl=POZ#V_C=xN1RH&RZZK`i8Gz9)^dJ*N7#7cSODLHh+Czy0=w$ zQ{Z3Lcz24}PfZN|4nHODN8Shiik3xQ2ey#sh%uor0e$ePFV|=Gt@C!X@9`p@T=yK0 z&HBXo+oHAXwzaQ5YojgGYtI-3)~1GJb_a~Jhdnxm@HFH7s+Mckl!jV`ia>Z zNn@@?AVEFk0of>Yx$X$P)B6kfjdOT20Zg)164bWQj8V?YT&W^j>}=ACy|@?>*DWSL z(Umhg`H*^Gd|BKleR}HXxTp$}70dIKb3_u($Y?nuN2pMjZ~@~CmW5jqv&fyHC)7_i z>AnYi$}`}6ELMzh8pyaTx0fsJAax7s#COCW@qyTTqzNYhCnp$+EB>WOtZ)sKyH>{r5bEUz2{ ziy)GRGJS1=^H>Y}5SGi(iaO*=i45_W?I@8;U5V6sdqv1-W@KGdL|k&TpycF{V1Eb* zHwyFEnbFKpap*HShUmt+Og~Wnag3Z9oGI99fk>#}w~al{-SnYmKN{%{_|&PY1WS? z#oC`ktD01tu;-bpJ&gCf{{(yA5JSl+FR+Fh#H>WF!_6X-U@x#g+6`Su%#DmBTY7_$ zX)K#>QJ~J(GO*gs_c^^1*KB`vsC$St;L@Gg4RtO(otXyz!){b-xp{mN5Ap7C&Tu>9 zp9Nd+OwMgi4R-`uie-ye;%e@9?m_GirWe|QKFZue3YZLH9K8#)Mm5BroC;t%a!i>( z#|!rGL$WQ|2UKmu^>w3Cw6Qli1#z+3?zl0|k$PEc;7nzfM@tmlr0e)Cb;qRRCB5aB zc`(qPB_eDB%)kiFPTp4PWfbAXkprNXyiwR~u0b+JqL;r?zL1oPswAyt<-+Cs>mr+& zr*tVg0hcMhI3F9#r#Tat8n7u?4rX&~z899(P=&IxV{Dk z`0od|k^4L^f<)+dWF(OjjgWt^+5AgDXK*lF1RbJx!uOH=AW0=c4hTV(MUu(s(FOk7 z^cj!VOArejxVzBz%Pnxv^8e`=Wj!BAW_CwzM#n@?!l^=<#-mC6tEz@ciK)7zRT4|& z3xBqBCtfIDCwFS3+NGjv$`0HhuHi9Qt^h$Vf_$tWGzZwoy8<@lOhaEF2heKH3al9) z;HPkV@w0>zgw^O4NeTZ0-b?g_KOU!qK|N1KmfRj;sor*`DOCIn8_Aq9j|}+Pa&EdivG}QzOkH9~r*rm9zuS z5pIa(3*G#e^iO6B_)qi{{Vup9TIR_l#`=2rTd=zmHpS`K>-lP|Z)jAy>sMCAnc}ad zCB+SXP(^~uW8dGEey-~ATTs5mKsw*po4U6++`*795>5^+u-V)V!3C^i%MC>BNa%Y+ z9E=72Bszp6zBZu>XTIl$jq84A!3^!3hs*7@_Z6M${-t!7+`LX|0u z!Ri49xk20r8zM?nFN2cB)1-g!Mylhq_a(=adlD|C%@aj%%2jH*=hSa zVxu$0`o_C8)XTfkJH)@%vD&fA^_CSz_4hS)53+kb{T)Z0x#m3cG|N!C)G~tY9pmaS z;}OFH<6&bbV|fL~Ftn;!_4ewUzlT>{D&J9A|L30K&K0eGzO6#bii$DQwo*rh&2Dnn zQX?GR&!p)Yf6xYExcg(Rp<+036FM1fX;1adb}g)3>9ROCSh(iFH5USB zxVxxxsEbFDM@+R5lkjg(G&IDb2>(`2*Gc6M)b$&P(lQ#4i!o(2Yj(fU%8ce|$r;bY zNZfe!qK2x}i)p%8j{K;4q56V;1u9qP3wGlfyy@H!cnN-nPv?9RImIIRO_r{ASKcyy zq<*j(OQ}xeC+qFNl97ZqiJRkXnw+?MTDd-#&0OddQ|0V_Sn`kH3)&cY z#5^a=!8Q?*<*4(pbFFQ@YmH^MHO(IKR=6gFF8k+1-xEV4+xg1yGIRt>(ad7!8FQR- zYNtYJni0HOVqV1QIn1UNTJbJON!em_2IK@@I+lB4J@bg4R(-G}yrojgCjX7D=Eg!- zj%|s1T4u47G<7s?G8Ws;S>jyvU4u-=oQIsx>%!(y_OGU= zcD{R==Q;MeDNj4^@JM5}B6<q;!=@ZkyMK71wm7Hpx8QOyz$W=+WDtZ}x)v#zF&EDHPKQ|{>zHSn2iDT?AhgDP>K zbR2mTm#15Ye~}Lp-jlBv70E`ibTY2yI^IC!;m?;J);*Fa*}7XVSdZ*NQ_-!^-{Ak4 z1MHhTl)4r?KDnCSv*|FMQb~7A4J(&xpZjOVF z&*szSSFRfWOv{kKw8{n*4Na@6`q&qHV!fZu55fnjk;q{FL#TrHO45c~6HSm*t=((XjtsxS zGc4NJ+0>R``P)cu##-U8f&sR^AMqEKvWE`Lt}v~ z&I)uO_#PT2Q3|&s?XdTFE4UK|a&Pc<3MQcK*e&8beg%IU)@C^}o5Wsg43gFgcHo3`g*3vyFAOUy z@zF8$w67G4y+m`~|T~bt!4zS})fr zs?Q6D>1H7`6vrFSxr*E&gJ?@%J>LfR5on^a?2IF$@APY&S|o3 zWphg*_XT$wvWQ$8+86dQ*$5GYST@QHxP$H+eae?fL@{F!0AvH^VxIGogeJ(E%VOw-3itU%p)`0?WxAWRm5!Q zQe+LV#ov_8MhF;?cL)kWcd=MH83AdeNFS1_HcYc(tXKC*)}<(z9|@q4-&uB&*8mOzm5ALO;`L9o{X`pjOnejpCt%l zhHD#DfA%1W{EgK?2zk7=7(=N@W&ZFw8aBwqW!xn{d$o^I}2L*zJZa7y))h7X`aE8}ahb88yn(-0z~!Fj zVf>wlGM^#rkG74fJw3w_AUCvw+6DN@+2lBe4-yflUl!TyJK`l+TGW6 z=^EwAv~>vtgHr=dy}IDI$Qh&qlgl5Evysv#cQ}_JSk$qFJKV*0qVthf&R(g4sVABa=g$6P6j6hxeK8{3UDrZ zn;1h$LhD1zf;W7B`6^s4=N^A&C+=I|O81I=8!i6@CV95|=6cMYus<=t_n-D04*hU# z4es#%<$mRA?_#X=?Rk+uj9O!b;}6SQ!wJjE%G`@zC!p+Y?p3f?d0lU9J7!)1~=#I z1INO7(Q@iDVFF&!yQ3eXmgp-oFLD-$i7ZC%F$hbz79z8RDV%kJ7vd6rt?If~A+J*n zkv&$+6*#ArdX;vm_-}<>IZ}E~oG0>%7Xy#50(m2hi~Hdd_+M}}Fq;#Cw!-D$Xjlqw z=X}MELkTDZ^OMO|BR%7a z|14h@%yEw5PL(tX@2iGPRiS*MA21ePO13sGBDVN%d3(X7KtJj(OZgicxDK!2t)O2= z=i!xz(f2Owf-kUnGA+=WoIwtzw+0j4*3f=mtbdhrnzO&NwLQ-C%0hU`ZPktg=DYR> zu1D^!Zb#sHxY%_i#E*QZdIm^h1O1i#R$0$k4<*C@LtnubP8*bhU(y5Nxy%Y$&vGDA zn41h9^@Gjm?_@pZ3Nx8{4Dr#0;CF8Upu)ApeXJK_r>by}K{1PTb#g|-ytehy&P&gy z_lehPGUAg(*CpFhw`g~179_S#GHLcndP`%|h9wfIH^lAzeZV~M0=I;mCjKak=lKFJ z(S?zZt_#5Y+P-zu$$`>Yd@P5^eu#%Z&lr9z{$h}#*vtVoWF!{+&_X|*T=x2k4q z;zg&pcf_5Pw}lz1VetxlE_MmkL3z~1XdI&mYUxK_)U9WCQJ0)c?LR%Yy>0FDEz3RI ztjQL>cS|Tc{5sUq7tf9$-+~mCWnUG+$VmYyI*TYKnnWwyOYHXuHdO_7Hf34@&Kc}& z_weWo#OR!87)&SC7F!zHUPQCJ7hRua>ztE}Q%vZu;p|1#1oK>Ah&WlW2^sz4Yu4{Euou8E7}#BkIvx zA{>8+HRP|6aWo2cr~f$VTrQ@)Y*Oe^DmZXDwH6}}Q|TN_)M?JTI7B<-kfOnwWN@GtY+C{0#0kd!H4{aO9a zm?oNMEc;rZ)#;(QT8&d%tsJ3{>!wH#OAPX*l9T8){tNzKfX|;JDHAf1kUT|bR0{N? zS+a#(a#?vm;fKS7guQ-BvR59Px3IeppA zMghknDQG{u9ef`B0jmVBv0hM}Xc=aJCEUkY0z3regD038CJ!xu`cozJCt@`eiVP+~ z{(XLaxT$BN_nzy5OBA3TYh7~6=t>H<2`vkZ2$hE~6Yps`b`yEbeF<$7>_QeWo54S! zRzMch4Sox>jyCh0kDT?cgDVZi|hOq_1#wIEbH#jD0u;IV@yC#bB2@a{S&FxzDGo{w;x?e>(PI}Vd1mUS;VZ! zVcXsCpZ=22yXfqQCUiPr3MaX4dKxp+iDhnoq(=k|UXDy9UWH-O6hiQPEg~!nXW-#$Ln=~EBTwy2IHzF{76C7h;}9mqWjP;^h3@Z!D?}T?O0@^Ye=O`c8sSAWk^zj_rp_a`+7Hez6QD) zR(o0~_VEvAUe77jTev*g4VELeMg3E~PkA$@W!hUs2hCFDKWtSr5x&HxKTl9|sYUQl zv?KZhQPSJO$H`RznTztibWgA++Adg68yA?`*}B%nnCsg+ILn+0pD*MH#j)Rfyy$3p z73=y*gpWWIk*V-*oZ&X-^ucCgd^`pBvzDxR%o=b5>vQM?Uq=tZ!Dv3Po7v3dqjf|D zHIvF@FUSJ^38V#tVKMX%RE0ig^BPY$|M1eJ?|38ep~5zTThfs@!#gf0eB&X_Dl(l;j{zU~8a0j7oVQ0N4*9I(SHqT`LNyiKe-U2{22fi+lv|2>l`WN|d} zjwOy0Un3~XnH&Sxj|vbyXdwh_7Ud{44*nM#$xjr5!tKJll4g=P=@VMv&p^K5(-fO}0;dYcG{K@a|1HS&@`Q8Gr%>LSS7C7NMXS?Jc z=vrgnW0~Rhn0&QoEXN#c{nI_`Y$NS2*|}$K@Qd#nI}aMhdW2qil-5#f7uR&Q8k}fr z;e6*!aZUBS@t(E}a?W+$@_cizvK3o%owuDD+YS%vnCqMD3EE$|rulh}sOv*O;cXNs zi74nMY=UeJu#wiuC%_$Wg{UFCQ}GRGEkQ&a(GheqAsEaz@-_k%qyv08dV|~?`In4k zb^t-Z&-{P()CSLo=D;M>ojDF0X@cHFT_h*4JhD3fKtJS}<^IE+V(MBqqPnEUR6g~0 za_O`mXTDwiRQ{fM*Wkn8!t|H3UPWG(Kfm#!{VVPBlBZ2xS>AMb)9+2&S5>d}777ak zFB4uadp-D7N#X0lH!p|2ZvH0mRmLmb>z1$Dy~upky70xD6YmTy<$JxvlawU6K`Ru;YfpL+!;rEgEge!7|>`fkFPBI;tUC<;*3=f1f zU=y~Jdk4YbY`_csK;n^Gpc4HbXFHpPnt@N_rtv%Sw0u~QCps-{C|fP5;d>O9C5Lo8 z`SrN`)MU*$DOC zFiqg)zD8cdy*NXe>yZw@YtAv&zLo)oZ@>QcYv-?zMQ4lBi>`eA?@PZAZ9e|*hpgCA z{Nr1&@aenxZ_&5BcgMdC_;mPVc2S#8Z$3kxp1oIm?D~2A`}gl}zg2wVzdKtv?d8s= zq8A6Ae0j9>zWF|N-+XuK&1JX9+sAGxZg{WXx%%H#-qn)J#MRCPpRY8&`u*C9f~f_! zZY;jB@aA8)>)&c|J9y)-8|!W^ztQuS_{QPuGj9#OkyP-#0J@%cHF>?}C& z<;ItFU$kG+zmNag?(3S*dq1`LNq;Z+)%w$&Pq~E^@811b^m}trkFuPSo~5OK@_uLj z8(BTII=oI@%d8!ydv9E8V;PN>`ObR&WDLc&F}D%Tu{#I{TTB&!%Husgh8|4k(HX2O zR2%9$GnOuCk90{!i>A_My|eOK7+U{pd$3*o zY)(gCM?>c)oeiC_u7f(6JO9@$uiJzkXL@mZ56Ritm+q^|>DH&B-=smrfW`yY4N(n4 zMwE`o7?VEw+vt?Bh2v&Vd^xFda=*zbQ#MTzPChx|`ebrS;?!Q#N+;VUcbiO4?KpMA zlvz`XrgoVsoi=aA^%=<22~#gjS5BWcBWuR$8H;Ajn-M!LbDD5+y(xbt*G||s;qCCoPTLW83RH0V>*r)l4FIrDNXy&w1V zcj?q?W_NYxu&&3urgyv7X-hnMX4BHrv|t zMDribx@KN#cDMQCjA6~-=0h`HrH^V5Oh+3=H279;NBV)JlaW7#mswLp-{s@NH$;Yq z1z2ISrNm0%bXJ0ISfHbCnNw%0V7M)r7Os_R_SNmHh4qj0e@xx=r*xEdfV#QB^~;9p!cDoL-+FZc|8t) zIXwGF{Ub3)xJT|DksrR4H}WtmZ$RG9gLe)NJ2>gU_PjHP)CZp*j6IZlr0vmVM|T`+ zbgakm-6x-&g3h>4pE}d;T-y0T=Tk0Cx=dW=Ua?+wTpfF(=Z$MOs2e@5Z@jwbYPTCD zHxxI1-{9WddvoM<Oy9jDFYn-G-lQzi|KV{T}h7Z(;n;p~daLH2U%FN4L+hAE{rGKdpb%ls*5qzvOO3 zaj~xSbaChMr&W9FJ}7ppdTXQ9|G*rO(caxQ(^hK_Iuks(Ab)O>bBx1fi?emNk8w1$ zRXDu1_twKstxIZSI~bnhu6>>r{_X)sutRWC=r>~&LyYuAMq*vDR>U%bMcpH_nPKel z^fJy6u8lWe;NagE($X*yBFU3cat6pk7!ZC&{wLBInH4oT?r!qun9cFblo<*AQtZih z8vJhjym@IeZ__pD{`7av+)W>3&CC?Hd6Fe)S=VxQ3sLLEEm^H+w-U6>$o$;8sBP2s zjoa;Scf8BR&Z|3Z?(`)4Qzu84wH+kw`n37pzF`M%k57HIeTDtFeZKV1AG&|!^I<0k zXnUA@oa^q|0)|>}1mlYY7p-Ux3T zm5!x91E0QX^sUj_MnCG^s;5b-pUO@xN|};8Bw=Ly&iKKxccXfQPnCX=)rvbwUPw$~ z^CS%=4jCk$FB>ca36;|SWFF~TNxAsDgappH;Uc!^dsuVvH*t|DMf6iJjyIfBLoc8! z*>{1WH><74|xK(DXSQpyr+Hp zeJqe>x5Ku_dfGD3Dz^1BZ?u#cJ;rR^3H2`3CuMqF``T~S!OHdJhf4dE?l0+FdcMR^ z)~xhQ>6cP=N!Maw>C6)Dzu|v||GD~m>yH6HBtNr%{{Fh;+vl%OKSzEdKX(5(|KsnE z4?hY&Hu_Nao_g2!?bvst3dr}iH^<-JdtdK;{JS0RF24=Do%ZI+>tk<@fbVvGTmMZR zsCJ58&wbPNwfE)E7sBT|pX;7Cc)@z!C7j|=a*krf2sa<=-c`4cYhxHasKC-9}RwOC_G&B z=TGFnDZlkaXa4N|ll}Yg@9ICs->ZLrD;)ZJ(XVemjuaLBTK2cN^k?zUs;!j|OEe{8 zORkrvmT#*}Ex-GhF6~!2v^K1ku4`OtsynG%U%j|4Le)t9pIWZFq3@+Tq#dYlXlSbM zp?7E`>e0$LwMb{yOU;`s8Z*Ou*H~@%XV4l>no3N5^Dom=<8kwO(>}`(>pAOJ(;UlY zK+gZBd!^fC*so%PxvV4A9!0TgkYci7xc!pT>(~e7QPZ(@a6QHe#O>V-39-mfZ0Kc> zMlT?hiaf^H%%|+tAXjUsXr%C$ z;IF7gbX_(uVo97Q!5-f(W=CxMn5l7fiPO?#jgph2lUF5fjPDp79WhIGLLMQ-#S4J@ zdPUe#!3<$*!GFT_Qm>2=-Y;@^bOvxfI+B_vj!9srC{kXf&S*HM{^+!o^$(}5ZrG>6 zp?d2ZOl_FZa9^XRjd!KzHfq-7TI1zSluc(eeVy^O>CC1(GGdx`%i57OI&)jrsm#q; zW3$d@9n0E~wI)-Tc_k|)D>w6W=7h|Z&5mSvnlx?PD}6>ob%W3KyVc)Ye@DGRX+2XH zq;it*r1nX(8|drxPk){9x^YYkc~e7bulOc$)d?Lzop&$2qS4QkvXuNLwM}o=zn;7` zC760PCM@Mu+)DYY$UEW6xHED4V`l&@YmKB(woP_bHYuV@fn(aFxG3%QSMQ}aPCXiX3itv!D+}7a@d>}tP!j%<}GqGF%ngy zkMS*dGX4n;B9D=W(7NEEU`^n)Z?f0r+3LDzTV_9Cuduha&9RMjh@F+rJ?=E`Zg-9Q zsPmV7nEj|_rZvsd-BM>>WG)6Y?2d}+>WZ2nHLI&nRsX3fFMm)mr|e-FR#jA!T-mtn zMMY)B*pl(JQm`3go-Iu=PGuWwlDG4U8!MK@~Yof{8v%cf>+D-7lAs`GV+HA+pcdWb4cIa2XS znXk%IG*>#5UFrtat*K3}>s8aO3aXq8Y zs+Wq+njY$MRXvqQsZ};sE!CMcHvLX>2XnDyo%x5kr|G*P&(zL%&=77wber`*G+Q*M zHI>?VJSuWUWWC5e5vQV(qnk&*i_a@le9C@mv|wGO5`Tw#y?3oo)nq# zH@Ps$lRP2ic#1CdV4Ar8nzYaLmZu&}J)Jr*Wpj!*IU=!NTz>4e9rt($Fb?rJ_X>t@#dtiH`hH_EGjJz;-BcKp8Nn0o6P?9Rw*NHjQ} zP#1MR;fQpc{VW?Rw?>-FpO35NQ{6Z#BIuI{gKvaz*JXXs;wtS-|UeRo}ZEnB}- z7q2VU#_P9g+Ui*2E+NIj*roOf@rhmplYgg+tORV*axwFBif213! z{iu!6PcX5JY*T^dmAS}pURR~JsgEjVDW&R3N|mxTm_&)v^-_uIRwxXL2n|a!#u#Z< z7+xFSnVVS(oc(;OJU1LFkgpgpZ!x%Z$Be73Ds#E^uIi00%2=%JYLpw7YdA`;>XB-% z;<~a{byf2ayq#UNyLI{ctH2BL$S}~-2h`Ar$*upb8?WW*%JodseseQ(XOIOw&ah6q zPVG}n18;Io-I%)Q8f(@5vel)hD{3o#lpiT?RdJ?#c)7A%Q8uWoemPNbt)gRj|BAed zb7ie7OqKmBCziX*WaY=p*H;WEXsk9o%MnXw{V5A=Pe3TZ(`f{s^YYvg7M`yx%q-n6 z_JnPP>-#5K>S?#@AXT+`uzs{9($U3bai4J*?VTK-{7n!U6$I>Ii*TTDiRg-;PV`bh z3I6d?z!{XvZzcS~7x7#Iwy2F@8sMd^;x1yIV?mtloD}*Hvn5T_aypK#$I@{Y3YLlv zN|NMPq#wgJiT6anG3{fP#Vr5-yB@=gmc~TJtd8|XJ`5inMa7(r?H_qq`Xjtc1TJ|g z-7Fg^!@~LUNwV{@SovsazGSAPi##qeO!h|FSDGPB6?YQ;6M2Ov`F23Yxh?4@I>w#N zQ*j$`KX5m)o3kS5a%L=b7i&p)sFO@N3!y)d8ge$1qCe4ACW9Ko{L6aAlMBN5ulQpG z1t95bvhbu}v(U$H&l}6X&XKUK%t6#=@;9}DI>*eVa;e?SRO%!1FD+uX;Y}0m5y>Up zB|St6;cdz3h%pK0l9JPhrY#E_#Qn$hg{>5g;x!J7=1gRDm%NB_L`{esBmYmB!#Rgv zVO(U)K$7u#oI>_6);^*OvlpugXO=LL--lbyuH;@87{h)_pU8KFy%MrmDct9hgYqe{ z=VL>0lVh&R45GtglvhdZ=Je*2aF4NOQ=@PeROr7L>?Ush7mAb=PiT=H2nYx+glS-z}(u8T& zX_Y#^{xFz39&PGso@7b3%B%-08WYD|@;Jw)r-BI^)l%wR9`Er)!$4iDw$L7&pUL zLm4jGeBH6a*2pZ^W12~7y{d0DUYS<@sx+#qNzH=VUNyPOb&7F{i<*tvi@N%zHRj{i zllED*O#2bnA=ed0xciT9LmA3(~`UnL#Ub z1^SE0>8FGNePCN>orhdweifb*uHgcS63GiLa5wcW2`+XH03`IAo<{yi??c}<&ts?G zxx#YSe%2XbRhU1Rjpl}?8g-WXy}q$&hP}B{9v@7CZ^=srX<-Xq0C5xtKG zaTC~kDI0bLI5keAkI+iYg?&KUfm1gSQ2TzmPkZ|Mxt_nSwXPQ~vtyq<-jU#laQ*`s zZRc!F!HGY_KF#{ZF%~%RR|8_&H+L6TlvC(l?S-5xoC|!}?&EI1^ONnM?V+pCv(UwJ zQSLYHH=bjlHi-0%_g@d@hAuKLA_O`GeTRN0>WJZlolK$hL^8=GbBKGm440uRU;(2^ zkPL}~;*c;D4xJ2{`~~hqPKkXnV^OFgG=#i5Ot@fX~0dpOHUE z0r=iu=ru@#d=wbxAK~rbg*|TfV^>dC7uS4u8&7kPC!FsE`i2vHM6M3fVyJrQ(_6=)3F;uA4hvbdvvpb&h?HnT*Yc!XbYs5=un7 z2d&=kKC|~gfPm5vkWW!MJWYi#Rn0eg<)kgKt`$Oi?#2jW50I~^?@#~cq`gZ*Pd zDNuD#?{Nn9x?3|AF<=|t`p(MtO$lURc3YCEp{K}PQu(*Movz0F7C3n&)I#zV)eU_K z1%u=5PaPk9Kj6;9PMpHOGf*TSzf9lZzY{(d4B!qXrz5GbJ+uT`A8HxA=DX#ZYp(_R z-e_BmIoEo@dd=L*^vINF$kw(rz?P1-$+jfNDv$}}b#HM$^nD7tLlZ*>gU5p#f{Xn~ zKpz|uTIjprJ?H!EE%$77|8V)7yWL-1u)D2$w%g@)#ki2{0H8_%bX}M8GiL%^(cDg9j5|;SK)XzFq#F z=m9L%S#IMwKKt(B2Y_}^pV-2n(S}HW@)zr%;H2<5d6%2b`!8%t?2U-OvfIM_oF44S zY=quNOeJsOQyCWn9byLYfp|ka#&Ikfi^H4XPeAvYCZb6>u^BrHrWe=Yx%e)yV>KsMVGD?pln-P~ zDCl|YOWY>hKb#?)Z=3+{8b6!gix$2VRQI2yKOW z0*=by0LY>6V<0~y!Q0a#^GtQ0@t1;Jge0%bH^!&(%m$zIchB*py6d@@xrRBE_Q5u( zwZtqme>cAdY;UjmqIHvPsC|KJp@;B^gY_8a8S~Kgz)5Z-y92++Z>l||CRTIItn9Ea z+&9erEF;wddt*D~w}^^3Q$b}m*Vh3&h3^3u<9jG9SU=bXzsVfKYE7K+mRY-4qFfsT zbI^(GDB-HG(X#*KBjsHq>F_gR5q~J_GG51s5AlMJeRBdWp?GK}G!=L>VuC~98|Y@@ z0VXH@Bg2U{I2&1rd_=CHk=SEwDs~TsAU@#1oW`CaKcV)J0KN&$3L>Fheu3|o%V-l> z4w+_|N9!Xsi*>j3v1*AbMZHQ@rb<(@H9d49Ljyf(6a$_|7n{|RX&dc$1WqrFx578j zKf=Gt-w`+)hWk7FQ-TA63xfPWYyS$r$lt;D$~(wc;(Ow2;6Lpf;1)Qp+1onbI@h>n zxxTtXo;TiJ!0G1>BnDH1`-63X)Zl>i=$U3Z}T1YP5Qpb(*on77sMGV$LK^MX=gE*YPGWDR4e?5lzAFV;hOx zXbk)dy9Q>8E(W#!@X$m!L@uBgl271;j9G!-j3sz7DWi5UW9Y@?Ybu^Kl>L_7lDCh2 zkjVyn<|tfBoc!iAr|0;_;KCz1WA4^(eb ziC@I~m$0HaLtM3vWk$WRxqr8~Gu?wHh$)CF(h8>G6#UKfGt&OrQwcIx1hD(M@Lm%TF(+Kl!>mcg`GiuplE;P5dR@$DJ za}67fm%*NX*s$0%+sL&nG>^61vzhGoobLf=;eq2am=2WKTU(o0XIa*ox)`F2c4H6y zDBW{SzNVS}vgWaNq4|n!fGgh>Jyn zbMAGI_cid|be(j$T)*rrN3v55l66vjvwTauZT(&R9KR`08I%PRg2zL{gDZpS!PwA8 z|8w9VS`+NRkTayn0O)g|BrpxIF=`m!;UmalMiHZiF&zd(UAPcq;0r>%7_HE;2>J{e1-;X_b9QiB{rZy?K&9QXu-h3*0wNA0om z_*VP_Cc(y|uaQ`6HvSa9ieDv;6J7DM#CdWM`IcBoRAR>fLE&>IB<@P3)pT^u;WAV*OuIZqo2g^$ya|i=#Tm$Vd{KdZ6X05`I-dEK zsi)G2SNM0VH{OZphV5jigQS15_XwcencaEbj{c>-2EKfEyr;;0#J$Ni2ju1rbts+r zu2rrp9=C5)fEyYT8q4Sk9SS@FwCM>Rk?WK5o+HjCu)nvoGp{n&GkNr=u7mD^mZ9-$ z2kHpzAq}oA*0j)e)_Q^JqA_yJ?JRRFZOt2OT*p86G{99&XV~GZ#6~a!WJXQ!IR7}1 z?Re9=$<)VGWqoP>XI!YgXWZskj5H+{h2FVmT2l->^Fj9*m&e}&p2S$<0yAm`t+k?EDG*41P22HFg{NCDX!eM*fF4!G2+l(1RF) z=U}a{I`TX5h?vDX#~jZ(%AUgh#c9S_%YMk=vbV8OHqA}oZejtBB7c%#p0JL;m%9mY z3(oO>@EY)V{BYq|K_Ppz_@|5|dm}k3xh=XcfW>0DO>$iNT@oR9!g@idknfC#*hElU z{=^=T<%FHGktntbK8v{U)kJ&NaUunDgpa`#U;x3d_T*%-95$I%QF~Sz`V+; zV)dd9F~^gGL9TN-ah<#YZ4ONIZV3zxZ3mU?j^JSb;J`EARIkrh6IdJU;a?Zn8887) zTqi_}#Zc{7AGuR_7r7((_qdz+RM`Hokzs{lJHsNu^u!Xri#wbnzhI{s z#~_ox(tA5FDzFpmJeT}S{WtyGz-F+^&JC49LFg95Ve|oajrIr+U50i=d!ftRb|HRLrjSx4yfgxh749#U2L;FD5p)oiJ+6zv!hr!g);m}W@!(4*m zf=z-4{0849*HHIYuba`GRlv5fDEg7`Dsz-SWZVEe4zmp#4O~r&x_7^G6>BP&x@HFl z0;xh<%Y^iWv`kZwS#MW)J~|8*ShMODaNU;>bxM; zdYA5+ei)dtyJ8UO>giqDeBE2UR6j=F-XPR3GR!mT_1}Rmnr;|s7-O{Q8|ll8bInQC zwYKy2Si9M_z+tw}w%>9rbzHQut(etnTV~s7Z|#8W-+(Kit?in1iFK*BuB>AgC>i7&efRax1XMzXUSDQ>m+htNa+gj~y+|mG$QR z$F3!pf}N_GS;`wEZXJ0)CNA=L*filqLGQ3}vJ+9iqXvg}2>&ErA2vg@l9xB-Sd7OkRQk*$df*k;UtZbItAuNfnu$D#M3Y0v;@21C#I2WKEpV30?Fn(){7 zHsT1ik2{}Dp#yyx5DV55Vca}!KVA;=6}v33my-{-)HKzNuD)1Nr@j_M&3Elh0kd?x zpLV|Ujt^msGv4vOL9PR~k0z^brnZynjB0~+v7tBUA3wJ2w>-6ETW^?TrV>MQU8>rq zdZlWkeyF^l`l}kGY_8~3*H!VfZm0rNoUN%>YgFK1rnjp?q^Pdzts12MskUmZhQGT0 zy5+_ZVD9~~>4<5kxrrqmaB}OL-x?no?;7Lu7xg8_i~u#cz$Vj<8+_Oi_tmXy~qAs2`~R2{zjd zgU!6dUgGHC(At8Q9kx@BPM~`CdVaXIo)hk9_eY>t4EBHZsr)NL!@+&zc4%y9cIZ1; z-+h4NWdWLm;>ZkS3|fQb5g*Am;O2dfEF{;G6UYLPhq#a;nL^sjOr&?RCb3_#P3)H( zE_W(tH&@5q%&p+$ahGt%1N+l<&PC2TZXtITZyRqa|0BPxFj2HWELuEAwnzRxijEh@ zr$uFlZw+rF)r%ecTfz^L*HXJ|izvXo8kQ{%mmQ4gFS!V4GZT3AdDHmbupZKj^2SmB zMR~$2rRSwA=?zI|xhgy=!Wdp68!vH(C5o%VDupG&F2WkY7vW3686Lsk$?eF!%Xz@Q z&)QA1Sj$-&+QvLZ-6gfeEpi;ufw;k}qhNA7b`>YVB5_proL3*I;-VZJgbPo*n zHSrAtL^y}NpEK6p%RI`Et8b&dthuSGRDxGfJzT?A?^ijL9tB)iT-&m4Rc*JLlb~CD zt!h+NF6iiVt7um-wJN7_d&QpeJLS^yL8Z^j#N}PfazR%&rKU~onz|>7Oyvi~NyS;k zJmn?D3WXnd7eCaEt!t_{qyPlXx+=vV^$N`j-6-8K;OjVQ2$^=9$C~V>apsTaTJvyA zp81G*7d)!QI2-NHXsX__b9a>U;I$=IcisYL}G2C zK9Pyg#vy#|C3lFN();o&z5bKhRME5{L=dJ9im+R57Ad~Qwc7aAs#K#3Ceiw zgoC6XB_qWx#ATvEf=cci&Rp(xUaEj4lnHn6Z-ab;EWrP}#YyCZvxKYxbU&trnm`Gu z*Tgk)IIbjM+(A6U-8f3##Z5#MGJ&y3FbAE1ZscKTC%Qe%rPRRLU^5@kj`L=@F7rC@ z7sJz`=D}Qe0V5Px4p>8NU^d9(H9CJd*^a&T0{aP9d|(oC8r&sgUt0e_j7$TV-u>RZgC#5*wjgS8n-8FIX9MhipapzAcAqu z=kT9&w{e+VddF4<_&;UZnT=w|9J>H~&L zra!=8bk5APq#64d_8KPX^Yw#th<3hewsM-{dR;4JN3g=1DDNnmsxsAoz;ASFSLu2B ze62v2sNJC5uHC4$YZid6>Ot*(tzO49Y%_E-aV-+dZc{5e+jh)WWHVcvI?`>^osjdh zT?}Zd9Qy!0sjAhEGE_U3`EvbIhSUBu)Hom)_lkN!EQQ7dqTo-|4bg3|V@vQ-kWhS> zF^v(2j36Vhe7YAM!@147LhoR$r-l)asjJMj%&){~Y9!tXm@=J6E_sLQ&*F3StPQMd zz?t2cW9N+G8o4RF`a-c}w``0oU;16fmKkLq?(1xSjvxQJ@cf5>U*n^3M4hS(AOD z5ANl8FL|?ldwd1n79OcL&b7~(=AQ0d<3H-@<}_gr_^x^um20(bl`e1(ATFo9b)hPxSu?XngBEh_~9)$z^noaMF%c>nlU8 z-k^)t9aNPo;%YWlHLpEaIlO#+#r+CFxwLFtd1U#ZvZ}J8^1l@iD=t_5sh&{ty~bN} zsa9T>SC^%{qq?S9rt|B@82W=9ca2`Ho1?$3o1=ZMI;Hf~@qq9AZLOkuaP{r#p*3@B zq1u*;#VV=x2=FH4tBxqvYT4?s?n>uq*FC&b=(j$#{Bkj=-*18p71qmY!t63mH53^h z7+>q&gUqCp?gHSQnhLUlt{DrBFN}}%X@((&zDBz_%BHh-b4_yf0^05??^mF3on%~w zKOs@50v|y(U@l-9iFQ~8HV~hK&BYaDE_t7rr3-6(*pXj%!t5_oHB*+vz<+bOo;$i$&{B?r9q7%ZUybT!NX~3d z4*Ldukj>%TVsED#0XAkdy`9yPHIXS|ZKnD3CF%vWin)lK2mJdhsk_8eVm&?syNCBf zOOZi%J>(qJk#UW&8kq;b1oOZq(6^{$d_&vdugIO)66`R^z!woY1%qJSTQ zd3bf`A-{}R!8|0`%NcOdG9o@*B#?lJNjFjS>ml4OH=DE+Y#F} z`&Sp{z2PN2&D~!6P|Ivn1ASx7d&R1nit7`qmoa>H_C>U9xUEgR#dsJdP;Tu z>Mk`cK}{j8JFCc2xl}#1MXDqvteT)Yquiv5R?k&+Q7ow4Ra;QERRL__wGq`Vs_43f z)rFOssy0$UAI4LApWSQ=RW+2-5T4wkWFbw%;xk_6RZ z=TfXAN@25^mji{wNE(W)k;4>Q%wh|;1DSiMx%3?7cC;nBjlB^tY`wh6V28emY+-DL ze)z%}Q_wTWeXNjZMEU4FoCe&fyiBf@_eAtYbVryjI3#E$*vmKbU-FLej`DwtdW#K` zHnP*QBw3>Tb@8o@$i_N;vYRF1s_hDn4 zMw|<*z4TJ%er6QSW$j}hqr!-PWP9c@dN_H4cunMCwdhs!D0UdFf%~A}(aCUgXfc$* zV1p^lCD=&x9C8+34Ze;+8=y4kZm1=wWLE+5#}v?k-4Xf-RP{9E5<+2W>@U8SEF=Ky zktoN;2&2ge4kTz#Ef0IaYQUe0Hf6j6DZUxDEYD=wrMNDF3eJ+Sslt4Y1)j)VL4Jkq zf!x|{{=6<;bi$C*#HrW&CPXuh|eYr6ZlmmQi6|0Vr& zEuIHggi=FXR8MpxHenO7_rVq3k*>j3ho#hpIoG)7dsIHPR~Qh1RV@!N0~g?7=w8N4 zz=vELx&uvzf1n$IKR`?@B2eZGW)gKB`NPPAy7>#;51cGVqJ?3611ReqRGSq|>Q2=R zshU=CzHDImMnbq&AW>+t*5!cnKMCyHtG$pEfrRcBhsQIMXs2QkXsW&T0 zWx9f2x4PO}RaA}C7_0OZ>nb{z<&<@=YzbVVNco@gZ{3^cGW$u{iSH2n5jrt{#Jff4Ocx=WvlNgt;!S1 zZh)=W0^DxZ+Nb)3!1uP^R%LfPm$;^T`uV^4UV+qv72ZP6Twfe;JT!s6K|g_l7702! z%P=1H0&9T1CKh7Zh!|)FpdO`;!KMC-PD3b+d@o)ct_PFxX@V!j82TBY5h9|#?2+LO zWtFj?c?Il`+-BSw_A#MJ`dcWI_l!cNDH5UlYxtI!^Ks2mhomftZ5GikJSF05bd%%> zN$PlUoHND~Uy`^u@meCBaw7Ro%8;bz3EgA1$)AL;l=YL|6?YPa_+15+oVzqdFQ$`O zh4f9<4%Tw!bE-GX&3Vrm$npXXqme~&#s__ zRt!Ctsz*M=Q;5FIJ#;!bjJ!rZ!bQXc;0K5&!^u|EK0*lI>@z^OV4%<73yh~=^`8Ts zs1Upji@>rm4}JkRk_F8E)M0uF%g^M}mzWPI715XMPkhBq*b7vSohKrwRQdt?GhLrE zk{#sq;{M0wQZxM{?c}tF(!sVS8o+5JriKnSxIn(5S9olVu35CIZ(Gu(tF2-X}1QG=9x)(TCxR|cao^8GpzVn_P zpeC1lK6+z74MH$-Lj%EFuL(ToEx;=@opBd#g-k|EfV&}{5d}%1_z)Ii1(*Azo&k2H zWj{z~o^AZ6JFd&r?p3u@Y^}Xk)4JwQwYrL^+F6xWZLPjp_aE@pc{JJDJnbRfVZA`t zM*mdzO&h0grfUs!@x8i9x=|XjCP`bM>aWgH2~^ENMe;ZZ};sp3^II(R!6(fF9CM&=hMUG$qREs#}_O`ZZR&^I2f4@2KrL;CAB9@2-Ky z)9R^}N=1&UxBG_{sS<({LsT)igi`%t9HwT69>a;wUB2c%!nMZr4Y-Dk&OU*<&;ocl zGCLF%^ahVHY)AzB1?*fm{jI&PJo`O~zFXco-X*Rx&Tr09p5s27|CIk&fEk((94Is3 zSh$2i0R5qurkH!_pG=Cmo~kA~lDC;r>_eRWpgNwxoz8)HK0&oe6gEsURr*u9L3UHR zT=rE~6^=wakN6N}jky{74|skr#V(8c7yBSSEdhxyid`G~GUiXr?U?aVM&Rr#PyK)ufkcIJa9SQgE5NC-6ORUep;bESf+uzS)<#$<2Mb<%U(QDbk# zsAF|xze7a~#M{+(A><71h8IIlu)ckv8ULqqWBaje(hJ;>pNPijVbluaXgYcq&qY?i zR1o)Odn}G`jx+XTdw>0s+PKOCerjT0A=H! zv7u?5>7nU{AD)4kVT)h^fd*N)LV1w_3oszROIuvOpKc-ZitF~`!=`P((bJ=VR{Jt|Pwrn8lytDMXrvT^4F&@evW+jmR@-yYDQrkE~?(<4t4sqqd{FiTbQ*!t)XP zWeH(Lf;`a`Y2WbVs6|nIqnMHJVn4;6itY+SMk;Hk&Qe-i?CS; z1A^f32#qSiIh2E~L5!g@!Dj(9_`#p#ee4Q2j@f&fTN%e1dKzo>D|AhD4fQdGE}+{o z)cn*m+4|d>YH?dWS>BrS&D-oB?KO^hu2lCU?>zTtS2Gvld=L26>nz2_OPT@d`l>$4 za#fPzuVTIO9MBf`sUEAwYu4&6=sy~*rrRc+xux}%1-Fi~TC9lmqjk1bU<+CoTL+m{ z*3afO4v+1;`-St8h3)BT9bx)ne5UCg_~xwDE1W$wOO2~)f(Dz#Z0N7?DPc!_-{P=B zK0-eA@3nR|TTIc8P;e($4XNB)%&o{?I3AKI56vT<6#qS8DzTP=m7N!7CD!@hxxjJ^qmdNPxJuL8<9}ks7v@v^dRG9$Q&Gm zR8B(68N}`ag7Pl8~6M2MT{06-HoNWFdK}uM-U>BE1FDE}xyO{Z$7VOhh zDLM(w!uk~OXEV+)Fh-DZ7;XSLfc`cK)T?8lr(nmbM1@ETWF?+X z70|gr5AOin0DfjVJ%Mh@s$eCsR&%rXgL$jDf4LKZvtT-JGUowT$D7JoLl**)NKc{> z@dVGt?xEeWFMyQ#9&U+j0N%gf!1dM`UJEtGBGIwvQgk)g{nrC8XFbL}=y>2|=o|VJ z--P93?a_rwdRN#~En|E$-Oei_@Ikb`SAAAhV&8f{%dc5E^_N9PN@CzUwa-PZ?{J z6IAQf(S{>{$?;WDQ`=hcv!=IhXHBy5ng%wnwp{|NpvoBQny>5Xy5X!*;@%wObcm(= zXWgYdZ_3g4R{r%JRS$OVt^1~`tBNaGQZlRjKwa~a6rHdv!(5^tV3=W4*If1{8`BI~ z)eSY*ROfZ!%8k0g?)#>Jt^`$u%js<6sRc<0$(+50$$c{#?n zo^CdGKvUDT8me8S8yfuJyhisfU*qgp!6;0p4%yy8I!7B-LLdeIA>GKr@Iu5P+34dy zY}0%8^svv48`91WcKBeo3EBtG2jn1wsXaBo8HZ%MUWSQ0@1PgH2iEzd!@W?D6<9BL z&G;$$>M~P{ML4-c@XK~Tst0m|XhU9+yU6~8Sd6!9irD$>?#8TK+&7Bx0`P;6er_1LnAF;T5$#gRr~k~CUKav#!BoVhFs zKZ_o~fk_Q(AaS3#h-RYY90aC-_An0~VH*J#`)+$Lxd;EB3Zkz;H~I1c|2ay%%|l~6 zLS#F1%+uI)KhV(}zz*1#P!2uQ z$tP8N`IVKK=nrEQ`+&2XYb1R))R`=@ccsm~hxmDS1mj!q5e73)A#uQc+YYn9^WY7{ zT6hV}rj|ng!LKo6XotTa#I!wex=q!ly}EkpS_5qgGwiLouiL8}THDvu!G5knY2iAS zD;uiYfsV=oMXn*cE=NC9Z>hDY)+)a$(`uHf&{{p{YA&u|R){Lz6&IEEsr&NRU8$=6 zQ##rfn8Nd_KfgbgEUTVgM$|=rD~B?^KR3ra`&G9uv$7nD=f6J_k{^vD zs|zTP-pTjeaSk>WIFBg@#680v#`JtRR_t<|Hfm&_e1m0Gf1+cqKi)_-tGiIOOw6tj zhi`i&ixAs!aT#MVDo#EBZy&!%u@L@UtCY>52L&84Cp6*Vg_ed~Kb)j%=ozPMkJs7+ z;saqru}|_-WH!A$=6YBh|0L0qu`;OV)UuQ4fFLU*ko7>$3MKsQOo{M+44q?iTx%PK z$F@C_OsuA9)6}+Yp4vXO_0^|6wQZlKMry^HWNh1>Z?9SNcYe&;>s|YOp8LM8pUC~( zqsS+scl6ENO4?}7XF(_0j#4XnVftCt-0a1yEcT$Rm&}sVApM`>sWeT&aMpxEOZGf= z`_dh#4ek7}GU4As72^iA7txL?NM58ULT?D`Q=OrQA&htq{x8Uw#0aD((HS;2wHCsO z--Ull?DBPo7rDBmzWA}gM)72v6#(|+iKqU#pbIfuVsqq0@@FgvTAaFtx*UCz{1i_> zLCJln21p8UYX(6sQ$LK0+19h6l=fyxrPT!gk6J(D-)yjcm$VV8ZbL^G^6*R(50%UE#=Pjth)~4Dek-RiVe3Zt^;W zO9XXh5O*09D?C8R09ue3(~&GJ2wq_FjbNw}{Zr3qrT+eSyZN+eh=hyX64ruVU@r&f zv&$Ss?Aak1T5DYdCCt_Z1yX8}xaW z9~zcsPezE+h`e##T z&*k4%Lt`VuF<3E5^1!)XKGBwtyh}z~CwUk7mRLBhYo>OIMYYq(;--a;3eZ697PrZn z4f&qn}!R> zdCBV{2|#O`kKRXn#9Bzm!C!?47@rdB(x!lf_#$dmVt&>`q9}hL>PwqSK@8$8j8HV< zT5y^e3cXG5P8)?BmsbY)n9)gaC_Tio=dyETq^YF`#mm}!%Guj?dOBY`zT^k3zSC9V zZ1K(Xocxo*j+_ViD0*&gKhn(1`S^Ka5bhc&kOr{q()_r~>0R8B!mI=c-iIxV%7nYr zrGjbhEaFX<3!I>S(Y<50@#Yd2yI%@BMQOfr;Wu|@AAoam9h{MhvNkfe37>QmEDzkn}@IkX8#jy|I^f*5`m-;^80>@%I z5lJ+dPN1E}^0*3^k(@*L3WpJ76gy!Zl218d;fb#&<;=U84RTj7-7q+LSvTIKb9U3VB=5Md+fIPd z+WoZ?IB3gqQ-fXGw6dmLeIc?*@y!3d83U=U^tBGLY;F0^daT;!0KF@QcCUZn{Wr*z zhBThmQAtc~WoSYJC-%K%g#B5pw%LKb>3xIR+prZ|pugtyutMG!{0U8)5s3jE#H5N!9yeVwvpzqw+biV_1JtYDeR7xmn4sOKc@PuZFUmWDao^9t z{*oR{1kH=o;*eh#GQO^NLB~mt1U=T@T8Oi!66@E z?Y%&y@RXj8DtC9pUem86mxVfosEqxvIZTjuO<`Z}*SrjLmf%L-PBf&gIDV{fEisUm zP3l}ABYTO<#mjl^v2O&gvrbUk3I0broPHX%rJaNSJuizfHfv+fpMo1A60^8nTf{B# ze{cwM(2gXk7pRp2RNE=HVLEejSb2z|Mdk63ay#x9K`5$5gv=H??c^@+nBt>V& z9dHAcm z{D^CU3W?JQ7xC*!(-ZROwA^*jmyo#gam-<=jNc_Lu)?_=;4`Vu(jS{&B3;QDXjXtm z+r?evK%oEN@mM9qjad)wgnR=2nfgFglLJT-;5WMp>)_tbSsJawF9kbLdnx~OH!>Zd zJ;JcI4eeiQBWf^m7X%62=RCm!g=1uM@(T1RXphds3hFk3ieQUigBdf3#!Qs|D$j@5 zK+9$B0)G_ZZJa*`Qs}@>st6I9jIZP3Wi`9q$#&@|O4^ zwwvI~lJ|aV{e=*y;Zo#G!w2QX$aWxbXljCiZolD@Mkop_?3hH8L%Z>625z!`4>YAK zNiA`^DsAy4wT*$fe;y^fG_IDVISo>cU0w$ZRQ*=k(^RdJJo)ax1adVgO`!M&VwL!fRCP_*9J?eq{ zm6QVnVi91l%E%-5h)0F3m@KicJq`tB;?rK?wx)8^#$?xGG?b0h_3*`U5`i7BMWX@> zBQ3~H@ry7;U_SP!s~+FzoeAV0w|m6Y(%5U^6J5_t34RuQ2YnTz9hDGUDg1#v!t9;W z3)7H~5m$-Zcnyp;j28t1;5_C5f|C1%6QYj9+`|qe{vysmRgx~yMv^i)o9L~De44Gz z-b@?2AG=(9lXn_XDxOctA#8%NS-HfeI8^c`{Wp3pG#7Ipf&)^e6Bw<;3WAYvn^}%H z!s$)y%`64l{Syh9__xBTslF5!!O3b1yOq`-PsH6sl~X$5Wib|WS85QoeTv5-rVgN= zq;_FUq=ykbvk$bER0JBsAVJq-157@iNLx<4OlJ{u*>(7tJP@v#^M>BSc*yc#I@123 zcBI8qd+0%MM=>F_7eA3<#9-l7Ff#v|=0?_xgkInz9?xO##gj(RbueL(VN;AVcP|0f;qMGy_t1p!I{Jctj6jD>My=0^Cw z0z70<*$!Msp)GGe@foK(CMSm#nZkX7q2T`I?BKEaip-yB#p%O^JB3$@A5yzy>xI{| zA2UAW%oF6Zu|grIj1Ok?;!F8f28uM6{{)RAP-#vI2HuU7hx+FKA2!N3jcSjbPwxby zBG(a42~`9wuLr*x`5t+jFb(AkfJjDAS>h0;9I(PGLQFy#2ohff^Wplj*q)8-iJ`Y> z1DuY(0N)RJ#99?&0j@z_){xi_+!h80TaDX?Tqqjq87X*)iQ1^|F+nqnR5=ZOD zs+~%mdbhTsx!l$36V_GuetW${Qr3*pY?czN|46N#URt~3U%k#XMo;h*DAih0_?t3d zJ+D3Q8l!1(A#LA-i%mJ!ftK<54yL8*jOa|cGlH>qwmj>g?2gaS>^OSWXG! z$&hQ20QN&*0c)7W3qB6Rdfvpm(WQi?@xhonusYuC8VW~KD&a8CXV+bHX=;3o0XTVy zfp6d^^suJ@Tm#JR=EHi$XX3kr+MsqoS?uAA6VXr<8rK1PC>~Xe&LPZ&tR{RV&*2Ff z^I1Q#zEVnPyLg+>YsoVS>zJbuo#VNzr-(3CZR-whgD!yreOM3Cov#e3O+y?NM41Zqt7BHV0VK5$J>JI$vXxSV`uZ%g0w^v#*&vy{FFT& zRSh0Y%7EfA7yTC)O<`ir5=@k`m8YZo`Mnv_d;H5i)U8>3xx;0_*X(z+ejHlvL3qbD zDePGmHN2*f1@T~yb6&&s)M>tNnfD=W*xRA!7}-b)st<(@`I}xH>A@To(_%^3j?^Xi z=gE240rBqy4hVr*4&4me3JSw^BuY{t2rv9EY+~$qVrsA;vfF>op|m`Aa2)^2ajx^y zecI2KO4S|1Hp69S#Jt8!GXLkRbnJ`VcQ@Ip!;4LaqfGCpM5gST1LNqVS^!Zg#M*PR zk5Q52xb(j7P5lr5!0L^`s}036k6rgWR?qp?R_XdQMk;A&bmLlkS~8OloJ)Le^E~H; zs<$zys&k-T)7f5VDbbYq>x}gtcwL!MQ-wD}sxxfkWMhB!Ql9-(s8A`TVSCLKlU452 z=X;2@X;G1NSPEkQgIp{-qX}q=4Ihp3Oj}X)x(A5C_9ny`b1bsld)=}-)=>pbTxxa4 zVs)cZ@5~DW?IABMZ(?PN5Ae}8IO>Dz9Q)++zAr*hD0jB0+5+jzuU4 z`LU7op{OSSPhAC5W6weSWFcfdcL9(=7h@c>HxMoAGw(3Gl=KF7g+xWa08+fS$QKwt zQ?IZSiGf%vaWj@qnuIumKSLh{{+kS=t4QC0tWN}jAUz%zk-s|5JaVCo$d)$pl;NIz(5Stdi>e-%jhabcNHwXwYk%#(0oykIS zmt+_T!sKJ*hzj&@s?eXFCHt!4>`PjaQ%<%|y^9QRSjj$D7%Fh)=DK~jucklu`Vz(`VT^e>5# z)LYRsLK8?u>PTrwR-hk5<`TMk){&{0SG0|o1w>;Qg-m0P@><9f17HZwu!8KfOmfym zvRzn6nS=s*?`Ed1+g^qSC~F%U)mNKS3f7+zTe4ZN8= z&1?<0k)(g2Bq$`(-*UP_B-co)tOXvm@u5p=>uPu$CNSrij;y|IXC%Cuc0DcgWd`nwoP@I9!yM zeNS{F`z&!PZ!7su#$Y0xRSnGsFM%yh%*Fjq*5aCy2r3v8rXQu(V_0-DvMa+yT|jt@ zNijd+bIBu_6PWFYNoH3L6F;4RX3ph|LY-s|#ns~5lFjV<3<%){2af&Cen>w~*+aa= zdPn{jH4t%BX%0drA|*wj~);6Q&Ruq zkSRFHJtCAF=f~MmX|g(GN+#lGfM)!1WIMEo^ccSr`-;yY{Eyy-DHlw|=kZ^%-!l#{ zE;3|kuW{GYucB34Fh)V_gLnn+N(!PsF(zWn+3DQHg{v9sa;}g=9F=G$b7i`aaj0w; z_B#v8>BD`&f1Fh$Zot0AMd(2$1zRs{f!;(3ft)}Y!jig-z8-CdcnI6+9T1_z9H{Bw zBgrlRkFP6XF1wV_mKur7Ou_Kxr~{k={}nlDNDv{xN0GtUpWu+U&WdpCw9N4Km)|v~ zH4fHuG)ARGJy7$|xyaZLAqY=Sl!A%gbnhJFeCt@t4J$^z%A9Fg+S1q3q(5mG-B70Z zp}*0%Q7V+rX_-^|N{4M^stTGhYFW#r+DA%Tz>gFns)t9tRRf#1x9S4;+ z>^OTj?^tIx;BE9-2O0ZmKDbZl{#f3b7MVIpiu7|-S;`F>ck^P!zQ#1ArI}&wRdZW* zK>l1BHIA2-JH9o2@?6nt9TPNPeI0F!Tb2gvWC`mE#VhDRRb{Z3d4hSP@1U+V>TQkt z<|}@?A6I|XJvPi%24wr{J}9s)u;2^TeHTtMHFP;nNnXPI18N6f5j=%d5z_#Z+`!B# zazC0=aGKvqOiG`UafpAI&k@xMA8>C9V*F|RU&03Vu-uwV0%uUxnk+i2w-BDunm)8Z zk+U}QhHzQ-VUaiOl~BkQr9EJ>xoYuQhJ^MnhfROX>cZPXzl6=et%Ox#h^Te=9>kg0 z&*&!z46y~Xg&CyYq6LZB)V)j!`VoFEWaYaN;{Ai-=P2Kg=L{0(u#{45`PD0tXO><2~S;nKP*mh|h@gh_{d` z_I$<`{yD}k@et}*#y;9cUWow3bETgXzT~c8z2$G=9!rnV7m9P=s zh-a8hgtg!@Qh|47Y$)Vt=z3(T3vI!h$$?Xv-Lciq_SWCdS)MyOxAwiqBb%waDC?}I zs!wS~7<3w_-Y-2S4+Eb(&Aa9&vXzpa(o6D!CP%{($%Ur*Evfobm80u-)|{%{^s`TM z${GaHF$e7@T;404v z_i=B^_m>A_?c%#;t9F-pe)%r|4aQGVXD~l;J^Tm005t-)1*@Tqp~>lKqKY**XNv}9pP-I{hcOd?O^m4)DxTN#Y7Ni2^B-lVgDoQO1~jA za9(qB*`f4jqEEDu)DgmGSp!Hs&Q3;W;XTn=VGfXrm<--crqeC(wW2{t8%dlz4cMDU z#2V21Vh^z~$P?aL!R_K;;m15%QO9f;_ca_te}P#;?+Vco%883WGNc%MC$iSA_ap2> z0y<2dq4JIPuqt3k z=!up!28i*L!C_l%CRk2cCfiDEPpu*cRR7CRVnS$_nrCV1jRbv(xB_<0mIx+L#k7s@BX`Samq~r9Pbh_|tLAmguXl>gg`Hyl~C5EsbG8&H%pXvi~CAfE-EM`jQ2rdF>`=ALX2;%%GoVz2npgUr|!j zt7I@;glJ^;qx8pPu-|Y3Mtk~7%14-u#2^_+MYPwfFqO*~$ezwhQh!m0v9_?92%VX| zSOal&%)i)i(l6>XR%b#M{{nwLl^|#*e8-;0qp^GN%+&U@0C5ZP7$Hu$hFgkzOTL3) zkd7eN0))-6NN(&vA{%)MbOLlL`Yv4OQu?Wh?tzM6gKt&nnSXJ#b8 zTi7geF+eudQcRR#@G3MGEk_>%h!6E>BD5TF9Zsejf&B4q+&cUY1|QQ%?BiZdPiI~h zV6jWmNc3sQue{aZ*Q~LyV&rmjUwq73jy6H3c_)FM$#-F`a1L)Y<7CG#Tmpka?LeHF z-<1x_830{RslmHw|B(Jd{*T#!ObH$%-_a&gZX#L{E*v^~8rqLn>$?W3^;KGTItSU$ zd*(#*?Q3lFLr)C0d$_HyeSu+|mh5|L&vNhdnmtPlZ7q`>BeY))2(?f5 zxz#HAn@D-)PEIjW_mJ%GD-a zZ)K~plVnVjL^?yiz4f^EOv_SDqx_7bhw7?vhQ=!!sjX@r~HcAY804c@)IQ&VxV4 zJxREclh6m4kJD1D3q=8LH{M~yPQpRv3eqJ0R$PR38!cfDr_~E)(d#I4xL4^tnS=4ld(G?N0M%;0>dZ=qI@>jitLQCfoWhpJ~?rcB}P<($n}&if_omRyEEH=1Ya;73V;plZ!$n^~yp7$3y^J`E`5Sg0bP)6{hKW6kCZZX^ zJfO+f+c&}WI5;dY$(0ve0p#B5gB=3t(Ip;#jFOb5F2>J+MDV8AWGph-8JmuJ3OrwY zfU%iQ29v812~rzaFXnDA1N#A0i}_9a2z!e65F_MASORrB`W%XcIfRh{bCvb9cd@RJ zyQq=aN_q!;XYN8cFjRnw@IToZIoC2P)060lw5K^1^!^?Y0hRHVc9gz`JeNL#l^g6& zl!N}4y^Qz==m{NRtfbCG0ohE_;C4-gGfKvYcXLlO`!JHia*~D@!!amB32&fi^fTli zS}2K4S?s;z16^Niv)$wEa(6;^(H3keG#pk!rQqg9$!p1G`LCliWM5}~qR3$Yec8E@oOJAM^4|5aJle5bWu zVv_1qHCmkhl6jwjVEtmA;9OyS>zEHPf@ZoF*_Q^29TC^cV3FJF2L*cuO|Tn2Z@eh= z!x{8_3a@r;watn2aCG&G95XB`1-A4u0VI6}&`vQCm|&DU!VHyj86Z|LE;eUGod zwYw`TzT2bmG<&}wetXlx@dzw6I9Q#yh6%&(0FyNgXBmDa{v>V&<^uc#qYZsDax|6C zILFE$UT0DnO2$g&P{uJ%F1v;^l($Hz6}QW1E5dVI_=D3FB7O!`be7|04d%@vFK6<3 zZ|S4ia|CZ_&uA1{fV7;B!*Pf*(l^3$d?(f^)_U4->NMsj=3Y`WvlCTC1mlk3K4LW3 z{n&fxL%2gg(|s;_2^NKsp!H}Bu^fZJ_;H7TwlEF8G>(ASQrkeMVC=Xe(I);0n2FO8 zPgCQg8^NcNQGZQnN_GC<0hE^}(m5=bLZqMI)}waODiMbf-)Kun^Oy^$Ike79N=CSi zrdXB>O54rfPE-li!lghjkV=1x8$krXR18hpBlJEn9`q+l2^PkChdz7mr`r1FxbJ&P zyzeZ_taGdi?K1CnZ=SD@`=WKYh3~o=K|4Q&KH4|ACpi5ckiR)L7*t}f^c*%FvgK(B zjyt-$y3>}U+WyuZ8i`@DMyg*b+oSKLS)%-=6>9!dZIfKqjBB~3Ajw;mgOqRNpOtp` zYZXmW(%M(nyXi_@Y4fXw&-EV~E;cmOuWwLEl&$>cTXox8t^u}%#+JJhd(+HDRFkt& z*T`yY+j>(nz4ewHqt;5_Xiq4J%`bFcbcOo$Hj=$X{YJN>b-C`K{Bg5b-n-#$<2otW zc&d4i-EN$2`D_DU^$=x>fMPThgOM_h#}5wi&` ztYO4_)=)l_e2KeMOv|wg?xr(@L18UGA$Mo}m3~HC$ScUWDVmu3HM1`BY0a=UnDKCQrkg z7+0tyft!7g)c_>zQp{QG7{dW@kCy>+#+TG?Ob(F=I5O`O^*Anm3I>4*;2KDs2<6N* zoU_c`%pQzg3@K$9{RgE32 zEE4L4T}pj{O-;QAv7`3nV02#WE5Yb}klGjisvl#j_CEp65qffQ(1a>vh536Zy%76A zk;usq6lhwUg7uBf2%byfqy15{alN2LBrobZI-4?wM<5MAoWtdVE0aZ$#nIp4_o-DN zVN~LO8HUB%LU!TZ(0-5r%7<8tj?r9n466rs4L8P^1KdpB2?hKYto7XA+z{IdP&hE` zaU2_a2z4RJN@@$ZY}XJ)LU8CvPt_|xllh&)kap{YHp!4 z{!cH`gEg7Du8qI`G}K>KfDEI}cHI>HFv%U`p4PUSnTF%7)8#jmVSS0DRz0OTqF$rU zRY6)lwTg9*RdK@{8P9aI*{}GfmH|!8iL#^84mJA~%e2c3T`al&V%IL!FI{`ft8gj! zJDQ4l0WXVP_P>aYw{7#a4YXR@nZ-d@u(NMK;vT>**yDcSI`3Q$G>tLdxV6cN_wMys zLsZXo&ukyu=XGq14EFxMC)aclS`y#ILT`K!`jWd<_1SqlI+_HIG0$RJuS=)~E| z6ENp6aJ;s(Wz;mTi(_Q{Q|!{0(9iDoPE4=pbfzATkB{2;tG!A$ZWa`aw|@m`AXL zXE~0A)6F1SJC29(6M+G!`WI32$98;wE&Hv$}T5^)A(9HlGNec}4#?d)me zZ2(x6|5-;kLzYHUhV_YNsQHHap#Fwop=pDXp+98Sm@ev~8k||%%2EE3|B`fB+uF;^_hh)x{)!+cu*jd6CXse|fCjJ>ntR&oXc3qO%&?ZftW{RGWJ*pbq~;w9zjT;yI_tX2O_dyM1aTk2^~difwL|Koew(z7ALPH#o!GwYIJ()WcXOn z8H0ptLbn3}pElU!Y4jT+VgJ?O&ftOYYJiyhBwibtl6(q2kemss1gP5yI0JP7)gNsm zWZ|mtcL@Cmz41X!kIc4d!v~~2U#Lh%IC5twIP>y*|zKK|c7y?k1 zX2N?Qn?UQKV#q@<6+Rfd7F7venNr7Eqldv(cv)y)f^MlKRD&KtX z^xztgD&TT{aOQY-S*xvkZ4+EK^<`GG?SQqrd5xvc`pP`ZAONg0&6WXqhcVw!D`=ZOW6bmaLWZ(X5foZt2ssviV_UdA+f2dDG0AE)CD>bAOquf_34B zd6kD6YpWaUWA%p`H#aP**;uosj$C`|&)d4Qb)JS^wPlhW4Z^zpHF@>@8!y&hX;wFF zYqhsL(B)}M^bTz|b%wS{on_f>*=-zY=mhjI&fCg>dHOp&*ZtWx%0Ti?^H1>n41EfW z4G)PO^G}Jc0qEa)M*;Lh2<158zZ!1msgB~|^TR+#FZ_aZ0eb{+XX2R+*cuXr{DOC$ z+k+(M9VHIs-D3{O%*w>&UoNI+d@A@+uq~gR^C;(ws9RQ51|q$qsCy<>WabY^YsYU& zw`PfQ_KAquH`DqHj)+dCb2Ij5%Cfg*t`x5q*JLTg9mLGc!TF%VP@*_%G5aNR6i35~aes2! zu$HjOnPV7Tcx%{isPidBgomgZh!~Ox(B*f)KSGt@Pmq48uK+QfnRKRJM!rS*Cv2g* z(C(-^5RHEF^mM0upM9&NlY+p%5GwT!i{DMYNK8-81zPR7;nR^_0b^p9_g3OXc&jhh zi}4LX-~y!BB;+!A=#-4crk1ptRw6!azqjVi9+7QGav$R2ZRE6H+hQQ0+Xe7 zqZXwGK$?)Fk!hIT1T3K=6cWDS>jl~Z%_S#dT@pt@MnYfecl>Z(U;JM1=F|Y}Xyh8| zDbc&!IV?@at`57iuBFe(ptosJ{xxounPQCp8=T2J|k`BhodR3NMch3ic0H*qH9};9y^+^R(0Gya8-k zh8PHz`$mg(fcZaDZ$rSm#eCH$)Ys^H=|PH8{bxg?j;o^RRhm3GL~}}eOSMteM>k4? z(k@mF(kxJPl(kXUsYc76%PJKYq?c58l;!dR%Gc_-vVJPRYQN&L1`V*UI%xh@|E*wZ z?n+Op{*q3TB~*u6hDz&Nql$KtN=Z;IS9Osz$|_`NS-l3Vo~4pDRH+WzvP^xID|BYf zR^u3bz%brA%Jkg2MX{-IPP4XkL+ct9&p-@~G7;_H^qqCPj0{DZ>4SEg+}(1@3{~wl z_XMadawpD&HD_rsUWo6Cy*g3_WQr1CL7)H}0f|yG;Cs=VG2fAENj`ECHxMHwXfW^4 z6!NI_T5=Zk3*$I%l3*6+aOPM3asGa0vv7j&G{0C75J@=?(nZ;wgest~mdrSxzOLYA z{)hrcb}TQqjk9Qd`_Anb7Pl4<+uYCiDrypT6n+x^CuXI6NI#Z4By&wxPNpl1ls!Fv zLsn77+{`gqM)B5+soAcKAsM$acIRc~w$Eu1@5|hiHa*Rek>XweTt>@j9Z7{$0VzSc zjQ@*ViSL9ufC__qBV2$Fi2@oP`psd3T zWN%{RAmi``gi3s$v>05=P{dfEoal8tno$T?LZ(N%LP+5uxFy6%*d3HK>RQI%)B~hO zz|yic$%GG2h9T#`*O9lA2Lm%>hvRkv8hs3J1Z-k>!WViYVG2u0-GXTZawWrPf3WY- z`B)M4Hu5rd9_ApLfuJLYV{ai)cma}x9S?s6zYXr4$P9l7e+uO|vHk(R9Ra@w00Q~3;-ng-y<(j0%yI9xR`@i|3jH*o+uZEVHUohQXOpMQ-RLyBHRjKr zBD36;V`=YTIalkxo1_+tLv5^gb+;qkYwSxLF3%(9BX@gGPhWXpP)Y@w1%3$n3m}ip zN4`M}!Op>d!v2r)l)Qx2K*^%aU`=2eDa%=VXg1n6E`x_>o#bS5|6<^IJDF>RF6IQr zM(%EUM;@DbQ@9I@CsJrbk#8vJETV7*F_%@xhXX84VkSS!mzkFRotBozVE%wW{Zvlu@Hz7vQwZ!#Qd4iZs#74$R(XNT1i93mZVzhWH zxjj-F?+W@6ZyQ?$t_R#E)1fzj#_t7KCKQFN2ADiUurtvc3I8MVNafTb!WC*ZA%|SX zY9RNcNBHac6|8}LIh)QE@>>P8w2i_$92f7Mpn+e-zbj0MI`cmW?r}A|iM*d2BIg5p z9b-8A2fsbA={+dYrF|Dr@}Flu5#P*Eb8m3I5CZtgv^8jtXh!}GY65t2e*r7r0d!dI zCPBRb#XpnrrVt|RtBC$Bb?yQW(0&&vZiGtGUkY$@%LeS^Q6Kk z%S~B9ZVzisex3c=Sk>-V#n0b=mNspXwrz?V->T7o zTei-aVR4!+YUjJl9pyHedA2>|`(iI}kJHW6?=d|GSU(~A|LhkmB+Y}?YQ=R8(mf|Y z_l@>~g5AR#%)kaGwJAE&-q*i5usl?pWWqjxucu0324p)R=foiwbKT67#AEc!>^rn? zgrG zK$-{9dy_^{_S4%?zGCJ^`r~rpL57#SKiMm|$aj?R4*V9mmOPyB82O#3pltvcU&~n` zfS{Wz_=o;Gtv@p#UxUAj=Mv254BA!lTt*qQf{!Jiqib zNVTNnxG4lMVF|FiPyq~D3A8#v3)3RtK#t$%)B_HdW6_IoOyo_38a)PBWVc2h`_BUt zmEZn-zS*7;?!W!-y<5E-LmBQz-XVc1|6J!#=L2`CYoT3Wn_{WZ@6%f}TeN*NFSKg) zJH;3&S3S)*K~oZ~7=_Yg)Aqb(;E$Y`kh=OQ*)+t;=Pf)#XyE zu0c~Nizum@G1`%e_3}=tnbJ^0OH*spuG%xTjg4dK+c&M0@LQ)yCri6YP>LSPzA}xf zQM*i?p*{l;a37loTMs+N+uqwfUXRD(``7OcuZdC;rSVSj^@%#rVelEqe1LavLY+g; zz=sK2iPwRa>=@ccdL4T_cQSJe>k21Z@Ius&-Cpb_%kpk8|03+89iuGcEf7v%Eu?EO=cp*oXXZBHgA92( zoBvZR<@d>Im$gx7;;ICr)2=Z_Qc$efG%Y#74AF}-A^>euz@$?bbGmZ}3&#rk5+Nia z9V7NiplSm6;2Ie9zN?1UcN_74#nV2o=OpnKPMiW(ibA8Yu8k9+SYR!n8N|b#cGHtJ537 zK*0F9gvZ!{aKKy(ni8!5|BE;d?+n?1n2hcQKaJ@RzKhX<-a+pHUZHacGU_9K6*?Ec z191Vri#V3Nkldf>B4{yhkeSfgh?B{Gfs=YoC@XR+aV7a8>WQ8Rtq6W_rhC4*uDZeY zIi`!I_eMNm=y!I(S$voBbZZlDB)(d`7R> zH^Z0mo%NpeX}qHVM~lKu^-l|`-2($R08eK(AKnS`QN7vz>cFtT?C?xrYBK}qw;IB* z*o$yUutx~wGx|n*=DR9A|Cl;i?r4vwHk)FGex?^Xhdd~iwVbY7*ScA;rsaWRic=W+ zX)g*<{5wKEM_65}eXmCQZn&2F{s-9E7y2(b8|1IlJ}1FNkJzna-A~;WGI zyC4bZ8jKh|5RrsW#b_{hNfzRBQY)2$Ig3N$ZxW{iJX}6&7Q@OB@Gb!}znQ{*>GwDu zL2scwjht4KaWJc0T0z#2tlJqyIlheF;>kIOGTLO!DhT8+&U&5Gv2Z|PW^vyRy-OE& zJ=cZW(O9y$&8@<(1w9J#@)l+7OFt*>o?eqTDW|k>Y0fOs^z^~pFT6k8<-ERWh@5U2 zk8+c|{j`k~45OG`C^(;;oefXFlC`AN!`TOHw_c^~;>QF}dGpxMn3FMoa9iMyP}g8v zkT~2dz$>s0HWZi;oeY(VsLPwY_xFJQdD2R-I*#MQ6!! z9`=v7w`j+k&zM*1mg;nd{|tL{3yh16*9@oiSR=;_wcIfz3>Er6TD=~wwQGdZt%{U9 z+B~48usOYDqx4hD24H*nvnjvfTkGNGx@M|ksBBHEO?5(1pr}>UN)fV!E$@^ilC-L- z>UXt0ss{Z2UjwVDv1(pDwsl4WPSRR0Z#t~(WazCwCm*2QtodwTXNei8raHrM4cAiW zx@-kmnAQva`&Ot|=c&S(ppN_2_u2tZ8^7JbJioUcuGCvJV%2+_kkQX7w|TX&F*H;Ley;%&+Vlo~l}- zW}5LfWpPQ?*p4Nu^A}~Z_^|l1(08J!w0mEOI7kyfXR&AV=agc4P3`yZfPcIH>eQ0g zJttcz%7vz*L=e^m?vvd0CI6LxxSi7zf*-li%$qrTO2)L$>b$1xKqpQ?asG4Bx%{-E z6~zzpKZxE4PjZpjz4H*oTMKB#uEHf*w0vhiyI@70Gh?=3cGha{B-RZ|l2Ac5;-4b9 zPyuc|@@(p6fDySJ!FxS6oPC+`vTm};pxvpztX!zYX~?ou(hW`Z(m>0ArnODVmX*?d z4YBGEb@v*amH9u9fA3aZ@=f=p>(>EaSU=W%fAV|AXUW%pK6d_g?`yA$%#SxKI)6mG zocH$1llB#ZUM3$f|BF7Azm&at@m}*~Rn^pQCctH%R>66D@>BWiO`l9}Cp;VbUG{SB zi}R0)Umky&_U8TDfv=2DBzMmIjD70zT3m7W*W2f-Z(jcI-j`_8a>Z!VK5My#WnkCm zRpou^{o_OJ5~)djSk_;cU48n`sVYs~APKB>q_e>7aS!vR`}MA*zMo6!C<;Dvt`Bqs zI0qvE&*?y->HiF!Wk8c%7>3u~y|KYYx1^L{p@NF7*x23O-TK+xt(e%|7<4lR8#P#W z_rCWBfA~XeJLf&mx$o=3R@45`W9VgE8)ra}FYr*vuJEGR@o}5uY^mj0s6pO-=W+^j zqBFUIhedUM0S%)T!$RBbxZ|AT( zW1EH)jVT(ja`=Q14+k$Dv@?53E-s^CFgm>>bxX{d$Oj1_39h7ugwXzPqaUPwOEH8E zWOUIg=@rCcJP$J$v)H!_=&}q1mH2OhN4j9n)7Hg~E8bGaP3J#To$-rA(z(8=Tl}qg zUzJ9bTzjf{XH|?S5r&G^WoGd==JE=T>{b=yXjKimnulujxsj=sfXJ(!$JbCtl z|4jYGNvF15>bSi9;;VCM7XvP*pG>XPUJ?977OhU*W{Ex$~;I{ymybm`^Jvq=|) zXKQX%-}2l_FMf5S{3&aAQo|EXE)8#( zSU#W*S2wQuP=};yo`TnNT6afRWISgZEM00Fq~B#rvFe>&PMUK+_`I_Z4CBoK6~OKj zgYW{%36`BbQlMkn|%-~#8PK)@4{A4F)mE5fMcr0BUphXYSWj^{s#{7%&-O%Y5; za;0$lwx^AZp${tPGkjQKrZ0ci@a@B-V~^%kj@&( zd*9m3yv(ZjnzXzqS@zMe$!Y!K4o1%mEfzGT%ny;I<72L7ZI4t$-34e^1qtHddkI6B zbb%8q3PiJ~QeoUpw3P7s7;^Yl+H=Nr0+YOfw%9j;e#o_*fPy@y^6>@e5Y{da3P0Xf z0l(&T!@hWeoIg>2{pD0LJQzro%<)&b&VaH#bBrl|yz!55x9z28k$JwY+of^Mwn+6W z9cjwDx@kQxrNg_klr+too>kgH@n^*rNs_F!<9*x99*9IE!!(k+UJHZUmjWlO968n&A(&HyZ*i@jVNDJI_lruAM<~# z{c+%P=-*-A3;vA!cd=sNU(Yw!pSRytr8B?BmrnVT{N>+w#pj66S6;h5?tL})ZTjmS zFREX)mE3*1@wxlW-IpD&8lGo8JyJ6M(eIM>rw^X;?+q_*xx4OG+Jn3YHy%?T-+Dd$ z+4biiUTR*=dB!Y0`*h~rO^;LWEqF-02YS5vzVj~P>8j#eua*_Re^>Z$bFs5{RdL1h z_(%OeAAYv?N#L{oPmerV{`~ouN$-}t`1LXNUDprV+X-)PeyV(v^ZCM?^p9(wIp6dz zDSlh}I`aO&55Hb_KRflH{&UlN%bWBs2fn`eeEXxgbnwTVk6+(*eR}^(@}u!f)z91S zhQ3)?np=0QGe>wt72BQH6D%Cl@L9a5Zlb8S#?W@;r(AfZIl1X?+rPFumLHuc>kk#o z&ezS>#hTp8orYcAE1YiaW6u-kI%phh7to-*4(Y|uch%w!V3rg95Wi3y96R<5$IrYX z7|gyBj0mEHWQM5t;JBRN_UNZ!^n}&XCsGDyUFch!h0a_ssJ5>r`%_7$qBXAk?4U!HSn_{{#7hmFWHkDgIf zI%(OYL4&Ddi6j1w9W+Kg^u+kAL9}WAO=unG%&Q&YD%?9h=G z9@0EiJ7Vg<*fGnK`;LjveLVKkFv)QAh>2MbM${ya8*GgJo>m@L9i>VkM9C5l3Z5mF z3j*SPL_Q2V7&k2Ra>T44SGb0MBBUZ19Se=x6{e0l5$BAdM5n~w3;rAaGw4>-cWyT~ zBd88YweO-kxufwS_HU|-bb`7D`-w6gvy}M?8AhO>Z=ne|F+@%Jj200M@JG05@Y(43 zs38Aj|4V=?_QiqpUbi=U+HCi%?<^MMY10gQhy$&?V*RE*tT(9A6?e1*xdiC;4%0g1 zOn?Dm>Dp}C*RiGZnKH5avofrw#geD81J0b|`oHFPotvy_lGa96oxA0IV_tK7=Ze-x zy?p5z!))m^1w&4hKJR%Ut?A}>rpq~P^}+$dmeyBQ+gr{FBU&T6GrCWy;v0W;7PpV< z{vm3TdSvY_z3o$5ZEf}SM_W%cPipOGS|HJhg)Loe9~$z+>bml_19eE@l6pcTOk!x= z-+iU}X-|6VV{vu2tb20L2$5L+xO;#1+4jJmP;vjp(2kL<8R81@8_6Bf#uiQcPWc@9 zD1}&7tg|oH3fCYsy4QMYf`reo4Z^7wXARXDXtTz_r4L$X$N(nJ4Us9Y%XZK zT0dGeQaG>qe9gG>RH43daOJ>;uMK1Cf7cUQQ1v^Tr`LqHa$4f+ABpC+ToD=T`?l_D zk_wNv_=W$Pk2mMG^lj*9I#55oVQekEd2oGoLt~w@W=PG3>SZ+rKQ)!3%kK!e)oo3| z?bn)DHQj0~Xelp$uDag!P4ZBDy0b{y&>SxX{tKE>ZKcw)itWZEONi~Mtx-+Y@p~p~ zt2?rKa$1wR0aUcqC!g3k2jKVic;{L&HA<7)w!rzvSZi5pigx8VJG?kggQd{l=sW0b z0jZ%4;28K-n97fbtpbnqe?g9gb$ABCjNn4B3Gha90m@%1c$()c804+Q$}2sZ$G6fo7p0=|(~(t=q>*l+1I1a@Etnoc`F?$1tO{36{YwIF6N^C5%D zqp=YxN~!pr3DwEL;iN!ZkvS-lC5GR~%5OKXTXrgkR3icu$= z?ZZgClcY~toc292GuhD>lrSa%l)_7^h-*lzkDm~IJTX5LnzlHluwO#BG5&1ql#G{s zUu4A%C`?$J+BY#F^>R>fd}h?M$lR1w(P@d(f^NhygM-4Shm8xvME48W691n2FZyh# zKWb?RKXh>t@pXCcrqO`KJI0FI6c>*<@i^NV1e8BM2LZ~j*BD#V!md?Tzaqf^# zbFrj{^eMa!RtTL<9}}2`D+oMDe@{uDj-dy5zbx|?Lq}1*0PfQQ_kH&nX|;{% zt~Y$q?bZ2hy!IJ@mh(R;v@Nf_w8K-AD%&afCmkZJ=-t!OBU&X%Y|a;7Z}iKP+9IXw zj)lG1ZH=uZvN-WV$-vG-Dq`o$PJf4>dql5HeM)*&M6Jsdp+%D_#x)XtiOTD~Im^7i zw$xBXkjiw~!;VNfsp(vgr+Q-9LD9^n2R-=a)LyQ5Q1^aOUi(||!iJF6@S3%vGu0Q{ zTN>kqE9=V|mbMJ4+}VAg?uL*k3~CtC_^dXr{^Q?&wd?CXHSenH(>PTW-_q6CzY!#= zu2r{`G_=(9*3N2})r_lUOXSV>TRp+`C0 zUA>hTMbO4RZI?v?(XS3~Ii&shzlN%_m02yvgt-li#Kl$3&2g2%O$kj08b&n98@tNl z%QNct{`3DH^Y2*ooT?|y+geX`WjEVI!rGLo+M0v^t~DMiPZtiWGS?#NFqKOy&jODG z-~UQlb**hp=0;&hMeA$fkM^GS7eL2GDgDttv1@BbQqSn#Dcz4cfAt*i3hNQ;Gt4B{ zcT1^nfqfHbpDW8+=m~Vp_dd5zM18V9_l)yqS)tbBhN<4mh7>o^HO$-J%JKaL$hvyu zQ6Gl*5s`y`1iOKF3i<49K`^1iNIM|IiDNO#;XUYOI0=ykmjWF1d~7C8#l*6guujvq z(M`d#1Fmo{2gHVq4(b!KKTgao32zmYM`Q!8*+F2~+a>>GTP#}rKG=JB8NkH%IDa>55C4o%34J{3@$I5mx* zBk3>hSCvBVGcf@XKR!+#cO!XTVq@~qp8`lM|A2y5rL$Gol8CUX7j`xFg|F#Pam7ao+f##MANl@ywWh zY0Rkjq@K{QSQ?)hmL;eVoCy(8HwxVJZ9(&B!y@ZB5kbuna^8=yKCGKbg^{sI>*M|= zK8dqN6(x@gcO)eRe~Q@~Tp7_C4~g$g!i4n1oDnoeRfHZ6UKReDe?>4WcxR|Sq%qtZ zdL$+}#t`{B`d3_G?AG|4xX?Ioa(V2Lq+2m%vBMIM#Lws>jQQ3lA$mvrznI>bt5HK@ z?u6aue+?S}+!n4DFa^hyrZ!+Grwn-0m4Am6Nk2wkEB$%zsW94Xzwf{6rWMwP61Z-zfV|L)H-=BJPs``_ojgS=yW@V@URcYrhqJHGaT;G=IAFj`?Zkmp-2Y zzjS`?{@MzJ-unOk@jLeKxWCiNwH1tNYE4`nubwO1P~YBE53B)EfcFH}F+g;*v#+>J zw7%8R`k+H6qDxTAZS+&fq)hw{=H|6;zTMuai9J|3Ii7RcP{z3i} z`xclM*GAum=pucmxgn{99zr-?h1`W4@7Kb|!Ncvbel}_}K(4O9i(%iuD3lRXfPV~s zg{Xj*f+vElU?{1~6O0e09cGrW4sxGHjpimr9tge`jAp9XI~Zd~(`Xj#PDTS^K4~J5 zo%@Cyhb>@F<;z2lFxT=9(^oR>3@4|Nb_SPBokfSTzOV{HTLO3-6Gt2z$GS&RGeh`U z;enjzJR>$8lZw7gEF*ouZbdYpmJ{Y+`IJcF7}i?!kbvz$0o-+g7kR(w%Mlh@0=6t* z0eLY;&W15rtZ3@Yz;Dzr!B-|Od@Q4un@9af%V8fyn>Ypdo9xY46t@UJ2mhS9AD2ct z07fvb;~N+Wv{+Uq2~U_oU5(#Q=b^VSUt&t|B*G|i4o!z?X1+v!W{#o!rI6X#bOp7Q zwv7IsG>8r-vZ!+EBI*XpB*s4Se8NpK2Hyww6^$iMK((WZcmN-b&BG*NjMzQ+Gq_7Q zD1I@@i?ZPE6E*`)}(n*Ky54 z%PYkQTTsV(#R1J-t3*Fi9N}55?%y@0Ym|0lcY@V!yKng9Y*kyVkK_mSUweX7JG#|f z>fXWP$+D;7{LXQ`naV+JEFIWDcEp>`Sku5q)PC1us|iS)mBZhl?sy9k!Qgb59v}zI zaF6z~oNK+`oPFFoeeo8vZ;Y|T`4k{c9Wzv^pSecaBEbt(m%y8072q(89&-!|wlDBw zd zjnrYicWwUUfDLz-c<{*!)})~an* zY*K7c3{(}Un*dwJYTW_NT%E~GHfYVwMvRSSbsBR_aPuO|X?=*f-W+1NW!YpaHn}X5 z^ta5z0H5>)U6S>YAFH9kCRn13+x!)X4DS|~*16a45SIs1W8%CaXpCinw$7zD=i?M8 zdte6ZQ|Lv(;{ZPXE?h~vO;oT3p(^ouWDO*jHJUY?U8K{k&4AyvQDX5t-Pc7 zuI!aH^~THoYQnX#HoCdivcWgXa~Sr{Q|P|#-2i(I`2|VDBp@ab;;}oBVr&bmkP^1s{`@!9@edWv$4NB`i#L4$R15j;0QP56Dd#8@nu4nJ_G2Q)XiFh%7}; zd`4j=ByCgHv(#~!_tO*7zW1Gzx;$xm95nV-Y-lth>1*nS#C`FdF)!nv$Gc;{Bw*vL z@sDFYVQ)jhVY#7y0y}~R1kree04nDJyMX_oZ(lc4l*%8cl+)(BX&R$MCCy8@}{*ysx<}%!jSxhaiQGtu2@H*JI=AnrEvyXdmZ=eo!)Gt-n-Fx$*{w@Rl82+ z(a_Y3EeP8RON;NbsHFZ$8&TNr`=Xj(e+sIeb;Jsb%;h~#bak3=r9`&beoR>_zpK7g z-_IVX5eF-L{@1;z_*;orH#}*0=R>4V!8w)u`)MRo!dwHL;qV zb@Ro+E%=6wE%e6z_5bPvMfYl)4MQ7Ow#18F;(J|)&Y2zI;>ps8&Yg-(WwOkmXj3g# z?Uh|sYzICmi#0_3LHTrrU-d%1y_ctOD`I*n()GRQuIWIR!74e|aZyq&J>Om4*{8Ed zF-w}(wN^J@=IX)dtk$ElMBQBNa($1npD|9)Q>pb=WjIq`xm58(Hc_0ToNg2vp+>Z$ zU5PT<3@6;>=56-V{xa<($QlA9zzuBycG`6CXTogMWa@X+F~W3m73n{GEqxwgC~glW z7Z*wSMw-hN!~cQ7-e2Gb+*Uj~ER(#7I02ggo(3nQp)@$sg*buxj|8EwpzUIGFpe`E zoZ8_2p&elp!hVGe=3fgQ6Y(gNFVF^}LaztOdFg>!d{{_g*s-vPkT?9z{LjHz!Rx~o zhMNU1c~1iK0!Ifz`F8_P@b>crd^@+E`-i)nIfgcahNOivFpSOY3}zrDomtP|u+ES! zkVca$kOi=puqWUi|3^q92uMi7k3%B?$2|^2fD&MQ&`NNfHvvQj_j)e*LqUDOU;PWb zJa48a#xv3b_Xr&;TrXVL9eh`+doN()SnW4}7eMEL(D3!hV^Axs8J+_itc=(VI1)jP zpG#;Zo2jwXXY_QcpAtmBK|W5y;r|c}Kxm7_y~|k1UBO+#UrSla`i9zv=}TC|{uJs7 zIo{`H+=8q>8FR8WXWq}6mh&z9Z(Mqx;c0bQpVICMu5ly`YT!Lee&DWv{aklQI^aP3 zi%+G3aZuV(;(>sBf>QSGz=NDk0enIpXFqKjU(dY2TFsDSxTweQQ0h2bKgwE+n1n$m z;;*5n;mfI;@ffxbE5@D#9J$SK3gQ>m1kM9toE3hwTjxFJx#PLvJmF+``+E0*zPQf& zFSwOXwN(%FpbzNpSVn4J8*b~`wHx*6Dwbw|%C5Sq%mM5-Hx+Aows!xJL%Ywn9BP{- zDVNOZ>MtDyxP*_$$cmr6LfLJ=e3l{KsM)2KD1z1N)%(;kLyx9N^;g@i>QXP!T+mdi zM=7?bHfp2PW%6sXTzR!(tHv(JYtpnEltr3k6;5w8nsivhP~9WlQX@^fN1v>@tPW9x z$smd@>Cn!7Eioc~Go^7r?bwDT^~;(&B<${qJ>1R5-`d}{*=1B;)%}&jO@G`^9b-IiEmU8#`z&~?&j|Qr?jjAO zbV5A+748+`8oGuwjC_T?G_W&3BIpU39Hj_(5;}-4<5;+70!cwJg0Z}#ToV6-;6dQr z;19gt3=ykez$V^TUIl*;FO&U%vxVyoIu@7|(7`*zOALT;ve^~XnY0azNRFL$fb)y~ zm9>M{%6c9&Jz#I(I#y*6Bp@T8D_}l*5!*!D4)`<8>>fNMsRU4^H2{UK2$VV0x!oNfE^>=!;dtj^`dlO zeX#C7N0ogYWV62=_Q^2}u>2+{6%MsJMd9l-brnfr`YJclwphzlIA!D7Uy3nJRMEtW z@l`V`o2nOA&1=Z)WVEal9d5D+PuADffvUL`U(1(N*4E6b%WaIVUD5Qjc~T3gt*TWk zX=uyt$QQq9DX$YZbT{)v&W`QkLtXn?7q{GKohk}!sS$zOxzlU=-Hp>* zHnmP^9nf{Ci`QKxovrZ6Ujc5YY=gn@(%1?ZDaE$u*5!^(fL9pfoMs9(Dop~D(!A2* za_x6`T#rEGAU}|0@Cf)!_+a!0L(n#lUYRpD}iHC+o zB4S~o;MGVg)Z;IQhP!3p&rSqXh`f%*LyCM6@JQDrLM8GaZWTHSj`nqdNk}95E0N+= zpk#>ecn&rY&%i80UczT129Xv~AJR@zLaB2op)@@85nTpwYkmRkz&!E}N&usYcAfqr z=o9%aU>ZhqeQXpWm|8&INqL5wO?-_TPF@~Bqb%TCToMT>NfSA*151DGt?4Tn&4{HH?UO)+hM0!oJ;);-=$WhR>{-q!X=z@P6$nG8M zdFUSEzURnxoN{1ogDgv|lU-aJ+xp9rZCq{~s55Dv>X&NQt2b!E zJ#Ec$MmRC91FoMAf^C*OI^Azwj<_0dZjU56{4jYh1yY?_ZpVI z#PH6z&^*ghV9Bxv+E&{!t{vW;?pY3@)fBbs^7poKc0pGIf66+8-f{uRw2#sX+YYJiCPUi1AhS9g5qH}<9|}Z7*AMVdG^3) z-eLhF_@jUjoExeLjR}1h{64fDFr3|qbcIEQUkGspTLrS9mLRv_VDLHthu_Ox7QhNn za5nLpflTZUP8d5Aa2RVDzZsp3UK*Zpo&JdalaxT6M4^)#DgB6e3YtozWf5kglf9pi z4stW^H9tQ5ebk&FZp1s@a{6w>W%yHz#D3m|a&>_2gX@uP(9NW!xKLs*HJLJyN}xWV zSJIMM#WX2x2^9r&h)+`D7+;vvxaT=Ajx^u|?`+T#zBXtFpC$Mp5b!&K>bWDh)d9zW zE>U*?65wq8Vjkp_1lZ`i0#9+b16i9n0hf5Ofq}q|R2i~O&=UcQI2sWg(G(sOiHkfG zbvAris3hc2(1?K6fR9Wx?KkBhE(4zqOpXASC%PKlgXluVp+dO z_!-hK$PLe6-|?3JoUyVdF}l|wN)&Ex>(-rU&h34q_qiFi2gav*p>nUB(K55;VdLDE zjuvAZziDJmR;{?9U)yBK14(;Z9N@8um+b8LuS+W(($&?uQ+%y+E?@zvZQs*=yF(-i z?Hnt<*$!&+hzGZ##MfJ&v|?H!gaxA8O+!Vt=J-~1bBTCr>oU3Zo4 zS%cz__PhF@Dp{SO<}05AWD>HW*!WhTY%VpC%-@Y$ObtL*sm9!7j0T!HG}99O0E5&R zW_fEl=^Ww;bya$D-B|xY|4L8;d>*(6v;;ighw#KZNBiGf!h-z6cN-v>9UZVIYUVf1zx60PGo}9nQkQ zQ0I`X@MB0H>^c|+Z-Cms@gOFM>Qj1s9=^M;{kikC>w;^zTkbqyALj^kK60iwfsGq* z)lRhawav9}wbVPRfIRyv>kwO~32EHrj)wYS7ko=$`KY--%jpe-iuepSkhEND=Xr|1ye+od9}@u0&_jtr#-?5HKHe(63T`)Gx@bconHH-A>qo?!moxs3Aq@ zMA8S&AMObTk$Z#Wg0IKF!Q8_dVO8+ApaD=Qri75itPC*oAlxiQJ#iag^_zp>Uz%j6L*eJwW*lUCtZARvycVlK@_F>=P zt`UF)EqM<4EhU&bmSQI(iBNI{p$fNwaFTL}_ym)J8iw1CyNH9JB#0TXW#o$3lS%#Z z0|%XpS`%_FTp98^%9MU9a$gL*U%wo6N?dYE-x+DkvSJgjMm7Zoa~uKlxqAYiGn&{3 z7*p8K0pBmMHGX zXiB9VD<7raqiR;|ki)faH6OJ)jY0EOm7)zcwCMu%b98eJ(=COL`<@aX#XlL~F)Z+x zLVrSDKu*D=kOhDjw=eMYco;Jr|B|exJS0ye6_R!n$51CwXHXpUrL>9EtF#jOfAmhe zjqamQqTgc(=nOiQ8O8d_T*5N4bJ*XQTDpzZN&gM3ruS)3@_mwvfWe=|;;;*VSK$|F zCMAMCn;Fkq#kH*;&F_$rbm_gr9ZDTSR^J!#CH-><> z!R?3#i1}zM`ZnH3dPNIiTIjX(T>z;Bf~8@GA@{@0a1=BZbP=)?MDp1{L!fYI6%2yH zpe|!4V1DDC5e@?x@@CXmGzFu??!v$^<1tCNX3R<482kyC+BS9qBZ9g1x&l?ADSq6e^kVx2C&~7l^{|kH@^b6pjO!7VQ zq`CRdbhgZDUWw=m9)1E?a+!|G+e10Sw6fX zwUk|bxps=UUq@|MZpS(ChwhENJoPeZV^4}?Qil!T6y}PJB3jGsmR({QQKrS_0?R9NjBS^b=j?Uj{QW_{d^13Y z03)s(S%+GNPQebx?ZIEe1z?4^`2a(TjoXEb#1vtMV=khzG5OeN6ccq6`5oDTHX?tZ z^3Wt)B-V%ii)+HHLe9XPz^F0((FOz_I~@~+`-AO=;}8slJEU#Izr=;qjg<40Uvwi) zL-o^AnZubbRuxOe{Kk06*vQ<@2&CVkrc+;&k>myBzZ4e@LElLKLU~2ap|Hpd;FCiF zzV?uP#8P}CX*oKXz7rtrByt~8D2z7P47>n#(;w~E+BTuqBBlYON(HqVNdnm04FD6~ zh3687!g=(S(K^a|o3^hX*r z;4HsUupsbu#4P4V+z47TOG{P+S)xD3Uk(Wkza2h4S{Nk=%I5lk8=YDBW0X*I9x@;M z5Hbpa_TwNfXfPZPAL=W2Eq6V$w|g4AOlG$cPn^4bUz{l>;U}-`ss~wL0vX`Ka0{TwV-WtO$aN_j&){x z?s{81+nok`s58;C-yP<=?%L#dVq0lJTJGsk`j?tNiVXEAr9gH@{9Y5;ssb2scz&u^NWrelcq6Jm}gEh*& z#AdK1+h#cU)WHw$>sM=X z4L@R_d9z%YZ7-v;I+`JVe>;41{3+ooW%?rWg2lH z!H<^`9??%QhcU|nEWC|DBZD3a(gT<90{9y4=pZyNmSv%rlN~rBt_?KFNCq=O6pSfwGdNcJQ{Uz-`=4wVC zVn1>lRYqMyN~0u^Z%}HfBWT|Oy19w$pun6U7;k1EC#XL_TG8@X2EF4y4*CL63;TxN z6HE-v2)!8DKk`=8pvYgL5fK~t!-Gcie{f|1k<5$q1Ds+Cn+2vn#@+$FfOG`BL%&4T zQu3gMh?kHP(9`}d{|C=~^C~|GRED^YEOrWv8x4NjeRHMzt8asIsr$1V;(^+xcs99C z`QQ7F0F*)T{vPW`FGQGa5Y)r%9=F!5Qwh7|@T5gCowwJV@>pCbwv@|sJ%C(tv{2k~e6G2o-XK5PU5 ztr=tqCKZ#31@4=HyOYu6N2F)C5qKMJ3*ji~5%DMf1Nk=o7pW9?BSgilCyfXbll+{; z_-9NaaMl})Z3mapx&R}jJbFhk4vV5)=kBDgr8fu6p?rZ*XzK|a@>v!oup$J)Tg!=L z2}4$friE>a+!yvk@HAi%YYJ@#9z&`jZ^Z0GAHk>LuA*zGzgYbPvjaZyHU)kW=)yOJ zEr{fVlYrhiD#R~%B*5}k@e4v0h6O~^!gt0NN94v%Nm`UVA-PX{cvL&*4n359oSjXx zvk)Pzq3Z(g^G^qrL?C$#?xgTW-jc|VVYt{05!=GLqCZDfhV~P*gwY}$VO{}0z)g!~ z$1^Kg&uAEG3}Gyugd-tmA-=+-(Et1n-!PBEC9_|2j&R>|C))=D{41k%m1VMNy0KTQ z*R0ijH!RVPQ1@3*<;PWJ>ON|@3awvmyktIVnQY(T2y@u%`y6$)mzMEnlG$S^FqfE5 z0K^8U?u2fN_JaDeHbnPa^Fp&pO;uZz5z0z+q#|6=qI}dlTxOA;>oIiU04`K+cUzb0A#WmvEmzB`Eh|2!Wr5%agH)@S#7ykU~pmjWI*rv{v#Aw{I z81)Fi(Wh~vO1vKc>-G@ejTP*Gjv09Fu_#*Sq! zBv}EM-4c8%G7I|xl?rn15uD?fbC-mO1epRO ze-E%%KjZEQV6eXj{Gc;|rp*(csfbmH*-?)p9`{kj{GlDdyvEIl*c;K0>kS=-q7aT@4q%a(3x2?V zY-HL#+jjY9K(09A-QQgn=WwUUu5%D9SM4WF_e>Lk=Fe%{I^7!88rfNyN5N43)u4@c z4Q5k~QK7$Ne`E(+Q(RwMr)?m^Xv0k1Fm;LSdq-#c#M@g} zh!zXi1D@w$ntUrTL$N4i ziU;y(y_KpOGoFZ7FUe#6ExWw0$K;z>fPv4xpP4O zyeHAEFa@*#{1dbvaS~Xe8L<8E1rRjU0388458Dpk4A@>afIOa7e*tWbcYr6~y~kyA zp7mJ$t87l^GG~+RwkzB7)t%*-Jwv2g?J&M1QGA_g!Mvu0K=L;?XEc*Fjy6{&3ZS8Vs zKyV9hEU$+>Ita$U5IkAH3q8dtVPyx+4K5Bk$ek6CL;Fl?Bu}8Nz#Tww;T=#HECx=7 zj)1m9FF_S3G?3kAVS902%nI}n#1%-X-{BX4|MRv2v)y9<5O5asE%Yrs1pNaZi@uCG zjz3Qfr6@@gXgla9>B|{+X+wZC!YoFKwJ zg`a{RhV4a-#J5pjGvk2-z;~jI85UH@xW&E^kilVvhV#?`Fd$xxPd}T?%($2&Nrm)v zB>$JxC-h}pR^%(*L-sDFg87*;nKl)79|^*JfP*0#a4+N$W-C$&4?qvcwWA(@uli@g z5ReUC3wSxFjJqR-=+JaeXIVYIwW5wFYAFw=X8U6O4^gf!IF<{ zMo~ZUesO7=s%>{$ciZq*MGK^*ujrddB8q7dw8XYtZncUb624?=XL!eF$+S*)N2DaA z^NYmSP3rn787oD%(L@x{SMj&5(l(B8dS{>3IgR;}xvdjA2e;p98B~{FNvn>mW3-;? z2~d-|KS&Qr@&Sjj$uM61LpnvhtvA!qBHtokts17hVq_bSIu7WPEFSY>O|G&?bzBG1 z9XI=J*BrClFF{NEC=dr60e_Ah1s{oAhg^@yMxwBvh<4HiavNbQc?zYDkWAb_xQQN! zR%70yT2VGwf9O!qaPSTADbNiN4=}A5eGTBvpi&Rmg~*NY zJ5VdC5RS(_#owdIi9FI2bS`o_`YI?1EBCGig?aZO-{O`s+GBnMKjAGQ<+BMaHzt&{ zg4BmLgxH8^2c~a5v}XhmPKx4SS@dnJ9|1eq4Gb9hD?pszLYqgQO5aIIpxt1$FnIx! zxIUhjOXHaXrgEj6YfKvb5pgzlD1rq5rZaswKLkdBj)ANO{>qW4UhGN&m9QF>0M~-& zd!M=HIn$hc7ukN#cE}d!CDHI&Mk@t@A7(En)g3W>9{DGcO z&~9%cWD9s5>^Qg_>H!x+w2)%RVaQ+LrYF`b^5R@XXNdiW?T@?E4YjYc-LzYsqg+m3 zDtIC2xDV?|@x}XtLHR)MIR=7+6(fQWe_)&7Sa=G2HDVWJs^8<==3C<4;QQ-&>cRQG zdBS`i-zNVMZ;5AxSLhMD+T1-r*AeX6=UVUj>OAh$+K{%>z)p~FiZ_c*Ow&?bzOG6) zL$^XdTi?g=AaNO=8_+$v53G-Y~|RSDGt~48t`2X#HqIyy2W-ytYyIPgkvD>$@}?bUo_d%02ol z%^kf`y;+rHYSH{v7x&>mZLL^$DKKN zB~_U6hsvkCFH7uwD3i*n6$zRHh9J`xi`we79&i*nIRNde$9vj809p;7iadsThAzSc z;+K(*k|L<{s49Te_>xSc;3+Y{EO7)qp4LrSMjb_o0an8%ax85G;}3l%%|lEhT_-K2 zegi1iM(SmXiDqN;uqCYP?7jg90d`!jPFl)K&T@= zARPpL+6huRu@|3!!(px?6A*IPcOVY)69z?uAee|u)EcA{xU;m@$XEkJ^N*$8ZTBNfPQW z+I3nWL(15}JW9PpZKM51u@Hw~pW;peDamX2MVLZtAzX{RNZiQy!@0#Y1>6m);spxI zgGO=taD)^)E&!J3Kj;$LpLkHNCdY4^&J=I;II8VcmOd7wd6QM)cNS7{aXDkjZt$En#!4XL_|+7sG- z+A4L2Ql(ffpR26V_Nd;ee#(EV3RN8Cc=a;nVAVx6O#4(bP)|2xSnk-u9Z36Q^9l2A zOCPh|$T!W?Cu`?uU3#^?PUqJ4(+BHk8#e1#>&Uu)`W8cu@u?AJl9-ZAw~SW}H3pDj zzTu$3YPe&#XxM4`ZYi^Dw*}Z-7L8?>&22+izW^t+{g!FAX-+U;{9W(Z>zL*Wx1X_Z zw}-g<`i6V5+$$YkVBJaaEbvBqvHn&5C;m~Od7izlcFRZmd0&=ipTF6=!a2ly$RF!I z#BU}hu0TqKI z{o($tZjmj~u?|>uwtKt%)!-&D6!Z$&$Ri-@VTwX9QA1v8rgB~L*k5OV0y0Bpb|VlRCoU^-D?;~1Z?j|l6jhf#s7vv?f) zUBF7f1gzlfV#@;;$L!!gk5=(+1xEsNA}&))O+){Hy@Wn>hQUVpOTEWkJ$9K!vSzbfA(5Erxyyc#0#bA3v%&%YB=1MWa@0J!{B*iLjR{v<9I z{|@m3!^d7n#K0fJufoS79I(5Pk>GY89O%UCvcZ8l;0UY5e#DUtbSQV(?m8_ty-{S^ z3Y=GIHj_hQoo(K0e4;DUL5+_9?(ck4pJ^d9|G-BvkIwods`sg`|}spL}> zXc=F2QXV2_$#sfK+5Vm>z5n%U{Gm4Rw>7$v56#xx^B z*QmX!^~-(ojlCNcpQR6UW0jM1AN4ZjcIQpyba1Az1{`I$s{Uy_ZYm`HLwXR}x+A_( zz1`~79wHjeDg=Z3m)ojg)vjLGU0kjIB`QRE3AsmxhMw`hL(Zn>`_|(|L(gI_xV!0l zkS^P7)G|*OXs`biPK%iB$07^$fBcIa_ke!s2@A_bHEwns)SUNoEtky0Z4t^n+98U| zwoTGpgU#kMY;;co_RFc}1Kw?bsbGy~k9U~+uKj`o>e>v#gK6M??x~K)kYaC@tqJ@Z zG{8IEABX;*qO*#NYJJ=AbaxlS%+QU1-QBI&-L|Ja2c+wSh}cB?2#*D&4P-QW6t z9B{x12W!^6@AKUEb-Ch)z+K=kV5N{`#Axg*a7SD*&_KA1|3d6bXv8nY><6A_Ar3>J zG44_Jkf!l6s0wB=FTp=gW2NulGT9yY{{qH6DKVYN#;}+SbRA_JW(m3iqXfulh0xJt zJCcb^#(pDeVyAFdk^A8Ja36dUxH$d~a&UYEWN_jhVhcC~uLWO;Nztq0PjLn?2nEKe z2zx_w!DCnxBfHRpF_qXCJ{G$Ugo|~A?~iM+#NcquA5S$b;W`jm7P{+Agx-hhW5+z- zU|z?}NPGWKbJVAE6$LL!76vL@P0cotG;s#L+;|*%B0dYWGuzJiDSVXpN@DWBdN>BuO5r9Ke zf`b!xKrf@uqf;VB1H%HVK(Rhwjy}VEY zT4w|2nD4;n`iCGYAa?@;iIh+|V?Opj!gb;)%o}($nnQU3lM=1iFEAFS6i&xnLM+7w zDPzf%6dC6?HI0$YenEQ)baGngw`bp9@~z{?&xyRf6hn7?TlBA+rUL3y{8h`y%ag_LBb}%O?%X|@N`RkXh8H!w6C`ef6TPb^^yoPnnE70 z4y~_UOlY$x^d|`wnj6kNkhIX|u*QtzZ&#z3pm_hJX7Z_kD~YB5 z%HH=P;oJ+^C!Q5c3n7uL+U4}Aezb2Pc4WLXdq-fo*^SgOZ9W3CmIJw4#tLiyG7ChD`QgaUkp7oJqQ6jC;9Gm@)Zby zvYX4{|L)!cIS^Tk_FIPI%Y4JoJlH4qLc$M|FyfAM4=k4F`Jkb$^$UWJ%^F9u{DrTZ zA*$Huo6vRva<=+zoagB2VwqpLzsHHPFNi+!6nGbU`W?GfWY%DZ5@+MYA!Rr!+U zS^c(ZUw`=zO4jSO#McfntlV;fas_@#hEHp7eaCFmEaGjp?)4@}V{E&zzpW}Z+wqk) z0`Nj=$%kWi7?ofdbUgMIlJ5FS4?#*jS@0AjETP9bL4x=oG9jEQ(j^{a9P~Ca4?PoC zkfgSfbAQCoVjM^;iUBb|Zt`zA-*K4WM=66sb&Sf?`7md;27W%{AmUZgcm{>@oLP@& zWq%3kb6DZVqz@?uQ6;I2a+`M_no;nG3L)-8>?Ir*Qc#S%0@j`E+QNhM_eHm27FwHo zd+vh3c`q+_w5}~>zi$^GOy4E)Q`W7w+%Au1;FAtItU-b~Gij;0gQFJMA!O>iAP8uT;wXle-OKw?ih z^f>5WXm?XJWr9UnLur^n^K ztssz(OB-$$kp>|5#_;yf+;Oi{Ln51m2!4kxibx<4U`Fu}dO0=% zc^ngi&&TwHuZPZpG@$b^0Lvi8_F`ETu4R}(%*t>)DkJ=$cWd05O~!A-?@3I@PsjPJ zo2f&ck4T3l>5((Woz`l=Dm5#xOm!=WQcOc0w^aq7nc6!Kpm_4xfh!iG{D^)sxWLM7 z{otwAa|1-vH0Kt}M^{(>IoG~;j%*+3vu&wI>uK}83$JyQfj4TFMSuA1#?!Ft0g$5@ zNMe0*9rT()zk;RF((v5GV6-Ei0{s`C4D9(Al42MZVgzbEESPyEfFWT>??S`s|*WG%X@ZToY`zlvDPFR;EqX6^pJ#OOZRXaxj}afP95{x-d7j z2|FhFP{u_lxzkJrxnv(Ur^__zHSWMpZlX5(9JgJL92*m!;qOO6M7;^eQS-TJq^_(Z zg!QbOtczqG56rI0`b*+vGugulH}I>Nv*P_S zWOOyBd)h5Jp586389NivNbJg?z(>-!ly=^-=zY{hB;YcouLBQ=T5wV*HAd96hyG{A z`d)fxgNxuJt%q5w+&c&_!LR9a6I%labgFq&?2A;vY?VxQUI=AsKWY|h*MNV0Z-VsI z-&A8Ix#n}SdCej1sjpv*M}AakzSdlAsZtea4C*c7)cBdY^RC;*%i4$boo25+r}bUL zqI#%>%15}%8*Alb-3x2$mHmto%aNuxeyW0`w~D7bKy3-7+}T67-uC|2wRm&w`Np}H zdONhKLUlNiqj+S8n_v1@|9IoP75=PLYtl@ysQK4t@B`gTpWoznKEOvL1<17^Lg1tN z6?Tg4gr#rjS3u)>Z=Ocd1c9_6=nf0)mBEFS%N|suIlKv^aLxB_w8Vh<%vBFRYBCp? zZpHgY2J2J7(m*Hc3|}wEZR?@vQd|%F0m4bpAnc8Roi^OQ(|;K|%=UnAC9(niEj)n! zDDsfdp78+snf(s2o+E-5@UKx2v^w-3(xT*sV0CdX_ydNF_J#DGn?(4=+XVfTsw0ms zna+O1+f=+OXJO{mq_yql<1ge!lRtAB*lU=pL@UtZw5b3m%E+vwZ0FZPr=>*jDg3vH zTHIMoIm861iX62ToY;$8w|0=mY-`XosLDS{Zr+V}ol$L&3z@9#E&~ zeDZ)qA(D^Gz*EB>TwnA_j}`tY*a=x;xy@MSq(kT74nszQ{&kOGPIlbGZ-dklN?dor z-3Xh&=W*L2eTBOq2a_CB8!-u4g4PRTm|=zK(bcSx-0g`>@;wrgGY;RvK8jq1Xh)n) z$faMS6$TKoO-UTg?dTM$jC>>bj1|oo;i?1-JLRY`l-bCy+`XXfJP$seRx5mook*!g zog#cBy7)Wc5$5gqG%TA{#?ayvw8Ob&AQQTkn;Q4wsL)l2PS)X$M*M~-12n(7DmcV- z-8~|%4d-aS+RsBes>`Ax%O7vZ(Zh2fw#2u_(a%07_#BjnY>el-r4ER_R3A{^WAfdm(Bd9|3wG=5r(!ZhRfwTkZh*5v6&V8`{$1D zam#t_z&5OFh@#b&Ky+w;CtOCIe`noKLX~*D@oH?G91%Iy)JQ(8TSDyVcEC_!poxd% zXa|9}H0??ZZC$6y3OqA@aXe^x?)hG8v36D+Q-ySP*&=g>ZjO4hw$$EEw%pOpe8X62 z_@9H}80xrZALu&ZuhY{LQ>-Jr)!uWCV)qOCtjHZZEVj#WKK8-)C9d-~`>K!)_EPw{ zSOI)fFrS!*pXBZ#(8f2SHc;+ntVAvaTT%u@=ZXy2F6|fM#mu&xKDe*+PmtWyCeS+m zBUVA$HDZYMqOgVS&P+-yD$w5JJP9=9>VUM)rF4rh8QxJe*YAJOY?{WSqV|lKwh>;$yDc(9JQlxnE+J z^9gvq*NH83*&q+mOy50Fx7ZYaQ=|@#O!(Z{IFk2E$biWRQ_%B*1HslnkBCll-FG4Q zOau3yvQ_Isio5Y|#!S;GPt<)~UhVqi|EkisCs|RZxUCd8GhA^&{lnew6KA}s@$zV6 zcvEN+6vzTuJHVBev_xmmWN@8)HJIsd(F}|BvJMQ3H73v^Z31#H^3t=@{ndHVH%RXQ z*J{b$vtHQ$_gu{H1AU`wiLKVH;kPJOS1k5EqFtGQoJwjLtKHK zK_*4h;R7(=F!$k4P&1-!kcY8h;d!XR{t52M(L*tv^?htS?y5Ny>5sR>R|dwSdqUc~ z4kAg&%aD2AvG7xv9+AOBEVLWt8}urtCvj`S3HcE)fQRC8gc8pHAO9 zOXwT%qljsKCK?nP1wG+Iq4l82p|Bl^+JHR~j$)7cQ$YJ2ajF+J3pEE4MZ#Dwpa&>O z_#raWvz`#6d<~nheaM%PI=`L%Gh`=C#jYe~;5LP3LOR-xM87NT;UNa9!=m5hWHt5D zzVhj-2RafGnY*$k9D_6Fif+h*=45LwzJ+h<}!dG(AU4*y*r@_n|$=>+qg9{ zH*^;9Jfs6vLq0}J5XInUa6haE<`iT&`WhMn%&L=-z_|qM!j%Hd*a6s6xPDX-_#5Ln z_BjfRJWpzk^@6i;q$mqk72%-rLDL{jC>OXk%z!3=Iw0qQ0DC<8C~GNmHgBNdnP6Ln zl>0N~DuJ7I5jUS#%Stc)%9zORo4$i0&)b0h+TkK@1@#*5Y9^dl4lC;Sjt0SOXCCKu z3q)C>WPLypU*t|k3TDCI4HEhG&>45SYxTZD^{X2zD3NnLg&|KgAD zOhMVQ6wD(TbKrOLBdJ>n*34SeSkXMFm?l69nU$~;n6toyqnS4ql_op{5p&AmQ(-?a zV*_ejW&8r;hHEMBC+P+XAk8xqoNtKPNlb_WLqqn!mxYB;Q9R(A0v_Y4NHmx?Ccr@^ za(+0&>yCHVjf{2*icRhHtl(KoFSFI#<~=4`Vm}#>s${nQ{!1>aY^lFVAJ^ToCG2Z0 zr;zU z32M0p*yg8NyTMu6Ed;qI~+=V}jQu$f1sn}o= zpEH3v7S(|qgx{fDMO4ym#}w!r_(8C*xN`U{!bRu-widfCX%8b6`&0nMkEDZ{vv`l; zPO6?W8`V9@O%Jm^!h@`{oZHkeyNWT8H4pzKOF%>lArv!f9CbXQC)W;o$2uDaywRu+ zjHf6rrGdr8{7iXF8OU#@-RBIYB$FTEZ{e#D35bJ|0U;5#V>@E&fnDH3_@xi|C` zwmG;Jq7HXO&GxoLM}RkmUmz~VP7*vm5s85ipa&%SkS@Z9d)JeUA)rv|X3%z63m~U~ z*|{e?&5;X#tKEz6IvT-3-SY4uUy^rIpg>=2zTei#U#(o=6ev5}4p~K(i_V3Hu{OB$ zrd=IC**kh{5swb*m=t;IvW1!PQQ>j1@@Nq#4{|s1UuaFjfp~}DM}DGGA^idv^g8UC z;My<-c)Qn-DkyKTtr6gk2|j|jhI|V;g8Cl44}DKs3?vAilF~>Fwwkjg={B~Ig2QcK zx{1KvmJi0&(!Zke=wnc0k{*-N0CvU5K7lO&nMwUXXM^pMh~YE>7d9Ne zA(4wyVL`zdO+8_6dl8%P-M0%$nggL)!HJj zO}8SKRGvfo_ zt=!=9&;i>8-!_ZXy}}%IKh@4~*{yetb4?HRV#_e;O3PRIX46saNfXqN-DcNLlP;3b zrHd8l#$S!+CAyXw(lqsS**%j@{=#xmmjW=z_lOhC9i&dnqsBA#v)ZfL3+nT(!^(2m zA}?E#W}l)V*ml_9j+Q9Fb1rtpzXF_^=m?z&D+C=x42*Zg%|U4rx4G) z11w>-KHZX9n=~!^Y?dLVtza70BfP~aOxKX($-lYpn9uTt)1DUo$ILE#mG`@#q3ing z<9l_THbA3#`r99YO=72`-3?}IFHfD>%>}s z6EK#Mwh%j$PE%>bACSQm8o3>I5oS5R5}%Em&l*IbBU&&IIfIZk>TTjpelxE!g`anb zt6;E+ov00n>C9|43*Q;PfutjQ;4b(@@??OL&*Cq^RKng+rc!=Eeq&4Ux51CX{V=;D zAotP4ocQy2qiZ;-eGJ&KdnaMG_}6-&*g1Z#t81hMS?chFzInyIJV)G{uWWzuuHtiMquT0PiZ+ah*U$s44(j=s$! zEZf>_ZN)8{?em(T8aqH@IBhYB84-o7mv@_CnQeUAB&8YBEE`TBy-%02iNMM8Nvvp{o#dP0!TSE#iFy69Uw%iYv z2LHrx*p1-(vF)I1_z3(D^#(Q>HOv1fmK?ifUl=>0TVNj~!&}eG*Q?YPj1o}lDCW8j zm?+K-{_5yo^1DY89@@*=Z+h0)c}X^C%eH1T(26y^x3J8BSUZmcut2DufI0(t`a7qK6?DgpFc z5dQd4$bYckp{?K#F&^kCozSDix4s&R1oRDc*XN^mjQ)gs*drk4@n66d{GI5p z96Eg{`vUC-{R)dl%;C`B{}OwEj=;Ky7bkwk5}rnQN@yh*30((zj%bVGVdG(FZ0%e}xKNbk#goaAS><1XT#0(MUa`A7LW z?oUw#AC%Nj1WQH>1_NYjieNQ!17J^H&oFU1Gqy9Vxx$^U-tZd?ThH``6}n1jrA?9-d0XsM%DG2v-Ok3v4)SW6UBX6 zO|sF7?Ybn@QuBYNDyPl>@%6SYH~#Q!H6}a7X1b?bH_X4rxXQ80o@MUfo2@zR6*#9j zWjcQNu=$XI?yJ^L^B*yu^v1MX9s6AE?fX2)t<<<%?rc9H*DiV6CtI}?~zU9 zv+A#bzpgH}Pab??Gt@-Nz~@DK!ZPfm5D9PZ*c!;fz&qEdz;W6f4r29Y*`SCX+Jc}7lA>SV#il5t5tb5;Dj%uAwwvi4`M z$Q+y(29vW~OaOW#_ibsn2w!-^ek#o@l;E#|-C>5kYl}GqUZR{O%G;AVNiyR&IB4n{A zs0HB5NF%`RdXAV+NCI*%79s@Ng#dwqNNdp&51Iuz33YT;{eWxJ@EqAxWHVf2fU1&g?<7bM;wNQqL+IQ#Rj>~ zBql_^!%Lwv;O$Tp@CM{L@DZdC37j%eSBS+pDfTW_jQWmyOpxK$Qy$R?I5xHe@f1D} zNJ~}`Zxd+nL-3iHTbK<93iKOjjgJ`%#Xk7YxZ4L$TYj2edo$!#GrrYs&H(Jb$2{-s zj>KcT5me@Q4LBVqB$$C&a5@nT+!lNLkHO}+hhrZ(WxnU`adt@fmHMzRWRf|IhSj!z zv@I&5ae$1Yw6zxNXEpenen}!?m)aw{54_DAtv}2ZJ(9MI}h_ zSiM<(P1&Z5%Rg$4D2dva%I(UPtrs)`N#C|x%BSKd`W5oWCZ)=0IAFP~EmDV-1GNJA zdDTeCVcDm)n`)nqDjjYmIIaGP0by{puf+brb=#VZS?@u^*fffU5yL~;KoDj!{7~#K zE(o3oex6)Q^&y(6Fv>DyaeQ5H8K?*KHd)GkMT4-racjBD(vFK>CBNe;Qb63@EFb$b zZ8)_Z(?kEoA<<6}xcKLwT4-nZS@b%X6hDCai_(udhV_bnM!-q~r>3NS7LH20pFS^B zoBblKXU@)4MJi9!JGn#heSU9YEzcq1(4KMrV~=K|ImcOhIn%INWF<)i*mJ(Y7lQei z;ixl+J>+)8mE>cjJoZ5L1nxtCtwQCG6%>iEKr^1iWhOPT+6idsokjVXQ?f?oKg*n) zt z9_MD7HGw2&$o$=EbG$PhH8!~g37*BeD~H0G^VHeug)W?oN$JI zaPxw;7H@HQySuA@kMFnljbUr-gX5iwiWmugADe6$;=pS=%hSC14qt47zSZ$kU7=a8 zLn$B0opsZj{`VPDBdA2xkF3k9LpL9-+|um-bF;=PTWY(cA7C8h`e|G2Yj98Xh|DB= zdrdizu$`xHX_v}YNe{LBm9mgG4JYaY?E zOngELSI?IHR?v*wwd=G#d!tiL2ovZwu=S`MsX&qe6-61CRh){X#p(YgcVfE< zLcrxGAPvD^!*>GO#1monpt|6k_@8)HWKRMWTofJS=o2D^R)s3VWzbsC!SD*?xVRNs z3I!tj&~3oC|1zipmJO?*4Mi5=YY0B%Cz6mPV|>B=q_8PZNgGKx%2CP%nt_^5dc_Em zyRd?^=j=ARo{`KB(*i(J>lo`Eshlzv|CfB7aF|p=$v`)e6F4h{NNh*gOOIoU5EH5G zNL1Jq_z?JG$TlE-nF%#R9zric27?bmTo5mqo)`{~M32YhARds?FHiJHoC85Yt+6HG zYw^CIp|H_#99W1#q23~k(J|y*Tp^-@unA*FUd0J9Jy8cyJCFxapRpR)J&YY=M`3VV zaf8rrk!`4>url~+(9_7H#D8Ile_N<$U`k-Lf0XU8Rd00b*6KcJ)~GS^hi!+%-CFxd z`b%?U#mbnf7U&Ac11eY8?Qoa4J~|4mPi+0%Q$rDNlc!!)sYY>L-CtovH4{+nF0r{-pDTJ@1SYKu#HUNT=2Zo3bV;xtmOx=JxYX+(0DvxT4I$QmZrb@R}_ZsLnn{)++OtZp{ zG@^}E^F>21vmQu*6&N1@lq`}Z-Fm~CW4mD;Ys~_hmeXu`&O@d%c9pZpe#ms!k!ghK zZwEF5o4*bLzIl^D=!;kxu1LUQp5hZFMp~zbt4+5IA42QGO_15lrVKr)j(UhSfVuz`X-fC~M#|ky1jO{y&D8)}7v-ET=rDEfFqF_NKWq7G<|&ugG0hfXhxUyq)tp zr!k{*L8lyQL0P-&g*^+#=l5=>&s|=~$S#f1MW8tv;14WK@Yja;`i_@Xmii`^YZkwLIDfy?c7eI@JCH3ZfXEsxr z#QDUR_ztM;SRAShF$JwbQ!ydbbj&}v3Q`}U7M+O~;vKlVgl^P6_%uQ}@*ese?lx)! z;R<#kc^cqzmk`dArcf4;X3-uHMp185l4+mF3ED66Q-D`^oV=CRm0Uv}N$gH>0SVw_ zGM>1Za0dIBcmy{VQ-Pa@xr$tkW8!aPdt=^WSK$lMT@YpPMp#LFAqW>wj&}nK5*wpW zfjil|XmW%RIO4zOJ?t*>w|HJVe>+!O%;v4max2z8%fH&zY#Zu2@95+1YnyDLI2*k) zTt53%8`ui*cXBOvf<0c>3K!aa-4AiAT}1yp_erbkoudm#VaL+%?o}O{>*4u`+=@yRptJj_S^dDbM>L-4X)R!)2RH|Li|n3 z1a&{(j>IBp|Hun?viYQcudd2D%;2*uF=(|w+EBgJQKsJtoQqFdXQ*Ck9+*~Yd+7kk zujz;qZk}UuSkt{7YyvODKEQ);d~?98CTok!Y%g<6cHrF*>i}`7eT^AVUdTxE< zd1~`ICGOpJxcj+xZ(u=iTEOl-<6js&5FiH}q3jSg!icH^h-gjXcyL>2ZsdE|5+9au zMwSAd)R$pd=xyXc23!#&Xb=v~elja)uQ@7IfwQNWUdIDtsn9&;O6G ziqppE4={|)xR>~q0IBK)<|)v^*@JgsYS1S14{&Q@dZbV2us1tE35dO0gVUqGLDQnU zp;que@O_v&gdRjQ!i!%{K92v6okd8(wb7~o!z-B9J*fx#C!WWLa{ID|F}E0VAbW)Jlf$&C{bI-q^1O4uCsate&s zm088wK{e67Gx_Kvh_wh9eg$#?IhQz-@`AJ&&ms5`9k7GZ*_b!TwU~`~7<>(C7HAq6 z0sRE!qn;wSU>o5NU>> z4XFB#){LuN-SDzr-T1j?^52}gO?4Zq>wa$dwe#oJpC7Brsy_cJt8!J{{S&G(RRych z*Bz^QQ5Ua!`v?3NSuOv?sQz1hDL0%C2E}j0D9$Nk>OlVGj1l~8qKDl6qU_|N)Kh7dDR{w@G8Br!t%V!sW;QVW`Z;FvN~o|WE{x-2ght>+w(Nz44nVzcKHTW}5^qfA1eo2Kw(V+D2 z{H@qjSbAa&F&5`xu0W{KGsuO3vEIf0X}*>S1=0bji+d71;HJj=*`E{W!QEj*z(7ovqxfRd{nnJUK8KF@@QeV8c1k z>+~!M5`u-1^`Y|UDJx-SQ4l;Z;n5*;JYf?MLHU=4V+_XuolY-qe6q$vE=)nsin63uI!b3N+=O^!y3 zK&RFH){nP2ZFQE%wlAioI*`ez)2iO8kxHV*s3N9{>4EqCiFj?iEgp!M zfD0i)&=If$){H=+-=i;J+Xzxx2fCPEM1yhcg39C~(ZICi)c2|EbXaaQ+nHICWCnrlXZ}y1WqxJbQ_50?inO9z$q)EW zfiga0 z#20+dKU=`eQ)Pv7S;ffCHC=voRu$jMeUy5Q*GNB3Hsjj>g83TUF5&@73e&`yC?EmW zhw_w_DNIp~aH!x8m%uCL&gVR4npkc0rL@1aHTZr6GQKA^1)YKIh|$7tAVM%btSfkT zED?VWexKk$%3`gNvx&bTbi6~<4e(4lhyR46!J`pbgy(a3T0DmWAN>ONbI%CRMpuia z*#6Vv(cdxj()7}Q(v@q{HEcOvo(J%A7D+xxD`dkZ67f9ANQtkF(Xyj?e9M_;d(*+D zqb>6qXV&QI?$vLso&5LnA5ry-znr?6b+_wO^@EzTrTfJ<#G@p1iAfezZB=u$>vfZ~ zhqN2DUv-_dkG1o(DO#*%C)k|(nHb%Vy5DF%Pz%$mc5dH zrBmv=sutG|uTTB)x$iHT>D&P>wViddx>>}hhu%Hdt{mHE;J8p^S8*v&5pvL6$B^FQ@#X%UIKs7IH4oRxpRMN*FBGetHWn#JEG9%a_)X@wad(+*~QOqZksa;Wrf85=WRrYbV7=61~@WCJdfjN0@u*{Hay-xx+r)Yv+_VS;(tgrRYcj zEM34(h3$u4it-ZQf`?(lLEEG2Fx??{LHpq25q+Q&z`sFD;1?k==#M|L5Fl3mCT>TCw9X3}|yZd&p$cKh}q>_e~>A|CpN1JAfAdNOL#s9phe0 zuF0usZ|JHUqw1>isrX7o+mp7*t!tXkwa#k!(A259W8?7VnN63PpV!Z85I1zLS2Z`c zS{vQXU*twvsj9DJNQ*5V;H&Yhcgn3jESt@(dn9J_q413P^6zUBTKpef*`K;L^HvNxs? zc?g$>d5i!-_27;PU*ZO22Dm-sFcyR@MwgHVQTI{%F!YRj^ySQY-YVWX-k_vk0&<2@ zkP!Ya^|k<%>d0u9(<^g#N+wWk0%vDrJxiaIJ18e92b(R+@})JWj?UdpOGuT%)1~q1#|~sO)|rj*qrE-kjekhuLVP=V z-M7fK%JsU#c5f_o4+ROi0PB{MO*zf4-XzyO+>hApF5qP(_Cb~nO1n}gZ^`!WK?WF&3(CEMG%k}>+ z-V`WJ;6qHX2iym@7=d@a1AXMoCX7KjSf?NhF|V*Gv_r%S%-*ohI{=1(-vjvSgOkS5 z9r!Z1E$Rs#^0$RHL~cO#L$4r=0PC*+V5?Oy(>U^^ecatVKKCwfGp7sd5Mvy*fK-E% zka`gFs4Tjk$zsgsR0~!lElfTr4^v1>`hjfAnX}QZxet!Yo8D!C)~L(Kpenuu`-Jn6~xB z*W*(N)5seMrG!)DEx4z=S@a3ifB7fTC-EN=M=>1u0&w>j-+2zE2(M2PXWph=;p+IE z`7J^=Gbs2bj8NU8rHs{-)9hzl6aNFR4|@aoJZU@n7xoRlANGHQyO>mqHg~3NnJwL}usOqtp!aN>Tz{}#!5=$^_8MEn@3>$8+02TVIF3I>ETlm~DS*{po7*v^qDq`UZ{$b_8WW&!B&B zS1=Hs78xA963GJ}N>qo-!`$$)ASw>@d*X@k@30~s0xiRSMne<00L-<{aWZi{blm~y z9pIBuGawhhD&&SFdOBKoGUEcTgw}z!0N0U9CQrn7!{Ug;v3``7_zayv^bq^9#&bs{ z4FeTf|=v9E@WTNI-QxCDNV1>aAu}vOEM?sZph5d zIGfWEaF7U!Ka}h&9$%bUtSDYuoLtR zj1UWe9RUG{!cW39qbzU%^m?2UKN9*7U6q&#nvZ+{S&B0vFR)Ow3ZS*GPE3Lu!ly7I z7>ck!)J<5yVqxbYFVo%7hS2o5(X$FXC$=n=>}w8e08NE2C0@d~VA~*k=n%+i zkT|Z1z{Bf3UwuI1H83eOJ#rmrNG1U}eP;|CNefAwkL^9JPSaq3`X@B`fVTUYgN^N6{mo-jrTHAELQBeD} zZd+qHut+Xz+0^80Mu-o#9Z)<|Ue?77-Hj8>f6V#jBqq7ucBR$cyr=n4%koyU__ug!i%80o31vaqYS~)(AK>)! zP=Qi@lATkODd(xqY5f2(4yVT%E}J)7&KOsi-#UW8`x|XpY5bLoJbGV{jaxYm>BF5Tn?&*jY4cYF82caGrOKyM|V+1 z(Z*52#L;8|aR|OUK~8u;I**TG*WjGkk>pxREAU^PVRYddDBoE(=?l=U1Ur@l{|K88 zh0wEUTd*%!!!Wxj?FokgqQ!XZ4}2~_jH?qR3Z|rIvWpr0=>w8DynU<@JSJxYeJOh! z{R}hQFS5#M*Ew94EopVqz@+-rLxOPfZ_&LJX|j#+ks6>8cuT0= z2_D=YToSpK@sXooap>Er59m$Q9L5mpe4rVB5itR=9MTSc1p@=(t z+&f+qy&oLz`{7vYneT1qq&s`M^v)JL%(2aS-+IyB$C_c9ri-hq)J4i-^*m*obf~na zbeF7)^rCdQtW8FjY;DVwl!$X$cC`ANyVrRE8^grLosDe`txdF+D)C`iP|>JdtZJuT zt*7gn4INA(^-;xi^*Oav`BKqY-3Rdf3Z!qvLt5ocyPGLZs)n3~`*q5{gul1`*s3;E zP5M*y=T-H&+5*v>>tUJ|kvHoGh<9bHJs`{#0cSE$kxvsTgeACtDPrylNtys{u z5V!$%kbi1B-}+qovhB6xI*@A_sOx8PTjp4I*%o`a9xA}h-0JG=7J8C{g~7O=66zM8 z70n2a^skO~iSC3{Ah?LtNJDrox+hM?`a9@P|YiNDRRsh9d63U6}rao5V_zgg%&F$)3$`;0buA*(_dr-a;0X*@u0D z^`1G5fuoP6{-J?+TH(l)KSH}mBf5|>I_*Zvla%>_S^T=> zlBXoU<)}` z%ukFJjzzD)Q%OfLqcDr`IhZ3P4v>$}#P>ufkpDwSAqRnb#ZLqU{RHy}n}+%iu@e0a zJq2|VH40!OH)4C^!T8CT6}a`-LNpw+8sOTlBK(KXA)X<(Blo9oCjBODC$+~f#_zxp zu+K0!d@^ni_5jI*TaJ5yU4~vjdWCpQIEod*|Dr&sr#Ke!JB5-ofjEz_n0lJ>ozfX- zNDaE5nFeYInr78^Rkd!KW|{Q9a;~hW`Vf!^nC7T)t*|}FzX;!N*0n_LV#cy$`BuSptdcO6qxIoNpp4rx3JWQO_CK8vmb#7y| zUT-lquWBujj%vFr9w4oiuaIT~pP=4~$%@^IPU>3C9_<^=Y$Z$aK)y)Ppp+n@d)#)*R$&oZo2-LuyFIM{RdKgxsjtpE#eFWkI{eB#*SpfcCr}fZ z;@RO&_x!Xq**DteIG#8f{h+`%Yuvjp_#yaDlo*Xb{{`#fYZ9{(ey9f;26cy&!kpk1 zfR2)f>Pwi0;}R?IXaX7c9+yo_BK{>j!(IhkCC@0`sMjeTQYS_e>oV*AC_2lqrrSOY zue&=Kwb2cVg59ksDi#K|kB{9Q*xmiu-I%B-C?N_;=YVy0_ul{eg%3Lpwtd*{-S_>w zuJeR(PJ}o@azdAdUk-m7(G(UFF632(5P2`TT+Rhv7VkoYkhh0Z#T^ndDy&!7NdY!o z95Oz>d0iV@L&dZ2u_999<&Cl%O)l<$g7@XVm zZLA@THOw9C6_kSj;hTV@0=)$Z^(M}XIsp3@$wA!){AwVQ2Dcuz2Qd|)f!stilCGo8 zh=Y*9U>{;7^%7$Wvma{{_8WSCa9?0LbRg^k{JReVM#CGhkE!$MQ<>ewJ?Q<&n+PU) zFcjmx=52TO_GLnMAtGV5!6m-yz`fro*crG8_7D0i?g1tb_5ypHI3C~*2yy37a%6wR zPzVn+2?X)soI=NXyUR1#z2By?KDNqi5&F}5iJB)Hs~RO+A$creiQ2?e>3dOMX_GWZ z3YMg*KZ{_Z=Zevyk)k~vVLjNcE6q>Z99=&}|4C57fn7hlTDxv_WdQ4Vc-I4wQCKM2 zD@1o+6Tbx5@*>e4*_WOyslI26^oa6=rcw9E^1*~Rv}yR}-}bqhVfIMV1I;>3xM-88 z234k+YB;L8(o}AW?X>zT9L3--db>P9pDK4lc=}vzVJ)q7aL2;##SXn~n}4S!&$Cg7 z>*)|vRbJC{-DLAG#TieWW3(;ZH`*oe-L*Y6Wa_T!vpeU=Uur%n@A^x;bF67DJS+#a zOi~~@)A&L3);`601Nq!7GtZm6u4&^;*Df|1wgp_Y*^;#c4zt9+(9VL+1FPIx&Vm> zFG8P1On`pDM1#t3mFRQii{Qt&*T@ZoMC?KMR{S;8PI5SUF7Ufw&Pk*dhUu9eZV9u2 z#p7-z>1bwRIrkQE6_do8$?nJgmm0&}!o+bJxz8gmb6tx zBGS*F&tI7!4H3tDjG#vEidYv@5M}khBU5xq;z)kP*2KbOdcx+uoB=<2pY7LsfPtGK_!xei z;zoXEf5VrNJ_sV%j?9s9m=H!ve8AN7rRCegLPzb|#7I2dFpIkSL5Lbxin`MaQs%(XEzi60R(fvwR)H$-#)-b8N zrFlfn=$4|olfM~d)xQYeJAMo*jVk~1DeXf|iMqJ^1GVTw5%^VSk?O^bmt`+Dznu5# z*Qxn;UK;pV*?6_=-9IsRYGozs`#w?pr* zx}JYG^Wn1Ve{Ns-5P1FIHuRzX{<-4pAdM{d2P?mSEz%tpJvuno0i94rc}wGl{$BG9%pXB%=5Eba+9W(&K6C7G9xxGVt&}fj#>ZZ zxn_E1Je(eyS2{U3r#8ntMVNPOMt089X%}bCo%VRBr2g zL$1td9hNgeIe6=+N2Bz;_D`Cd6+Wyc+c9o)W?jmN%n1{V2d_#14PMR?_t_Wmtnand zm|lzf&Wq*_>CZ11bT#p3`Zj8SK9_qRrHmd#3+KJZdqZQuz3~o6Mc@fxqFYTgxN30) zfi%P`x5HBkfji>;1gF8j(zqP-$Cl@CImq^5)&u&N_A^?yeuGk?hA0oH;i^G~bl_Li zstT1dv{LCu*(8Zm^0MudFuM!V8QVI!Wk?scB_DwP>D$J2Oz0|Z-`R1mbxvn!>*u!F zz`pl)%afLwP2=nK)@8ITX?*$<@ptLZCpEun{?d-^@@6b&%?e?Zaj~>7kHHVeE9RJPpMB& zzn)TLdp!7)=~erC@5hX1-yYlERK6_#Z{!=v^%HkTJ=^-~+q3>RXTDioWOz?`SO2`{ z?YyU{j|RL=fAp|u_p_=OxM$YKY47(w@)sX`efM?9+wAv8-ekSl`!VHpdC|iUJKj~k z82{?s=josJzSe$y{!aFJ-iNeTj4JM9Ou4mc$j7pV!JqDy7XC>867kVqzNPu!cYA+L zZEqB>t>4%%wtjW(lO|0Y(suP%c-^?#kfo!yb*>75XvLloV1 zt|PkpvgBsdYH6L~XU8YCN6~HmZuqDhLKAU7tlsE zlibX))P>Cbr0u-LSOzDQE2qms*Rh%sS~(?g>jcj-J|yR*Hl!L;?)3hVFno|Evpc&_ z*2ey_tY?Eq4!u9%&0zKr?eMChT_ffU{V;OgVDcEyh+!kZlRP87O(-7^oAi9LVanBs zF*97_aZ|p`u;x;xNv7_b`!VO$T1q&xDR?-&tTC;m$>Y~T9)e5uv-;{bQE0cQpH{%E6JtatbK&>Xs zAWZ-gVm6EfO9LiE&46p^JOUa(Aj4f*2$K7v7v)nrU;59w!rTu{)4_0Etn&fDfMY4F z?)kR6Dm{3uel8?Wx7P4l)*`RgVU^vMCk80MaHIs+`D>h~18BX%^FW+fH^g$TD@NU+ zxS@MyS)|w}&vg2ghm}ODr^hE7q>7U|r9sh(rq{xSoo4BBB}`3MpERLl9<9LsU;BTu zZ#}Q1(_3D4y=`r3ifvxh!f4B_T`80c(>q)}qh-;p(-mz^WLZK>4d8|S^=qzhMGdcG zS)H)Ge@ABRrMfqwisqYjIX%%G)0%i4O5w2Dr5*Op4;>NJC4UBdudIDv9xOl5^0?%C zJ@!{+?fSZ*b*{R~n%1VlC=uFJ9bH*U{KQtIWi2(WkDKo{ z*L2=$NEKEzJm_)*Et3yzbxn7G$6j=_*B@;<@M}}omG4DO`-F9M&EIu(jg2e54H5I3 zo;NYq0ix2)^X8$L+( zO3e~{%Vza4-7LpA=`~ef1w?v91<|aMBufX#leIkMAn^sGwr9D1lfkcyvGg`Y1G$E) zim}>5@_R0>akfV1hCBCK2Z5gjLY%K*-EJbDfZ75-8TgJB<9-DDbMK){sY zx0KnRwv9Onaf~ZPW>ddo8xSty9r!$SIbdvA>-|eOfp~`-K^Bokly8`IQD+$rCWZfr z^O_grMg-X80>Fe+M2;h(dGiq&oG|)E=E-=JAP~W%u_Cjn74b8uXo7(@4!b%;3f&ah z2mdGB7!n#QPTa!sgkEKarCuZ5NYp0grb*+rrMMH{^BDs_$MQ2ChJ~anqTeOh0N>r9 zwBNCZ(iLGpQ+|ex5Zs80OJKwo3+RcoxIpCL$b-oafjT}id3z!=YFg~H1X08r{z?HN zVs0cTQWLg11`;|uVok_}&=S53$i)3404Ht~Y)zb>_$+po;CXcKxC((RZb9sosL64Z z*n;Fe@$(aD33V|!DT1&`(fgw- zJPwgx#l6iJ_S&9tH}-t;jif(O1u3bCnZWxw8=n|6h+iRyNgfn=Hs-(RzERtNcVdf} z5V1TiA(ET8I%Fb$D9~T1i4;W)j-C}+#FxalL*pWjMs;(L39iV_u>LWJ1+N6i2ud88 z<%tCFot%x4H^Wv(zlmJPn-sMYX#MOIObI_6ej-fAs|+2;F|yFCL-egQ4Xu@ZkNT4H ziLA%pA?-#|7{4$J=$DCb%rnq*@GnZxYj+PqtOASNCp{Cq+CaJEB&t@wM07zjP>Ock z6rGiCQ7o#*{}fcLsioHGo3{0Y)fb3gwn$p%H{U3YYP;H`lAZ5@Xv@WmM3G%bTP$r~ zs&TFFt1@d_tC##qC>>J$t9o5^SHqs_0S)J>^yQcT&i*UUZV08qu$zHK2;}T4>F^Kj&(O)Fb~+`n~zj?An??&#Q@l_x)L47gbwYoBBKQ zSMQ%^svcK9u2@nv=_{i2{rAZ4SIZpLit>NTAO7T3-mUB^A6d~{rL7cKy1uzfHI-Ms zEGnP%?Y|P)S5Mi`(&^tY-*i>Q<-(G-vI$={{haspRdrJ7s&8LPZ+*R0miK-})teI1 z_X}0WYuc-czw*@oXr zkTzP+);(0d*6EBVE!agB)CW@Er86N8)PpggA=>P=pRM9Jz{%#{FVGqcnw5qc?NDMpRJpNsB2+ z&QI!PW(c!^O$k|pdj%NFsH9g!1bcDx0S=ncPLPH^ z5=5Mj6NKFf+aKO2;E>4?=h?Q%vd{$9j_3>QOQDC^VPPVgl4B4|5B(9P5bTM?MvjTv z6T2^Ec~nZQLa;kQ5b=_KJWkA(C5D6zNO_;OChl@fderKei!m=FAMyJ{c84vFa&WMb zV+Hr4K1UP@hK7bl{*AgMn9NU#ijI96%}K^3{z>q~#U=cV?Vpks-#h+b8YN|Hsyr#a zS7FNN^u@im_uZde-v^WB>eZ16>f0+buFt<|(j@WV0sT$A3xD3w4h&eBGPnPje%ikAtX&Bw;<8v=wwW>% zk3x+n-$%RzJT2*j?+^`aHF&Ix17kzQST=eq9^lO4BQSr^sl>VXQ{0RAFk%ido_3JV zU>stYDKDvd(i%=O=_O$&v#pb7h%(!JEzuoC z05=V!8sz-gd8FlcW0GmIez@+1^<;-0$hmHiWJo3gX{rUC9n!hN$=zgt`!KpSUz{R; zBYk6CExIlqDvFWPTi$l^JJ+;|dtP@Q>c+HfXqx`FrSa9zPp!7*UNzR=i2B^WRTXKq zjNgN+O@E{6|NI%)I(T~B$II5@)@jZ4b+Vd86^M#UW#;eLUt`KPmA$Aq z^^NuW*6%lEx4y3U&i%Ok2jr*i>;3AjKofJ}UwNymqqD88eOY@%+m=Reo1o!Hdwp|Z z`&IGwzp&P&jo1E+sU^3L=`jAj(Rj4sRo#$=>c8;1Hek9su9?+JXj|L5wPROHMw6v; zdbdHiuzh5EobVoyP@JZ?CwU~_tG=SDRKwI^>JyqRszSg@9$?JdSdQlnXc)LkOG6`SeZre~4&mHr9)SVrsFeglj+pLWM1XuYhI1^8C$#Rl%{r zJCMup0Q@CZg{s2c#Vm#n#?1u`hIa$e-ery%?%jTvd!{|aZ}zZU>7c!y0Z=<+3+y3` z1$qlz4{q_E2(*J1!eHR({$D)i8`AAF9V~}oC2xKs#8rz1zL3aduLx#ZSL3$8tP-l>v2;1=!@G zAT8uI>@>QNs0}S+=$P;EDtrTW5$Y46H@**#2eiXRfuDG(P&jC@`JrzH&`m@E{Q)0* zw&i+2Z;jCt75U0O)&zZrDaV@@sPOl8x45Dq_0B7fc%Rx+2;>9#z9*hUVCCxPF19N@ zd5#xez1OU3b69O3ObY8+z^V2xFgxfl4%bqRy{#d}Gp1O}9McZF$%S$z_$&^AD`y{jKANp!7{^;*7?hS{h6Zb=A>TgFGRAVkBGqSUEv6(F*V2qSgu6vL z1Qj4-5D4JTeIMcgWddBzsqnk}^}*y|kXlBoV9!FS$lKZ1abpo1agPbT5yxC(LAl;M zht}mYV$?qkxAX^;?Q&1&Tgh)=nVh5a>hc}??M7p7!$$iP<4>pC-2sL{%OEVwO6WG| zW7sgL7<>x(9;Jn@hOdQh@ZW<}Liz;!kVt@!e;OJN>qI<*Yy{0fwZL_HsV6qIkRLMv9fZm>fnJ17uIup>m;g z$bIMvuq3eCXYeL^UV1P2O&(~l85#!}1nYzq!TKOn@LAw3V5JZ2x49o$-dh|dxnY(chAQ6vvfp={ogBbB?yJbgyi={e!t$dQe+qJnUHNy5R`-ynzfSHA0VD zH&{_Rrm@}W_2xqLfx;lvP4jI7T{he|uGB1*F_df7eDioMU3^YqHtvzWRw@)xlDMv= z?f-}(n?2o$+H(q`VT{@&lWMArO5HqDj-%7p4u0s`=u=r$_Ic*Mt{z9YX^=&4J7Y^z zMOaEy&AL3(FEi4ZY`tV1Z3#(KD1q@|FHwWA{jlS(S5PO>rSL_l0%Q&{4W5h2M~7iX;iAb{+5t){ zV;1uj!AMu7Z%jFo^f|sHVO?~p;7L?g z3{-G9IwB@2_GHYAn8~r(G5&;JNx4a_iNfUd$#IE8d(G{?A#>-zvLT&m;DnESV@7xU z#i*h_mtrv~<c)z|PJ^vX=iNaTdfgMWk7L3`su;GrOhYlJn&thVmAp-fsw zf_En(1|UM%{XzFFx5+cYz1+FqtF=}bciT6*2b-eZzZ~~mo9s|0+r@Eiw}uM>>OE~q)0`Q{I*5(D4CvV)+rKxD{&xeGei-UEZv7Sf%I{!Dv98YhX)bg+OhMQyU<2mFz>K^R_`&RlEdq0Eb z`Tap1m|C(*4%C3tRzG1;kdRN#R@wBy--nZH77^t70_;?Mqy<0vG)a-fsU_ zPy=W|V2H=(Ti_|REw!(YZ}uqQL&33w#Jb3yha7=zfG&mh0^bBZ4W5QRg${sLK;{4|9vi$9@e?rz6~sKl z4Z#c`P$&hYM)G_Lg#x9{A#=$asASSJU?YO3moRqFg^X3y7jzMAG-WCa$BbfbV#TuW zvzLc~!aNa~;S_!ie<&XswK&oYJhDEL%ikOKBz}3?*XYAh%lHT4B4f`*yHfnITLjG! zU7SdCJ7YC4BbeC;HozJXmJcYZAGE{HuBiwZy9B(D&ea3FzS2eFV;-dWo{Qe3MXBMWE(%Ih+ZB3w34F<;&$n=UDozv=2N%{!uy+*!zTG z#NDjv;VVON;V=1n!x$_?h%yw+TP|1~lPCBTH7k*qcnU~tZ|wCVO^_Uuyd!Ql@M-Lh zCB+|&e-@94kB##H^_3lAMWJl|00AQAeL_jG8@D9&3(ZC2~-8iaF_Z|Ia4ePT>~sr zyu&@aozXs#dx@>nJ=D9|#e37jRX>ebeLy~5 zU8^n9j8YASMoMxNpcxm5exB9mEvcP@7_k$W313n&i3iB`dH}(oC z3_lHa+2;)0gW>_dN}6Uh|TqzZA{%w@C*Ar!z$}3 zZ#!yfkb{*u8Z2Ag8h3}rARDOOs@dZbI7dNI{xRU7PwtC@^>+YQytc6>rm|2)(SFy` z^pn-kO;;^PU77A}{@YH!yW9Pr_m?Nbo$VRtcx!Jrt1KOsk;Yoh2@BgaTYE(F+Gx<0 z$&c9cJnVo6r1F)ywtL%LI~|uT3VosSk<_J_uIy*i+ex;UzO6w=a1^2<*kdmOp7EKx z&_BmnYf&2~YIiD5>%Qv8tI&G5MxfWJdh{1`1XZ$Qi3wxf;cfT4wws+-gJS^K;AprG z{R8_S_BZxCIh637*q8o|mO>lGm_^HFwz0HK1@k|~8b&9T#~wRMa`l za7HHf7Iq1h5|KeF#WSH0xDr)>LZHXOTX9nWm-%n#Fl;q;0jeM71ilYi1TRC*1z(5f zz)g_WKrM(CZ1JuJPEdo~Rp4NN>Mw)OM6_c!p&BtCaC0zXWF>+DllV%UxsK1aRnoU= z1@Jv8_qI9yn2PjFv(%hx9%y1(%OosioV-f9UU@~8u6D~Jwfl6{TCmI}S16RCFTzpM z9`RX#)vXq->p_ceh-u;mF{X1ww^rC+h!%EBFtSA1Aq_}1U3Eq#m9;B3>!;{RCY3%% z7iAC{{u=ihHksGh7TA_ppe`@)y+Iodx(ve^%{F~dGf)jzGbF=$u5}CBKXnC!e>=vv zI~%oApJt(|3+PPLYt9)S%f?Bwj1+T>6CS!dyRXsW2U3fw0BfHs}Ex%kQ8iZCvvZcX7c}rJc_9Zt79KaXiHogo*F^r z3`@F38wa~gtq!&jpMlkkwfqn4m$>ifcHYo1L2rJa&l!=uFum?&Y>yievo-2N)D`A) z9)Xt|Y3Gw-nqo&q42u65>*$5dxRpwc5ei7WT5bgK3*`kl3+JHjCq~l)*lv0OO%pPn zb%}bO`ha$X@`!w&HUXtVFF+Q-g@Ga99&f8N%cXF@JmIeG_MoB8ddPUnjIfL|7n|d4 z^K4z_ZI%q%6USKF7+0Pf5yemFFaYS%39OYc?B zU-uDjh&xz+ARw%u+A+|W~8an9qOe_TH20Kjy*-FeBf-ag5k zX6|;qw)V4^I4z!I)>iW^gF^SfiO|2a%(fO;aF&H`jL!-%xJq17SEb>GRx95sJFTfz zU(p}7_p-b-{Hr%;YV@VfIS#mIl52vq3%Iq8@y`t01?_|Efs`TA5T_6xcpPjrR1X0r zoS<2t68~I(y|>F1VJ)_eH-;L%8h-14>erc`Td>h+F!Hk);^p|9p2^@X6`ft5ogRLwmT%UESQ zX1M6eb@)A9pf1ln&lk7aI>)@!H5-_@-Ztb}XWI9;4!Co?*F6O9HD@2!9Jj~4#h33p z;2Z38 z1L!Bn9dJ9e12P3V4*bXeF5vYI_pI@yxyL$-+!ao-ljEv&J#gN2*9Pjmm%%Xb(%>>g zB7%a5L2N`!M(l@AMP5Yiz~td2=&SgTcsQ|(+(pS{y`hnqawaq6-_Y@#*`ZB>lE|Lq ztEr`#@fmZIzV{uRux&JZ;TOyJHAEu`0w&rmbT3B)zDGA4{OB+SeU3z^A$&v8)u17@GIqz(AD zC^|A3F%g@F?1N*WD^Pn;tr!Y23;hH=7;Z$qKwU!$pUy5u&S7N`Sv}hP^ z1hO5v3ib>(2{I3~&ByaL0z13k!6N}7s5LMOoDvWOGa+n9AuI?#gn%HjkPqOs@H?I^!5=DV} zsz$5~Rqj;8C@#wLltQ^$GGDf|yRiq;^}IW~Yp9UZw!b60rBPJWx}=$>nB4hTbG$pw z_*VPNxTNbubD8mps2Vvoz%w>R&w)t@W}-PxAAmQ)Eq z-Lxs~8e5Y2tbUhagFOjx-;-t=;rZccGMDT7t4B#j>N~Vsbp1qeqTxL!lp^^fO^oNG zbA7PUYYfJ^$N2c}e)j3MP@T}!sp+G)srG1=X!jVh?3Wy1Te@|>|0e%oz&?iu6ClG-Uer8nAHsI59907J1V>^c@eJ|~@=oHv#3-VKGK<_y zQv;oZk<_`A0rVF7TKaKX1$`)eJ%`1?@V>AYgz$J+u9q{19nD6U*h>(tu z9m#INknB->Ly9Qs6}Kv!&C>~@L$8LJcnx7M`NK0NB@d0&$4^e)5YFTeBMpNkAX;n( zy*~K(h$|s&Oc*1EaglzB>kciYoe!BoA#+|400RPwgDW7WATgB9=-b${*lcnqk&7?E z{zI^lKM``s5;Bgw2KyHG0@ViF0Sf^O{jq+2aGf{P{mMSkan`iP(ri6vUEnBofLyJB ztMZzEi9gYe_FwTC+(Ug<57!&v!MO?UR^J8B65sHE47gjr>{s}XdMA2y9)yqUc6z^g z@xD`jrLV@v@UC%T-JjeW?6aH)?dPmhteN&t=DVhROQj*isM6GHb5$diDe|qNo81F? zrgvaO&~CPHloHc@S~?48&*aE8GMv=XChnOdxu?oeqE(;7zf?|TsklQQs$8hwVc4UH zZLjQx$SY*0B|SYV(Ga;qHAhL+JO%#d>TfCb>0-1 zG9VVf7wijAyi>j5E|c43S!QJUmX_ZPZ-l86> zxuE{4DDHeKo7K%yp4Y##v6Y{VzqMO!m!aRlT5Khv1$M!5#eEteysgtA>=0YD(yuI1 z6)XB_0cpEwoB5*oxnqOvn(eA-fO)^U-mY`s^_>SL181gUa61AH3q{E>+mJedU2+uX z#$2Zm$VM`ndBBT3se zhsmK;GDQqFO-|iUA`wU8Fz6cS6Id{C6C4kV#W+#P09g%!1CdWtJfyL-c7~Arjq;2V zLqU^dGy)Y$>rMYkyi6z|eZj(rg_W@H`mA>53rMIXlA!A&CkgC33A2Y7akXah!o`-8fK_z0lv*DjEgWOD-N|8(0SYmRlceWJC?tTR`e(oGvQ@!I~{o0?EfP`ysI zMVqTj(~j0WP{t__%cmB6Us9`@sJtMVqlPPY$Q$Ko%@E~#`E}(FnNhY{?gRP{Geom{j(43CMgio9 zvBIQ|E5f)=Sx0F{xo~G&QQL{m^v--yNEfVom@r?~E+4CSs2C~UtgDot@jWmOaj@YI z@=j!_(Px_ge{9d!JOs6i`s!wjuW0XxR2@%RMJ-)swj&0-+cVX1QTjv!(>>FkGF^1| zoeuLV-zld!co&j_D#o`VQ{heiB`^|rZeTzV44MMI0r==(gzYFMt{e!$oTk@PkoZI} z3HB9w9em8w4_pp1!IW4tW-=)br=~7vo#Y9^5~9BIk46lMtrcjZdjzv%wnY?16!LjM zzlt7ylKYpF9`=>jFC5Q*74b8yT5vBiioYd#x!?}}OT>_%NP9~)OZ!dK*u78aX>$bU`Sl4$?rrYa&3-a4yy&ph4oykcJL>sYs zr5{9VBNG4wWixNMK@dh z%2Z`qZnNrV7~nF7=@oEGm#6QqovAQMauky8xuQebN!mw>Rlp5gf(D^4vP7FV>hpj* z?@`k83YyZT_y{l_vNSVQU)5^mMH=vZVVvJYe>=(*>KqtnK-zc7u_U(<~OxDX@t+1drF?V2iuP_b6IQj5_==)i^; z<6`q^^H9?@bAl~kaGUvNv9Ss`#~{oyOS_}kCbrHuVysIo>E`d|D$6g6&3N7HH@!9% z8b6t@89I&oO=UKU?V|0WIR$u*I&v~+3${SwE*$Y6vp6By03 zZwwTxFEy7QNuEGtQZ_Q5FnVa!++OsikRxGhIcw-QD9>>mY&c;kG8Rc9Gs*YS|FFIg z({M8|+bA&3CH!Cx@g-?&%;0!N*eFJC zTm$VIzLxrtGK5@1iDp2UUkK&Ie8wTt0(u-bntUGf3e$>O2ZM75^45ia2+^@OF}j&Y zLjBBYfQPc58_m)&hXM^pF}8pZM&5*Rp~k`fz&-}ff+X<7o1Ib|3YQ0FQ%W{n?Na!6Xj^Itg(gxDh-V-sN8d z?5#IL>jGNnw?Jip1v}uE`fdg!pu?c+Ae-+xC@b&^vJ2*b*81xF`N2zIXfO^^0-oS5 z1RFs)ppm|*z$~G|bKFzoIp7dD${kee30t_G>MXMyvaU9lo0=@=0A}Px^IXde!#U$M z(|6-Z?PC1^LxVQTILL5c^F>Eh+GIcFFC;n2&(cZaHtBY0uEf-172gy0muyxHQS}m? z7XKq(p!90b7$zAr)LBNhwZh?X+;qJOu7J)5Y%;$+k920$8O7?(2C+zaME0lK*?C5n zqZlC#v|kZ!mJaTex2T)=JqxAhb!$wmmiwCLx>)~w%NYG=S*iry_PVK1ezg0TX@r;U zWSHx8bi)SSK|u3#Uy>v)kntsH($(rz`4}L7*Pv7dLpb}w>G1lse5Jx))F zZ;l*Ff=CZniBsk<2ySdTcV?2+N< zh@O!2h*jLVA+XRXyoN|@ZzSTGgV^veNK`Rh z8gY@Hks6XZn{%FjwRd&Sh0(L}I)J@+wwSzvNTE)Q7htY!6#pL_MO!NobQp9Dr52`?U0pImjR3Usc0uBj< zAly!uz`epGhX^JLClI74<@e8L&qE)?suT4FL7JKBSvsetUcb`Fw}@QH-htp$ z@LTU(Uz#Jzu6I2)EwGjWE-{C7m7&SH!~EWH#aN(!Zd2&T7{dV@$g13XmK-&FX;1X~%d@W>;OY1K2#9$)O1<+$I zk%J7uLGrQTR58oOSsh|@)6|FcOyUpRY42p(4itnXWAQofNJ8RsY!TW)wV)OvXF-oZ zlDxm*1F;$$9ybrS2-V?tyEAOh9dqnC&RxFQo)z|gJaa&IL6zY55F3qPC^ED5zbBAO?pZhPw64&lj_MVs*3)bdWrgz_?S!~F2r`=rvo<;P}Fzi81!fK za`-#+QFtW+Fw($Zg2=AfU=S_|MkLgc)&z10O5|rsaYRhg!oIhA{f^qh=5dd6{)F%- zc=~E!y&l2c!?{X3!+FA-%2-4<(90N^k!}*%_(#;uB!FOo$)~;`7m)X%`=IkNhrqi~QRrFtorL!= zK739v!*dGO1v(b!32yNJ=bG%f3PnPSArIhDFe$Vgc@nw^To2g`WL8FiRNyLz2)+%` z0iTEvz#l{XP&slT_!#Uwv=o{TosXKt#(1#&@e3{IQec*JqTwBH`7 zjk7(rh%`d&Pt!B=XytQLKiLOasIp7`wCAL-t!I5lA7QL$xd`2My?sR2Q&D|eN?UeI zO}_8ze9__VX%f#>`h`E6Z;O+<&UO#f@|6Zfm=q^j zt$8Np%Y?dLnj_Lp>e>1ux@OgGb+zU-kWlyt8?MI(r ztRcO{C(zk|37(2t8+AYC4U^e-d`dye;dpHtKXXe$MW`45jWL_`AfYnhMC7TELF`KA zCq@^Q#_S>g!8HQ(wBv}U!7`izrUo4feDl8aWC7E*f5A=AvCwY@0jU8S_@LKS0U@Ei_d|bdW0~pJcmwPIkR+-_*0FJ6AG5+$MS?p4wfgUL%T;6(}z% zq_S-F8|@_hJi{-kN%2*&S`AXwD@l5V>aaXZg;k`9SI8IX&#KFN_DMHME4uedizPVG z7sX&*ouNSTuxo42HlbT=R*_xV?$_q~x=+TT9wrp#K51I-KI1+Eo)>^SYQ5V%$2>f5 zlxKsr*04>pPC3)C%`qro4nll(*eDOq{>#4`WC?QI`oKY#%bx;#o=XGGUSaSO;t*Wz z`w8g>(?M(jas;banF3*kL}3{Heu zieX}}V}yhe#2nla{1|c^A)h#aCL*7vy`a+>%NXZqaQaDlGW{CE�j5=vZnNeHOJp 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

ZQ$d;-esoogQSToRnrcIdz9PF1clCA6ouf9v%q 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 None: """ @@ -360,6 +365,7 @@ def evaluate( >>> static_eval_fn_kwargs={"response_column_name": "response"}) """ self.image_experiment = image_experiment + self.audio_experiment = audio_experiment if metric_name in self.score_df.columns: logging.warning(metric_name + " is already present, skipping.") return diff --git a/prompttools/experiment/experiments/musicgen_experiment.py b/prompttools/experiment/experiments/musicgen_experiment.py new file mode 100644 index 00000000..1013eeb5 --- /dev/null +++ b/prompttools/experiment/experiments/musicgen_experiment.py @@ -0,0 +1,160 @@ +# Copyright (c) Hegel AI, Inc. +# All rights reserved. +# +# This source code's license can be found in the +# LICENSE file in the root directory of this source tree. + +import os +from typing import Any, Dict, List, Union +import itertools + +from time import perf_counter +import logging + +try: + import librosa +except ImportError: + librosa = None + +try: + from audiocraft.models import MusicGen + music_gen = MusicGen.get_pretrained + from audiocraft.data.audio import audio_write +except ImportError: + music_gen = None + +from prompttools.selector.prompt_selector import PromptSelector +from prompttools.mock.mock import mock_music_gen_completion_fn + +from .experiment import Experiment +from .error import PromptExperimentException + + +class MusicGenExperiment(Experiment): + r""" + Experiment for MusicGen's API. + It accepts lists for each argument passed into MusicGen's API, + then creates a cartesian product of those arguments, and gets results for each. + + Note: + - All arguments here should be a ``list``, even if you want to keep the argument frozen + (i.e. ``temperature=[1.0]``), because the experiment will try all possible combination + of the input arguments. For example, ``kwargs`` should have string keys, + with ``list``s being the values. + + Args: + repo_id (List[str]): IDs of repository (e.g. [`facebook/musicgen-small`]). + prompt (List[str] | List[PromptSelector]): list of prompts to test + task (List[str]): List of tasks in strings. Determines whether to force a task instead of using task + specified in the repository. + **kwargs (Dict[str, list[object]]): Keyword parameters used in the call to ``MusicGen``. + The values should be ``list``s. + """ + + MODEL_PARAMETERS = ["repo_id", "task"] + + CALL_PARAMETERS = ["prompt"] + + def __init__( + self, + repo_id: List[str], + prompt: Union[List[str], List[PromptSelector]], + duration: List[int] = [5], + **kwargs: Dict[str, list[object]], + ): + if music_gen is None: + raise ModuleNotFoundError( + "Package `audiocraft` is required to be installed to use this experiment." + "Please use `pip install audiocraft` to install the package" + ) + if librosa is None: + raise ModuleNotFoundError( + "Package `librosa` is required to be installed to use this experiment." + "Please use `pip install librosa` to install the package" + ) + if "generated_audio_files" not in os.listdir(): + os.mkdir("generated_audio_files") + self.duration = duration + self.completion_fn = self.music_gen_completion_fn + if os.getenv("DEBUG", default=False): + self.completion_fn = mock_music_gen_completion_fn + self.model_params = dict(repo_id=repo_id, duration=self.duration) + + # If we are using a prompt selector, we need to render + # messages, as well as create prompt_keys to map the messages + # to corresponding prompts in other models. + if isinstance(prompt[0], PromptSelector): + self.prompt_keys = {selector.for_music_gen(): selector.for_music_gen() for selector in prompt} + prompt = [selector.for_music_gen() for selector in prompt] + else: + self.prompt_keys = prompt + + self.call_params = dict(prompt=prompt) + for k, v in kwargs.items(): + self.CALL_PARAMETERS.append(k) + self.call_params[k] = v + + self.all_args = self.model_params | self.call_params + super().__init__() + + def prepare(self) -> None: + r""" + Creates argument combinations by taking the cartesian product of all inputs. + """ + self.model_argument_combos = [ + dict(zip(self.model_params, val)) for val in itertools.product(*self.model_params.values()) + ] + self.call_argument_combos = [ + dict(zip(self.call_params, val)) for val in itertools.product(*self.call_params.values()) + ] + + def music_gen_completion_fn( + self, + **params: Dict[str, Any], + ): + r""" + Local model helper function to make request + """ + signal, sr = librosa.load(f'generated_audio_files/{params["prompt"]}.wav') + # Extract relevant features, for example, Mel-frequency cepstral coefficients (MFCCs) + mfccs = librosa.feature.mfcc(y=signal, sr=sr) + return mfccs.flatten() + + def run( + self, + runs: int = 1, + ) -> None: + r""" + Create tuples of input and output for every possible combination of arguments. + For each combination, it will execute `runs` times, default to 1. + # TODO This can be done with an async queue + """ + if not self.argument_combos: + logging.info("Preparing first...") + self.prepare() + results = [] + latencies = [] + for model_combo in self.model_argument_combos: + client = music_gen( + name=model_combo["repo_id"], + ) + client.set_generation_params(duration=8) + for call_combo in self.call_argument_combos: + wav = client.generate(call_combo["prompt"]) + for _, one_wav in enumerate(wav): + audio_write(f'generated_audio_files/{call_combo["prompt"]}', one_wav.cpu(), client.sample_rate, strategy="loudness") + for _ in range(runs): + call_combo["client"] = client + start = perf_counter() + res = self.completion_fn(**call_combo) + latencies.append(perf_counter() - start) + results.append(res) + self.argument_combos.append(model_combo | call_combo) + if len(results) == 0: + logging.error("No results. Something went wrong.") + raise PromptExperimentException + self._construct_result_dfs(self.argument_combos, results, latencies, extract_response_equal_full_result=True) + + @staticmethod + def _extract_responses(output: List[Dict[str, object]]) -> List[float]: + return output diff --git a/prompttools/mock/mock.py b/prompttools/mock/mock.py index 6e4b8867..76bbba3a 100644 --- a/prompttools/mock/mock.py +++ b/prompttools/mock/mock.py @@ -14,6 +14,11 @@ except ImportError: cv2 = None +try: + import librosa +except ImportError: + librosa = None + class DotDict(dict): r""" @@ -194,3 +199,10 @@ def mock_qdrant_fn(**kwargs): vector=[0.1, 0.2, 0.3], ) ] + + +def mock_music_gen_completion_fn(**kwargs): + y, sr = librosa.load("../../examples/notebooks/audio_experiments/sample_audio_files/80s_billy_joel.wav") + # Extract relevant features, for example, Mel-frequency cepstral coefficients (MFCCs) + mfccs = librosa.feature.mfcc(y=y, sr=sr) + return mfccs.flatten() diff --git a/prompttools/selector/prompt_selector.py b/prompttools/selector/prompt_selector.py index 6e6b3f5c..4c01aa41 100644 --- a/prompttools/selector/prompt_selector.py +++ b/prompttools/selector/prompt_selector.py @@ -66,3 +66,6 @@ def for_anthropic(self): def for_palm(self): return PALM_TEMPLATE.format(instruction=self.instruction, user_input=self.user_input) + + def for_music_gen(self): + return GENERIC_TEMPLATE.format(instruction=self.instruction, user_input=self.user_input) diff --git a/prompttools/utils/__init__.py b/prompttools/utils/__init__.py index fdbd32cc..38325a8b 100644 --- a/prompttools/utils/__init__.py +++ b/prompttools/utils/__init__.py @@ -14,7 +14,7 @@ from .expected import compute_similarity_against_model from .moderation import apply_moderation from .ranking_correlation import ranking_correlation -from .similarity import semantic_similarity +from .similarity import semantic_similarity, cos_similarity from .validate_json import validate_json_response from .validate_python import validate_python_response @@ -30,6 +30,7 @@ "apply_moderation", "ranking_correlation", "semantic_similarity", + "cos_similarity", "similarity", "validate_json", "validate_json_response", diff --git a/prompttools/utils/similarity.py b/prompttools/utils/similarity.py index 33a74eaa..812cc884 100644 --- a/prompttools/utils/similarity.py +++ b/prompttools/utils/similarity.py @@ -21,6 +21,16 @@ except ImportError: skimage_structural_similarity = None +try: + from sklearn.metrics.pairwise import cosine_similarity +except ImportError: + cosine_similarity = None + +try: + import librosa +except ImportError: + librosa = None + EMBEDDING_MODEL = [] CHROMA_CLIENT = [] @@ -135,3 +145,32 @@ def semantic_similarity(row: pandas.core.series.Series, expected: str, response_ if len(expected) == 1: logging.warn("Expected should be a list of strings." + "You may have passed in a single string") return compute(expected, row[response_column_name]) + + +def cos_similarity( + row: pandas.core.series.Series, expected: str, response_column_name: str = "response" +) -> float: + r""" + Compute the cosine similarity between two tensors. + + Args: + row (pandas.core.series.Series): A row of data from the full DataFrame (including input, model response, other + metrics, etc). + expected (Any): the column name of the expected audio signal responses in each row + response_column_name (str): the column name that contains the model's response, defaults to ``"response"`` + """ + if cosine_similarity is None: + raise ModuleNotFoundError( + "Package `sklearn` is required to be installed to use this evaluation method." + "Please use `pip install scikit-learn` to install the package" + ) + if librosa is None: + raise ModuleNotFoundError( + "Package `librosa` is required to be installed to use this evaluation method." + "Please use `pip install librosa` to install the package" + ) + expected_audio_signal, sr = librosa.load(expected) + # Extract relevant features, for example, Mel-frequency cepstral coefficients (MFCCs) + mfccs = librosa.feature.mfcc(y=expected_audio_signal, sr=sr) + similarity = cosine_similarity([row[response_column_name]], [mfccs.flatten()])[0][0] + return similarity From 5fef89674f51311cf28ee45ec032126879b274ff Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 15 Mar 2024 15:17:29 -0400 Subject: [PATCH 180/182] Update version numbers --- docs/source/conf.py | 2 +- prompttools/version.py | 4 ++-- pyproject.toml | 2 +- setup.py | 7 ++++--- version.txt | 2 +- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index c9d1bf03..77ba74d9 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -11,7 +11,7 @@ project = "prompttools" copyright = "2023, Hegel AI" author = "Hegel AI" -release = "0.0.45" +release = "0.0.46" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/prompttools/version.py b/prompttools/version.py index 49a555da..b83cf04f 100644 --- a/prompttools/version.py +++ b/prompttools/version.py @@ -1,2 +1,2 @@ -__version__ = '0.0.45a0+6151062' -git_version = '6151062e36d63229b66d1c4193f0173ad022502d' +__version__ = "0.0.46a0+5a80732" +git_version = "5a807328435d269d7ed17b53f86283e116e08244" diff --git a/pyproject.toml b/pyproject.toml index e01419d8..ca5c6f7a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "prompttools" -version = "0.0.45" +version = "0.0.46" authors = [ { name="Hegel AI", email="team@hegel-ai.com" }, ] diff --git a/setup.py b/setup.py index 9d1251b1..9d7da666 100644 --- a/setup.py +++ b/setup.py @@ -26,8 +26,9 @@ def _get_requirements(): def _get_version(): """Get package version.""" - with open(os.path.join(ROOT_DIR, "version.txt")) as f: - version = f.readline().strip() + # with open(os.path.join(ROOT_DIR, "version.txt")) as f: + # version = f.readline().strip() + version = "0.0.46a0" sha = "Unknown" try: @@ -82,7 +83,7 @@ def remove_extension(pattern): if __name__ == "__main__": VERSION, SHA = _get_version() # TODO: Exporting the version here breaks `python -m build` - _export_version(VERSION, SHA) + # _export_version(VERSION, SHA) print("-- Building version " + VERSION) diff --git a/version.txt b/version.txt index 0f225676..74f9c47d 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.0.45a0 +0.0.46a0 From 518bff43b1ef760d7b9755bb9c15bcb5023635d2 Mon Sep 17 00:00:00 2001 From: Jonathan Nguyen <48837888+jonatng@users.noreply.github.com> Date: Fri, 29 Mar 2024 15:58:50 -0700 Subject: [PATCH 181/182] [PR-1] added Jupyter Notebook dependency for installation (#123) * [PR-1] added Jupyter Notebook dependency for installation * [PR-1] added pip install notebook to OpenAi Chat Experiment Example * updated readMe step * added pip install notebook in ReadME * Update README.md * Update examples/notebooks/OpenAIChatExperiment.ipynb --------- Co-authored-by: Kevin Tse --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f5707bd0..91efaec5 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,10 @@ You can also run the notebook in [Google Colab](https://colab.research.google.co If you want to interact with `prompttools` using our playground interface, you can launch it with the following commands. -First, install prompttools: +You can run a simple example of a `prompttools` locally with the following + +``` +pip install notebook # If jupyter notebook has not been installed ``` pip install prompttools From 2446cc9e629fef0a82553ec338c20a203f0688b3 Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 29 Mar 2024 18:59:16 -0400 Subject: [PATCH 182/182] Fix README --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 91efaec5..43b3e9ab 100644 --- a/README.md +++ b/README.md @@ -73,8 +73,6 @@ You can run a simple example of a `prompttools` locally with the following ``` pip install notebook # If jupyter notebook has not been installed - -``` pip install prompttools ```

-&+`yYs+&_4M(4_TI59ZJ4-O=ZxsymKKsMaD&qJ zZQ#Eq7&Iv|Gnb`F3nFP24$?9R3wuA_uD!uyIz0NQT)ta()6%W9Z`S$8iLoACd>G5H zyBc|QUo9indAU0-eZ{h3K4G^*9CO@jI{G==ni8-RSOQ9&!hMVFa~Luho@q|9Em{bI zyiXzIlyMFjY4<))7eyAt8-4T5DhrjWb;@ka8_B39Nv_A06ED8J?|$lXetG}njeR@Z z?Vs_pWLcKG@cS|by9tOa*JjpjiRc~7tW_i2dx)TLXyL6Nr-EbvSUbi6XUEIaD$G{A`cmfJi}<+9 zT73xcgq_lU#JI=)?XrJbub=Lxak@M_e)8zi#jx9r`#}zq92g2eiwubsxFei^127QA zk@WrN_3_oCx8J$=(>uFQ|MW@YrXZQt*iItVFEM^u{aAmV7*zlG)E7n znohKV#YvcyL0Sva!wI6{7M$xcgR@!*gb!t1W>F2d)>ijUguX83L6mLIT8C*j36c3) z%2bMt!^mt55NjXDRMnAJ%StUQW$ta;Yg=r|qX$ z#vN+`3ur^BQPIK?nUdTx*^I)tpU>8owYBbRSj!}M1hM;8&vGY@>`5BJyfFw_le|aE zWI*Oq!w7)u}FA;0dyn<|ivS)9tFQiBW0^WdzT0so&AWq?A$+pY{8Fo`&=iVB$rm*Nh z;=<&)`g#mbnlhJ}1IuZFXt+ZqjC4{vuH>7m&V>k;VL)ze#0^op)w{MYBnX_I8A+6x zpx92F|K-2!im*WibK4(4x9J~Pfgo%`v507d0%2||l#%8SpE`mBpddj%W%gudn>em6 z<(L26%|HC#$S=;pGm3SVC%?S8+`akBe_D?1(WBkV<82169zT9ohWq#+5GBm?DKkdI$W{nX_?6vTkiaHj7IIeY!Z(QN@uv*Ij8{2-a~g> zc2=tNg#tn}h6o_m`t5By*~RXIe{pm8$Nlr)WW74~b#3>{%l~}-;v2uetKx6{rtUaL z?{QjA%iI`!39hg=SZ>i9ydu`vT@Z;|pa)n%1puPw`4*@|L1`Ro;6X1cgv~>Z%~Bu? zD$uRKU1fT^T)uNT9d^fCTJHLrKfHYN$E7xn9`#x94(m^l9flG6N`8*hi@SO`-o3up zq0aVs5lv^NhHO%|tRd!O^rYCZeF=nzr3XrZ7KmgfnUf5e;Q17s0HFwuhO$IQo6&Cj z>At`I@SRs<`Hu1Lgnl*1Gs0!}$T&%!@c8)u_`i?4cb@z&AN}P&{eRxvyj!j>Xur$d zqv7hU@#>wctLww%VSjmjeR*?rvA-D0Zlvpq!-#`I6c>tp!CpZjtH6L@RKZ>_ZIZ5l zDC%J>zxd62myf5Lcc+^tpa1SZe)HM{^V(rEX(f1&b{}&r>Zu5lg}PwW=0NG zS;#_F7a9`*krq!5K_n~)0>7Y;v+%~83`p4{Y>|5big1T8L4;G5oDvWzGf|E}(*TF$-1h?~S+7qdOX-Rv z77;Y-jk2gzGl)e*WsFEdRW(hxG}Hho5J(%89;tu<%A(|gRh%nc&#cYo71cpeL^`J0>2O2@hBNqD&fY2orv-IID*N#O14MY%@pf89b zoIr6j{1CyHZ$!iqAQ6ToSQ$oC0KgsMAX+Mwf}C6}b;Jzz1&p`gQMtNng-G8$es_KH zx3&*{8}0sq@>DSNE2gj+_f9_I2e0)FcAr0c_58Yx)A~WIA0Nuu`N8I9Ugz2wug_0zzIg?}oDwGmF<_JB9)#GQO48ga zS~W?0@wBwWw;vz&d*XXP`tbMu(dz!+tZ_C;zMkgm-OJ0%OS>$%ejJyIc3tizdkD0a z$Ea@ABlUFi9P>4-A`7Mo=cjB9DPRU~&;y7B=Hnb-xDqVdMApO?e!%jn2@kv5*bCgi z8$=C=dydu}cAxD^tgNZkCYk1I&&)g#4%R=y`bkd3<`K*&=eav|@rZF>_Z(dY5T@it z>|QY=nnOJ#gP9|ODUQ|C4kl6~QkPC@jpjZ#B!X37g+5~jG9nSrYV-bZFeNJ3)S6QWfOFxt$$ z3&CAIU>;pgL}3AIv_LmnGgEVqh?c}tEU+>!i53SSi=~tk(E^hoQ0^rVEK&dvI7!Jl zrLtNTNm)7(VG)tO7nfYjZ^mi1)UT3zbZ%`X=G5$U#MLTwhF)-zkp`3=#{$p*O~4*@ zKqSNi$QI=Ue1+!FrL^3U3a9`bhJY2opylG}>TmpmG@RrQ?(e^Rl?UjJQs1~70*QEE z)~teTs>9*1f1{_Bb3+}cH@8_PlHj6V$*PhXGkgLvlE57dqznSwzyu01Me3whccr;j zPMH~PuF13Xy}0RIDKQXXEeJ3(1X6-IbK)iJ60S{I5zWa7x)9C@5i9~*-mFV|1BfWp zgRvahN3>nsy`|}x8eZs2SZw?OI6;rV0}2WSJSdS0aZgZVVJJe#TX5keJ_-QA6shZq z3}@%>{;)j$fzi8G3r{TTa@wsDK~kNSJHz`Ae&-ebf3r*+(dvAAdppgCepr=NaVN}G zu)lio^5OSa(-d@@`irMl`RyP52i)McUY~z7g-w$3WL^(i07<2kZXO#G8v!0{PzMQw zQoCjDKopyG3Cs1`+abo<$NEQ4e)6AhPk-~xDBs>(UF}|u*O$BJ&)V&?c>X-iI|<2M z_xh8Ym@vHC-MpU5I@8&7^BVhW*bEOe!~GALXIePn;|`Rdjruc8Z>h~e;N~a~Q&fbL zDwa$tr2v8Q@{+>fD$B&lq`vaFu|`> z^LXX?YuGmhPuQFB9H;?vqz&HxF~9rZ`}6hp=jwYf03i$+yEHZ!XLC$caHAjV9RKu(zx&~Z$MHs@eP$Cwxl(Ol8kR>gA0HZMCq;mt4iq9V2 zXPe+4t-5f-9O3F_QRmr>5Ef1$fp7*=LO6seTw#q8=ad%`NjG$yh=>%v2(WP2Dzw68cmoP#4PSv0v_kjb z09`}(&>5*9Gf2P;QrI51vrld<^ZK24e|GZVUHnh3Zr=Rrn~%SI^Z5(jXeO`Y2vAPJ zS)09T^vcE=u5K0eR*6MiM}#8+oUjxqhC>OQK@2G1Xm#1M3S8PDs0cXnFi#>BW7Y-Uyf7)qL_{m(h9Gdsn)2=Ann%F{WFs5GE=@l)wfG$uf`8_LNs8 z3fGxz7vogg`g`Xe{iA*R;N>U#7jM3N_Svs+^EOSd@;LX{na|xxA9eCc#xKXW6KvO> zzQ3MponByn300^ysxw&78sjA*iH0r=`Qw)$!#!9K1Ws7E z1|lFp5}O(X&W$q4eHlFHsZb#lbAf`-CO9DlilKBkDHuAe2rEL*pk<74c#ke2FZ@|sWLpRwf7ihfMqz-% zg9y|V%GeWD8ReWW*6$4$4^A&05BHyTAOHLA1sY6~h=CF(;x5Um?_?;l z+N`?;?!dC}_nY$MF^^+Vfmt{)!GzJWU69&mfUzx+LQR zrb!@VVYN#sCgz0P37mzzq(m-_X&f~;sk1qQymUh3k_dtz2uqjAbnOx1lw?0nlR5~* zl;ECI5m4xIy>LCE4wcxMy%Zj&2I%7QBwB23$F3Y^@mfdsmbK72Wk6GnSRxcy42HEW zKBwgvF}2c>FdwS~mK8Tb0*sI>xtE-Ygo7avC(10oocPjtkUN`4A_Au%xP!owI2Ga? zL{L>#W%hLW_FKBoo&GSTOb`PBq@aehg1m$77S`YfBLu_B@x*cmIcN>Z=me=i7BdT@ zu6gzd7fBE9ozQ*ZQ9gM0;?b}F$p6LF$Dbek8{r|J5cQ1ahnpMqQP`}_wzDLl>=B5z zoRjbXF}Psy*)NK`2egqbg!M&KS0@B#L0ef}%F_y&iAtc1D&+|boJRrXfhc@|uvThYyR^``q7;|@;C)(u@o zeH|(J607HgXhh69iZdv47{RHIP8^;9XEHzjVH@Q_7EXEukLLl|#MRx50ZK#-4C+oq zGPOqK0^w=3753H@@x+vrNZS~umV5SvjT4bf5XZh-YhL;Uc80q_=LmyGq#o`8Myue0 z;8^Z7&A@~p%oRo9pkN9KN2;8X^ua@Leq-$XQu}{@S|6@(*5RyTZfK54v8w1Qd%r7u?p!jHNXn}|4_#RgWf+FO>$;Q>E@1UmnW!qKTxazl zl8jJh4lL+=gF|a`HM1I6oV;un4y3$xkBHRN6LV8LOcPNshkGkE#n3xZU)TXg>bk_n zgaTwwILwnfJF=9)5U#CAUId(+1c5}oaFHl1h2=2KRgXRn3MW+);h>|Rn>Z}g-7Lak zoGE1)hT;^e-dcqFk=YwqstC+bn;HPp1k(i+<1jaHQf~x`pp+y@O3YnKgkbT23qdFn zEiD!xA#el-3B#R(wJ9Sx9Ia7=Lnt~2nS+_lL(R?5nwcrk0zQp9f~NJ!1L4z>HZug! z1Qlq8tRdTA37R-=Fuz6H!zv<>*6>@9fd_OMxj+(94>7QUPB6?+6X6Zswu6~(yJ0}W zJKgT@+L!sidG&{X$&Jc(6-x7s`>f$cZhU|c$iRSfs10O@1Sq(`3}gTy43VG)HHsh+ z_Uhh@h{K$P;HG9I;^E3vD45y9NLKUMnDVr%^V~@C!yms_cXs*h%c!v18DwZo=EMO7 z>SFrAF}~}7Gs4LM50B$y&#`F#SXfc`uIC^YUi9K0J!+l69Yop}<~0a+889b++#JoB zVAZ)S#(!@!h?Rx+SCwS)6tCaBl1y*jKD*iZ%Y1vd{PO0jFQzxo_03fxFYDorUT=T; zmdNt8!v-0S{E+voM>+u(=N*ZJ~~{<}B7`YMgj z({v-VuM2UG=vwurp%2FHZLS#$)g5eWP!#%XARk$(X zNTN1XNg=K(_ zd^;v|yr`#3f|n@J41{ne7#JvkF)|?ttVjVP*a@%8yD}7BZ}MuRfBZkpU;X7|l{qC2 zbh+zS-O%x7)vt$Pz3RJ?yOb7qvMKN92}(ia;lZ?^t`;9eI6@;Fa5mMZv3RZ*I7-*}fF+keLnMk!M1dSE7UV{V5DyMYB8f8xNuS74 zD4UZ786?aAVMzfp^KqJ4)L~%aOdEnLHMI4$MB5%9+9l!XeDi>C(jgf%;V?T6>|1OTh5@7`4Y7pNG8~WuR-nRH z0KgpzLjo~_1Ium088m?sWR?3Zasf?1U~}*3Z?wP1t9$?I%YXWZdKiycDwtY$J@$7C z5DKjz02yvTz?NP;LD+GsHozGGbW#G@?35gUDRN0c;w^$mip)Ffa=+OQb43y#Z}tuv z$2x2_^L~V5yxem`w1^f&U|RZ%5X}*Ej9odw0tzgy|D|p^=&1eEamBkhg_c9#Qn(?qv1k2k(CU?|$*|zxnfbzke{?-0UvRmAnzw!|Kd;SM!^ETW$5jM^C=@ZhQ8v zw^^rg|LGhh+n#T(5ADJG+n@cg@pig;iMMalX|NG@CGonE$qgi=F*3HkT8}`LJ%Q{;0D}DDx5$m zqC(pe7KATTA;&TaEN%jyA)F{;uGaNjxaW4ZP!k+)J-4^CtGHa_Qt)nv`x$-2%Bcu4 zVM_3YC0HRDNXQHdm|>j3cIQX4P-P_$K{9xGXDU=-Kw>zOv07j!>oA? zYl+lY1Ep!o(y<65FMJ47ThhqmJW6KfLIO&U)WC;h&$cB@6|O&2UkP|F^;=;Kdz{jny}@44I!ogg&P1^ zH3Ymu7%UQwW`^p_2}(Y>h6r_tS|_igibz+I?siw7R(FrFVYVgh9<~5Caa`vv(*MHo zU(h{Edu0TiD3$^0DE8pa=8why13F4X$4x;T!J%>YL~+2du&`lEzXZZO3=o)sG>AEz zAd)2;qF%m^%eVH$Cx?rb4}q6gnCHY`5*7+JN2CF~p?#a2_twwl!M%3%_V(579ADl0 z=%?L{!}?flb$`prY=0Q;C%gIPoge+3>sQYYZ?sE8*%rsBQC(d;sLsOCns%rCbm*sj zVm_1l&JYjy;`HjXmlba0@Wdx&{ll)j^9Y-ha_{7O4}bFP-3M~>tMQw!ba(4TbZYJk zF?j1B@jx{;2H=Dj&UD8FLSk+f(v;=v>--aVY&g9 zB+Qm(T);gGxR4_>;Bou{&1!mpbV$iX zD0jpO?BWiVSgc>mbnhAn#9hFc959Y>NKit~AO>@4la8j5NTCP3ne{q@l)F{#I~5h0 z*a&67L&6C#WNZj2ff52Rhc>8G!0S$@?wuiEUik6q!5NNri4Vu zjK!_k7y%@>Fi{W#DIksmqgHj>EtASzM@b5_(h%34`sdThg{Zuzv{|*==+=t z3j=VU5pHTlT22x078z49Y^5nK%>3RNT!yKqb79bA$%SBCItb3UeWD+EOn72M5t&?U$4#FMr-) zOC3~mHLV~tYYEnKFk2Wqrc_phU``%H@LCT6af%iibJVcJSt6G_w5DdE^)Mawt<7$g zOqn7%TGh89^9^koLxv0pMY{nmfeCelGtwzaMpV>WSVCDN_22|Dc!e6Qp^iATHr8Z9 zbdJ7Y%|L|;Xq9~f?RpUm8TaUi_v^*`?et&2{nJ0LzrMx^T3cA{Sf+R|LI8&ZToD8m zumBC=919%Hf)UzaMnOT#(QF>t!YR~K;kqA*Iyb$&xwTN$#&Dl3YDD!GHcyR|7Ap|| z4)O>JKLQ&X7;ua5V*?p|C*&+Mf6&6dxwDJjb;MI(sR&z20`A12!R22!%h#kO`J1z50Yrp8y6wZK@RUdq;oaAx4r%IPq!a^ zFYccVyEnVfzrHE?{NWQB$z7dXr|EFHo8H{y@UL{_;W4FicshIf{^n$(Xw&U3b-|tc zOrf5;f(M&?cG|p;{NTlleD>&xu2#r7m%@dEi!gP=>S}*jZO+Q3e{aPvz8V!%{d#6n z(r~q9Q^GZfn@`3KKH7m|{XkN9$5fYk<>Esp+`^R55mrtlaqzB!WB$94!DgMH<``w0JE+?ja1X&<1lC3hn`e^vDHF-kLUzvQBNBk>*TA zNJz9r+0tpE`=$R0+mER{WiNzYuY5 zm44lqRoC~a^htzh@yZD;1{%txh$AyQRSjqhB#}%AVM)@=L6RgfaiYar#~w+Nn??i? z6Np)u5{QVM5EjiWTDbK|BTPeCiO4+E5}DLi)srd=9um3Z#v)Rg0C$rHL~Yu1oab?x z_G6vLX>JO);7D*+ZGkA8l2T@3A%wbn1Vw<|Lqu380z~M#OvFuDmEj8Hxz0pFe58+9 zc*bi>)y9m)`_!7Y@M<+8 z+^D3LL*Z<7nhz5Rgc+H_JiW!()G5@`PAE1=gbZ{OyrC&tf(kq#4d@D_VBVumfFlI+ z0ho^01K`#1E-g$U-|9j7#{^ZZwzdSsDCa9&5 zRU-#6VrlbW=!9?rhbu=Ts^%%kDd?!NhJ!pvK+DdYV9kjrK(0VxX4Gk%4{&pbM}&tY{v>>aGUi9z$KXjCY zi0-Zhf#vBD5epv_vB(3&jEGQz2n#PHVMl?W<3p3$J6ixVjlv_b>W)Pv!&G=c}O9-n=ytg>2v1gogx% zd*}J&w>-5sQ4eok@mzg0G9;yFd~X7265Q!?^t#0Mf=wCqA0Cs3SQDLToQWs|ia3jK^9EOn0ObUPBq23YCPEqr$!P{Rj&PQUw8*bu2An*|6z&LSGKU>g z9^mi@2Im#A6YYI@{?`N2YDx2Yosc_fYHaNA)Rg~ri81cT*NMBHoeQryy`SYLg@5NPo``X0rKFx+61aqLkOUcNlUk`Ns=@+M zAWN61AsSrZj)_qXX+k29BKKJJSOFqSKaHo3gvplKBtQWPFd;EAc~WY`p3ph0p*p%iDeBaN7^xLu_6mR4(Y1q8H) zy&(YVzypQ>n}WpPbbMps7J7x6;TdSqfU8^Lvc~!Zd5vPA9YU7}K8m9SWChJA00A}z zKJ32t?oS^+IQhxH|NVdd@?Zaf>VC1PmG0>KbcZe-@d4@FMus9H!j9^@2h7062AF=H3k)DEjBkA{2aX|J)HcKdJqUSFNO+dleR5A*Ze zSAY0Y9tArIMOc`j zjxIei6T-Oz12QB8%z`>XBXW0zWZ{9)l*m~~gi}rhktxlG7L2k62`oT_(1mD;;4mYX zWhU?iCWacE0uIvv!I$q`tjrmbAOdZSL2{RKLQWhOE@`#7=*nrr=3@2XCjThoNe5oX zoISI!kU@+gpb5{lfZr=p*;iAIJY7767o^ zG`t1%Aq_Hc*FZ{?m?<+eOOl+ja0)d75s~XMk-4zwtRT3%TT3DgCr-^<5(%^fl&+J) zJTUj!lTS)a)L1IZXi=SKwW*qd!4y1)SO+wqMSO(l!P2kgq(5_ zPC=X!EiJ+3BAj@TyXyCVt2^MT)dFP5t8Oup3Xy{(l^_?2u8IpO6k1!I#>42ev;td# zP%cCOsPrkRi-a&`g*9AN6phsk3rcIOPq5x%lhFxiLap!uA0PoQAOaZ1Fd+8si7`M5 zIv@$qAqIrNC-5zzp%EgX1@aa-QzwwEoZS2H-a2jn?B2c4{`>!~y?IkOgPdUQa9z}q zpddX2T97VX!SF>uZxF}AwJ=}&`Vo8=(|~wwa1w~lN{MVTb|MaI24+(dTIw4mOz-w| zKm!2s0Y|IPomO;wJ}hR9yB$Ity+X%K34znmQM7QM zSvqq9N;u7<=iIxfr7=RIgKx571Uq#RorQ%1(cl%RKnpXqo6IF>p2t7?tmny}KEmdt zU5|}ZnmunG5Kl4o`DfpYU%c>7F5?EP$L;K+N8{yXzVvN>&(BBOUwZX6wxTk>u~g7K zKI_jOuO2+v_J_0@(z@@~C%3O}&rkjQ$?355=9S-n`1*MzPA8k8$3^$hGs^s<_r87i z;r!>H$BWl<8o^a>Ajv|Uy2xh;4n3evD4jdw_D$FhHbsEkDJVgRSFz+XSEuJb%AtDI z2GxkEtiwaeoQNcaBzRa#?9EeVq_7rCP_%SJh>{@*QNxxH2BB5w0(W7U^x_^|xD;V0 zA{IgF64<4XR#Ss2Sg`Cg+z_;2eSv@)%#Z{yM@2YDfMX1eLIRl@MInMvGwMMiCFP`0 zl9XxF$&<7GM? zgJWm79kCnn#^NRgfe)YtoFy(DR>06;j1X`@7>Tg3BN40wXDFivS`Tq_pm6MnLdNuN6@eM)_bB2f@bwP`b|?9uVGZ-;8*)MoWSkWibZ zoVd#+Q%Hs|#(AFWbQoK!vzt$c7Lfo`B~t@j6`3>n3DOwRqN&5e8Yh8xa}_Iv3nN-x zW=Rl}6LAt#OUrjSKvTZv>9!0`|IhJhyJlV zo*@P0fJzXD?ywldBq6Vm6qR6rRbZ3)0mBNp2LqfTo1-ZRGb|y^=oFp-2N~i7)Pp)e zkbm&bM{}3+YWU?p`IqhGw=^|WTdL6(Ugl!3q-8>Ha6ZC;m)U#?FS-Jo1EpS9XUXO)NwSV!cHDaP;h`W;N-TL_9^U+?&-9&x|81>=6^NT->G)t&oL-GNbc?d2w%jXr7WC4B1oNd>&9JenY%~Z_a4gX?CP5@PcQEGPx`rC zgLJ-r)&2H8{rq{|-FmzAao?>xu4>yk?cq0JbEr3&rL&AHyZqN*o&Jq+_v!FQ z!>@mdt5>*si#-ZJ!~g*R07*naRJR9HNbkfzCas`A8i*N(=g>=7B@#k`J9`t)>2w&z zHlN&oFwN`DqerM^+TUoKB1Vsca3z^-zt1FrW*XLmEf(u`E+H97u$bvmA`yfzv%7~^ zurN_DfqW@!A)i8qOhOE+qt+IbKoXLU?}6n@*qTw0+j3;V9bkyCHisWie<9=np~NXt zLFqyml4<#x=h8{vQQ`>d^I4bQ*_7YN{KSJAy$#tLT`50Pd#$EPtj7-@;qMpvX-X-K zES#Oih=PTSk|-*`BQzryWQHBXGpKv$HNMru7wc}j;z}4B&I>k*)4)YSW&p^xsFENK z77}n6dBZsSEjSn;P(km=h8;uC)@y%Xg0?T#`}#HElE^`}qzeel;X$6IfP<(8i>KUW zu(Kd%%F+#e&N;Dg9C5h>sGBxx)oPt67;dfF!Z-^Dr^FpI)9Pe1^m$dJ>ttA!TtFbI ztxg&+cSmYSlQRONsd_VVoep)*dB~hosI}%^t4`JH?4c>5jr;K!)>}X=z`U>KRcPVJ z8cRST+=5-2E?tl}cXd#mLM#^G9OGD-DUu`!r*w{C0vo11ntC;I zcg;MmhyuGSv@3hbyh^m{&kA8ao_y6~|zxqEsyY}79o3iTFWwm|h!P7Ude*YQ$~YCX@U>tQ8|(s@#PnnH`fC< zepomp!FtZ=ou?IKm#5wSlIOkM?sDNwj^;Mk7^{a*x8^n2B!m#`;mQeJ+5X1+Ho|Q{^Je-nxRE$d_DR0t{q9OJSFX z5FFt~sRIiV5t|VcgCctv?e;c}P8sAJa2SP$JIug}pd$;`mM6!8^`?jhvm?=u02oOD z2}(ikND}2PmsRQ3tKe*&GIgh$d)wii^YUJ@r1YxdR{196S&PpP^Rqfl9>w!vyZQMF z*F8#)-z4rQ%)$an*%Q04voSAw6M+|)pbMyBP}G960guP^E5&XPRon<}3r>5ChPJ`I zgx=7+@8VPLE?QUhrmKz_Cf`T!-%OFrxce9NfBK}1L*AS4Nq zrJFZMYihLCYsz{3|+s;Nh2A%f(T(`K_OLm5{6YUqk^ z8FES?!q&O+2vO%IHcAVk=0Vk}wt1eFp*4vKr-U$7!FZTwr)l!3aSM)=LY)(t6PB!} zTWgaaKlee2C;*{Y()(2>TnT3)HV}&}+#a~YK}2RA?gS2aN?9OTdIl0NFBAYfk(-i8 z5E19*MkEoQSi+H0GF4i@OLu1t3xU|oh@$HfqF9(@VES7ESk^Je7Ee01zZ>ffTJfGa=Leq@)mNxY#(BEo=z`< z^FB@2&!4weF@Q~OZf;noX*bRDHD6y-Pg(jXd^i|0&f#&4SPKi=n2EDz0 z_WV!ExBr{p`(OT_rhofi&9N`$!ebKM4Uwv}(&9~3LJX@ps z?oThgUHv5A*J3KHNlYdfOa(S!tE3w>Ml1uZTLJ%OIxc(r{*T zDfi!z%_j8^hM|A+;&!^EU|wy{w!@?CYMAC%(r)c+y0I5V`+hZh+pEvgc0jWTVz`4H zLO_7UTLXMi4GGO$m((%2Ib{O#{<;zDaOsz&_%W%kkS*Urcl;t9?q> zmdB>hy$`(eQKbQ9eeZwlDPh2>JX;}vV9YNkbaz=9nX%p}YuXMtHTKuKt!9XP@bOhn<@R9*eJcQb2h&7%dI zHU+zIPYa~8U*)b#-B4Ejs_Sz{AR_`L?;<X^6QC{N zZY@-!nY54~qMYGGOcY2*Z8;)f<`D*q1a>8`Sx|U{PpPb9i7$jlVCi!~xS0o&d$=_T zR`;&-0f=-dEgC)4)JYWK>I70XCL;ttmP40HpZ(Ht|-GK|q2b{X^3S_aRB1_;4s*c#n=UOzmg?Qi|9oZHX;pa1Qf zKl?T%c5^Op#nD?S(BtDXLJ{dsJXsVJr??B_EEXHIyYah$5b>S+K7fVu+yc6c=0S$A z_|Ce+L<{577yQ59Ie+4A$9oKVE%%hWl-Kb;El(;wwkrVNiBrTt4l0B-B1aUUmq>}% zXHhPwoLM`esj%?)?e$n&sEeR%hny{AXK%im+Qg7(~IREL{>3M^5noqjh&c5DH z&-t*o@#@vLSHJ$G+r3_G3XQGK2Ul-S)ihNSJCKiwN-17leewlk5;O0g&wg3a_i^96 zr$iu6KHujCcefTYLjxp1goGdpt8UH1i2^uE(G;#k2+m8&lQ?r%@^-yC+m`iEwwrb728mp&wd~uWyVsxRgpgNn>{qw- z&CTtl+g>^!vLtB)>U)|iiEv5WFx}$UgoANkfxvpi_Zr?CXj|wpFmMEj6*|K+bcrGq z^jHEjAi{7puXpz4%r#0~V+=F`7B0};Tiw7gz`V{ngDFL?+JSbGwYIB>KBp|U7O~l9 z^+PIn@IC_hMflF9n7GbhH&<)NV_@Dbn6|&w0L&p-1-!CzNex`&({+4;U1~z>JO~xJM^I0tTcE3a}wH zP(cuoK!Iq`1_OLXHY9~9M#EvW+gW^zRUkj+i>XwD56Bl-O_<)m6Kso)G0^(S;RnBG z|BL$j?Z3bM<@3&nIam=MFeo20SxX|67gNpR+H?vFO0YWt=eQxz<8ki(y2?BUbjI6HrDwcd;q zez`yV`CR|A^ZP$ouTFQd$<`9R)%x+*H-GTr#U|QnwfDof<@)+!)Ybmdsa*8ysaBGP zX|Lm<-nKHH7TmHDp9jmggP)RoAYSz7gI9@B_Gk+d2S3DK~B ziC-lUun!2~6UEcO-)7unfGB0;Kn^H_m&9)Z0Wx4yARSKo{CLN&ktgCv*d#n;Y#2Q) zKZ^)Zhbh9zYD1E4(|0NIh-Za|Yu_8b@%W%b5g&@Ij7Nz*>*eZ<&fe*!gXtUAJ+Zsj z7^m9Eo0EmBsd@xBK;ddj{>qdCiO89W;p{+=xYri0wa)XjZ>mh0a)fKRd4MHzNnDB( zg2jkQ;4T(u!7WIcjm1*pu5az2pr5j?9jus zFI_36M~-!0O3Hb895Ku#h?e-Oqx$j;1I%5+A{=gEhHzerj)+Uih#-(8p%idSJ#Rk1 z*#HaV4w#|0WCN{Eu33rjKQG|(~N`0 zPHQa*18-JXDTZ6@3si6r1iJA06-;c}o{4ZbJesg8h zwApmi&B2pD`0EHN`?f2d>dit~9`v({ODKtA#8>mn5kLK=goOKU`%;S)GNB+6%%foKt`*!nuMX~?& zFV6f%e(~8i|LlvW|LJee_n;GY^=7_$WxH#=y5s;&kvgAtOQ=W`0t+UWnDA8-CNK-3 zBoP#H_K>zeKrkWcu-R-MzxUDKxcAOeaoyj(zP_4zZ!uljNVh)Hkably=Z{L9W}$ez z`{varnO)Vx5eHBQFt8wI9R}jWtvNHBQQ~kr3XMqc84+yFDWD3g#}<1k$c4ZxCG^0U z5r(-%JNS5rFi1X{%D7`C3k@~*x53F3a@w8nT(_#*p^zD;eJ;02-c-I0uPJGlf`QzD zfMz^4jFr75Na9*j=@b;`5tV7~;eySQ%E1rL{~15lDmzG><92VbaQYnI$-Sf-?{#rCYBz zH};f9)7LuPymmTdH!}0NsS>s3%}oK2IEaij+})T%oDGpBvyg`&JltH{JniRktZg>8 zh#4|)r84*H^R2^?7Q6+`sx2G}5V>M@nk|}>D%?Vsj`>=bhUvx2ojGZ^S8M9E#ez;F zP6&j#L1FBUFgKsgYnvy8x;8pai>%sG83K@$BNgFT3C~^fzTz5fm*e;I#0FQ%;K)jkvh&v5`&ph5)i8F&7&C@;R`!~*(@xgsfL2WB}j;b zfRdn*auEtP7*Z^XP6$(MGFdrbyiQqHL3`t~#_2bibf8%Gr zOE&)dfAT*bKE0GZGBJ^{APk`}ClDkr^2%|pHzHcLxW|3X-6?N(tUVp+IEMTDy*G7_2S^D8Keh*7^m(0gY*3k zFF(K0`Qhos=?_0R`~LmE`S1SOKl|(#pZ6E7I~h*DcTT&Kcf*;~-~FF|H2v2<_qjbi zq1*j@^2xVXfge6uKj7VAIQ!9W{`Bs0y*6?8G4Ws|S&%QzKAQZEtHf$GJa~srAC}Ye&Aacd zPwq_dxl_W(61U5xl@rL+5aD1i7}i zucub4wl;6C%DsE1ClA)$k0gF^vwwcry=kd=;VIl9DRa|e2b#G|mJ|h)gVtTSU~C$? z=38PH+#7JkSY@0#E_e8|8Se|8GIWLe2}42hzxusr2PKH0Cv+KWMpe`VbjSq*fe_^I zcBEHCU?S5@UCOJbBSVL57MDV)>AwPt3ftuBz&=B>@GnN8lW`k|leShcq>bDb5$ zOm^h9gkhd$3$&(c-kP;}u5%4@k5FqcO-!x^4|AStQ^RhYTVx2Sd!UfRHQdb1+-8mH zZ45V&#LSXANLi5AsT3ljZYW(YxnD9QFpz-)YRxEkKB$uGtgW>qvsTd-9wMHTySp}P z^Ei)(c|15QIB4j|Q79!)-=#i_kh+f@pRlegR~PQC!Q6NZvv_i2KDF-rf6yt7!yIsmdG)qJlwuF{p4@&=lI2c^RK4E zm4r|bBiuj^_5~Mk9RKh78jqM}ELFWn9>X!m8@SVaaHsq%ke_3m7{{L#ckAQ`1Rt@k zN7?`QlE*zS-E}>Fw|>Ua@gLy}Fz&b$<{(C-pe;pju>x%f8=`erF7BnxId31jo?+Oq zMF_g}N$E1UFs0-^&(~L9{N-v@sU*DuwLV9s-u!{KtL8RTYqUAtbnDZ5TYdTZ&p-L{ zH~!0?KK-r7&!(3ra&vxB&M(XS|J{GU!w2ydhcMzoZKa+AGpP5-!=aZ)M z{-IwdPU{tGVyAAqlf2)x#0Y~3C_n*TIHLh6G+#Ovq#nZsb_e2 zbit{`D#h9P`e9G^fVE<4{W>57WJrfzP;P;0Y2egj>Tp%@RmHyHjp4JvR4`?nI;IsK zW}G@Czz#8Rf&ffF1_PGR6ZEbdfB|x%aE>O)uY$uRq;ooS~MvTC1~DwAR$j9P_N4nTe&OoD#_Is@)=* znOSQZ0aKr+*|de*)J6h=++6PlI57+6rKG`Ht&BX^Hdkxa>g?0LPWyQtYq++$4;_WW z2u$n|s@g23xf(G%v^6yZf;pSHsuDvzNOBs4g+wIhB&h>QF1-Ltd>JVZ!zv|N+H$;E zXpng?tGPD7-4&cvTb-3jIaN(AYG$T$)z%K$+5g^Wt1) zv;8RUwNA_L*Cemf4L$U$3)Q%8ZEb7WwXeCQgoSeK%+1}7j7()GMKqZR3F%;eMTcGV7( zC^Y8zN&zBf_Xd!!nYU8bWxScDFTQ>G>DRl++`qzO2p=Dd~%t zb-()z`#=55Pi|hlUhUr+-sGz{eDjR{%`fN|Z|>cD_$U9@e_h|~Xpn6xdL^=#li~4j zDKEeL!e6;1!vK)O0+C6W9awa-8a@+?=oqTRWj*ePQ8~IiQkw^vH>m zg)3z^ra2pe7|w_=4X==bFr*AOa6mFt!z$X;bRX^7btV8Z1O%KRJ>?a+FiB7fVXW3T z*`nX(le5*(G5Ky&Rs(FNJZvsjReX3*=xL8fz+fnWP^jWyXo2id_PI4) zNuQ9xE5V;s{Mzx#p}?WxWe-j`70emN%Vh+qgLFsF9x8aTPYa5}7C>zv1jOWl=CBrR z^utV_K?jtLWp6&+))!2lI`xWM;3aUyI0)X~Adjd9brea+>*rifAN>S#-BjJ(KD*J| zb)6?OZ_!k>wPxmO5wj6x>2fPcqeNhdWKe*J7ZRT>HIWKLFemop%@^6VwboirDFdj- zS2fcHhiPlIYMt6NwmP*oTU1vig1ff}AX3UoG+S-%4q5I8?qW6vDG{DPQ_~r(^{u_ ze`wwUD#%RKb-Bw~M2L~HWacdH4bEQ4Qk@8SvS{Sgi8eF1S(rC#Rws)v=7L}x5qf%l8M4B#Lb-vy@%?r9AYB4_^rsjYJR$ATZZP*)ts#swATo51>joF( zge2e|L&BOMKm@d++ryg3&1$nISz#*}41Ne*;tN|@Z@c~kh2REDkV;m7KzY1=Qa|{a z|HJW@xBp7NQS1pOlpV`5z?UpONblx)0dQ3L{~Cwq?w@{l1Ncq?iog1Px)Xx#0$Slg5 zrAmk0D{ESk6v#NYj%oLApT+f|``~*toM1CmjRYbGGZ8Ij%H&3*VIvzV>mS@hgRdDqhMr;VuN+pcT7{Iluuh*V0P{51f05s-|=5Ehd9jx(3qOOkL-k{IIV z=3yfmQsYerF&dRL=Y@#L<6jc2xNsWBQ060Yxeu-SLixm*&tPn zBXA3Ehy+m-0WAwwMrEK!2FL(L4kQIT!l4PdLob{k0}Sqw3#Qw4dz0!pHi9H+SYZ&r zF%!g(4c;*zeXx1df0(9er+)RT|MoxV=gu<(Ok_u=C5{{6rAcO?@Q41j^ZjlY`&T=F z?;Zel2V@6;yD6TSG{_l5ccs7}=cC+z+&5@5MjE&p~*2LyPrAvppNLJABVJz)j8 z$ROjMOhBdM?UqVE-_Ch0;ay&xuO8kr^8_>lAnBwOPB@IYqrL>>eeoaP+&s7XCg{)= zT}kalr!T>j){if=%;|(_YNeG2-rfIp{P0V9Fm>%*HX zeS6@8h7l_lOQld|YLr^DnBX-|&QhJ@&A++XQsa9UL=^jLtCJW7ARJUEQY21MlQluV zO6L!{hwsY8#romBzQ5m{-M<~%^!AWeCEQ-W_-cCdP2Igp12)5O@#M!3-hFz|XS?}I z+uUu2YPh_9JHB~Y_Ftapt-iTz&AQ%6oD<-%B~PC2LWK?5;BCnpax}on)oofdMzp;V zu~~pXg0eywdoYYmeLk4hupMG#a&U$W?g>=DInqGXK}uSkl+$fKS<%y{_uqYRU(!0~ z4N|lE^|#;tX>ZhR&hq^S_bz^R62J3Q{v*N#Xo%<~iY$5*EuV|tF;A!sCg>BhnRQN? zXUBHHV?}Sc4(t<73eE_H!3na+;&LPy!H#KqWJC^tP>-L9qf7#~Q z!}9~anDDO*zo_`!u@Yq9Hc)|Y4KEeH7I@%Cu@ovJuG5#qXSwHx-#>4+XKgNdD`Ee)}q{N$dlZ)|Sd@AGiHUdFR8Y?|mar z{@u;*R=Ik$w{ALgynXN82b(dK)qnP1{ICAS|K-1m#w+4`+q3f;x3_dPw|-0CeEaf{ zzTFQh_j42Yx{LK{st2nPhp7NJ&klJaKR^zVvWSs{FpI!e11o4Zss)itN_4i8^Uhxw zHqvnO^5nt2@q`XAH-(tjP!Sn=51N`ly6Dzvb)WNzjyz!9`-PyK#aR2^xcp$!6<4h#1d;EE~yFJt={W;fn9&|rF=ilx8Q6L2p1qFeX zIB^P35Js`!?D-IFrs_f#rd}ml;xy37jO17aYL69T1(X08TmS;!4JO101qqNq#Yy?- zo)bWT88N{|=l}=0<|m0KU~*grK4!dN+&D(yK*$NR9Sgj*Vc!5oB8-Il8N;UBpJ^BT z_9UhDgNv(|<@(KyBIc=9byr=wa5>=IUzJ6z*2ueWZs@zNtkp}F0GcX%yVnA z3!%0-5iz-{J4?=#OC}-Wr9h@|$|M3JmQ-saA!lWGcOqcH1O;NQt%fv+J5&P@ZSD?> z2yIF;rA=t1nO)Ik76HSPwWhlBbmAESSJa9mNIg=A9PmAK!f2?03Q)$d!jK>%4i%TT zeq%9rk~*9xFfaoG(2PT1Z4ieCyaN?*kFG%*RLSqf!)?y#7`zX_Y$<#9HhZ1b)@f+S z1zDgM>y!6C`pJI2jW_d)ufMRJaRUToM+45$gku2ifSp9JJC(-n#{alGs}~}_-^n$6 z4D{m2<2(ksj8ES>GWc?x>)ZIlU-&fOGDwT!-k#xvX=JttNr1{z=t+o*8|zm zZ||)c?PR<9up8cg8xMc^<_G2CqX+%}@a?BcF*RI$eKRQTt%pDVxBtR5$l4FzefRav z`1!Z5*ODKF`>ntB*jrTb>DeB_&Qtgm!I|Jm)O~2e1_6kfnirzN7#IV~d68#(5<-`e zf?#%HG~M_~76lGpyvB-#C--B0Hq8??i#9t7^;-->TAw1XHTsAI8v5a+=YD>*KfHeX zHlmik4*lu*cDma1L%%A4Dm)8pixcq0PtW3+{6T*@ z=XTQbQ;rzvErRC=qK>&wScgTIx;}U??x>#n z+))_>tOBncQ()(Khv7Llp`E1F{r89cOSyWU4zInoF>LZS0uYv^NE@+$a5NlHjgo_@ z%bidLi9k$U-1+!Ju`r_BJST8uZ(3=dmNUVY_C}WDHZF4IULNCGIJIS zKw49Z>^@8GSc-$9NX~sK-OzQpbp5JduUD&e>5CK=CbDYkMvT_lG*4nq8xk>*B!*Dmms|=lQ!YrtrEpr-@=)_e z@gy88R+x^*^>@I|JMBIe1)r8;$%Q3E-{k;sEcj!Z5IOx$IT%#a8d4ibrw(r;G7DQP0frSH3xPEXdQh+Fpai^uoM z{fq6II*RrUS3P_0>dQy*)t_Cz9WUSPk_;D{vnQJ;7d-Zjo~Sm) z4~TGX93Zzy5$<4bJ@8<~-m0TS^jywj~to%3NlTt9m`hVzYF++UwPdVf4z?dp{Jetovue{-#~J^Aqu z(`lDc2N{*eHqUc(U6a+tc60yX6Dz(M@#LL08_n&Yx0lz?uG8xI_0@Fyh6pks8oU9H zBrw1oq2Z0Jxhukgmtvx&h**P#JP>nGVjCmC9?%M%C`QB5Tp~;>po=_2>RbxLy+4&i z>2y1suFAHTlao^GjnU;MZv;0Prw!h9{d@F&!jqDJ+(9aRKE_woCj(Vq37)R$`$IaJ zZKX1#)VZhRl0r7fjfn`L&JhU?E#U{|P-;7x!>f~Yl*A&7C$i(G0J69!9Hby+;FzhW z1>prmf+vt5-(s5aUmKog3;}Z-3}ax~%QgiOvL7!NCZHY_pcx(*fg8sYL9v83Uh-yr z@@~HPe!6@qZ(c8-*hnIYnK*G0S8eXGkR03*k%ftgm~$zai#a;5HMIzMBOz6-wYhng z*(qWQx23L&OP_^ufS5ysa-S4J+`+4`H(^LXcp>PyA_65vsGl(x*~})w){` zeJSfrS@mhvr!1U;BMgL$`C?Gm76?yZWU!4f7(`e&#rFB(*?<25hhMe8o;}Lp~mzea`*I)j4cX;Eh+QWCwfBwtzpg%fX ztcQo)^>lb+h0F5lKmJGQ(VMyWBHjG_ANtcbek8v4t6$u%7dNi|-u{hmxH5(OT;f+t zz6jxL#KtT#1-4?8t8l?QA_|kZfI{`;yd<3!-I*ltoy6Xzi*0R*m@tu*eVH2cbSldz zi0#Ak>HaT$_uvb!F7JGNcKte(RYXFZG6F;8 zSrt5^0$QMxB~~{;IWg2 zS+DHW z9)X1YW6%h;fJK<01T;N5a{1i+)~l=j>1^|8Ha-Cog}_A2drW$W0YMoaTX5*wnMe%nOeDtC>`S%GUCmm} z$ctKGMy-Y2hpE@<62(oKn7}Sxp)7%zB@uf7+6to*J$RB}u#h4^LQy9(qgs?GLV^v0 z!2$v`v$kuO%Y(L&7$ixGOo1qg$kkD?!nA7EGLf0psnn6B74~5$!h5O0o?S|owUiOT zLTrYyH?09oRtdxokq{^_i-bTiQ4AC!gqZ{$6hxqEL{=i0oXxo^CPh{wiC*2!h)nfL zKV;?=0E3;pWYftwsE|=>l1w=ew>QJ_4a^!W1RFuvKL81PgD4%N-5~cqEV@MmC&&aS zrij#H$v{FI0EY^yOI*b^AVr9v0R6L>NgV+}Dtju=-h>M45QLgF#=+M+J)d?{Uy)i_ z$$}9wa-p&aq%dDJn?5~eS=?IgUS9N%&-ICO+4phPt~$N`4A=9+i09P{fPPp0=fhWm z0YX<3q&;4AZyw&ScK7@8A4W@ge-)s;LiX8xg7?#)tJem(D={1db~Nk_qj3l@6C-yu zX&SJYBBc-)3w!)7&rU*0!*)}QYq)exZCIXMONrW2a1{8pTkXw**^($Zc0~`WQz_$V zwh^s#N5{9GJ8WK^-#C7MckwrWEq(L-SI);*h}KWeH&QP9#qart{$TU^&HCQv?9F#> z=7MCWU;LXl+JEMiAN}8b`@j8{zxB(1DFJUjJ#8Bv7?OxHlIn3A4wIW(Z#*Ol?sIr> z6h*B5(mYVLzPF*+39w+FH{o$V9W`l~YU{KQ+Fwij$ho?k(kl2UJBu0fb4{Z^L}>o=;m|BlaA9gTz@%iA8+3H@^^-(Pi-?Eq$men9>(ta^>i|~ zq8><%YYvbsnh%J($uW)V^G&6(fXg)5dYd=9?fTy1M{o3Ry;0BByq{I~aKQ9xE#yWZ zu=unC6>{}GdX^bZRI3Lebz&hev>y`dXi(HqsW=HCIXYtTFbB^N7Tg@LB+OQ6xlBi^ z*^R?_hdOT@y5-`Mm1}Y5{gjZQnMO`E-e>}S({Rn zCWa<)U?Ml@elKKh0Mu%Q!)n%PaAjwQkQyPl5br@j06D|hh*_x`td=pr0>Qm96SJ#n zkQ7s*NE8Aj8o7f@QC3l5a`KurI8@6xTGcUYHgXcRoJ;izH`&{kOEC}55Jv{8nZXB; zOhuj89pO+Ui#o;%HB5V0@&pTTf$Z}GbIgXiI}WQQx(q$Xc0`G2BNhS)hyld#Lo8Ca z+M*92K@woXFk;9sf=6&csvrYOF%@S{9YVqw&=12U@z^dCWoisbd>_?IBzxG;0(A3e z@!+hTusHtY(RgobPl{{c3Hu@2Rm~9&-8Xoj4fTDG(!1*JUZww>o^^Kt1?^Y(euaFx zdidM3hS$}5g+L%9!?QnW{~PS90rYG##O!;IOam+#Ew~k0CT}9Mv$#%%;L;Gwpci-P z-~>TJc$CKvXh`0!QhHv(PE$V5*0syqZMqr4Vc<;lNvRtzkI|l8Zu7&Z@p66ZAbsl2 z$L9|p9(?`l{ja?_|NeH>k2g}F}(QGZ~xW*>-N2;uPnQz(=d#eZ=QYU z;{Ws9=ieFMdDCit{orO}@zHc?lW&!^>TyIcL< zx0WTw-+BLOBdukP=26HgC|R$f&upW<`wPE5|FO@U*p0Njc`!SeQ)5S} zms1(0CLKNT)|pMN8t!<%Uwf_AT}Pw#AwzWHnXEfw@O>s;Z~}lbU^948zFGYq>tqvyH>>94L~M@53`^$F z5LXG2oGn(by%(X=G4eH zTYgY#=*3zW-SF!q3Ah; z)P!bHH4_CfN-+eXF2x#IC75NfSNG6_7~4R>Tkf~h=*5)GEvQM1BB`A(x~83VUDHTp zO0risDIA)!x>d7M>Rt<-OI546>}IoTOf|+fbs0NwR+A~m7HLzrC6!eKvpX?4p$b4 za|lf0ZXQ|55N4#mXr2&`+G`y;17~EQ?a)P}h*^L*Kp=*9 z2!h}U1%rb}=!j{Ji~SD3krJ2@9a_8}r)k+877PXT61&Max)~0x9~^XD10vM2zd1n^ z#ZVJ!%VpmBrVsO5hbNz0KY8b=Z7YTV5Ckv>(;ndLMtkW8?fts@LYQBH+MmV$o%Wsw zHTP$o;l0*zZ}}zmt6jlWo(IqBz<5>x!?TwTUD2NRV^!>Niq4K;9s*{9md%x9jjb~Xy>M0LkZr9W(ED?5B?%JR;=9}La$@4X?5E`+F;>Q89*|9bNFjrIJw>o=$I zjJA*4-P7BtJ$iF%U;E1C@4WF5l~2!Sb>O!jpN^<6-Z{W?$A>R09{q>^+IVqs49@4x zwHvq8yo1TpyBELyDAqCu_3O)nn+JpC!(ajS5w+@0ph2svx!4LM#lSWLX5gF53nEk9 zqX6r!+_=%)iS1CWA)4H@vL*t>Uj33wFut_R#xE|@Sft<8QqI2e7yte1fBYZ2`4fNS zrH_AlwF+#kVRmUj8o%?x(cQD{)4SZs?71KR^!wkGr{8>&!nH0eW|7h?&gSjxqs!1A zedo(x*`1GC=-Npaj~7JKn{Rw~v)OT_YHQkE=-IpV-uwFSoJaz@1C||?AOM+7fU_!* zlAF0cGdd8NI-E@Rj&D+Pw<|@AW=HmYC|K1ciIc`TV&^GvJEtH9a;qK%%hjx#EfSK^ zk|}v&pN0@Dh%kbp*@6|N$3?-mq8LWO2v9;J=rUvnL0PqQ9awT$g)V`TG4HT*vH(fw z0>a88xkrr~7a>VVfbN~@Bcuna*UR0Lv7V`9g;2A+MvEE`T5t;oM#V(P0hVD78}O9y zZN@O*@ebdum?Cn5H<%ddnYTL@REH}}4XKT8R;`e`sgWRp05@p@x3Z~#XEM^Uxvs2pl!6=o&}1ECb6mH=aldu*Ch<$&N+&A`y2C1)#{+0<$X z5rLM&^(>xeCpK>9*8Bw$E;LF~%lv7pRTY1nlLH z!S_;kHM40dQ&lxC8m4L35BXy{ifxy=ww-meHpP_KU7UQXg~V#Ps8&l+E%4%2i$T@U zb%82Zi55U^T4RVzU}iWQ@2N;?Rf*ipN*M`-05w*HsuD*Vi<9MAbE&399U&4qapVw! z1WtiTT+M{9bkDqjGIr3ayb~}ZWm19!fG8+@1V_wAh@)&U8IZt0p=iy2Zy$tVDY&{P`7%TX4QWj|>^hDT6@DRRN6b<;&V zoHtw-XUn*FeYRcq_Egy-xeD}ZZo98;DesT&4y6yvSr*nFGPw)SOhCwe7N7$CU;!E-a*Xyn6*9J@Ez70{3_w@ zCDxPcjQjura6t(u0gZwP3X}q`sDVS`6yd(Nc%kH6B~bt-lz>LS0$H?NeCM$~_e$y? zuO6OH^r!^)NKiK?OaK_fOu|lL4ie(X5;%xZkPrn#-hi#Cth-WUZ1OM=QHTki_r)wN zg;-LIUezaaGD*Q%~f^( z0Wr6!)|_DqRfwdN+F847+c@jGwn?dpk;$jxAgvZcm@V4%<}!G#R%_m}M7OK}TU5XSZB@Q*}zQ>o{~s42g(@sL=hYH9!fypcFhEVFp$xBP_8Z%py3T zAxHxNH3JnH2o2^Hv7%J4r4Y~sG!@Rk3}N2HKE!n%ciC$6S%B{g`0yQuF<)-_$J=_k zn#Hk~+RYAcAEy$=(^7}xy^<4@S*{GcSL6BLRRjaBUJO^yb>=;s&q1`G{Or&A>i)Y= z{Qkr1!n4-!9v8Q#L0;7Wt~f9ITLlrAsByGT4Oz?7%6>hJMA8JATzki**EI1$Lasyu zN%E*s6zgBx4KX*@#&kf7k32nlbo;rFxz~q7pT`~Y!?UNCHVpja{xUxJqks6ucmDj( zRw}d?FK%@aK+{l zZTUR#7H%gEbr*_#BbZLcGF?42l9&g8>_W43U_mk-T}b zJZf${ujP7Ewuaq4%I9iS11SX$K~gjkN{K?0)HF>ekvNIS{;w^2p$s*rtO^N2(2{N6 zWv(KT;pA1RVFI*TM!|k@Tr)FsAX6hIhpRh)s$Q&CRD%+eYA%IBNLj22l|l&AP_1xc zD731(D$HP7-JrFI2PRIEQVdoP$Fhht~MG&9{b`-@}bnToQ${Fij*c!l6fKb?WPkf1SDlP0u;5W!>FWty^I zo^4M1acx?tEAx|fILj}7{LYi~R7ZRG!F}I(gp{(!IPb;WbXCl9ay5EpjwJBaV&Lj< z=ll8o{(rddZv)Rd0Q)uOhi{N)HZNRNzxILA{Y99brHmL3ry0<(H|z;A7h?AyE($9l zE1S}OV0BvJB71O&L6#WLhp?;GOl2_DvwV@62-KXd%{zxr4GP3?e0qs#0&HGfp4Lp)OY)TclB{1-lv%CBwTI`3{B(8))RKKuJ` z%xC?7@n25E-3WPt;iNsO2i@~8KmRnjJ;~1<+&F*pO<0Y=QM?5LLP?yI*=@!=S~N=6 zX05iO&g;wb8^=ZovZ0B=B$zve(Fc2NwW@&&G6veDWAJm=c)p3V7+l= zDgcuwV;3_R++FwIXmaw(1|w$}89)Zhd)y#tQ8uzksgf()jb?1?_<@Fu2f(WB8oxMZAdVTH_%$BE8%cDQO6*Iu0QCvVA5 zv)!n)aGI+&BF#R{Frk=x;3mr6v4x5<5H%r)Q8Fh-0FxuCb)~YoVEG3juwN_Y5Y62G#bFEO?JHe{eT60!+5I9N-p-rh> z%nrH~MJUCTlAw6yb{x%Vm=u-vL0TmbBtjBc_9b37GZ61xX@EIZ1-n7bOx@g_Jj5s* znizS(&11nJN)Wh)(9}PzwQ|nqp{pUoj+R4++sB5hVgW)SkLarDt>&{UvbP=nFBSS~X6Y8c6O)MQaAqZ?w zZdUY)++t?%wXVmU1A8Iv(xOES;0B_RD^!PZd$~@XY^I4k>@IZaVRg9NE&BA_B7Cf? zPy4cQH}dR14DEvfcDFr@o0zUx|5uN5f2MFTzshov!=7oop1nNqOyqbq{JFYPd{{sG zkO)MKD-k?90-S-lc+1o>N2X3RItqzFsTkZ!@eCwh+-lq7IzHUdq-KDa9B_9~B(q;X z6aMP^U;AdgsHub3E~OQ$&PZOE&u2gT_2Wl==eb*Nz4!R#S8r^b;^4DxzL?}%uYA5e z`|a=9cw*c2x8BF6{ttio>3I6>|Li|L`S{Dz8~O3L88DYyA3Of!>ko3i^QV61=A-w% z`|tecW!JBO<+8cyVK)_GjPUE+TJ^#CxNT0Z&n3y}v>R-Su=gL_8>TYr<|uiN0QX#b z3;qK6*)$wCv6Zw|20W+_?j7NX>ak(`^^*V0n1s_Cgf*))$wX zZh0vF^lZENfN6n{xv8}nz)+AeS3unZnJNcic2d_X?Wcp>jA2*mW;XK4P`OUZ&NdkW zArd-J=h7l1q#4rOLwkjQc7ZuKrV5&zIUXiI52uFOUD9O%)*9nZ$v;X zV+}@WK7VBvK6N5LI`=z$<;uZ`W(@P1y;jbG(!vr;gC-z3$^Zw|9b%%;1nHckf_-0? z)j6e;i3~6yJTg`Ti&+ z1u<|B-(At6BS8t3t|CKBjWeL)#%Hjw!^DQj9SWqqv)yyO`FhrfTL;zj`uW^)^_{yqJ2e zlnb+n@RhdNot!n-;u3PlY}KTu2{9#MGd5!43g_55*d1^K{QBHL|O@kBqzOUV77ndV)506MK4kO|W-44TU!nW3SakxyYgia7H^z7-ylNe)n zaFEa*!f9{XfDXH-`LG+Yz!h}46znE@Tu7Yi2+~5eqQsCSRjbOmmeRyIgMpwR3Zar- zzj;fH9`|R6DTF#-bcc7A<)^Ma+&K4fP zSp|Tx$A@0cfBeI*{^7HJpBQz2775*751g2=PkBY6DBd^{Apxuan4)uy1SjWJ+pZSd ztS2uV5BDzX*``i)IvXv+3MhgbmBhk&c(ZgL&70qPL*|S0+)*tx@5FD_PrUH4_~l=| z{XR{Gq%hlUjdk_m}>o z?Zf->%0GVNpZK4g|H9w9fS-K+k3D+2E${q#c#wx*`K9aQ=@SeYR42YBaVI`1tY|eF zoDFRw%SV?LQVfM%`{6twe(va~N%QWoopyu6KUnX^i=9VdqNBE1woNR$t4>jhmbn>; zFH917hQp24rM&so`TDb$KNzdD&EcVUa{V|in-mbt>gna+lJZ0!dFlCg9?@YE{=xUB z2ls|Wmu?-aoOtRcYc$h*pxejIM-OlP&ez7%ds*srkJkzFwD8)h&N^(0H$HdwB8N zL-$n-31!{tM*DIxoi@)uKVj|YCeXPZ$FwVyLx>FCjXMf_5Sj)f0RlFVg2r63I#VgN zR?a4V5R4!J62TQ9P=i^96ZU>bo@`fQvc{G#UK=0I^O}4Rj!Fzmt-0zR)|{t2j9N3hhrnjVNKhtcLeAs}BIYJc4t3N09#6H#l=h8} zsy>Z%8m2Ny_J%o` zF^LuhWEje3v(3{~N-)n5w~uD7Go3C_$Pg zrRM4qkf%5eQ;tF)5*GosR*RcebEp}R%)G*DvBI@ssWm$zOjeCC!8eL`)}woELs#mk zmPtm5kEUHN#K*G(0Wp?9Xt7vxpVGC1xLjeLAZv_@&A^o;M9fz>F(6|!n4|9U{mXpF zX^cn!_DZE)t)*;AbUlrqnw{UvzO8NnL@b0WOor{%7Eod)H+2~AE9ZL#;GPIXPJ0K~o(6QaM)+`b zaP{b?4;u!A5648W(q$4{4054igy zul=E4zW0k-`ncN$V6}Sj{qKKuBD(%B{b~JkKl7b0{ErWC9&vQ?ldtRVyR-blpI&r7 zdHK!h>CgRZKY|aofAKF>8g3jOt!jF^JU+|fC`a=yg;vIX!fuWi`1pm@$w%J%!PhI+ z*O(SmRzQ#8u+E3Vv1!MQZXT}B4>sdPh+)jb_R(6q$m)VnSV5K49egD8h(m@|Q-$9D zrC(pY{CxiL-}ll-USBQe>2TH%N}nmzMexYsQ7PZK_hc2?Ew?Y-nJ@pyKlJV|ZR&cv znlFC-G#Q7kzi5VAnpZwOZZNL6a zA!@)IVD0PRaAtNTW8{`C$HpUd&%Q$(zI7y^6wQLXJr6siBni*?1CmK(%Tn zroEoU`}I)DG)q^u`m;b5LKbIsN0^Q zpQl`N(Q2uk#nhyxZQ3pfb4Zc`bGVX&OVsN9G&u0#YV*}k0RM#^;M?A=F1bsyb%Hq&S9)BIOx2*2V;?3=%|uW~zJR~DQf z-VXd(gX}~2gQ3B`VnXxe$%#~$LyKl5P@1o9NW8shPL6Ih8`<4|@?ibs{^1c_ya!3( z4%7fZY{UE{)vadoA?rN&_;5q*jTjZep^o2BKA#eenR z{@g1v*J&hpjmz)7^TGM3tB>5`fA(KY-}u{x-GIY!{`p78ciQWB+GVWY`cD1t{*&jr z&5DBco8;J?pC2{xC7iquFR;U%2&R{i6xSDj_Fv6+zHs_C{;h&-!j#R{=vUy|?TVDA zzJFZ9W}G^2Q;@*j*bl5|CH?q6_S)b5g}0_$Cgm8(fo&-><<`6pZYBthF~9M*esKtg z2OoLmNCFufsX4vaHLE}$cz$2>a|eq~=)Fhg69zsGaxmQg<~DEn<&TcbWA_8qva0hM zW6*dzg+KCpe*CSEz3}M4gX@R$=T5G(L=PRR`|zo^7Pr2&9j9-97>EhcF?X!MGsq0QC+i0=6B{B^(@9{P%+;!vJk-Y*yYIL0$mVT8 zTdB(|jyA!_wc3>IKoBao0gEP9qoah|O>@(2HaZ88krHLarpo1JxTLIS7-KYJpZZ5y(<7G;Py-wB5 z;0Xo#Wc~2H)prJ*C4?r%UB1~iH@SPdyLfuJ%@K7*CI`*xN={HSNJaWh<&?M)N}ZBc zuz`UhP{0ioK!n(#K}0FVd{kQJs9|+f(m;!)%-eBWg2yX2L+9Qr{`wPY>1=0WpBa5v9+GUiMwRzpoif`EmCK$ry+017GX2^6GoCpF|;N>;6A z)nlBwc+<|>u1hI4ZEU*4!94`Ptkw!RT#}fZh@==DRha~wLI@%(3?^kJlA5PUeLGFl zG;Pj@&1R@(dGgrI8eVdceaB5iI0SO4rMgqirkaV8s!gTDn3%Y#hpH@{sm0hz5E6<} zh~c@(YO|D}#twibbdav(!K|20Q&9;pmTGX<;ueI%SZE|@o{qYMd0LpKKod(g8g{lN zxmYX@LfaVH5iY2sR0#{%Q2jW3@Ylc<4>IYf_QpD_bba-5GP9e*h^`23a5#Mk1-jbxUgd)9!_~n4U+gJDSL1(rHVvY^5#FzE z1A9>8hwB3JeX2G%=Iml<2*EuOqE;<1nYbREETLsxZB5!8%ygZ6ShJ%R!~}PMrES}` ziQCPDB-P6H@f6d|=RfhuZnJpu^Iv>r+n&hkGe7>3_wGG8y?=50V=p-J`rTdobh|zn z8tAXMgQ)`Y-;{o%JQJjuEyr z5L^X%Zsq!){S)n-7k=~K|8I|m3T)f(V)L<=fY z#vpRFR1^3<$?WFEuQt8a&43ImN?;;)ac@i#&|W?ILko(ahQJ;~Lgb@Et~pR6(n<*R z;_=&CdorKj>5s?7>}HZ9@O;J#mQYXwYH%YsyT#D5ppJ`!?xo-h)1aE2RBNSJMm^n* zcZcac#r=Ht*i2Oi^R(*+>t@$ypFX1VfYqklU+4FTMI0sfg-(a{l&oDX$fMW&P&1+$o;+Tc%Qwy!_ZRc|AuXoj8=7HF>q6610;X+|t||vC z;2AazpliXU@nJidMIA|++#H9^Txr?Wk%kcv zR*-?zys8#c=jsMUb*h2I6*`r1H%wEhdDNQ6aaVKiUfqn8_Q&NywbU9)1~^F|5-3C( zI5k~os3HW*AqD^nGli;}Iq@FmEJ6}RQfg8YS(t^C;9!?v0)vSJYtV>t^r)!r%p}BD zK1y?QQ`cO57^mHKx7+la?d3R)fE->sGBc5&u$W?q0Yo7t%~iO`IoCSnshZi9;n1f* z5$-XHl^VN_3G5bJ*o@skM()DsniM3-R71#6nMlSmnX&p-td*?Wuo06} zy*9s<&{bUYSPy z@N9M^9KY^|<9$g?TkyR)NG%cJ+&|NI}&ySq7tw7oPP;=}jx{Ricj|3Mhn+h)~R zndef00-hw$(arb=|5W?J>b3s*wE<@yxezZ&%`TzMZZQr?f6pyZd{?Gk({`SZJ zSO4??zx>bs-{mWR|0&ilzx?7q{Ad5UH@@?Oho{@O&z{&&pWDT2Jp1$?`odSf@!hE} z3yL?7j!tI!8~r#kjZkAm)zCG)xfG{f$M1gg;P9Z^YOU-?Ehh|BAB6fAm)F53EiTv7 z;VLc;0(p}TuN&F+@dx=j24DRaDa4D1C@|_&5ZG~ z>rQ6#*~K`H7P6A7x{!iYT_ID+j-aO13keYv)pgQ53DM7C4+jG|pbL zf{55yI7D*cT4HQ-hQT7Sj>@$NvtqCORdYC4wMvQru_SX;_X;Nv8!=!?g^0VBEwH*M zVxnqlW<(^+Fw0{h4=e(rahyiYm+N7-8~dD#fntb6%wP!!;1J!Nm8BB1?qtFrIJkRqv-zG+Zghi)kOx>9 zr{S{D41vK+(uO^+-G++7t;Fu+1z+4b`NB_x-}vgu+uIkmjlbXDw=;jV=DGOl@aECU z%P+mW`__9W4UfCaN9!lcw(D<&;ch-e9Wd(me(Uh#$7k<RUi+v2nTOxH=U;q!yuH!idHLw~+{%Za-TX&?x%10g zI2;Q-edm|{vH#OQe;I}^|JlF%dU@kI&Q3sa`~L0U_u9MP`quW|+b5m0O}9R~2r}Nf z_xSSR#mRhr{rU?iy9XB!S>j+;SzDGR(?ndLqm!ZD`}$YD{BQroo4@yuFFx|}3OA4A ze60Dx=*W0o^T{a3G3gM_Ut)Mt!ko4Q%|x$f|6z5L+L3;ox>LRNUsXe8eApW)9zLp4oJYJ{DJsXi$BZa2Hg`2p8$LpWH>&eyp0+)KA_zB(IT{K)bX z)2@B<-j|+SesA@{;c;{4X8gi})KGIAGLNP7Fx$mT4;KBn>txst<{5+#VFqzff$e?4 z&RL5R@A^E}oP)#=16EBeA@*h1?xq}47^+hU=4Bk~o``UHen!jL!NFmdUT|D+UBlTL z1V{sMxMCp002PLoku3xrrS6so*SiIuUifIWW`l@Qb{0b}T5BDuRwZ?D^1TC0ts3o% z_e^T$?nOfyhPk@CyTjDE@u@Hek*I2+X*`JK0cuhMGr(k4-Kf+`AP%BblQh+B zDlQR}*_2X@*c)U*bSJMQfy79Zxj2j4zLspJX5-isCq)^CVXV{WMFC1}1Vz*)06=V# z10+HWcd}ycBos+fvBAv=h19INr3J&aSe{A_xul?h>R4b(?sXp;QoR~vn}QG}%ogO1 zQY~gT6Dt{&s%g&Z>~1xPsXz^b#ZrATnl5Tl&c!Y~AVOe87zu$<84UEJuD7$EG)i4K>Oog0FH z)s5i{n3IF(8Q|01_bOk;6~ygB6~MD@@IDAi`0xsFwG8+WGqnE?$w6eTVh${T&M7gX z5fKZBhn$^~2w8UMsIfsANLkX+-0~QXT7p8=M)=M!7|3PThFRB^)xm2Yd-=sb{L+LU z{Jrnou=t6O&NmO&-Qj`6_~gmOteJiEx$DjOqsN;yruf;v|p@FYD7mQPiagFePBGfcC87jOL1x~;pS#_mEONJ_`6<-zKBkrwlI<&&0XWDAiJ zK{`*Q7+r|DjbSL0y5usM*GLvg606oH)8@@7zf=4o@>op+we$Ib;M&cj-#0HeUs`^Y zYdx($7#9zv>(BblEWF#SUTAsVc1^bQ^y2MpJZ0MH@ObdeXuDy&pKapgEQl?J0m!HX ztKhxNG(|Ml?=JhkWD9f2f#+1&R;&}YYmc*Ih|Ebu7!LOs5-}N|Rn44;VKs%e zx@OJpz)-Mfl)A+bgrboH>=7a%auf>H;AVR;Ppt;hTA}9Ie429c353+9CM7M&Q9=L( z3NZ#|Vg_g$CQDL_l}hHMO0`sSgB5~X&XhvQg}CehVq?tQR3>+G53XL-+@09GnwvWb zT8;*f0WnhXh*IiQN}1T8TFogCKOM@s#>yxYO|wMW%QP^SV&~FM77reYVeacev~q<$g8$-|qo_SN_L8EE@mN5#a0ygvQZ0 z8enD`zyxuxyXp-yRho$fw(V&9YX${pSv=q9=)-!fmAM6q+J$EoX`1%n#D;6zN2?)B z-~4ZW>Be_2PdNR7pStx6UwePM**L}P^JYPO@5{ffo+G$$cO-EZCa3;&{B|5N%G{>&Vw0db;vcYiwi`(J$Py@#vi!TWjs%Fq1%r*Hg1 z{gq$p0D`Whg1y}R1$`km*KX?r9IlQ^?{Ott4a1kedI#IvO{&9GYwtWrAC%#6-aX!JhXqc@aTgQ;L2(QsruA4_3TNV%K=z<{+C98?{=IK3 zKL5FND}H^LJ{sCZPuE+y6XQ(%!K6|AhVY$beMeL_JKC21gE7o_`1bGk^BO5}JN zv^075{@WisJ&Vt^adGh6wU5lMFQQ3#(ofrI_xS9|gEybN`!GLFq^d7b?ExcJP? z_+ym|Cw_x-m@d3r7^aLDg<0Sx!6mElmK1ZpBTt=6nUQ@1Ed^e7$0IP2GU?|pDt&8n)CD(ThVRo>&i zs8)r+7;Q*FggKZR?}@-}YO3UcDTpu;%!PzOb&qyXGpnkAxf zVF3w|P#`7;Q%I2ARMZQgHCLGWUUSHR*S-HZ*WwB;Orvw4QZkc;7%UseODP~iRjtlI z2!UY2#0KUVDIlf+1Bgw{GP&n4@Z+iEAWl4Ohs#{DXIvQeEJ z;}AOxTF~vuKL#R?0Xf6>TUz$L;*0zl-iNN{IBr+BfoCX)J^gcE@VL4y?7iUow*h0{ z33es~VCI+sbD)7GaBzbvgM;i9^O%&xDFq5HNt$_^Qnc)V$D>w;qP?jRT7fpr$uYGj z9$vV4^ke$Q)9{_UM;gNE@TFh=*8Ij%d9rDZ4%zQMe)k}(LTxWG9C^co+WC6(ci#Ni zjXM=@t}zjCJuN?Y_fft3XmR$R47l4MI2!RfzI*Sj|IPoyUj6u;|NZ~sWfA_1%`wmq46_?d3o&-Suns zy)Qj3Pj9YXKeIcZ{0slH@PS?Y)qiKJc~ghmtLELOj~54xs&2JEYUW*#$P_DbHnn=K zjUmX{rt(m}{WpKEd;OL6$3AoG)17gHrp{wJ3<2(bmK!mgiEeRa((13^nu??=|#5|7HHZW@Es~fAMk2bSw zX3NM;NwKQ?*pDEt+@*O(je24hrjc}S7_cOyp!N9^Z$o=95ABS6Iczr=7sBE2@Y=O> zYcqtdTUOg`ZG5=<&U@#-vdecHS*xmUGv)rl`0&AKO4GVuN7AmPZ3#7(q7%6}EHcbs z2JR3fOdE|23k>G0UUZsvRl)G!MMtf<@1%7r8IWPDc~S(9LatSS1_r~wYC&}tS1=C$8lESgnXWVg#ZFV2Vcjq}as(Sw}{YMDTqy5MA{vNzwj zIqeVc!XZS70w*crP!=KrM`j@GSpbT_Vpc;+xnwd^tzK*Ksfr zm>n#-&GxO!^*a~Wnn**yszN6WAx-PusfP0!Z!OZbM2!hM20`p%(=>5@5LTCQ+v|X= zyV4$p4LjOBu8mwAw5Qb)!28EO`Lnj~{w{E}1dwO!f9!|3gdYkZuR=n^&lqv^Y%fe8 zMZN+it#mxJMZ0uxEy%L} z$}he0;PSQA0$r}XKRMeZk(Xb3@#6k_bHtt5h@gm3L5yI*BzdhXzEzh&{J=EvN zo-e{TzB7$|L{rfeBt}$O<+IxT_)nky&ePc^ehg2~Y@-F!5^{NT(EZ6jp}+j=M_>CL zSBT71{UW#HG-0zH{@Typxp8pZ)?L`HE#Lg~OHbZ??_RlB(koy1lmE)!d;GNzZr$p> z`PZiWbWVOb<&@&BlXQ4}H9S54NLs|S2x`3!8f4xjufDyw_>EtChPLAo+h94;Zbr`NoRY#b)IbKQs-_OBrE0CAgl+46*G}`B zQwRqccYfuI@1I{53PiTw%sDxX_k}$%a}X0lBF7+bV~m#X5#2th{N9f?ndg$ z#PB^zzzOEA1W=H~QDPHQXk%zdyjBNu1~+2v?#|Baq^zpK!5ymBM;;fe;PZvrGHWr9 zMb*@+sTfzS1R5sM>P>2x$V*mLb>+YUFpIgx0ErT!2q>h;fmPK21_f^1BMF7g*;W_n zusuPmWjPh!mT4!c3rw}pSVzkhvw4SwAwek4=WRWJOQupSw>%5rh`7Y!9rLs4A~mHKLQU}+96qVW zwrf(8LPvt36h_saBr=)AE=tP{Ep}_fusS?`;qdgq`PbiQM@QJe@$h20xa@B(yT=di zP8Zu-uYB?@uYU5M{WIVD#V^WOAD-SlO!V{z@7Fdav>CMlsnhXlHhZ!Tbr+Y{rqNS( zP;;2vUVP!D$N$aWuh(TG@x~`!8Nd9cK=bXjWBq-9y1w`B;qUxHtHX%Jq(i~#%)9wyemoL2hso(x9e`$5^-4v!M7!+S9HUahZ^ zWYz?N>7;ugtXE)vfF}`VB_}6VS0yOJ_MZwPAvB=q9w2kb61;$P5WZRqai9<=Mr}Ll z3!(9<&`R^!YI)~Qq{A3bOeGhZ#+vfP?RXG75EBJfH&Tkx4a|_h$fBwoA%QCckvF-{ zn^lq~bxPojywk@|*Y6vlC*AaCyWwFT&uiYsphR60#Tc4%t*%7o){w`R;WY~9!K*oi ztFw_1;9N=CnT1?j#j3^R3J*?}sZ89pDYi=~-Qn>v`;%$hS}kE_Gei+%B64#kVL*KH za=9yvAptF{3)3t>Xe979*P$=5WoZpWM(%9f5UO)ab($*cV!_WJH`lMfK07%2$mXbZ00-g_B(g|IO%t0CnzrduYC>doCN%qPaH%B_o7(=d!OT~207gM= zQv-@2rNyjmqC{fX0*)awn9bp8Wh!b~YaPm%^W>gqi6e)VEWD~4CiUznMT=T3MkGvN zkX6;{Q=JG5rfS8=69;16D{(l4keW6%!W>h8keZ9c$WeoFNaG}dC_tMEZy*t^6K52% zlC{@t*-M)ihOwfHXad5DnuCKyqPTxv3L>Ex!nxP2maJ`uWAgc=?!GR1+Uw)3e;_g* z9X8y}`t9!Uh#cq;Yxc=%n-(S!z(G5M=AmBbt~W#St{=CXX$n#;rH+&>gax?U9nK4gme z4{1No-T}TJN?uKY7>K~!vCo4?Ab`lPBzx+n;DV_EbCnefB6|~$S4{~+8AZ5o5HlDV zQ+s?!N@S~H-QKwU$_uZ&`0y|Om79--718l?H^2Ml<8{_ncu9EvxVZ@Q?&EX&@l?*f0L}FY0zk=TjKtjU<+*j-@_&D&jfCu|{NmGWIj9^l@1{`YurK z|MHu+|HMD^_DkB5)H`q6*!Q{Vp8d)Hq*y7}2*{h$8V2jBhL5vGRP>;(1ax{#_qUXO>8W+NKD zyjTxAK@lc5&82g!xNwqn?Q8*>@BD4M|6W|hIE;0@ad%U- z49L}NXV3cE$GgaZ3d=u-u+eqAc5i#y&amr=N-fN{$DCT*L)qJWJ#8n+|7bKA;S@tXnFD9&9vP{Lq&ilu^ z{)2uvpY$vUQp>BZ)>=a%Z)RneiJEG)Y8`h9MqK!`HJ`K!m{A6}!;Q#D7?eFLs$v+b zPSggMRQ5PUGBOjdB8bseO}yg=*DGZ$7YJP~7L|z1Ohe=lKoE9P6c7!0(lWJymmL*X zg|yMvo}Zr8&FQc@Y>uyo6qtyUFgmGOFZ-vhpHMnrKWM_@@MQVZzvosnvtRpCe&?Mh z4)empm}81?BKJKVvlM0)3n37z>7MN+L=uEROhjr-?yAL=$qB|x?l7(HP%|R-y;O`_ z0)zrU5(N9_hHywtjI)s1(6q!!LW-%0B7vjUs(U);R5MIK=Ij*qj|7$&P`g>x2J>lKhGw-ow3~-=Tp_B{uAB{amUBOkM`<2s zP1ue_mMLIvs14v|<|)c77$z#_)U_dJZ_@0>>UN;nrCd^6=X}<-p1NHvZ*OuynAPSG zXqZadcpq%q^#L9m&jl&U{J5J^Z@d>n@3Ug?{dbj^6wX&2UfZLcuQHvqCw)Hq=Vw3& z`Vjv>&&tGC*MO@bPy__nKl&4R4+jo#f{n7bfJyYyLyXATD&@0bnzSzyHv$cUXw2NT z-L(@hA?Ityv)dng{q_3p2lUQ+3yHR-(+|ee$J<8jFvVumKYeR#X0vA7>zm*E+Q0Iz zjf?9)`Y-=Eyn4NU^0^zo|K-bHeS7_-?=CjGg`^E~>3QbX~)V%!X|Ecf(-2c$b zZYK^Gm-i#K4QyfC$A9Kn47JGGcoY zThU#QKBKL!fB*uk?hbNeB`V|v$g~H06JN2xF#}pc=e%;BLpsC;(xTa`s)QLP!c5S? zVv^Wdh++f=MQX`otsZ5OLedZ$k)Ulrqm>J4n1!}VnWh?Hpx!5_hQy+i){WE1T>JI; zC`L@=zMJl@r$@Uox#oF1DE;nW@!4+i!S_G->gs4ww%b}YOP;1$ok?AHN=5}xh3JQ^ zMrRk#!a`xj5)cOU>N$gpF~~SDF-x=xP>NVdntMNmgIkGrlb#oiWTVkE?Xru1DB^Z;-{tWEc5B+P&Wy-2na#43R zgM%eFK{!f`5}T9~k;K#xK`0Q#7@D?QG;KFqF1oJimh*1bwX-&gh_eRk`vIOERCB3j zL|{s(ZCFU)?skbIM58Y~adYieVRkr_=0W=*N+ zQrML`jCB+>XF_muEfs2JR%;<45)L9T;wUku5F`=>Gw~~@t?CuO2yh6CQDg~oGFc_9 z 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�M`A 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 lG|W+IDTNz0T0=-LHq)$ literal 0 HcmV?d00001 diff --git a/examples/notebooks/image_experiments/stablediffusion_images/An_apple_orchard.png b/examples/notebooks/image_experiments/stablediffusion_images/An_apple_orchard.png new file mode 100644 index 0000000000000000000000000000000000000000..af39a380f11cbca1b5e22c180c789fd6b97b312e GIT binary patch literal 591602 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≻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≪Z?|@Ho#bc1F<%Ni%>nO~=ElTi0)8 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%0APZ34aaeo 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 zℑ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

A#}SFLpG&Sh^Wy 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 UukS2<5dmK$LsLQt{(98^04^6fk^lez literal 0 HcmV?d00001 diff --git a/examples/notebooks/image_experiments/compare_images_folder/A_fruit_basket_on_the_moon.png b/examples/notebooks/image_experiments/compare_images_folder/A_fruit_basket_on_the_moon.png new file mode 100644 index 0000000000000000000000000000000000000000..7d9881c8d66d9d430a4028dd9f04f9a1f291402a GIT binary patch literal 366355 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 v2AUcHmaXwS8Jjzo*>66bu({ZtVJQ1}Zv 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