diff --git a/docs/language_models.rst b/docs/language_models.rst index c705a17f..e23d8c8f 100644 --- a/docs/language_models.rst +++ b/docs/language_models.rst @@ -2,12 +2,15 @@ Language Models =============== + Language models are used to generate agent responses to questions and can be specified when running a survey. API keys are required in order to access the available models, and should be stored in your private `.env` file. See the :ref:`api_keys` page for instructions on storing your API keys. + Available services ------------------ + We can see all of the available services (model providers) by calling the `services()` method of the `Model` class: .. code-block:: python @@ -21,11 +24,21 @@ This will return a list of the services we can choose from: .. code-block:: python - ['openai', 'anthropic', 'deep_infra', 'google'] + ['openai', + 'anthropic', + 'deep_infra', + 'google', + 'groq', + 'bedrock', + 'azure', + 'ollama', + 'test', + 'mistral'] Available models ---------------- + We can see all of the available models by calling the `available()` method of the `Model` class: .. code-block:: python @@ -35,77 +48,13 @@ We can see all of the available models by calling the `available()` method of th Model.available() -This will return a list of the models we can choose from: - -.. code-block:: python - - [['01-ai/Yi-34B-Chat', 'deep_infra', 0], - ['Austism/chronos-hermes-13b-v2', 'deep_infra', 1], - ['Gryphe/MythoMax-L2-13b', 'deep_infra', 2], - ['Gryphe/MythoMax-L2-13b-turbo', 'deep_infra', 3], - ['HuggingFaceH4/zephyr-orpo-141b-A35b-v0.1', 'deep_infra', 4], - ['Phind/Phind-CodeLlama-34B-v2', 'deep_infra', 5], - ['Qwen/Qwen2-72B-Instruct', 'deep_infra', 6], - ['Qwen/Qwen2-7B-Instruct', 'deep_infra', 7], - ['bigcode/starcoder2-15b', 'deep_infra', 8], - ['bigcode/starcoder2-15b-instruct-v0.1', 'deep_infra', 9], - ['claude-3-5-sonnet-20240620', 'anthropic', 10], - ['claude-3-haiku-20240307', 'anthropic', 11], - ['claude-3-opus-20240229', 'anthropic', 12], - ['claude-3-sonnet-20240229', 'anthropic', 13], - ['codellama/CodeLlama-34b-Instruct-hf', 'deep_infra', 14], - ['codellama/CodeLlama-70b-Instruct-hf', 'deep_infra', 15], - ['cognitivecomputations/dolphin-2.6-mixtral-8x7b', 'deep_infra', 16], - ['databricks/dbrx-instruct', 'deep_infra', 17], - ['deepinfra/airoboros-70b', 'deep_infra', 18], - ['gemini-pro', 'google', 19], - ['google/codegemma-7b-it', 'deep_infra', 20], - ['google/gemma-1.1-7b-it', 'deep_infra', 21], - ['gpt-3.5-turbo', 'openai', 22], - ['gpt-3.5-turbo-0125', 'openai', 23], - ['gpt-3.5-turbo-0301', 'openai', 24], - ['gpt-3.5-turbo-0613', 'openai', 25], - ['gpt-3.5-turbo-1106', 'openai', 26], - ['gpt-3.5-turbo-16k', 'openai', 27], - ['gpt-3.5-turbo-16k-0613', 'openai', 28], - ['gpt-3.5-turbo-instruct', 'openai', 29], - ['gpt-3.5-turbo-instruct-0914', 'openai', 30], - ['gpt-4', 'openai', 31], - ['gpt-4-0125-preview', 'openai', 32], - ['gpt-4-0613', 'openai', 33], - ['gpt-4-1106-preview', 'openai', 34], - ['gpt-4-1106-vision-preview', 'openai', 35], - ['gpt-4-turbo', 'openai', 36], - ['gpt-4-turbo-2024-04-09', 'openai', 37], - ['gpt-4-turbo-preview', 'openai', 38], - ['gpt-4-vision-preview', 'openai', 39], - ['gpt-4o', 'openai', 40], - ['gpt-4o-2024-05-13', 'openai', 41], - ['lizpreciatior/lzlv_70b_fp16_hf', 'deep_infra', 42], - ['llava-hf/llava-1.5-7b-hf', 'deep_infra', 43], - ['meta-llama/Llama-2-13b-chat-hf', 'deep_infra', 44], - ['meta-llama/Llama-2-70b-chat-hf', 'deep_infra', 45], - ['meta-llama/Llama-2-7b-chat-hf', 'deep_infra', 46], - ['meta-llama/Meta-Llama-3-70B-Instruct', 'deep_infra', 47], - ['meta-llama/Meta-Llama-3-8B-Instruct', 'deep_infra', 48], - ['microsoft/Phi-3-medium-4k-instruct', 'deep_infra', 49], - ['microsoft/WizardLM-2-7B', 'deep_infra', 50], - ['microsoft/WizardLM-2-8x22B', 'deep_infra', 51], - ['mistralai/Mistral-7B-Instruct-v0.1', 'deep_infra', 52], - ['mistralai/Mistral-7B-Instruct-v0.2', 'deep_infra', 53], - ['mistralai/Mistral-7B-Instruct-v0.3', 'deep_infra', 54], - ['mistralai/Mixtral-8x22B-Instruct-v0.1', 'deep_infra', 55], - ['mistralai/Mixtral-8x22B-v0.1', 'deep_infra', 56], - ['mistralai/Mixtral-8x7B-Instruct-v0.1', 'deep_infra', 57], - ['nvidia/Nemotron-4-340B-Instruct', 'deep_infra', 58], - ['openchat/openchat-3.6-8b', 'deep_infra', 59], - ['openchat/openchat_3.5', 'deep_infra', 60]] +This will return a list of the models we can choose from (not shown below--run the code on yor own to see an up-to-date list). Adding a model -------------- + Newly available models for these services are added automatically. -A current list is also viewable at :py:class:`edsl.enums.LanguageModelType`. If you do not see a publicly available model that you want to work with, please send us a feature request to add it or add it yourself by calling the `add_model()` method: .. code-block:: python @@ -114,6 +63,7 @@ If you do not see a publicly available model that you want to work with, please Model.add_model(service_name = "anthropic", model_name = "new_model") + This will add the model `new_model` to the `anthropic` service. You can then see the model in the list of available models, and search by service name: @@ -122,25 +72,17 @@ You can then see the model in the list of available models, and search by servic Model.available("anthropic") -Output: - -.. code-block:: python - - [['claude-3-5-sonnet-20240620', 'anthropic', 10], - ['claude-3-haiku-20240307', 'anthropic', 11], - ['claude-3-opus-20240229', 'anthropic', 12], - ['claude-3-sonnet-20240229', 'anthropic', 13], - ['new_model', 'anthropic', 61]] - Check models ------------ -We can check the models that for which we have already properly stored API keys by calling the `check_models()` method: + +Check the models for which you have already properly stored API keys by calling the `check_models()` method: .. code-block:: python Model.check_models() + This will return a list of the available models and a confirmation message whether a valid key exists. The output will look like this (note that the keys are not shown): @@ -148,12 +90,16 @@ The output will look like this (note that the keys are not shown): Checking all available models... - Now checking: 01-ai/Yi-34B-Chat + Now checking: OK! +Etc. + + Specifying a model ------------------ + We specify a model to use with a survey by creating a `Model` object and passing it the name of an available model. We can optionally set other model parameters as well (temperature, etc.). For example, the following code creates a `Model` object for Claude 3.5 Sonnet with default model parameters: @@ -162,7 +108,7 @@ For example, the following code creates a `Model` object for Claude 3.5 Sonnet w from edsl import Model - model = Model('claude-3-5-sonnet-20240620') + model = Model('gpt-4o') We can see that the object consists of a model name and a dictionary of parameters: @@ -177,7 +123,7 @@ This will show the default parameters of the model: .. code-block:: python { - "model": "claude-3-5-sonnet-20240620", + "model": "gpt-4o", "parameters": { "temperature": 0.5, "max_tokens": 1000, @@ -199,11 +145,9 @@ For example, the following code specifies that a survey be run with each of GPT .. code-block:: python - from edsl import Model - - models = [Model('gpt-4'), Model('gemini-pro')] + from edsl import Model, Survey - from edsl import Survey + models = [Model('gpt-4o'), Model('gemini-pro')] survey = Survey.example() @@ -214,11 +158,9 @@ This code uses `ModelList` instead of a list of `Model` objects: .. code-block:: python - from edsl import Model, ModelList + from edsl import Model, ModelList, Survey - models = ModelList([Model('gpt-4'), Model('gemini-pro')]) - - from edsl import Survey + models = ModelList(Model(m) for m in ['gpt-4o', 'gemini-pro']) survey = Survey.example() @@ -240,19 +182,22 @@ The following commands are equivalent: Default model ------------- -If no model is specified, a survey is automatically run with the default model (GPT 4) (if an API key for OpenAI has been stored). -For example, the following code runs a survey with the default model (and no agents or scenarios) without needing to import the `Model` class: + +If no model is specified, a survey is automatically run with the default model. +Run `Model()` to check the current default model. +For example, the following code runs the example survey with the default model (and no agents or scenarios) without needing to import the `Model` class: .. code-block:: python from edsl import Survey - results = survey.run() + results = Survey.example().run() Inspecting model details in results ----------------------------------- -After running a survey, we can inspect the models used by calling the `models` method on the result object. + +If a survey has been run, we can inspect the models that were used by calling the `models` method on the `Results` object. For example, we can verify the default model when running a survey without specifying a model: .. code-block:: python @@ -266,71 +211,45 @@ For example, we can verify the default model when running a survey without speci results.models -This will return the following information about the default model that was used: +This will return the following information about the default model that was used (note the default model may have changed since this page was last updated): -.. code-block:: python +.. code-block:: text + + [Model(model_name = 'gpt-4o', temperature = 0.5, max_tokens = 1000, top_p = 1, frequency_penalty = 0, presence_penalty = 0, logprobs = False, top_logprobs = 3)] - { - "model": "gpt-4-1106-preview", - "parameters": { - "temperature": 0.5, - "max_tokens": 1000, - "top_p": 1, - "frequency_penalty": 0, - "presence_penalty": 0, - "logprobs": false, - "top_logprobs": 3 - } - } To learn more about all the components of a `Results` object, please see the :ref:`results` section. Printing model attributes ------------------------- + If multiple models were used to generate results, we can print the attributes in a table. For example, the following code prints a table of the model names and temperatures for some results: .. code-block:: python - from edsl import Model - - models = [Model('gpt-4-1106-preview'), Model('llama-2-70b-chat-hf')] + from edsl import Survey, ModelList, Model - from edsl.questions import QuestionMultipleChoice, QuestionFreeText - - q1 = QuestionMultipleChoice( - question_name = "favorite_day", - question_text = "What is your favorite day of the week?", - question_options = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] - ) - - q2 = QuestionFreeText( - question_name = "favorite_color", - question_text = "What is your favorite color?" + models = ModelList( + Model(m) for m in ['gpt-4o', 'gemini-1.5-pro'] ) - from edsl import Survey - - survey = Survey([q1, q2]) + survey = Survey.example() results = survey.by(models).run() - results.select("model.model", "model.temperature").print() + results.select("model", "temperature").print() # This is equivalent to: results.select("model.model", "model.temperature").print() + +Output: -The table will look like this: +.. code-block:: text -.. list-table:: - :widths: 10 10 - :header-rows: 1 + model.model model.temperature + gpt-4o 0.5 + gemini-1.5-pro 0.5 - * - model.model - - model.temperature - * - gpt-4-1106-preview - - 0.5 - * - llama-2-70b-chat-hf - - 0.5 We can also print model attributes together with other components of results. We can see a list of all components by calling the `columns` method on the results: @@ -339,57 +258,83 @@ We can see a list of all components by calling the `columns` method on the resul results.columns -For the above example, this will display the following list of components (note that no agents were specified, so there are no agent fields listed other than the default `agent_name` that is generated when a job is run): + +Output: .. code-block:: python - ['agent.agent_name', - 'answer.favorite_color', - 'answer.favorite_day', - 'answer.favorite_day_comment', - 'iteration.iteration', - 'model.frequency_penalty', - 'model.logprobs', - 'model.max_new_tokens', - 'model.max_tokens', - 'model.model', - 'model.presence_penalty', - 'model.stopSequences', - 'model.temperature', - 'model.top_k', - 'model.top_logprobs', - 'model.top_p', - 'prompt.favorite_color_system_prompt', - 'prompt.favorite_color_user_prompt', - 'prompt.favorite_day_system_prompt', - 'prompt.favorite_day_user_prompt', - 'raw_model_response.favorite_color_raw_model_response', - 'raw_model_response.favorite_day_raw_model_response'] + ['agent.agent_instruction', + 'agent.agent_name', + 'answer.q0', + 'answer.q1', + 'answer.q2', + 'comment.q0_comment', + 'comment.q1_comment', + 'comment.q2_comment', + 'generated_tokens.q0_generated_tokens', + 'generated_tokens.q1_generated_tokens', + 'generated_tokens.q2_generated_tokens', + 'iteration.iteration', + 'model.frequency_penalty', + 'model.logprobs', + 'model.maxOutputTokens', + 'model.max_tokens', + 'model.model', + 'model.presence_penalty', + 'model.stopSequences', + 'model.temperature', + 'model.topK', + 'model.topP', + 'model.top_logprobs', + 'model.top_p', + 'prompt.q0_system_prompt', + 'prompt.q0_user_prompt', + 'prompt.q1_system_prompt', + 'prompt.q1_user_prompt', + 'prompt.q2_system_prompt', + 'prompt.q2_user_prompt', + 'question_options.q0_question_options', + 'question_options.q1_question_options', + 'question_options.q2_question_options', + 'question_text.q0_question_text', + 'question_text.q1_question_text', + 'question_text.q2_question_text', + 'question_type.q0_question_type', + 'question_type.q1_question_type', + 'question_type.q2_question_type', + 'raw_model_response.q0_cost', + 'raw_model_response.q0_one_usd_buys', + 'raw_model_response.q0_raw_model_response', + 'raw_model_response.q1_cost', + 'raw_model_response.q1_one_usd_buys', + 'raw_model_response.q1_raw_model_response', + 'raw_model_response.q2_cost', + 'raw_model_response.q2_one_usd_buys', + 'raw_model_response.q2_raw_model_response'] The following code will display a table of the model names together with the simulated answers: .. code-block:: python - (results - .select("model.model", "answer.favorite_day", "answer.favorite_color") - .print() + ( + results + .select("model", "answer.*") + .print(format="rich") ) -The table will look like this: - -.. list-table:: - :widths: 30 40 40 - :header-rows: 1 - - * - model.model - - answer.favorite_day - - answer.favorite_color - * - gpt-4-1106-preview - - Sat - - My favorite color is blue. - * - llama-2-70b-chat-hf - - Sat - - My favorite color is blue. It reminds me of the ocean on a clear summer day, full of possibilities and mystery. +Output: + +.. code-block:: text + + ┏━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━┳━━━━━━━━┓ + ┃ model ┃ answer ┃ answer ┃ answer ┃ + ┃ .model ┃ .q2 ┃ .q1 ┃ .q0 ┃ + ┡━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━╇━━━━━━━━┩ + │ gpt-4o │ other │ None │ yes │ + ├────────────────┼────────┼────────┼────────┤ + │ gemini-1.5-pro │ other │ other │ no │ + └────────────────┴────────┴────────┴────────┘ + To learn more about methods of inspecting and printing results, please see the :ref:`results` section. diff --git a/docs/notebooks/explore_llm_biases.ipynb b/docs/notebooks/explore_llm_biases.ipynb index 9ab888e4..dfa1952c 100644 --- a/docs/notebooks/explore_llm_biases.ipynb +++ b/docs/notebooks/explore_llm_biases.ipynb @@ -13,9 +13,10 @@ }, "source": [ "# Cognitive testing & LLM biases\n", - "This notebook shows some ways of using [EDSL](https://docs.expectedparrot.com) to investigate whether LLMs demonstrate bias towards content that they generate or improve compared with content generated by other LLMs. \n", + "This notebook provides example code for using [EDSL](https://docs.expectedparrot.com) to investigate biases of large language models. \n", "\n", - "Please see our docs for details on [installing EDSL](https://docs.expectedparrot.com/en/latest/installation.html) and [getting started](https://docs.expectedparrot.com/en/latest/tutorial_getting_started.html)." + "[EDSL is an open-source libary](https://github.com/expectedparrot/edsl) for simulating surveys, experiments and other research with AI agents and large language models. \n", + "Before running the code below, please ensure that you have [installed the EDSL library](https://docs.expectedparrot.com/en/latest/installation.html) and either [activated remote inference](https://docs.expectedparrot.com/en/latest/remote_inference.html) from your [Coop account](https://docs.expectedparrot.com/en/latest/coop.html) or [stored API keys](https://docs.expectedparrot.com/en/latest/api_keys.html) for the language models that you want to use with EDSL. Please also see our [documentation page](https://docs.expectedparrot.com/) for tips and tutorials on getting started using EDSL." ] }, { @@ -52,7 +53,7 @@ "source": [ "from edsl import ModelList, Model\n", "\n", - "# Model.available()" + "# Model.available # uncomment and run this code" ] }, { @@ -67,12 +68,30 @@ "tags": [] }, "source": [ - "We select models to use by creating `Model` objects that we will add to our survey when we run it later. If we do not specify a model, GPT 4 preview will be used by default. Here we select several models to compare their responses:" + "We select models to use by creating `Model` objects that can be added to a survey when when it is run. If we do not specify a model, the default model is used with the survey.\n", + "\n", + "To check the current default model:" ] }, { "cell_type": "code", "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# Model() # uncomment and run this code" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here we select several models to compare their responses for the survey that we create in the steps below:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, "metadata": { "cell_id": "747d40bea4eb41b5a89d8b374216837e", "deepnote_cell_type": "code", @@ -100,12 +119,12 @@ }, "source": [ "## Generating content\n", - "EDSL comes with a variety of standard survey question types, such as multiple choice, free text, etc. These can be selected based on the desired format of the response. See details about all types [here](https://docs.expectedparrot.com/en/latest/questions.html#question-type-classes). We can use `QuestionFreeText` to prompt the models to generate some content for our experiment (a mock resume):" + "EDSL comes with a variety of standard survey question types, such as multiple choice, free text, etc. These can be selected based on the desired format of the response. See details about all types [here](https://docs.expectedparrot.com/en/latest/questions.html#question-type-classes). We can use `QuestionFreeText` to prompt the models to generate some content for our experiment:" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "metadata": { "cell_id": "1325605571cc41a194255b80b2fb2f87", "deepnote_cell_type": "code", @@ -135,12 +154,12 @@ "tags": [] }, "source": [ - "We generate a response to the question by calling the `run` method, after specifying the models to use with the `by` method. This will generate a `Results` object with a `Result` for each response to the question:" + "We generate a response to the question by adding the models to use with the `by` method and then calling the `run` method. This generates a `Results` object with a `Result` for each response to the question:" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": { "cell_id": "724ca2c7a38f4164a225ed4a8dcc2b1f", "deepnote_cell_type": "code", @@ -170,7 +189,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": { "cell_id": "054ec708d2f84854b971127f64ff2054", "deepnote_cell_type": "code", @@ -182,7 +201,7 @@ }, "outputs": [], "source": [ - "# results.columns" + "# results.columns # uncomment and run this code" ] }, { @@ -200,7 +219,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": { "cell_id": "c68d3be8bada402ea17184b978abfa70", "deepnote_cell_type": "code", @@ -214,35 +233,35 @@ { "data": { "text/html": [ - "
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n",
-       "┃ model                       answer                            ┃\n",
-       "┃ .model                      .haiku                            ┃\n",
-       "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n",
-       "│ gemini-pro                  Snow and rain, then sun           │\n",
-       "│                             New England's fickle weather      │\n",
-       "├────────────────────────────┼───────────────────────────────────┤\n",
-       "│ gpt-4o                      Crisp leaves dance on wind,       │\n",
-       "│                             Whispers of frost kiss the dawn,  │\n",
-       "├────────────────────────────┼───────────────────────────────────┤\n",
-       "│ claude-3-5-sonnet-20240620  Fickle winds whisper              │\n",
-       "│                             Maple leaves dance, snow then sun │\n",
-       "└────────────────────────────┴───────────────────────────────────┘\n",
+       "
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n",
+       "┃ model                       answer                             ┃\n",
+       "┃ .model                      .haiku                             ┃\n",
+       "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n",
+       "│ gpt-4o                      Maple leaves flutter,              │\n",
+       "│                             Mist dances on cool breeze,        │\n",
+       "├────────────────────────────┼────────────────────────────────────┤\n",
+       "│ gemini-pro                  Snow falls soft and white,         │\n",
+       "│                             Spring brings rain, summer's heat, │\n",
+       "├────────────────────────────┼────────────────────────────────────┤\n",
+       "│ claude-3-5-sonnet-20240620  Fickle winds whisper               │\n",
+       "│                             Maple leaves dance, snow then sun  │\n",
+       "└────────────────────────────┴────────────────────────────────────┘\n",
        "
\n" ], "text/plain": [ - "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n", - "┃\u001b[1;35m \u001b[0m\u001b[1;35mmodel \u001b[0m\u001b[1;35m \u001b[0m┃\u001b[1;35m \u001b[0m\u001b[1;35manswer \u001b[0m\u001b[1;35m \u001b[0m┃\n", - "┃\u001b[1;35m \u001b[0m\u001b[1;35m.model \u001b[0m\u001b[1;35m \u001b[0m┃\u001b[1;35m \u001b[0m\u001b[1;35m.haiku \u001b[0m\u001b[1;35m \u001b[0m┃\n", - "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n", - "│\u001b[2m \u001b[0m\u001b[2mgemini-pro \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mSnow and rain, then sun \u001b[0m\u001b[2m \u001b[0m│\n", - "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mNew England's fickle weather \u001b[0m\u001b[2m \u001b[0m│\n", - "├────────────────────────────┼───────────────────────────────────┤\n", - "│\u001b[2m \u001b[0m\u001b[2mgpt-4o \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mCrisp leaves dance on wind, \u001b[0m\u001b[2m \u001b[0m│\n", - "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mWhispers of frost kiss the dawn, \u001b[0m\u001b[2m \u001b[0m│\n", - "├────────────────────────────┼───────────────────────────────────┤\n", - "│\u001b[2m \u001b[0m\u001b[2mclaude-3-5-sonnet-20240620\u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mFickle winds whisper \u001b[0m\u001b[2m \u001b[0m│\n", - "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mMaple leaves dance, snow then sun\u001b[0m\u001b[2m \u001b[0m│\n", - "└────────────────────────────┴───────────────────────────────────┘\n" + "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n", + "┃\u001b[1;35m \u001b[0m\u001b[1;35mmodel \u001b[0m\u001b[1;35m \u001b[0m┃\u001b[1;35m \u001b[0m\u001b[1;35manswer \u001b[0m\u001b[1;35m \u001b[0m┃\n", + "┃\u001b[1;35m \u001b[0m\u001b[1;35m.model \u001b[0m\u001b[1;35m \u001b[0m┃\u001b[1;35m \u001b[0m\u001b[1;35m.haiku \u001b[0m\u001b[1;35m \u001b[0m┃\n", + "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n", + "│\u001b[2m \u001b[0m\u001b[2mgpt-4o \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mMaple leaves flutter, \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mMist dances on cool breeze, \u001b[0m\u001b[2m \u001b[0m│\n", + "├────────────────────────────┼────────────────────────────────────┤\n", + "│\u001b[2m \u001b[0m\u001b[2mgemini-pro \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mSnow falls soft and white, \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mSpring brings rain, summer's heat,\u001b[0m\u001b[2m \u001b[0m│\n", + "├────────────────────────────┼────────────────────────────────────┤\n", + "│\u001b[2m \u001b[0m\u001b[2mclaude-3-5-sonnet-20240620\u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mFickle winds whisper \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mMaple leaves dance, snow then sun \u001b[0m\u001b[2m \u001b[0m│\n", + "└────────────────────────────┴────────────────────────────────────┘\n" ] }, "metadata": {}, @@ -266,12 +285,12 @@ }, "source": [ "## Conducting a review\n", - "Next we create new questions for improving the resumes and then critiquing the improvements:" + "Next we create a question to have a model evaluating a response that we use as an input to the new question:" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "metadata": { "editable": true, "slideshow": { @@ -302,12 +321,12 @@ }, "source": [ "## Parameterizing questions\n", - "We can use `Scenario` objects to add the contents of each haiku to the scoring question. EDSL comes with many methods for creating scenarios from different data sources (PDFs, CSVs, docs, images, lists, etc.), as well as `Results` objects:" + "We use `Scenario` objects to add each response to the new question. EDSL comes with many methods for creating scenarios from different data sources (PDFs, CSVs, docs, images, lists, etc.), as well as `Results` objects:" ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "metadata": { "editable": true, "slideshow": { @@ -322,12 +341,12 @@ "
{\n",
        "    "scenarios": [\n",
        "        {\n",
-       "            "drafting_model": "gemini-pro",\n",
-       "            "haiku": "Snow and rain, then sun\\nNew England's fickle weather"\n",
+       "            "drafting_model": "gpt-4o",\n",
+       "            "haiku": "Maple leaves flutter,\\nMist dances on cool breeze,"\n",
        "        },\n",
        "        {\n",
-       "            "drafting_model": "gpt-4o",\n",
-       "            "haiku": "Crisp leaves dance on wind,  \\nWhispers of frost kiss the dawn,"\n",
+       "            "drafting_model": "gemini-pro",\n",
+       "            "haiku": "Snow falls soft and white,\\nSpring brings rain, summer's heat,"\n",
        "        },\n",
        "        {\n",
        "            "drafting_model": "claude-3-5-sonnet-20240620",\n",
@@ -338,19 +357,20 @@
        "
\n" ], "text/plain": [ - "ScenarioList([Scenario({'drafting_model': 'gemini-pro', 'haiku': \"Snow and rain, then sun\\nNew England's fickle weather\"}), Scenario({'drafting_model': 'gpt-4o', 'haiku': 'Crisp leaves dance on wind, \\nWhispers of frost kiss the dawn,'}), Scenario({'drafting_model': 'claude-3-5-sonnet-20240620', 'haiku': 'Fickle winds whisper\\nMaple leaves dance, snow then sun'})])" + "ScenarioList([Scenario({'drafting_model': 'gpt-4o', 'haiku': 'Maple leaves flutter,\\nMist dances on cool breeze,'}), Scenario({'drafting_model': 'gemini-pro', 'haiku': \"Snow falls soft and white,\\nSpring brings rain, summer's heat,\"}), Scenario({'drafting_model': 'claude-3-5-sonnet-20240620', 'haiku': 'Fickle winds whisper\\nMaple leaves dance, snow then sun'})])" ] }, - "execution_count": 8, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "scenarios = (results.to_scenario_list()\n", - " .select(\"model\", \"haiku\")\n", - " .rename({\"model\":\"drafting_model\"}) # renaming the 'model' field to distinguish the evaluating model \n", - " )\n", + "scenarios = (\n", + " results.to_scenario_list()\n", + " .select(\"model\", \"haiku\")\n", + " .rename({\"model\":\"drafting_model\"}) # renaming the 'model' field to distinguish the evaluating model \n", + ")\n", "scenarios" ] }, @@ -364,12 +384,12 @@ "tags": [] }, "source": [ - "Finally, we conduct the review of the resumes where we prompt each agent to improve each resume, and then critique each of the improved versions, using each of the models that we specified:" + "Finally, we conduct the evaluation by having each model score each haiku that was generated (without information about whether the model itself was the source):" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "metadata": { "editable": true, "slideshow": { @@ -384,7 +404,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "metadata": { "editable": true, "slideshow": { @@ -426,7 +446,7 @@ " 'scenario.haiku']" ] }, - "execution_count": 10, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -437,7 +457,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "metadata": { "editable": true, "slideshow": { @@ -449,69 +469,69 @@ { "data": { "text/html": [ - "
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n",
-       "┃ Drafting model              Scoring model               Score  Haiku                             ┃\n",
-       "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n",
-       "│ claude-3-5-sonnet-20240620  claude-3-5-sonnet-20240620  6      Fickle winds whisper              │\n",
-       "│                                                                Maple leaves dance, snow then sun │\n",
-       "├────────────────────────────┼────────────────────────────┼───────┼───────────────────────────────────┤\n",
-       "│ claude-3-5-sonnet-20240620  gemini-pro                  9      Fickle winds whisper              │\n",
-       "│                                                                Maple leaves dance, snow then sun │\n",
-       "├────────────────────────────┼────────────────────────────┼───────┼───────────────────────────────────┤\n",
-       "│ claude-3-5-sonnet-20240620  gpt-4o                      7      Fickle winds whisper              │\n",
-       "│                                                                Maple leaves dance, snow then sun │\n",
-       "├────────────────────────────┼────────────────────────────┼───────┼───────────────────────────────────┤\n",
-       "│ gemini-pro                  claude-3-5-sonnet-20240620  5      Snow and rain, then sun           │\n",
-       "│                                                                New England's fickle weather      │\n",
-       "├────────────────────────────┼────────────────────────────┼───────┼───────────────────────────────────┤\n",
-       "│ gemini-pro                  gemini-pro                  7      Snow and rain, then sun           │\n",
-       "│                                                                New England's fickle weather      │\n",
-       "├────────────────────────────┼────────────────────────────┼───────┼───────────────────────────────────┤\n",
-       "│ gemini-pro                  gpt-4o                      6      Snow and rain, then sun           │\n",
-       "│                                                                New England's fickle weather      │\n",
-       "├────────────────────────────┼────────────────────────────┼───────┼───────────────────────────────────┤\n",
-       "│ gpt-4o                      claude-3-5-sonnet-20240620  7      Crisp leaves dance on wind,       │\n",
-       "│                                                                Whispers of frost kiss the dawn,  │\n",
-       "├────────────────────────────┼────────────────────────────┼───────┼───────────────────────────────────┤\n",
-       "│ gpt-4o                      gemini-pro                  8      Crisp leaves dance on wind,       │\n",
-       "│                                                                Whispers of frost kiss the dawn,  │\n",
-       "├────────────────────────────┼────────────────────────────┼───────┼───────────────────────────────────┤\n",
-       "│ gpt-4o                      gpt-4o                      8      Crisp leaves dance on wind,       │\n",
-       "│                                                                Whispers of frost kiss the dawn,  │\n",
-       "└────────────────────────────┴────────────────────────────┴───────┴───────────────────────────────────┘\n",
+       "
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n",
+       "┃ Drafting model              Scoring model               Score  Haiku                              ┃\n",
+       "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n",
+       "│ claude-3-5-sonnet-20240620  claude-3-5-sonnet-20240620  7      Fickle winds whisper               │\n",
+       "│                                                                Maple leaves dance, snow then sun  │\n",
+       "├────────────────────────────┼────────────────────────────┼───────┼────────────────────────────────────┤\n",
+       "│ claude-3-5-sonnet-20240620  gemini-pro                  8      Fickle winds whisper               │\n",
+       "│                                                                Maple leaves dance, snow then sun  │\n",
+       "├────────────────────────────┼────────────────────────────┼───────┼────────────────────────────────────┤\n",
+       "│ claude-3-5-sonnet-20240620  gpt-4o                      7      Fickle winds whisper               │\n",
+       "│                                                                Maple leaves dance, snow then sun  │\n",
+       "├────────────────────────────┼────────────────────────────┼───────┼────────────────────────────────────┤\n",
+       "│ gemini-pro                  claude-3-5-sonnet-20240620  6      Snow falls soft and white,         │\n",
+       "│                                                                Spring brings rain, summer's heat, │\n",
+       "├────────────────────────────┼────────────────────────────┼───────┼────────────────────────────────────┤\n",
+       "│ gemini-pro                  gemini-pro                  5      Snow falls soft and white,         │\n",
+       "│                                                                Spring brings rain, summer's heat, │\n",
+       "├────────────────────────────┼────────────────────────────┼───────┼────────────────────────────────────┤\n",
+       "│ gemini-pro                  gpt-4o                      4      Snow falls soft and white,         │\n",
+       "│                                                                Spring brings rain, summer's heat, │\n",
+       "├────────────────────────────┼────────────────────────────┼───────┼────────────────────────────────────┤\n",
+       "│ gpt-4o                      claude-3-5-sonnet-20240620  6      Maple leaves flutter,              │\n",
+       "│                                                                Mist dances on cool breeze,        │\n",
+       "├────────────────────────────┼────────────────────────────┼───────┼────────────────────────────────────┤\n",
+       "│ gpt-4o                      gemini-pro                  5      Maple leaves flutter,              │\n",
+       "│                                                                Mist dances on cool breeze,        │\n",
+       "├────────────────────────────┼────────────────────────────┼───────┼────────────────────────────────────┤\n",
+       "│ gpt-4o                      gpt-4o                      9      Maple leaves flutter,              │\n",
+       "│                                                                Mist dances on cool breeze,        │\n",
+       "└────────────────────────────┴────────────────────────────┴───────┴────────────────────────────────────┘\n",
        "
\n" ], "text/plain": [ - "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n", - "┃\u001b[1;35m \u001b[0m\u001b[1;35mDrafting model \u001b[0m\u001b[1;35m \u001b[0m┃\u001b[1;35m \u001b[0m\u001b[1;35mScoring model \u001b[0m\u001b[1;35m \u001b[0m┃\u001b[1;35m \u001b[0m\u001b[1;35mScore\u001b[0m\u001b[1;35m \u001b[0m┃\u001b[1;35m \u001b[0m\u001b[1;35mHaiku \u001b[0m\u001b[1;35m \u001b[0m┃\n", - "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n", - "│\u001b[2m \u001b[0m\u001b[2mclaude-3-5-sonnet-20240620\u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mclaude-3-5-sonnet-20240620\u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m6 \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mFickle winds whisper \u001b[0m\u001b[2m \u001b[0m│\n", - "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mMaple leaves dance, snow then sun\u001b[0m\u001b[2m \u001b[0m│\n", - "├────────────────────────────┼────────────────────────────┼───────┼───────────────────────────────────┤\n", - "│\u001b[2m \u001b[0m\u001b[2mclaude-3-5-sonnet-20240620\u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mgemini-pro \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m9 \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mFickle winds whisper \u001b[0m\u001b[2m \u001b[0m│\n", - "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mMaple leaves dance, snow then sun\u001b[0m\u001b[2m \u001b[0m│\n", - "├────────────────────────────┼────────────────────────────┼───────┼───────────────────────────────────┤\n", - "│\u001b[2m \u001b[0m\u001b[2mclaude-3-5-sonnet-20240620\u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mgpt-4o \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m7 \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mFickle winds whisper \u001b[0m\u001b[2m \u001b[0m│\n", - "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mMaple leaves dance, snow then sun\u001b[0m\u001b[2m \u001b[0m│\n", - "├────────────────────────────┼────────────────────────────┼───────┼───────────────────────────────────┤\n", - "│\u001b[2m \u001b[0m\u001b[2mgemini-pro \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mclaude-3-5-sonnet-20240620\u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m5 \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mSnow and rain, then sun \u001b[0m\u001b[2m \u001b[0m│\n", - "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mNew England's fickle weather \u001b[0m\u001b[2m \u001b[0m│\n", - "├────────────────────────────┼────────────────────────────┼───────┼───────────────────────────────────┤\n", - "│\u001b[2m \u001b[0m\u001b[2mgemini-pro \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mgemini-pro \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m7 \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mSnow and rain, then sun \u001b[0m\u001b[2m \u001b[0m│\n", - "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mNew England's fickle weather \u001b[0m\u001b[2m \u001b[0m│\n", - "├────────────────────────────┼────────────────────────────┼───────┼───────────────────────────────────┤\n", - "│\u001b[2m \u001b[0m\u001b[2mgemini-pro \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mgpt-4o \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m6 \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mSnow and rain, then sun \u001b[0m\u001b[2m \u001b[0m│\n", - "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mNew England's fickle weather \u001b[0m\u001b[2m \u001b[0m│\n", - "├────────────────────────────┼────────────────────────────┼───────┼───────────────────────────────────┤\n", - "│\u001b[2m \u001b[0m\u001b[2mgpt-4o \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mclaude-3-5-sonnet-20240620\u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m7 \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mCrisp leaves dance on wind, \u001b[0m\u001b[2m \u001b[0m│\n", - "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mWhispers of frost kiss the dawn, \u001b[0m\u001b[2m \u001b[0m│\n", - "├────────────────────────────┼────────────────────────────┼───────┼───────────────────────────────────┤\n", - "│\u001b[2m \u001b[0m\u001b[2mgpt-4o \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mgemini-pro \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m8 \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mCrisp leaves dance on wind, \u001b[0m\u001b[2m \u001b[0m│\n", - "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mWhispers of frost kiss the dawn, \u001b[0m\u001b[2m \u001b[0m│\n", - "├────────────────────────────┼────────────────────────────┼───────┼───────────────────────────────────┤\n", - "│\u001b[2m \u001b[0m\u001b[2mgpt-4o \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mgpt-4o \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m8 \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mCrisp leaves dance on wind, \u001b[0m\u001b[2m \u001b[0m│\n", - "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mWhispers of frost kiss the dawn, \u001b[0m\u001b[2m \u001b[0m│\n", - "└────────────────────────────┴────────────────────────────┴───────┴───────────────────────────────────┘\n" + "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n", + "┃\u001b[1;35m \u001b[0m\u001b[1;35mDrafting model \u001b[0m\u001b[1;35m \u001b[0m┃\u001b[1;35m \u001b[0m\u001b[1;35mScoring model \u001b[0m\u001b[1;35m \u001b[0m┃\u001b[1;35m \u001b[0m\u001b[1;35mScore\u001b[0m\u001b[1;35m \u001b[0m┃\u001b[1;35m \u001b[0m\u001b[1;35mHaiku \u001b[0m\u001b[1;35m \u001b[0m┃\n", + "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n", + "│\u001b[2m \u001b[0m\u001b[2mclaude-3-5-sonnet-20240620\u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mclaude-3-5-sonnet-20240620\u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m7 \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mFickle winds whisper \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mMaple leaves dance, snow then sun \u001b[0m\u001b[2m \u001b[0m│\n", + "├────────────────────────────┼────────────────────────────┼───────┼────────────────────────────────────┤\n", + "│\u001b[2m \u001b[0m\u001b[2mclaude-3-5-sonnet-20240620\u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mgemini-pro \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m8 \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mFickle winds whisper \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mMaple leaves dance, snow then sun \u001b[0m\u001b[2m \u001b[0m│\n", + "├────────────────────────────┼────────────────────────────┼───────┼────────────────────────────────────┤\n", + "│\u001b[2m \u001b[0m\u001b[2mclaude-3-5-sonnet-20240620\u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mgpt-4o \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m7 \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mFickle winds whisper \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mMaple leaves dance, snow then sun \u001b[0m\u001b[2m \u001b[0m│\n", + "├────────────────────────────┼────────────────────────────┼───────┼────────────────────────────────────┤\n", + "│\u001b[2m \u001b[0m\u001b[2mgemini-pro \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mclaude-3-5-sonnet-20240620\u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m6 \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mSnow falls soft and white, \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mSpring brings rain, summer's heat,\u001b[0m\u001b[2m \u001b[0m│\n", + "├────────────────────────────┼────────────────────────────┼───────┼────────────────────────────────────┤\n", + "│\u001b[2m \u001b[0m\u001b[2mgemini-pro \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mgemini-pro \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m5 \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mSnow falls soft and white, \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mSpring brings rain, summer's heat,\u001b[0m\u001b[2m \u001b[0m│\n", + "├────────────────────────────┼────────────────────────────┼───────┼────────────────────────────────────┤\n", + "│\u001b[2m \u001b[0m\u001b[2mgemini-pro \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mgpt-4o \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m4 \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mSnow falls soft and white, \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mSpring brings rain, summer's heat,\u001b[0m\u001b[2m \u001b[0m│\n", + "├────────────────────────────┼────────────────────────────┼───────┼────────────────────────────────────┤\n", + "│\u001b[2m \u001b[0m\u001b[2mgpt-4o \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mclaude-3-5-sonnet-20240620\u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m6 \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mMaple leaves flutter, \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mMist dances on cool breeze, \u001b[0m\u001b[2m \u001b[0m│\n", + "├────────────────────────────┼────────────────────────────┼───────┼────────────────────────────────────┤\n", + "│\u001b[2m \u001b[0m\u001b[2mgpt-4o \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mgemini-pro \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m5 \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mMaple leaves flutter, \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mMist dances on cool breeze, \u001b[0m\u001b[2m \u001b[0m│\n", + "├────────────────────────────┼────────────────────────────┼───────┼────────────────────────────────────┤\n", + "│\u001b[2m \u001b[0m\u001b[2mgpt-4o \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mgpt-4o \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m9 \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mMaple leaves flutter, \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mMist dances on cool breeze, \u001b[0m\u001b[2m \u001b[0m│\n", + "└────────────────────────────┴────────────────────────────┴───────┴────────────────────────────────────┘\n" ] }, "metadata": {}, @@ -554,7 +574,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "metadata": { "editable": true, "slideshow": { @@ -571,7 +591,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "metadata": { "editable": true, "slideshow": { @@ -588,7 +608,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 15, "metadata": { "editable": true, "slideshow": { @@ -604,13 +624,13 @@ "text/plain": [ "{'description': 'Example code for comparing model responses and biases',\n", " 'object_type': 'notebook',\n", - " 'url': 'https://www.expectedparrot.com/content/d6b943f9-dcf3-4de1-aa70-f542e46adc18',\n", - " 'uuid': 'd6b943f9-dcf3-4de1-aa70-f542e46adc18',\n", + " 'url': 'https://www.expectedparrot.com/content/07ec8176-c07e-4f83-acd5-791e3d9324d2',\n", + " 'uuid': '07ec8176-c07e-4f83-acd5-791e3d9324d2',\n", " 'version': '0.1.33.dev1',\n", " 'visibility': 'public'}" ] }, - "execution_count": 14, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -634,7 +654,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "metadata": { "editable": true, "slideshow": { @@ -651,7 +671,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "metadata": { "editable": true, "slideshow": { @@ -668,13 +688,13 @@ "{'status': 'success'}" ] }, - "execution_count": 16, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "n.patch(uuid = \"d6b943f9-dcf3-4de1-aa70-f542e46adc18\", value = n)" + "n.patch(uuid = \"07ec8176-c07e-4f83-acd5-791e3d9324d2\", value = n)" ] } ], diff --git a/docs/notebooks/starter_tutorial.ipynb b/docs/notebooks/starter_tutorial.ipynb index 35edbec3..83f2a0b9 100644 --- a/docs/notebooks/starter_tutorial.ipynb +++ b/docs/notebooks/starter_tutorial.ipynb @@ -46,35 +46,21 @@ { "data": { "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - "\n", - "
answer.example_question
Good
" + "
┏━━━━━━━━━━━━━━━━━━━┓\n",
+       "┃ answer            ┃\n",
+       "┃ .example_question ┃\n",
+       "┡━━━━━━━━━━━━━━━━━━━┩\n",
+       "│ Good              │\n",
+       "└───────────────────┘\n",
+       "
\n" ], "text/plain": [ - "" + "┏━━━━━━━━━━━━━━━━━━━┓\n", + "┃\u001b[1;35m \u001b[0m\u001b[1;35manswer \u001b[0m\u001b[1;35m \u001b[0m┃\n", + "┃\u001b[1;35m \u001b[0m\u001b[1;35m.example_question\u001b[0m\u001b[1;35m \u001b[0m┃\n", + "┡━━━━━━━━━━━━━━━━━━━┩\n", + "│\u001b[2m \u001b[0m\u001b[2mGood \u001b[0m\u001b[2m \u001b[0m│\n", + "└───────────────────┘\n" ] }, "metadata": {}, @@ -96,7 +82,7 @@ "results = q.run()\n", "\n", "# Inspect the results\n", - "results.select(\"example_question\").print()" + "results.select(\"example_question\").print(format=\"rich\")" ] }, { @@ -110,7 +96,7 @@ "tags": [] }, "source": [ - "*Note:* The default language model is currently GPT 4 preview; you will need an API key for OpenAI to use this model and run this example locally.\n", + "*Note:* The default language model at the time this notebook was last updated was gpt-4o; you will need an API key for OpenAI to use this model and run this example locally.\n", "See instructions on storing your [API Keys](https://docs.expectedparrot.com/en/latest/api_keys.html). \n", "Alternatively, you can activate [Remote Inference](https://docs.expectedparrot.com/en/latest/remote_inference.html) at your [Coop](https://docs.expectedparrot.com/en/latest/coop.html) account to run the example on the Expected Parrot server.\n", "\n", @@ -121,6 +107,7 @@ "\n", "We also show how to filter, sort, select and print components of the dataset of results.\n", "\n", + "#### Question types\n", "To see examples of all EDSL question types, run:" ] }, @@ -175,6 +162,7 @@ "tags": [] }, "source": [ + "#### Language models\n", "Newly released language models are automatically added to EDSL when they become available. \n", "To see a current list of available models, run:" ] @@ -190,168 +178,42 @@ }, "tags": [] }, - "outputs": [ - { - "data": { - "text/plain": [ - "[['01-ai/Yi-34B-Chat', 'deep_infra', 0],\n", - " ['Austism/chronos-hermes-13b-v2', 'deep_infra', 1],\n", - " ['Gryphe/MythoMax-L2-13b', 'deep_infra', 2],\n", - " ['Gryphe/MythoMax-L2-13b-turbo', 'deep_infra', 3],\n", - " ['HuggingFaceH4/zephyr-orpo-141b-A35b-v0.1', 'deep_infra', 4],\n", - " ['Phind/Phind-CodeLlama-34B-v2', 'deep_infra', 5],\n", - " ['Qwen/Qwen2-72B-Instruct', 'deep_infra', 6],\n", - " ['Qwen/Qwen2-7B-Instruct', 'deep_infra', 7],\n", - " ['Sao10K/L3-70B-Euryale-v2.1', 'deep_infra', 8],\n", - " ['amazon.titan-text-express-v1', 'bedrock', 9],\n", - " ['amazon.titan-text-lite-v1', 'bedrock', 10],\n", - " ['amazon.titan-tg1-large', 'bedrock', 11],\n", - " ['anthropic.claude-3-5-sonnet-20240620-v1:0', 'bedrock', 12],\n", - " ['anthropic.claude-3-haiku-20240307-v1:0', 'bedrock', 13],\n", - " ['anthropic.claude-3-opus-20240229-v1:0', 'bedrock', 14],\n", - " ['anthropic.claude-3-sonnet-20240229-v1:0', 'bedrock', 15],\n", - " ['anthropic.claude-instant-v1', 'bedrock', 16],\n", - " ['anthropic.claude-v2', 'bedrock', 17],\n", - " ['anthropic.claude-v2:1', 'bedrock', 18],\n", - " ['bigcode/starcoder2-15b', 'deep_infra', 19],\n", - " ['bigcode/starcoder2-15b-instruct-v0.1', 'deep_infra', 20],\n", - " ['chatgpt-4o-latest', 'openai', 21],\n", - " ['claude-3-5-sonnet-20240620', 'anthropic', 22],\n", - " ['claude-3-haiku-20240307', 'anthropic', 23],\n", - " ['claude-3-opus-20240229', 'anthropic', 24],\n", - " ['claude-3-sonnet-20240229', 'anthropic', 25],\n", - " ['codellama/CodeLlama-34b-Instruct-hf', 'deep_infra', 26],\n", - " ['codellama/CodeLlama-70b-Instruct-hf', 'deep_infra', 27],\n", - " ['codestral-2405', 'mistral', 28],\n", - " ['codestral-latest', 'mistral', 29],\n", - " ['codestral-mamba-2407', 'mistral', 30],\n", - " ['codestral-mamba-latest', 'mistral', 31],\n", - " ['cognitivecomputations/dolphin-2.6-mixtral-8x7b', 'deep_infra', 32],\n", - " ['cognitivecomputations/dolphin-2.9.1-llama-3-70b', 'deep_infra', 33],\n", - " ['cohere.command-light-text-v14', 'bedrock', 34],\n", - " ['cohere.command-r-plus-v1:0', 'bedrock', 35],\n", - " ['cohere.command-r-v1:0', 'bedrock', 36],\n", - " ['cohere.command-text-v14', 'bedrock', 37],\n", - " ['curie:ft-emeritus-2022-11-30-12-58-24', 'openai', 38],\n", - " ['curie:ft-emeritus-2022-12-01-01-04-36', 'openai', 39],\n", - " ['curie:ft-emeritus-2022-12-01-01-51-20', 'openai', 40],\n", - " ['curie:ft-emeritus-2022-12-01-14-16-46', 'openai', 41],\n", - " ['curie:ft-emeritus-2022-12-01-14-28-00', 'openai', 42],\n", - " ['curie:ft-emeritus-2022-12-01-14-49-45', 'openai', 43],\n", - " ['curie:ft-emeritus-2022-12-01-15-29-32', 'openai', 44],\n", - " ['curie:ft-emeritus-2022-12-01-15-42-25', 'openai', 45],\n", - " ['curie:ft-emeritus-2022-12-01-15-52-24', 'openai', 46],\n", - " ['curie:ft-emeritus-2022-12-01-16-40-12', 'openai', 47],\n", - " ['databricks/dbrx-instruct', 'deep_infra', 48],\n", - " ['davinci:ft-emeritus-2022-11-30-14-57-33', 'openai', 49],\n", - " ['deepinfra/airoboros-70b', 'deep_infra', 50],\n", - " ['gemini-1.0-pro', 'google', 51],\n", - " ['gemini-1.5-flash', 'google', 52],\n", - " ['gemini-1.5-pro', 'google', 53],\n", - " ['gemini-pro', 'google', 54],\n", - " ['gemma-7b-it', 'groq', 55],\n", - " ['gemma2-9b-it', 'groq', 56],\n", - " ['google/codegemma-7b-it', 'deep_infra', 57],\n", - " ['google/gemma-1.1-7b-it', 'deep_infra', 58],\n", - " ['google/gemma-2-27b-it', 'deep_infra', 59],\n", - " ['google/gemma-2-9b-it', 'deep_infra', 60],\n", - " ['gpt-3.5-turbo', 'openai', 61],\n", - " ['gpt-3.5-turbo-0125', 'openai', 62],\n", - " ['gpt-3.5-turbo-1106', 'openai', 63],\n", - " ['gpt-3.5-turbo-16k', 'openai', 64],\n", - " ['gpt-4', 'openai', 65],\n", - " ['gpt-4-0125-preview', 'openai', 66],\n", - " ['gpt-4-0613', 'openai', 67],\n", - " ['gpt-4-1106-preview', 'openai', 68],\n", - " ['gpt-4-turbo', 'openai', 69],\n", - " ['gpt-4-turbo-2024-04-09', 'openai', 70],\n", - " ['gpt-4-turbo-preview', 'openai', 71],\n", - " ['gpt-4o', 'openai', 72],\n", - " ['gpt-4o-2024-05-13', 'openai', 73],\n", - " ['gpt-4o-2024-08-06', 'openai', 74],\n", - " ['gpt-4o-mini', 'openai', 75],\n", - " ['gpt-4o-mini-2024-07-18', 'openai', 76],\n", - " ['lizpreciatior/lzlv_70b_fp16_hf', 'deep_infra', 77],\n", - " ['llama-3.1-70b-versatile', 'groq', 78],\n", - " ['llama-3.1-8b-instant', 'groq', 79],\n", - " ['llama-guard-3-8b', 'groq', 80],\n", - " ['llama3-70b-8192', 'groq', 81],\n", - " ['llama3-8b-8192', 'groq', 82],\n", - " ['llama3-groq-70b-8192-tool-use-preview', 'groq', 83],\n", - " ['llama3-groq-8b-8192-tool-use-preview', 'groq', 84],\n", - " ['llava-v1.5-7b-4096-preview', 'groq', 85],\n", - " ['mattshumer/Reflection-Llama-3.1-70B', 'deep_infra', 86],\n", - " ['meta-llama/Llama-2-13b-chat-hf', 'deep_infra', 87],\n", - " ['meta-llama/Llama-2-70b-chat-hf', 'deep_infra', 88],\n", - " ['meta-llama/Llama-2-7b-chat-hf', 'deep_infra', 89],\n", - " ['meta-llama/Meta-Llama-3-70B-Instruct', 'deep_infra', 90],\n", - " ['meta-llama/Meta-Llama-3-8B-Instruct', 'deep_infra', 91],\n", - " ['meta-llama/Meta-Llama-3.1-405B-Instruct', 'deep_infra', 92],\n", - " ['meta-llama/Meta-Llama-3.1-70B-Instruct', 'deep_infra', 93],\n", - " ['meta-llama/Meta-Llama-3.1-8B-Instruct', 'deep_infra', 94],\n", - " ['meta.llama3-1-405b-instruct-v1:0', 'bedrock', 95],\n", - " ['meta.llama3-1-70b-instruct-v1:0', 'bedrock', 96],\n", - " ['meta.llama3-1-8b-instruct-v1:0', 'bedrock', 97],\n", - " ['meta.llama3-70b-instruct-v1:0', 'bedrock', 98],\n", - " ['meta.llama3-8b-instruct-v1:0', 'bedrock', 99],\n", - " ['microsoft/Phi-3-medium-4k-instruct', 'deep_infra', 100],\n", - " ['microsoft/WizardLM-2-7B', 'deep_infra', 101],\n", - " ['microsoft/WizardLM-2-8x22B', 'deep_infra', 102],\n", - " ['mistral-embed', 'mistral', 103],\n", - " ['mistral-large-2402', 'mistral', 104],\n", - " ['mistral-large-2407', 'mistral', 105],\n", - " ['mistral-large-latest', 'mistral', 106],\n", - " ['mistral-medium', 'mistral', 107],\n", - " ['mistral-medium-2312', 'mistral', 108],\n", - " ['mistral-medium-latest', 'mistral', 109],\n", - " ['mistral-small', 'mistral', 110],\n", - " ['mistral-small-2312', 'mistral', 111],\n", - " ['mistral-small-2402', 'mistral', 112],\n", - " ['mistral-small-latest', 'mistral', 113],\n", - " ['mistral-tiny', 'mistral', 114],\n", - " ['mistral-tiny-2312', 'mistral', 115],\n", - " ['mistral-tiny-2407', 'mistral', 116],\n", - " ['mistral-tiny-latest', 'mistral', 117],\n", - " ['mistral.mistral-7b-instruct-v0:2', 'bedrock', 118],\n", - " ['mistral.mistral-large-2402-v1:0', 'bedrock', 119],\n", - " ['mistral.mistral-large-2407-v1:0', 'bedrock', 120],\n", - " ['mistral.mixtral-8x7b-instruct-v0:1', 'bedrock', 121],\n", - " ['mistralai/Mistral-7B-Instruct-v0.1', 'deep_infra', 122],\n", - " ['mistralai/Mistral-7B-Instruct-v0.2', 'deep_infra', 123],\n", - " ['mistralai/Mistral-7B-Instruct-v0.3', 'deep_infra', 124],\n", - " ['mistralai/Mistral-Nemo-Instruct-2407', 'deep_infra', 125],\n", - " ['mistralai/Mixtral-8x22B-Instruct-v0.1', 'deep_infra', 126],\n", - " ['mistralai/Mixtral-8x22B-v0.1', 'deep_infra', 127],\n", - " ['mistralai/Mixtral-8x7B-Instruct-v0.1', 'deep_infra', 128],\n", - " ['mixtral-8x7b-32768', 'groq', 129],\n", - " ['nvidia/Nemotron-4-340B-Instruct', 'deep_infra', 130],\n", - " ['open-codestral-mamba', 'mistral', 131],\n", - " ['open-mistral-7b', 'mistral', 132],\n", - " ['open-mistral-nemo', 'mistral', 133],\n", - " ['open-mistral-nemo-2407', 'mistral', 134],\n", - " ['open-mixtral-8x22b', 'mistral', 135],\n", - " ['open-mixtral-8x22b-2404', 'mistral', 136],\n", - " ['open-mixtral-8x7b', 'mistral', 137],\n", - " ['openbmb/MiniCPM-Llama3-V-2_5', 'deep_infra', 138],\n", - " ['openchat/openchat-3.6-8b', 'deep_infra', 139],\n", - " ['openchat/openchat_3.5', 'deep_infra', 140],\n", - " ['test', 'test', 141]]" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from edsl import Model\n", "\n", - "Model.available()" + "# Model.available() # uncomment this line and run it" + ] + }, + { + "cell_type": "markdown", + "id": "391a62e9-ce89-40f3-b43a-bea3d7b8782c", + "metadata": {}, + "source": [ + "To confirm the current default model:" ] }, { "cell_type": "code", "execution_count": 4, + "id": "847fd577-078a-4502-8112-97ee3699cd11", + "metadata": {}, + "outputs": [], + "source": [ + "# Model() # uncomment this line and run it" + ] + }, + { + "cell_type": "markdown", + "id": "4eecad61-9e6d-4b7e-9a70-0bf5546e2f49", + "metadata": {}, + "source": [ + "#### Example survey" + ] + }, + { + "cell_type": "code", + "execution_count": 5, "id": "17cc2398-55be-4865-88f0-e66104c115a2", "metadata": { "editable": true, @@ -482,17 +344,20 @@ "results = survey.by(scenarios).by(agents).by(models).run()\n", "\n", "# Filter, sort, select and print components of the results to inspect\n", - "(results\n", - ".filter(\"activity == 'reading' and persona == 'chef'\")\n", - ".sort_by(\"model\")\n", - ".select(\"model\", \"activity\", \"persona\", \"answer.*\")\n", - ".print(format=\"rich\",\n", - " pretty_labels = ({\"model.model\":\"Model\",\n", - " \"scenario.activity\":\"Activity\",\n", - " \"agent.persona\":\"Agent persona\",\n", - " \"answer.enjoy\":\"Enjoy\",\n", - " \"answer.recent\":\"Recent\"})\n", - " )\n", + "(\n", + " results\n", + " .filter(\"activity == 'reading' and persona == 'chef'\")\n", + " .sort_by(\"model\")\n", + " .select(\"model\", \"activity\", \"persona\", \"answer.*\")\n", + " .print(format=\"rich\",\n", + " pretty_labels = ({\n", + " \"model.model\":\"Model\",\n", + " \"scenario.activity\":\"Activity\",\n", + " \"agent.persona\":\"Agent persona\",\n", + " \"answer.enjoy\":\"Enjoy\",\n", + " \"answer.recent\":\"Recent\"\n", + " })\n", + " )\n", ")" ] }, @@ -514,7 +379,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "id": "1ab2cc32-015c-49bc-8e53-cc1c70f6d783", "metadata": { "editable": true, @@ -743,17 +608,18 @@ "17 Sure! The most recent time I was reading was j... 4 " ] }, - "execution_count": 5, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Convert the Results object to a pandas dataframe\n", - "(results\n", - " .sort_by(\"model\", \"activity\", \"persona\")\n", - " .select(\"model\", \"activity\", \"persona\", \"recent\", \"enjoy\")\n", - " .to_pandas(remove_prefix=True)\n", + "(\n", + " results\n", + " .sort_by(\"model\", \"activity\", \"persona\")\n", + " .select(\"model\", \"activity\", \"persona\", \"recent\", \"enjoy\")\n", + " .to_pandas(remove_prefix=True)\n", ")" ] }, @@ -773,7 +639,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "id": "7c3f63d0-bc79-4caf-991e-69b92ff29b69", "metadata": { "editable": true, @@ -823,7 +689,7 @@ " 'scenario.activity']" ] }, - "execution_count": 6, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -848,7 +714,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "id": "8bdca6c4-0ef6-4daa-ae4f-8b9bdd4a9043", "metadata": { "editable": true, @@ -1077,7 +943,7 @@ "17 Sure! The most recent time I was reading was j... 4 " ] }, - "execution_count": 7, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -1110,7 +976,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "id": "a6f9233b-5ddc-4850-8ec9-6dd2d6647ecc", "metadata": { "editable": true, @@ -1127,13 +993,13 @@ "text/plain": [ "{'description': None,\n", " 'object_type': 'results',\n", - " 'url': 'https://www.expectedparrot.com/content/05dd1e85-3633-4bba-a964-a2e3fe79cf49',\n", - " 'uuid': '05dd1e85-3633-4bba-a964-a2e3fe79cf49',\n", + " 'url': 'https://www.expectedparrot.com/content/f674ba78-17d5-4628-9b57-ec7c5a96718c',\n", + " 'uuid': 'f674ba78-17d5-4628-9b57-ec7c5a96718c',\n", " 'version': '0.1.33.dev1',\n", " 'visibility': 'public'}" ] }, - "execution_count": 8, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -1152,8 +1018,8 @@ }, { "cell_type": "code", - "execution_count": 9, - "id": "e650fd0b-a0e1-4ddb-8eef-e012737af02a", + "execution_count": 10, + "id": "257c7a6e-a7e8-4b15-9936-afa18c623b21", "metadata": { "editable": true, "slideshow": { @@ -1169,25 +1035,23 @@ "text/plain": [ "{'description': 'Starter Tutorial',\n", " 'object_type': 'notebook',\n", - " 'url': 'https://www.expectedparrot.com/content/41918601-7865-49bf-9cfe-3f48e1f4b1f4',\n", - " 'uuid': '41918601-7865-49bf-9cfe-3f48e1f4b1f4',\n", + " 'url': 'https://www.expectedparrot.com/content/d11a525e-d454-4eb1-bd96-0ab9d771249e',\n", + " 'uuid': 'd11a525e-d454-4eb1-bd96-0ab9d771249e',\n", " 'version': '0.1.33.dev1',\n", " 'visibility': 'public'}" ] }, - "execution_count": 9, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "from edsl import Coop, Notebook\n", - "\n", - "coop = Coop()\n", + "from edsl import Notebook\n", "\n", "notebook = Notebook(path=\"starter_tutorial.ipynb\")\n", "\n", - "coop.create(notebook, description=\"Starter Tutorial\", visibility=\"public\")" + "notebook.push(description=\"Starter Tutorial\", visibility=\"public\")" ] } ], diff --git a/docs/notebooks/summarizing_transcripts.ipynb b/docs/notebooks/summarizing_transcripts.ipynb index e9605268..2f9b0726 100644 --- a/docs/notebooks/summarizing_transcripts.ipynb +++ b/docs/notebooks/summarizing_transcripts.ipynb @@ -290,8 +290,7 @@ }, "source": [ "## Selecting a language model\n", - "We can select one or more specific models to generate the responses.\n", - "(If no model is specified, GPT 4 preview is used by default).\n", + "We can select one or more specific models to generate the responses (if no model is specified the default model is used).\n", "\n", "To see a list of all available models:" ] @@ -314,6 +313,36 @@ "# Model.available()" ] }, + { + "cell_type": "markdown", + "id": "0cffdca2-24ae-436e-9d7b-775b72913128", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "To check the current default model:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "fe48f229-047f-4f71-8511-7021e9c799a6", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# Model()" + ] + }, { "cell_type": "markdown", "id": "73aa528d-6102-40e5-8e7d-bf9d2981e471", @@ -330,7 +359,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "id": "6168aee3-3c21-4720-bd45-01e735acc591", "metadata": { "editable": true, @@ -361,7 +390,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "id": "16d7e03b-ea6b-42ec-aceb-295901b3ae21", "metadata": { "editable": true, @@ -393,7 +422,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "id": "d64e159e-2ab1-40fb-9573-00151330f3a0", "metadata": { "editable": true, @@ -568,7 +597,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "id": "4a2f43db-7128-4918-97c1-d55c8b7e7f53", "metadata": { "editable": true, @@ -584,7 +613,7 @@ "22" ] }, - "execution_count": 11, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -596,7 +625,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "id": "58057d4b-2c12-4de6-a56e-a9f308ed33f5", "metadata": { "editable": true, @@ -612,7 +641,7 @@ "24" ] }, - "execution_count": 12, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -624,7 +653,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "id": "20179f02-a7b1-4388-8c2f-632dc523d63f", "metadata": { "editable": true, @@ -656,7 +685,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 15, "id": "e080107d-40a5-4439-90ce-a67c1aaa9c44", "metadata": { "editable": true, @@ -673,14 +702,17 @@ "┃ scenario answer ┃\n", "┃ .topic .condense ┃\n", "┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n", - "│ caller questions ['Technical issues with features', 'Account access and password issues', 'Subscription and │\n", - "│ upgrade options', 'Project export problems', 'Collaboration and team management', 'Cost │\n", - "│ estimation and calibration', 'Guides and instructional resources', 'General account │\n", - "│ assistance', 'Feature suggestions and feedback', 'Trial period inquiries'] │\n", + "│ caller questions ['Technical issues with software features', 'Account access and password issues', │\n", + "│ 'Subscription and upgrade options', 'Project exporting and file issues', 'Team collaboration │\n", + "│ and project sharing', 'Cost estimation and calculation concerns', 'User guides and │\n", + "│ instructional materials', 'Support for adjusting settings', 'Feature suggestions and │\n", + "│ feedback', 'Trial period and general inquiries'] │\n", "├──────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────┤\n", - "│ caller requests ['Technical Support', 'Account Access', 'Subscription and Trial Information', 'Software │\n", - "│ Updates', 'Feature Tutorials', 'Project Management Tools', 'User Collaboration', 'Export and │\n", - "│ Synchronization Issues', 'Follow-Up Information', 'Cost Estimation'] │\n", + "│ caller requests ['Technical support and troubleshooting', 'Account access and password issues', 'Software │\n", + "│ updates and upgrades', 'Subscription and trial information', 'Feature usage tutorials and │\n", + "│ instructions', 'Project management tools and features', 'Team collaboration and user │\n", + "│ management', 'Exporting and synchronization issues', 'Cost estimation and budgeting tools', │\n", + "│ 'Follow-up and contact information'] │\n", "└──────────────────┴──────────────────────────────────────────────────────────────────────────────────────────────┘\n", "
\n" ], @@ -689,14 +721,17 @@ "┃\u001b[1;35m \u001b[0m\u001b[1;35mscenario \u001b[0m\u001b[1;35m \u001b[0m┃\u001b[1;35m \u001b[0m\u001b[1;35manswer \u001b[0m\u001b[1;35m \u001b[0m┃\n", "┃\u001b[1;35m \u001b[0m\u001b[1;35m.topic \u001b[0m\u001b[1;35m \u001b[0m┃\u001b[1;35m \u001b[0m\u001b[1;35m.condense \u001b[0m\u001b[1;35m \u001b[0m┃\n", "┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n", - "│\u001b[2m \u001b[0m\u001b[2mcaller questions\u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Technical issues with features', 'Account access and password issues', 'Subscription and \u001b[0m\u001b[2m \u001b[0m│\n", - "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mupgrade options', 'Project export problems', 'Collaboration and team management', 'Cost \u001b[0m\u001b[2m \u001b[0m│\n", - "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mestimation and calibration', 'Guides and instructional resources', 'General account \u001b[0m\u001b[2m \u001b[0m│\n", - "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2massistance', 'Feature suggestions and feedback', 'Trial period inquiries'] \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m\u001b[2mcaller questions\u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Technical issues with software features', 'Account access and password issues', \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m'Subscription and upgrade options', 'Project exporting and file issues', 'Team collaboration\u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mand project sharing', 'Cost estimation and calculation concerns', 'User guides and \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2minstructional materials', 'Support for adjusting settings', 'Feature suggestions and \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mfeedback', 'Trial period and general inquiries'] \u001b[0m\u001b[2m \u001b[0m│\n", "├──────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────┤\n", - "│\u001b[2m \u001b[0m\u001b[2mcaller requests \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Technical Support', 'Account Access', 'Subscription and Trial Information', 'Software \u001b[0m\u001b[2m \u001b[0m│\n", - "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mUpdates', 'Feature Tutorials', 'Project Management Tools', 'User Collaboration', 'Export and\u001b[0m\u001b[2m \u001b[0m│\n", - "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mSynchronization Issues', 'Follow-Up Information', 'Cost Estimation'] \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m\u001b[2mcaller requests \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Technical support and troubleshooting', 'Account access and password issues', 'Software \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mupdates and upgrades', 'Subscription and trial information', 'Feature usage tutorials and \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2minstructions', 'Project management tools and features', 'Team collaboration and user \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mmanagement', 'Exporting and synchronization issues', 'Cost estimation and budgeting tools', \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m'Follow-up and contact information'] \u001b[0m\u001b[2m \u001b[0m│\n", "└──────────────────┴──────────────────────────────────────────────────────────────────────────────────────────────┘\n" ] }, @@ -724,7 +759,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "id": "dbd4702c-e983-449d-a135-de9434798fda", "metadata": { "editable": true, @@ -737,19 +772,19 @@ { "data": { "text/plain": [ - "['Technical issues with features',\n", + "['Technical issues with software features',\n", " 'Account access and password issues',\n", " 'Subscription and upgrade options',\n", - " 'Project export problems',\n", - " 'Collaboration and team management',\n", - " 'Cost estimation and calibration',\n", - " 'Guides and instructional resources',\n", - " 'General account assistance',\n", + " 'Project exporting and file issues',\n", + " 'Team collaboration and project sharing',\n", + " 'Cost estimation and calculation concerns',\n", + " 'User guides and instructional materials',\n", + " 'Support for adjusting settings',\n", " 'Feature suggestions and feedback',\n", - " 'Trial period inquiries']" + " 'Trial period and general inquiries']" ] }, - "execution_count": 15, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -763,7 +798,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "id": "702fe3f9-bedc-4f46-a3bc-b83147e6bfc0", "metadata": { "editable": true, @@ -776,19 +811,19 @@ { "data": { "text/plain": [ - "['Technical Support',\n", - " 'Account Access',\n", - " 'Subscription and Trial Information',\n", - " 'Software Updates',\n", - " 'Feature Tutorials',\n", - " 'Project Management Tools',\n", - " 'User Collaboration',\n", - " 'Export and Synchronization Issues',\n", - " 'Follow-Up Information',\n", - " 'Cost Estimation']" + "['Technical support and troubleshooting',\n", + " 'Account access and password issues',\n", + " 'Software updates and upgrades',\n", + " 'Subscription and trial information',\n", + " 'Feature usage tutorials and instructions',\n", + " 'Project management tools and features',\n", + " 'Team collaboration and user management',\n", + " 'Exporting and synchronization issues',\n", + " 'Cost estimation and budgeting tools',\n", + " 'Follow-up and contact information']" ] }, - "execution_count": 16, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -802,7 +837,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "id": "83f61405-e3c5-430f-b170-72b63dbb3974", "metadata": { "editable": true, @@ -852,7 +887,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 19, "id": "940495f8-bacf-4bde-9c1a-4593a3781679", "metadata": { "editable": true, @@ -876,7 +911,7 @@ "Scenario({'name': 'Emily Davis', 'email': 'emily.davis@example.com', 'transcript': '\"Agent: Good morning, thank you for calling Renovation Software Solutions. How can I assist you today? Customer: Hi, I\\'m having trouble with the 3D rendering feature. It seems to crash every time I try to add a new room. Agent: I\\'m sorry to hear that. Let me check if there are any known issues with the 3D rendering feature. Can you tell me which version of the software you\\'re using? Customer: I\\'m using version 5.3.2 on a Windows 10 PC. Agent: Thank you. There was a recent update that might resolve this issue. Please make sure your software is updated to the latest version. If the problem persists, we can arrange a remote support session to troubleshoot further. Could I have your name and email address to send you further instructions? Customer: Sure, it\\'s Emily Davis, emily.davis@example.com. Agent: Great, I\\'ll send the instructions to your email. I\\'ll update the software and try again. If it still crashes, I\\'ll call back. Thanks for your help. Agent: You\\'re welcome. Have a great day! [Caller sounded frustrated]\",'})" ] }, - "execution_count": 18, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -890,7 +925,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 20, "id": "3ba3b401-31b8-42f6-a2af-5e252105dde8", "metadata": { "editable": true, @@ -906,7 +941,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 21, "id": "e32389c3-7d31-4f95-b566-dd0a95bf617a", "metadata": { "editable": true, @@ -958,7 +993,7 @@ " 'scenario.transcript']" ] }, - "execution_count": 20, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -969,7 +1004,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 22, "id": "11b32d96-6911-4190-945f-cc254c395c23", "metadata": { "editable": true, @@ -986,29 +1021,37 @@ "┃ answer answer ┃\n", "┃ .questions_agg .requests_agg ┃\n", "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n", - "│ ['Technical issues with features'] ['Technical Support', 'Software Updates', 'Follow-Up │\n", - "│ Information'] │\n", + "│ ['Technical issues with software features'] ['Technical support and troubleshooting', 'Exporting │\n", + "│ and synchronization issues'] │\n", "├────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤\n", - "│ ['Guides and instructional resources'] ['Feature Tutorials'] │\n", + "│ ['Technical issues with software features'] ['Technical support and troubleshooting', 'Software │\n", + "│ updates and upgrades', 'Follow-up and contact │\n", + "│ information'] │\n", "├────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤\n", - "│ ['Account access and password issues'] ['Technical Support', 'Account Access'] │\n", + "│ ['User guides and instructional materials'] ['Feature usage tutorials and instructions', │\n", + "│ 'Follow-up and contact information'] │\n", "├────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤\n", - "│ ['Subscription and upgrade options'] ['Subscription and Trial Information'] │\n", + "│ ['Subscription and upgrade options'] ['Subscription and trial information', 'Follow-up and │\n", + "│ contact information'] │\n", "├────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤\n", - "│ ['Technical issues with features', 'Project export ['Technical Support', 'Export and Synchronization │\n", - "│ problems'] Issues', 'Follow-Up Information'] │\n", + "│ ['Technical issues with software features', 'Cost ['Technical support and troubleshooting', 'Cost │\n", + "│ estimation and calculation concerns', 'Support for estimation and budgeting tools', 'Follow-up and │\n", + "│ adjusting settings'] contact information'] │\n", "├────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤\n", - "│ ['Collaboration and team management'] ['Feature Tutorials', 'User Collaboration'] │\n", + "│ ['Account access and password issues'] ['Account access and password issues'] │\n", "├────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤\n", - "│ ['Technical issues with features', 'Cost estimation ['Technical Support', 'Cost Estimation'] │\n", - "│ and calibration'] │\n", + "│ ['Feature suggestions and feedback'] ['Project management tools and features', 'Follow-up │\n", + "│ and contact information'] │\n", "├────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤\n", - "│ ['Technical issues with features', 'General account ['Technical Support', 'Export and Synchronization │\n", - "│ assistance'] Issues'] │\n", + "│ ['Team collaboration and project sharing'] ['Feature usage tutorials and instructions', 'Team │\n", + "│ collaboration and user management'] │\n", "├────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤\n", - "│ ['Feature suggestions and feedback'] ['Project Management Tools', 'Something else'] │\n", + "│ ['Trial period and general inquiries'] ['Subscription and trial information', 'Follow-up and │\n", + "│ contact information'] │\n", "├────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤\n", - "│ ['Trial period inquiries'] ['Subscription and Trial Information'] │\n", + "│ ['Technical issues with software features', 'Project ['Technical support and troubleshooting', 'Software │\n", + "│ exporting and file issues'] updates and upgrades', 'Exporting and synchronization │\n", + "│ issues', 'Follow-up and contact information'] │\n", "└────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────┘\n", "
\n" ], @@ -1017,29 +1060,37 @@ "┃\u001b[1;35m \u001b[0m\u001b[1;35manswer \u001b[0m\u001b[1;35m \u001b[0m┃\u001b[1;35m \u001b[0m\u001b[1;35manswer \u001b[0m\u001b[1;35m \u001b[0m┃\n", "┃\u001b[1;35m \u001b[0m\u001b[1;35m.questions_agg \u001b[0m\u001b[1;35m \u001b[0m┃\u001b[1;35m \u001b[0m\u001b[1;35m.requests_agg \u001b[0m\u001b[1;35m \u001b[0m┃\n", "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n", - "│\u001b[2m \u001b[0m\u001b[2m['Technical issues with features'] \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Technical Support', 'Software Updates', 'Follow-Up \u001b[0m\u001b[2m \u001b[0m│\n", - "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mInformation'] \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m\u001b[2m['Technical issues with software features'] \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Technical support and troubleshooting', 'Exporting \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mand synchronization issues'] \u001b[0m\u001b[2m \u001b[0m│\n", "├────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤\n", - "│\u001b[2m \u001b[0m\u001b[2m['Guides and instructional resources'] \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Feature Tutorials'] \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m\u001b[2m['Technical issues with software features'] \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Technical support and troubleshooting', 'Software \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mupdates and upgrades', 'Follow-up and contact \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2minformation'] \u001b[0m\u001b[2m \u001b[0m│\n", "├────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤\n", - "│\u001b[2m \u001b[0m\u001b[2m['Account access and password issues'] \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Technical Support', 'Account Access'] \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m\u001b[2m['User guides and instructional materials'] \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Feature usage tutorials and instructions', \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m'Follow-up and contact information'] \u001b[0m\u001b[2m \u001b[0m│\n", "├────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤\n", - "│\u001b[2m \u001b[0m\u001b[2m['Subscription and upgrade options'] \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Subscription and Trial Information'] \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m\u001b[2m['Subscription and upgrade options'] \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Subscription and trial information', 'Follow-up and \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mcontact information'] \u001b[0m\u001b[2m \u001b[0m│\n", "├────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤\n", - "│\u001b[2m \u001b[0m\u001b[2m['Technical issues with features', 'Project export \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Technical Support', 'Export and Synchronization \u001b[0m\u001b[2m \u001b[0m│\n", - "│\u001b[2m \u001b[0m\u001b[2mproblems'] \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mIssues', 'Follow-Up Information'] \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m\u001b[2m['Technical issues with software features', 'Cost \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Technical support and troubleshooting', 'Cost \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m\u001b[2mestimation and calculation concerns', 'Support for \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mestimation and budgeting tools', 'Follow-up and \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m\u001b[2madjusting settings'] \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mcontact information'] \u001b[0m\u001b[2m \u001b[0m│\n", "├────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤\n", - "│\u001b[2m \u001b[0m\u001b[2m['Collaboration and team management'] \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Feature Tutorials', 'User Collaboration'] \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m\u001b[2m['Account access and password issues'] \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Account access and password issues'] \u001b[0m\u001b[2m \u001b[0m│\n", "├────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤\n", - "│\u001b[2m \u001b[0m\u001b[2m['Technical issues with features', 'Cost estimation \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Technical Support', 'Cost Estimation'] \u001b[0m\u001b[2m \u001b[0m│\n", - "│\u001b[2m \u001b[0m\u001b[2mand calibration'] \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m\u001b[2m['Feature suggestions and feedback'] \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Project management tools and features', 'Follow-up \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mand contact information'] \u001b[0m\u001b[2m \u001b[0m│\n", "├────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤\n", - "│\u001b[2m \u001b[0m\u001b[2m['Technical issues with features', 'General account \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Technical Support', 'Export and Synchronization \u001b[0m\u001b[2m \u001b[0m│\n", - "│\u001b[2m \u001b[0m\u001b[2massistance'] \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mIssues'] \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m\u001b[2m['Team collaboration and project sharing'] \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Feature usage tutorials and instructions', 'Team \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mcollaboration and user management'] \u001b[0m\u001b[2m \u001b[0m│\n", "├────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤\n", - "│\u001b[2m \u001b[0m\u001b[2m['Feature suggestions and feedback'] \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Project Management Tools', 'Something else'] \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m\u001b[2m['Trial period and general inquiries'] \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Subscription and trial information', 'Follow-up and \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mcontact information'] \u001b[0m\u001b[2m \u001b[0m│\n", "├────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤\n", - "│\u001b[2m \u001b[0m\u001b[2m['Trial period inquiries'] \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Subscription and Trial Information'] \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m\u001b[2m['Technical issues with software features', 'Project \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2m['Technical support and troubleshooting', 'Software \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m\u001b[2mexporting and file issues'] \u001b[0m\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2mupdates and upgrades', 'Exporting and synchronization \u001b[0m\u001b[2m \u001b[0m│\n", + "│\u001b[2m \u001b[0m│\u001b[2m \u001b[0m\u001b[2missues', 'Follow-up and contact information'] \u001b[0m\u001b[2m \u001b[0m│\n", "└────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────┘\n" ] }, @@ -1068,7 +1119,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 23, "id": "5426e180-d5d0-4d51-a8b8-e2691948147f", "metadata": { "editable": true, @@ -1085,7 +1136,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 24, "id": "35162f8b-d28b-4974-a172-1fedf5416a2f", "metadata": { "editable": true, @@ -1101,7 +1152,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 25, "id": "647ec30b-f5ce-4ecd-96a7-bdcabd3163bc", "metadata": { "editable": true, @@ -1130,7 +1181,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 26, "id": "e9fd5f3c-bae6-4b9c-a8ec-fe77122b48d4", "metadata": { "editable": true, @@ -1142,7 +1193,7 @@ "outputs": [ { "data": { - "image/png": "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RERERERERESsiJK2IiIiIiIiIiIiIlZESVsRERERERERERERK6KkrYiIiIiIiIiIiIgVUdJWRERERERERERExIooaSsiIiIiIiIiIiJiRZS0FREREREREREREbEiStqKiIiIiIiIiIiIWBElbUVERERERERERESsiJK2IiIiIiIiIiIiIlZESVsRERERERERERERK6KkrYiIiIiIiIiIiIgVUdJWRERERERERERExIooaSsiIiIiIiIiIiJiRZS0FREREREREREREbEiStqKiIiIiIiIiIiIWBElbUVERERERERERESsSN7cDkBEJKfejr2EvdOt3A7jP2dk5cK5HYKIiIiI1VpwZQH2qfa5HcYTYWCBgbkdgoiI1dNIWxEREREREREREREroqStiIiIiIiIiIiIiBVR0lZERERERERERETEiihpKyIiIiIiIiIiImJFlLQVERERERERERERsSJK2oqIiIiIiIiIiIhYESVtRURERERERERERKyIkrYiIiIiIiIiIiIiVkRJWxEREREREREREREroqStiIiIiIiIiIiIiBVR0lZERERERERERETEiihpKyIiIiIiIiIiImJFlLQVERERERERERERsSJK2oqIiIiIiIiIiIhYESVtRURERERE5KFMJhNr1qzJ8vi2bdswmUxcvXr1H4spK97e3syaNSu3wxAREfnLlLQVERERERH5h124cIHevXtTvHhx7Ozs8PDwIDQ0lOjo6NwOjfDwcCpVqpTj82rVqkViYiKurq6PPigREZH/GCVtxWr8lYfDh33b/ziFhYXRsmXLv1VHdkYj5NY11qtXj0GDBj2wzJkzZzCZTBw4cOAfiUlERETk36JNmzbs37+fJUuWcPz4cb788kvq1avHpUuXcju0v8zW1hYPDw9MJlNuhyIiIvLEU9JWHguTyfTAT3h4eIZzhg4dSlRU1D8f7F80e/ZsIiMjH3s7iYmJNGnS5LG3c78vvviC8ePHP7CMl5cXiYmJlC9f/h+KSkREROTJd/XqVb777jumTJlC/fr1KVGiBNWrV2fUqFH873//M8olJCTQokULnJyccHFxoV27dvz+++/G8fRBDx9++CHFixfHycmJPn36kJqaytSpU/Hw8KBIkSJMmDAhQ/s9evTA3d0dFxcXGjRoQGxsLACRkZFEREQQGxtrPLvf+8x78eJFWrVqRf78+fH19eXLL780jt0/ICEyMhI3Nzc2btyIv78/Tk5ONG7cmMTEROOcO3fuMGDAANzc3ChUqBAjRoygS5cuDx0csXPnTurUqYODgwNeXl4MGDCAGzduZFrWbDYTHh5ujGouVqwYAwYMMI6npKQwdOhQnnrqKRwdHXnmmWfYtm3bA9sXERF53JS0lcciMTHR+MyaNQsXFxeLfUOHDjXKms1m7ty5g5OTE4UKFcrFqLMnNTWVtLQ0XF1dcXNze+zteXh4YGdn99jbuV/BggVxdnbO8vitW7ewsbHBw8ODvHnz/oORiYiIiDzZnJyccHJyYs2aNaSkpGRaJi0tjRYtWnD58mW2b9/O5s2bOXXqFO3bt7coFx8fzzfffMOGDRv45JNP+OCDD3j++ef5+eef2b59O1OmTGH06NHs2bPHOOeFF17g/PnzfPPNN/z4448EBQXRsGFDLl++TPv27RkyZAjlypUznt3vbTMiIoJ27dpx8OBBmjZtSseOHbl8+XKW13rz5k2mT5/ORx99xI4dO0hISLD4v8CUKVNYtmwZixcvJjo6mmvXrj30LbP4+HgaN25MmzZtOHjwIJ9++ik7d+6kX79+mZZftWoVM2fO5L333uPEiROsWbOGwMBA43i/fv3YvXs3K1as4ODBg7zwwgs0btyYEydOZFpfSkoK165ds/iIiIg8akraymPh4eFhfFxdXTGZTMb20aNHcXZ25ptvvqFKlSrY2dmxc+fODNMjxMTE0KhRIwoXLoyrqyt169Zl3759OYqjXr169OvXj379+uHq6krhwoUZM2YMZrPZKPOwb9bTRwh8+eWXBAQEYGdnR0JCQobpEVJSUhgwYABFihTB3t6e2rVrExMTYxHP119/jZ+fHw4ODtSvX58zZ8489BrunR4hfTqCL774gvr165M/f34qVqzI7t27Lc6JjIykePHi5M+fn1atWjFjxgyLBHNmUzsMGjSIevXqWfTdvdMjeHt7M378eDp37oyLiwu9evXKdHqEw4cP06RJE5ycnChatCidOnXi4sWLxvHPP/+cwMBAHBwcKFSoECEhIVmOihARERH5N8qbNy+RkZEsWbIENzc3goODef311zl48KBRJioqikOHDrF8+XKqVKnCM888w9KlS9m+fbvFM2ZaWhoffvghAQEBNG/enPr163Ps2DFmzZpFmTJl6Nq1K2XK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cOFCjh8/zqFDh+jduzenT5/mpZdeyu3QREREcpXJ/HeX7hSxYvXq1aNSpUrMmjUrt0PJVZGRkQwaNMhiJMST6Nq1a7i6ujJuxynsnZxzO5z/nJGVC+d2CCIiOZL+70ZSUhIuLi65HY6IZOLcuXO8+OKLHD58GLPZTPny5Zk8eTLPPvtsboeWbel/10w+Mxl7l6yndZD/N7DAwNwOQUQk12T3GVXTI4iIiIiIiEiu8PLyslgXQkRERO7S9AgiIiIiIiIiIiIiVkQjbeVf7f5FF/6rMlsEQkRERERERERErJNG2oqIiIiIiIiIiIhYESVtRURERERERERERKyIkrYiIiIiIiIiIiIiVkRJWxEREREREREREREroqStiIiIiIiIiIiIiBVR0lZERERERERERETEiihpKyIiIiIiIiIiImJFlLQVERERERERERERsSJK2oqIiIiIiIiIiIhYkby5HYCIiIiIiIjIk653gd64uLjkdhgiIvIvoZG2IiIiIiIiIiIiIlZESVsRERERERERERERK6KkrYiIiIiIiIiIiIgV0Zy2IvLEGVyxkOYLExEREREREZF/LY20FREREREREREREbEiStqKiIiIiIiIiIiIWBElbUVERERERERERESsiJK2IiIiIiIiIiIiIlZESVsRERERERERERERK5I3twMQERERERERedItuLIA+1T73A7jiTCwwMDcDkFExOpppK2IiIiIiIiIiIiIFVHSVkRERERERERERMSKKGkrIiIiIiIiIiIiYkWUtBURERERERERERGxIlqITESeOG/HXsLe6VZuh/GfM7Jy4dwOQUREREREROQ/QSNtRURERERERERERKyIkrYiIiIiIiIiIiIiVkRJWxEREREREREREREroqStiIiIiIiIiIiIiBVR0lZERERERERERETEiihpKyIiIiIiIiIiImJFlLQVERERERERERERsSJK2oqIiIiIiIiIiIhYESVtRURERERERERERKyIkrYiIiIiImLVwsPDqVSpUm6HIf8i+pkSERFrp6StiIiIiIg8EmFhYZhMJkwmE7a2tpQuXZo333yTO3fu/K16hw4dSlRU1COKMvsJu/DwcEwmE40bN85wbNq0aZhMJurVq/fI4vqvyE7/e3t7Gz9LmX3CwsL+kVhFRERyS97cDkBERERERP49GjduzOLFi0lJ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RERERERERETkMVLS9j/q9u3bvP7665w6dQpnZ2dq1arFsmXLLObgvX79OiNGjCAhIYHChQsTEhLCjBkzcjFqERERERERERGRfz8lbf+jQkNDjblKs9K5c2c6d+78D0UkIiIiIiIiIiIi8B9ciExERERERERERETEmilpKyIiIiIiIiIiImJFlLQVERERERERERERsSKa01ZERERERETkb+pdoDcuLi65HYaIiPxLaKStiIiIiIiIiIiIiBVR0lZERERERERERETEiihpKyIiIiIiIiIiImJFlLQVERERERERERERsSJK2oqIiIiIiIiIiIhYESVtRURERERERERERKyIkrYiIiIiIiIiIiIiVkRJWxEREREREREREREroqStiIiIiIiIiIiIiBXJm9sBiIjk1OCKhXBxccntMEREREREREREHgslbUVERERERET+pgVXFmCfap/bYTwRBhYYmNshiIhYPU2PICIiIiIiIiIiImJFlLQVERERERERERERsSJK2oqIiIiIiIiIiIhYESVtRURERERERERERKyIkrYiIiIiIiIiIiIiVkRJWxEREREREREREREroqStiIiIiIiIiIiIiBVR0lZERERERERERETEiihpKyIiIiIiIiIiImJF8uZ2ACIiOfV27CXsnW7ldhj/OSMrF87tEERERERERET+EzTSVkRERERERERERMSKKGkrIiIiIiIiIiIiYkWUtBURERERERERERGxIkraioiIiIiIyCNx5swZTCYTBw4cyJX2w8LCaNmyZa60LSIi8igpaSsiIiIiIvIP+u233+jfvz8+Pj7Y2dnh5eVF8+bNiYqKeiT1R0ZG4ubmlq1yJpMpw8fe3j5b7WSWIPXy8iIxMZHy5cv/hcizL6vk8OzZs4mMjHysbYuIiPwT8uZ2ACIiIiIiIv8VZ86cITg4GDc3N6ZNm0ZgYCC3b99m48aN9O3bl6NHj/6j8bi4uHDs2DGLfSaT6S/XZ2Njg4eHx98N6y9zdXXNtbZFREQeJY20FRERERER+Yf06dMHk8nEDz/8QJs2bfDz86NcuXIMHjyY77//3iiXkJBAixYtcHJywsXFhXbt2vH7778bx2NjY6lfvz7Ozs64uLhQpUoV9u7dy7Zt2+jatStJSUnGyNnw8PAs4zGZTHh4eFh8ihYtahz//PPPCQwMxMHBgUKFChES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Zs2aUbx4cdq2bUuePHmIjY3l8OHDvPXWWzlqS0RERERERETk30xz2lqZUqVKsX//fkJCQhg1ahQVK1akatWqzJ07l6FDhxqJPpPJxNdff82zzz5L165d8fPz48UXX+Ts2bMULVo02+2NHz+eMWPGMGnSJPz9/WncuDHr16+nZMmSDzzv7bffpkCBAtSqVYvmzZsTGhpKUFBQjq71gw8+4MqVKwQFBdGpUycGDBhAkSJFLMqsWrWKatWq0aFDBwICAhg+fLgxStTPz49NmzYRGxtL9erVqVmzJmvXriVv3rvfRUyePJk2bdrQqVMngoKCOHnyJBs3bqRAgQLA3cXUPv74Y77++msCAwP55JNPCA8Pz9E1wN2pBWxsbAgICDCmPbifu7s7kZGRrFy5koCAACZPnmyMoE1na2vLqFGjqFChAs8++yw2NjasWLECuJtgT194rVq1apw5c4avv/46Q3I4O2VnzJjB5s2b8fLyonLlysCjuZ+2trZs2rSJIkWK0LRpUwIDA5k8eTI2NjYAhIaGsm7dOjZt2kS1atWoUaMGM2fOfOCiaiIiIiIiIiIi/0Um8/2TeoqIWKlr167h6urKuB2nsHdyfvgJ8kiNrFw4t0MQEcmR9H83kpKScHFxye1wRORfKv3vmslnJmPvkvlaDWJpYIGBuR2CiEiuye4zqkbaioiIiIiIiIiIiFgRzWkrIiIiIiIi8jf1LtBbo/pFROSR0UhbERERERERERERESuipK2IiIiIiIiIiIiIFVHSVkRERERERERERMSKKGkrIiIiIiIiIiIiYkWUtBURERERERERERGxIkraioiIiIiIiIiIiFgRJW1FRERERERERERErIiStiIiIiIiIiIiIiJWRElbERERERERERERESuSN7cDEBEREREREXnSLbiyAPtU+9wO44kwsMDA3A5BRMTqaaStiIiIiIiIiIiIiBVR0lZERERERERERETEiihpKyIiIiIiIiIiImJFlLQVERERERERERERsSJaiExEnjiDKxbCxcUlt8MQEREREREREXksNNJWRERERERERERExIooaSsiIiIiIiIiIiJiRZS0FREREREREREREbEiStqKiIiIiIiIiIiIWBElbUVERERERERERESsiJK2IiIiIiIiIiIiIlZESVsRERERERERERERK6KkrYiIiIiIiIiIiIgV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vT1dunTh8OHDbN26lf79+9OpU6dszWdbvHhxbG1tmTt3LqdOneLLL79k/PjxmZZ98803iYqK4vDhw4SFhVG4cGFatmwJwJAhQ4iKimL8+PEcP36cJUuWMG/ePIYOHfrA9n19fUlISGDFihXEx8czZ84cY6RvOm9vb06fPs2BAwe4ePGixRyz6f5uP4iIiOQmJW1FRERERESy4OPjw44dOzh69CghISE888wzfPbZZ6xcuZLGjRsDkD9/fo4ePUqbNm3w8/OjV69e9O3bl1deeQWA0NBQ1q1bx6ZNm6hWrRo1atRg5syZlChRIsfxVK9enb1791K6dGl69uyJv78///vf//jpp5+YNWuWEc/GjRu5fPky1apVo23btjRs2JB58+Zlqw13d3ciIyNZuXIlAQEBTJ48menTp2dadvLkyQwcOJAqVarw22+/8dVXX2FrawvcHWH82WefsWLFCsqXL8/YsWN58803LRYhy8z//vc/XnvtNfr160elSpXYtWuXsZhZujZt2tC4cWPq16+Pu7s7n3zySYZ6/m4/iIiI5CaTObuz2YuI5LJr167h6urKuB2nsHdyzu1w/nNGVi6c2yGIiORI+r8bSUlJen1ZRB6b9L9rJp+ZjL2L/cNPEAYWGJjbIYiI5JrsPqNqpK2IiIiIiIiIiIiIFVHSVkRERERERERERMSKKGkrIiIiIiIiIiIiYkWUtBURERERERERERGxIkraioiIiIiIiIiIiFgRJW1FRERERERERERErIiStgJAZGQkbm5uuda+t7c3s2bNyrX2/y6TycSaNWseW/3h4eFUqlTJ2A4LC6Nly5bGdr169Rg0aNBjaz8zj/uaRURERERERET+q5S0zYHffvuN/v374+Pjg52dHV5eXjRv3pyoqKhHUv8/lTjNLEHavn17jh8//tjbzuoaY2Ji6NWr12Nv/99i9uzZREZG/iNt3Z8wTpeYmEiTJk3+kRhERERERERERP5L8uZ2AE+KM2fOEBwcjJubG9OmTSMwMJDbt2+zceNG+vbty9GjR3M7xL/FwcEBBweHXGvf3d0919p+Erm6uv7tOm7duoWtre1fPt/Dw+NvxyAiIiIiIiIiIhlppG029enTB5PJxA8//ECbNm3w8/OjXLlyDB48mO+//94ol5CQQIsWLXBycsLFxYV27drx+++/G8djY2OpX78+zs7O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32bKlCmUL1+eZcuWMWnSJIsy2bnGh/XjXzV69GiCgoIIDQ2lXr16eHh40LJlyxzVkSdPHlavXs0ff/xB9erV6dGjR5YLn91rzJgxDBkyhLFjx+Lv70/79u2NuVz/97//8dprr9GvXz8qVarErl27GDNmTI6vr3PnzkZcffv2ZeDAgfTq1euB52Sn7TZt2tC4cWPq16+Pu7s7n3zySYZ68ufPz8aNG7l8+TLVqlWjbdu2NGzYkHnz5uX4OkRERERERERE/utM5uyusiUiksuuXbuGq6sr43acwt7J+eEnyCM1snLh3A5BRCRH0v/dSEpK0ivLIvLY6O8aERHJiez+u6GRtiIiIiIiIiIiIiJWRElbERERERERERERESuipK2IiIiIiIiIiIiIFVHSVkRERERERERERMSKKGkrIiIiIiIiIiIiYkWUtBURERERERERERGxInlzOwARERERERGRJ92CKwuwT7XP7TCeCAMLDMztEERErJ5G2oqIiIiIiIiIiIhYESVtRURERERERERERKyIkrYiIiIiIiIiIiIiVkRJWxEREREREREREREroqStiIiIiIiIiIiIiBVR0lZERERERERERETEiihpKyIiIiIiIiIiImJFlLQVERERERERERERsSJK2oqIiIiIiIiIiIhYkby5HYCISE4NrlgIFxeX3A5DREREREREROSx0EhbERERERERERERESuipK2IiIiIiIiIiIiIFVHSVkRERERERERERMSKKGkrIiIiIiIiIiIiYkWUtBURERERERERERGxIkraioiIiIiI5JLdu3djY2PD888/n9uh/CXbtm3DZDJx9erVbJ9TtmxZ7Ozs+O233x5fYCIiIk84JW1FRERERERyyQcffED//v3ZsWMHv/76a26H89jt3LmTP/74g7Zt27JkyZLcDkdERMRqKWkrIiIiIiKSC5KTk/n000/p3bs3zz//PJGRkRnKfPXVV1SrVg17e3sKFy5Mq1atjGMpKSmMGDECLy8v7OzsKF26NB988IFxfPv27VSvXh07Ozs8PT0ZOXIkd+7cMY57e3sza9Ysi/YqVapEeHi4sW0ymVi0aBGtWrUif/78+Pr68uWXXwJw5swZ6tevD0CBAgUwmUyEhYU98Jo/+OADXnrpJTp16sSHH36Y4fjPP/9Mhw4dKFiwII6OjlStWpU9e/Zkuz+G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wMZJ5REk96k8gsjTJbv/RtVKW8kV6enpnD17loiICKpWrZrX4YiIiIiIiIiIiPxjKWkruSIpKYkqVapgZWXF22+/ndfhiIiIiIiIiIiI/GM99ovIRO5XqFAhUlJS8jqMx+bu7k5eVwrJDzGIiIiIiIiIiEje00pbERERERERERERkXxESVsRERERERERERGRfERJWxEREREREREREZF8RElbERERERERERERkXxESVsRERERERERERGRfERJWxEREREREREREZF8RElbERERERERERERkXxESVsRERERERERERGRfERJWxERERERyXNhYWEUKlQor8N4pMDAQAYPHpwn146MjMRkMnHt2rW/9Dru7u7MnTv3L72GiIiIPJyStiIiIiIif4Pg4GBMJlOmLSgoKK9DA+7F16ZNm7wO46GioqJ4/vnnKVKkCHZ2dnh6etK1a1du376d16H9LerXr09iYiLOzs650t+DEuX79++nV69euXKNB/m7EtAiIiL/VJZ5HYCIiIiIyL9FUFAQK1asMNtnbW2dR9Hck5qaislkytMYsuPEiRMEBQUxYMAA5s+fj62tLadPn2bdunWkpqbmdXgPdefOHQoWLPjE/VhZWeHq6poLET2ci4vLX34NEREReTittBURERER+ZtYW1vj6upqthUuXBi4t/LQysqK3bt3G+1nzZrFM888wy+//ALcezS/f//+9O/fH2dnZ4oVK8b48eNJT083zrl69SpdunShcOHC2NnZ0bx5c06fPm0cz1hduXnzZqpUqYK1tTVvvvkm4eHhbNq0yVgBHBkZmeUYtm3bxnPPPUehQoUoWrQoLVu25OzZs8bxCxcuYDKZWL9+PY0aNcLOzo7q1auzd+9es37CwsIoU6YMdnZ2tG3blsuXLz907r766itcXV2ZNWsW1apVo3z58gQFBbF06VJsbW25ceMGTk5OfP7552bnbdy4EXt7e37//fdsxxYdHU1gYCB2dnYULlyYZs2acfXqVeN4WloaI0eOpEiRIri6ujJx4kSz800mE4sXL+all17C3t6eadOmAbB48WLKly+PlZUVlSpVYtWqVZnOW7ZsGW3btjVWEm/evNk4/ufVqYGBgVmu3r5w4QIAs2fPxtvbG3t7e9zc3Ojbty/JyclGX926dSMpKck4L2Mcfy6PkJCQQOvWrXFwcMDJyYnXXnvN+E4CTJw4kRo1arBq1Src3d1xdnamQ4cO/P777w+9p/f74YcfaNWqFYULF8be3p6qVauydetW4N53ulOnTri4uGBra4unp6fxy4+sVuzGxsaazQPAnj17aNCgAba2tri5uTFw4EBu3LhhHF+0aBGenp7Y2NhQvHhxXnnllWzHLiIi8ldQ0lZEREREJB/IqJXauXNnkpKSOHz4MOPHj2fZsmUUL17caBceHo6lpSUxMTHMmzeP2bNns2zZMuN4cHAwBw4cYPPmzezdu5f09HRatGjBnTt3jDY3b95k5syZLFu2jO+//5758+fz2muvERQURGJiIomJidSvXz/LOG/cuMHQoUM5cOAAERERFChQgLZt25KWlmbWbuzYsQwfPpzY2FgqVqxIx44duXv3LgD79u2je/fu9O/fn9jYWBo1asTUqVMfOj+urq4kJibyzTffZHnc3t6eDh06ZFrJvGLFCl555RUcHR2zFVtsbCyNGzemSpUq7N27lz179tCqVSuz1bzh4eHY29uzb98+Zs2axeTJk9mxY4fZdSdOnEjbtm05duwYb775Jhs2bGDQoEEMGzaM48eP89Zbb9GtWzd27dpldt6kSZN47bXXOHr0KC1atKBTp05cuXIlyzGvX7/euF+JiYm8/PLLVKpUyfi+FChQgPnz5/P9998THh7O119/zciRI4F7pRbmzp2Lk5OTcf7w4cMzXSMtLY3WrVtz5coVoqKi2LFjB+fOnaN9+/Zm7c6ePcvGjRvZsmULW7ZsISoqihkzZmQZd1b69etHSkoK33zzDceOHWPmzJk4ODgAMH78eE6cOMGXX35JXFwcixcvplixYtnu++zZswQFBdGuXTuOHj3KJ598wp49e+jfvz8ABw4cYODAgUyePJn4+Hi2bdtGw4YNH9hfSkoK169fN9tERERym8ojiMg/ztDqRXFycsrrMERERHJsy5YtRiIqw9tvv83bb78NwNSpU9mxYwe9evXi+PHjdO3alZdeesmsvZubG3PmzMFkMlGpUiWOHTvGnDlz6NmzJ6dPn2bz5s1ER0cbSdfVq1fj5ubGxo0befXVV4F7j+svWrSI6tWrG/3a2tqSkpLyyMfv27VrZ/b5o48+wsXFhRMnTlCtWjVj//Dhw3nxxReBe4nIqlWrcubMGSpXrsy8efMICgoyEogVK1bk22+/Zdu2bQ+87quv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f3969OiBvb09J06cYMeOHSxcuJAtW7Zw7tw5GjZsSOHChdm6dStpaWlUqlQp18YnIiKSU1ppKyIiIiLyN9m2bRslSpQw25577jkApk2bxg8//MAHH3wA3KsJ+uGHHzJu3DiOHDli9NGlSxf++OMP6tSpQ79+/Rg0aBC9evUyjq9YsYJatWrRsmVL6tWrR3p6Olu3bs2UgP2znj17UqlSJfz8/HBxccm0KhTuPYq+du1aDh48SLVq1RgyZAjvvvtujuehbt26LF26lHnz5lG9enW++uorxo0b99Bz6tSpQ3JyMr1796Zq1aoEBATw3XffsXHjRgICAszadu/endu3b/Pmm2/mOLaKFSvy1VdfceTIEerUqUO9evXYtGkTlpZPtt6lTZs2zJs3j/fee4+qVavywQcfsGLFCgIDAx+7z2+++Ybjx49TtmxZs+/UxYsXqV69OrNnz2bmzJlUq1aN1atXM336dLPz69evT+/evWnfvj0uLi7MmjUr0zVMJhObNm2icOHCNGzYkCZNmuDh4cEnn3zy2HFnJTU1lX79+uHl5UVQUBAVK1Y0XgZnZWXFmDFj8PHxoWHDhlhYWLB27VrgXlmGNWvWcPLkSXx8fJg5cyZTp04169vHx4eoqChOnTpFgwYN8PX1ZcKECZQsWRKAQoUKsX79ep5//nm8vLxYsmQJa9asyfQCOhERkb+TKf3+4j8iIvnY9evXcXZ2JikpSbXDRETkkZ7GvzcCAwOpUaMGc+fOzetQ8rVVq1YZ9U8zHn8X+atk/Fkz48IMbJxs8joceQoNKjwor0MQkVyU3X+jqjyCiIiIiIg8FW7evEliYiIzZszgrbfeUsJWRERE/rFUHkFERERERJ4Ks2bNonLlyri6ujJmzJi8DkdERETksWmlrYiIiIjIP0RkZGReh5CvTZw4kYkTJ+Z1GCIiIiJPTCttRURERERERERERPIRrbQVkX+c2UcuY+NwO6/D+NcZ7Vssr0MQERERERER+VfQSlsRERERERERERGRfERJWxEREREREREREZF8RElbERERERERERERkXxESVsRERERERERERGRfERJWxEREREREREREZF8RElbERERERERERERkXxESVsRERERERERERGRfERJWxEREREREREREZF8RElbERERERERERERkXzEMq8DEBEREREREfmn61O4D05O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JCQksHbtWs6ePcv8+fONer/Z5eDgQPfu3RkxYgRff/21Mc8Zq6H/Kp6enuzYsYNvv/2WuLg43nrrLX755Ze/9JpZ+avuzYN4enpy4MABtm/fzqlTpxg/frzxQrQM7u7uHD16lPj4eP73v/9l+YuHvn37cvHiRQYMGMDJkyfZtGkTISEhDB069C+/dyIiIk/CMq8DEBHJqaHVi+oxNBER+cdzcHDg2WefZc6cOUa9UDc3N3r27Mnbb79ttPvoo4/o3r07tWrVolKlSsyaNYsXXnghU38zZsxg0KBBnD59mho1avDf//7XbHVrv379uHTpEk5OTgQFBTFnzhzg3ovBvv76a0aMGEFAQAAWFhbUqFHDrHZpdk2aNIm1a9fSt29fSpQowZo1a4xVmJaWlsyfP5/JkyczYcIEGjRoQGRkZJbjSEtLo3Pnzvz+++/4+fmxfft2ChcunON4Mrz00ksMGTKE/v37k5KSwosvvsj48eOZOHFijvp59913SU5OplWrVjg6OjJs2LAsk8+5ady4cZw7d45mzZphZ2dHr169aNOmzV9+3az8FffmQd566y0OHz5M+/btMZlMdOzYkb59+/Lll18abXr27ElkZCR+fn4kJyeza9cu3N3dzfopVaoUW7duZcSIEVSvXp0iRYrQvXv3B/7yQ0REJL8wpd//nIiISD52/fp1nJ2dSUpKUtJWREQeSX9v/L1MJhMbNmwwVveK/Ftk/Fkz48IMbJxs8joceQoNKjwor0MQkVyU3X+j6nkQERERERERERERkXxESVsRERERERERERGRfEQ1bUVERERE5Imp6pqIiIhI7tFKWxEREREREREREZF8RElbERERERERERERkXxESVsRERERERERERGRfERJWxEREREREREREZF8RElbERERERERERERkXxESVsRERERERERERGRfMQyrwMQEcmp2UcuY+NwO6/D+NcZ7Vssr0MQERERERER+VfQSlsRERERERERERGRfERJWxEREREREREREZF8RElbERERERERERERkXxESVsRERERERERERGRfEQvIhMRERERERF5Qn0K98HJySmvwxARkaeEVtqKiIiIiIiIiIiI5CNK2oqIiIiIiIiIiIjkI0raioiIiIiIiIiIiOQjStqKiIiIiIiIiIiI5CNK2oqIiIiIiIiIiIjkI0raioiIiIiI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jx49OHfuHJ07d+bYsWP4+fmxYMECIHv/TTzJdy0rY8aMISkpydgyylGIiIiIiIiIiDzN8l3S9u7du6xcuZLQ0FCzxM+RI0coWbKk8VIrHx8fIiIisuzD29ubtLQ0oqKisjzu5eXF3r17zRJQ0dHRODo6Urp0aQBcXFxITEw0jl+/fp3z58/naCxWVlYAxirPB4mOjqZ169a88cYbVK9eHQ8PD06dOmUc9/T0xNbW9oHj9fHxITY2litXrmR5vGbNmsTHx1OhQoVMW0YpCFtbW1q1asX8+fOJjIxk7969HDt2DLi3mrNJkybMmjWLo0ePcuHCBb7++uvHGkt2eHl5cfHiRbP5/+6777J17v0vX8s4z9PTEwsLC06ePMnly5eZMWMGDRo0oHLlylmuinZxcaFr1658/PHHzJ07lw8//NA45uTkRPv27Vm6dCmffPIJ69atM+Y9ICCAPXv2EBERYZTxCAwMZM2aNZw6dcrY5+TkRMmSJYmOjja7bnR0NFWqVHng2JydnSlRooTZGO/evcvBgwezNTf3q1ixIkOGDOGrr77i5ZdfNl62BvdKTPTu3Zv169czbNgwli5daszL77//zo0bN4y2sbGxZv0+6Xftz6ytrXFycjLbRERERERERESedvmupu2WLVu4evUq3bt3x9nZ2exYu3btWL58Ob179yYkJITGjRtTvnx5OnTowN27d9m6dSujRo3C3d2drl278uabbxovIvvhhx/49ddfee211+jbty9z585lwIAB9O/fn/j4eEJCQhg6dKiRWHr++ecJCwujVatWFCpUiAkTJmBhYZGjsZQtWxaTycSWLVto0aIFtra2Wb7UydPTk88//5xvv/2WwoULM3v2bH755RcjgWdjY8OoUaMYOXIkVlZW+Pv789tvv/H999/TvXt3OnbsyDvvvEObNm2YPn06JUqU4PDhw5QsWZJ69eoxYcIEWrZsSZkyZXjllVcoUKAAR44c4fjx40ydOpWwsDBSU1N59tlnsbOz4+OPP8bW1payZcuyZcsWzp07R8OGDSlcuDBbt24lLS2NSpUqZTnmR40lO5o0aULFihXp2rUr7777LtevX2fs2LHZOjchIYGhQ4fy1ltvcejQIRYsWEBoaCgAZcqUwcrKigULFtC7d2+OHz/OlClTzM6fMGECtWrVomrVqqSkpLBlyxa8vLwAmD17NiVKlMDX15cCBQrw2Wef4erqatQrbtiwIb///jtbtmxhxowZwL2k7SuvvEKJEiWoWLGicZ0RI0YQEhJC+fLlqVGjBitWrCA2NpbVq1c/dHyDBg1ixowZeHp6UrlyZWbPnv3AVc9Z+eOPPxgxYgSvvPIK5cqV49KlS+zfv5927doB92roNm/enIoVK3L16lV27dpljD/j+/H2228zcOBA9u3bR1hYWKb5e9zvmoiIiIiIiIiI3JPvVtouX76cJk2aZErYwr2k7YEDBzh69CiBgYF89tlnbN68mRo1avD8888TExNjtF28eDGvvPIKffv2pXLlyvTs2dNYIViqVCm2bt1KTEwM1atXp3fv3nTv3p1x48YZ548ZM4aAgABatmzJiy++SJs2bShfvnyOxlKqVCnjxUzFixenf//+WbYbN24cNWvWpFmzZgQGBuLq6kqbNm3M2owfP55hw4YxYcIEvLy8aN++vbFK1MrKiq+++opnnnmGFi1a4O3tzYwZM4wkc7NmzdiyZQtfffUVtWvXpm7dusyZM8dIlBUqVIilS5fi7++Pj48PO3fu5L///S9FixalUKFCrF+/nueffx4vLy+WLFnCmjVrqFq16mOP5VEKFCjAhg0b+OOPP6hTpw49evRg2rRp2Tq3S5cuxnn9+vVj0KBB9OrVC7i3UjQsLIzPPvuMKlWqMGPGDN577z2z862srBgzZgw+Pj40bNgQCwsL1q5dC4CjoyOzZs3Cz8+P2rVrc+HCBbZu3Wok+gsXLoy3tzcuLi7GS74aNmxIWlpaptIIAwcOZOjQoQwbNgxvb2+2bdvG5s2bzV4KlpVhw4bRuXNnunbtSr169XB0dKRt27bZmhsACwsLLl++TJcuXahYsSKvvfYazZs3N17ol5qaSr9+/fDy8iIoKIiKFSuyaNEiAIoUKcLHH3/M1q1b8fb2Zs2aNUycONGs/yf5romIiIiIiIiIyD2m9D8XqRT5hwoMDKRGjRrMnTs3r0ORv8j169dxdnYm5Jtz2Dg45nU4/zqjfYvldQgiIjmS8fdGUlKSSuyIyF8m48+aGRdmYONkk9fhyFNoUOFBeR2CiOSi7P4bNd+ttBURERERERERERH5N1PSVkRERERERP7R3N3dc/TEXVhYmPFuChERkfxISVt5akRGRqo0goiIiIjkC8HBwZhMpkzbmTNncqX/vE46ZjW2+7c/v/vgz4KDg3P87ouH2b9/v/EuCxERkaeBZV4HICIiIiIi8jQKCgpixYoVZvtcXFzyKJoHu3PnDgULFszROYmJicbPn3zyCRMmTCA+Pt7Y5+DgkGvxPczt27exsrLKl/MqIiLyJLTSVkRERERE5C9gbW2Nq6ur2WZhYQHApk2bqFmzJjY2Nnh4eDBp0iTu3r1rnDt79my8vb2xt7fHzc2Nvn37kpycDNx7wqxbt24kJSVlWtlqMpnYuHGjWRyFChUiLCwMgAsXLmAymfjkk08ICAjAxsaG1atXA7Bs2TK8vLywsbGhcuXKLFq06IFju39Mzs7OmEwm4/OSJUt47rnnzNrPnTsXd3d3ACZOnEh4eDibNm0y4o+MjATg2LFjPP/889ja2lK0aFF69epljBv+f4XutGnTKFmyJJUqVQIyl0d42Pxl5ciRIzRq1AhHR0ecnJyoVasWBw4ceGB7ERGRv5pW2oqIiIiIiPyNdu/eTZcuXZg/fz4NGjTg7NmzxqP9ISEhABQoUID58+dTrlw5zp07R9++fRk5ciSLFi2ifv36zJ0712x1a05Xto4ePZrQ0FB8fX2NxO2ECRNYuHAhvr6+HD58mJ49e2Jvb0/Xrl1zdfzDhw8nLi6O69evGyuRixQpwo0bN2jWrBn16tVj//79/Prrr/To0YP+/fsbSWeAiIgInJyc2LFjxwOv8bD5y0qnTp3w9fVl8eLFWFhYEBsb+8DVxykpKaSkpBifr1+//hizICIi8nBK2oqIiIiIiPwFtmzZYpZMbd68OZ999hmTJk1i9OjRRjLUw8ODKVOmMHLkSCNpO3jwYOM8d3d3pk6dSu/evVm0aBFWVlZmq1sfx+DBg3n55ZeNzyEhIYSGhhr7ypUrx4kTJ/jggw9yPWnr4OCAra0tKSkpZvGHh4dz69YtVq5cib29PQALFy6kVatWzJw5k+LFiwNgb2/PsmXLsLKyeuj4Mvx5/rKSkJDAiBEjqFy5MgCenp4P7Hv69OlMmjQp2+MVERF5HEraioiIiIiI/AUaNWrE4sWLjc8ZicgjR44QHR3NtGnTjGOpqancunWLmzdvYmdnx86dO5k+fTonT57k+vXr3L171+z4k/Lz8zN+vnHjBmfPnqV79+707NnT2H/37l2cnZ2f+FrZFRcXR/Xq1Y15AvD39yctLY34+Hgjaevt7f3QhC2Q4/kbOnQoPXr0YNWqVTRp0oRXX32V8uXLZ9n3mDFjGDp0qPH5+vXruLm5Pc6QRUREHkg1bUVERERERP4C9vb2VKhQwdhKlCgBQHJyMpMmTSI2NtbYjh07xunTp7GxseHChQu0bNkSHx8f1q1bx8GDB3n//feBey/eehiT6f/au/e4nu///+P3N+mgVKIJi1hFqESOfSjDJ+zjg52MNvpubDPH0Ry2WZqNZs6Hmc2mmRk7YIYZ66NMzLFayPm4zycz5hSbUe/fH369561SkXrhdr1cXpeL1+v9fD2fj9fz/UpPD8/X82WS2Wy2OnblypU8Y8uRs9brhx9+aBXTzp079dNPPxX5usuUKVOoGG7V9bHn5Vb6b8yYMdq1a5ceeeQR/ec//1G9evW0dOnSPMva2dnJ2dnZagMAoLgx0xYAAAAASlCjRo20d+9eeXt75/n59u3blZ2drUmTJqlMmWvzbL744gurMra2tsrKysp1rru7uzIyMiz7+/fv16VLl24aT5UqVVStWjUdOnRIERERRb2cPGM4ceKEzGazTCaTJCklJaXA+P38/BQXF6eLFy9aErNJSUkqU6aM5YVjhVGY/suLr6+vfH199fLLL6tHjx6aN2+eunXrVuh2AQAoTsy0BQAAAIAS9MYbb2j+/PmKiYnRrl27lJ6erkWLFun111+XJHl7e+vKlSuaMWOGDh06pE8//VTvv/++VR1eXl7KzMxUfHy8Tp06ZUnMPvzww5o5c6aSk5O1bds2vfjii/m+UOt6MTExGj9+vKZPn659+/YpLS1N8+bN0+TJk4t8fWFhYfrtt980YcIEHTx4ULNmzdJ3332XK/6ff/5Ze/fu1alTp3TlyhVFRETI3t5evXv31s6dO7Vu3ToNHDhQzzzzjGVphMIoTP9d748//tCAAQOUkJCgo0ePKikpSVu3bpWfn1+Rrx0AgOJC0hYAAAAASlB4eLhWrFihNWvWqEmTJmrevLmmTJmimjVrSpICAwM1efJkvfPOO2rQoIE+++wzjR8/3qqOli1b6sUXX1T37t3l7u6uCRMmSJImTZokT09PtWrVSj179lRUVFSh1sDt06eP5s6dq3nz5snf31+hoaGKi4tTrVq1inx9fn5+eu+99zRr1iwFBgZqy5YtioqKsirTt29f1alTR8HBwXJ3d1dSUpLKly+v77//Xr///ruaNGmixx9/XG3bttXMmTOL1H5h+u96ZcuW1enTp9WrVy/5+vrqySefVMeOHXnZGACgVJnMNy42BAAGdf78ebm4uCh6/SHZO1Uo7XDuOyODKpd2CABQJDm/N86dO8eakwDumJy/a2KPxMre2b60w8E9aHDFwaUdAoBiVNgxKjNtAQAAAAAAAMBASNoCAAAAAAAAgIGQtAUAAAAAAAAAA7Ep7QAAoKiGBlZibUIAAAAAAHDPYqYtAAAAAAAAABgISVsAAAAAAAAAMBCStgAAAAAAAABgICRtAQAAAAAAAMBASNoCAAAAAAAAgIGQtAUAAAAAAAAAAyFpCwAAAAAAAAAGQtIWAAAAAAAAAAyEpC0AAAAAAAAAGAhJWwAAAAAAAAAwEJvSDgAAimpy6mnZO/1V2mHcd0YGVS7tEAAAAAyrX8V+cnZ2Lu0wAAD3CGbaAgAAAAAAAICBkLQFAAAAAAAAAAMhaQsAAAAAAAAABkLSFgAAAAAAAAAMhKQtAAAAAAAAABgISVsAAAAAAAAAMBCStgAAAAAAAABgICRtAQAAAAAAAMBASNoCAAAAAAAAgIHYlHYAAAAAAADc7WafmS37LPvSDgP3oMEVB5d2CABKATNtAQAAAAAAAMBASNoCAAAAAAAAgIGQtAUAAAAAAAAAAyFpCwAAAAAAAAAGQtIWAAAAAAAAAAyEpC0AAAAAAAAAGAhJ23wkJCTIZDLp7Nmz+ZaJi4uTq6tricVUXI4cOSKTyaSUlJR8y3h5eWnq1KklFlNJMJlMWrZsWYm2WZj7CAAAAAAAALjePZe0PXHihAYPHixvb2/Z29urSpUqCgkJ0ezZs3Xp0qVC19OyZUtlZGTIxcXlDkZrXFu3btXzzz9fLHUVJklcnMaMGaOGDRvmOp6RkaGOHTuWSAwAAAAAAADArbIp7QCK06FDhxQSEiJXV1eNGzdO/v7+srOzU1pamj744ANVr15d//73vwtVl62trTw8PO5wxMbl7u5e4m3+9ddfsrW1vWP13y3f55UrV1SuXLnSDiOXO/39AAAAAAAA4Jp7aqbtSy+9JBsbG23btk1PPvmk/Pz8VLt2bXXp0kUrV65U586dJeU98/Ps2bMymUxKSEiQlPdj7XFxcapRo4bKly+vbt266fTp07li+OabzsR3pAAAPCpJREFUb9SoUSPZ29urdu3aiomJ0dWrVyVJZrNZY8aMUY0aNWRnZ6dq1app0KBB+V7PwYMH1aVLF1WpUkVOTk5q0qSJfvjhB6syXl5eGjdunJ599llVqFBBNWrU0AcffGBVZsuWLQoKCpK9vb2Cg4OVnJxcYF/euDyCyWTS3Llz1a1bN5UvX14+Pj5avny55fMzZ84oIiJC7u7ucnBwkI+Pj+bNmydJqlWrliQpKChIJpNJYWFhkqTIyEh17dpVb7/9tqpVq6Y6depY2rpxGQNXV1fFxcVZ9n/55Rf16NFDbm5ucnR0VHBwsDZv3qy4uDjFxMQoNTVVJpNJJpPJct6N9aalpenhhx+Wg4ODKlWqpOeff16ZmZmWz3PimzhxoqpWrapKlSqpf//+unLliqXMp59+quDgYFWoUEEeHh7q2bOnTp48WWD/Xs9kMmn27Nn697//LUdHR7399tuSbu9eOnPmjHr16qWKFSuqfPny6tixo/bv32/5PK/ZyFOnTpWXl1eu67/x+8mv73MU588AAAAAAADA/eiemWl7+vRprVmzRuPGjZOjo2OeZUwm0y3Xv3nzZj333HMaP368unbtqtWrVys6OtqqzI8//qhevXpp+vTpatWqlQ4ePGhZYiA6Olpff/21pkyZokWLFql+/fo6ceKEUlNT820zMzNTnTp10ttvvy07OzvNnz9fnTt31t69e1WjRg1LuUmTJmns2LF69dVX9dVXX6lfv34KDQ1VnTp1lJmZqX/9619q3769FixYoMOHD2vw4MG31AcxMTGaMGGC3n33Xc2YMUMRERE6evSo3NzcNHr0aO3evVvfffedKleurAMHDuiPP/6QdC1p3LRpU/3www+qX7++1WzN+Ph4OTs7a+3atYWOIzMzU6GhoapevbqWL18uDw8P7dixQ9nZ2erevbt27typ1atXWxLceS1xcfHiRYWHh6tFixbaunWrTp48qT59+mjAgAFWyeF169apatWqWrdunQ4cOKDu3burYcOG6tu3r6Rrs2LHjh2rOnXq6OTJkxo6dKgiIyO1atWqIvXtmDFjFBsbq6lTp8rGxua276XIyEjt379fy5cvl7Ozs0aMGKFOnTpp9+7dRZrFe+P3c7O+l4r/ZwAAAAAAAOB+dM8kbQ8cOCCz2WyZDZijcuXK+vPPPyVJ/fv31zvvvHNL9U+bNk0dOnTQ8OHDJUm+vr7auHGjVq9ebSkTExOjkSNHqnfv3pKk2rVra+zYsRo+fLiio6N17NgxeXh4qF27dipXrpxq1Kihpk2b5ttmYGCgAgMDLftjx47V0qVLtXz5cg0YMMByvFOnTnrppZckSSNGjNCUKVO0bt061alTRwsXLlR2drY++ugj2dvbq379+vrll1/Ur1+/IvdBZGSkevToIUkaN26cpk+fri1btqhDhw46duyYgoKCFBwcLElWMzZzllqoVKlSriUKHB0dNXfu3CI9dr9w4UL99ttv2rp1q9zc3CRJ3t7els+dnJxkY2Nz0+UQFi5cqD///FPz58+3JPlnzpypzp0765133lGVKlUkSRUrVtTMmTNVtmxZ1a1bV4888oji4+MtSdtnn33WUmft2rU1ffp0NWnSRJmZmXJycir0NfXs2VP/93//Z9l/9tlnb/leyknWJiUlqWXLlpKkzz77TJ6enlq2bJmeeOKJQsd14/fzwQcf3LTvi/tn4PLly7p8+bJl//z584WOHQAAAAAA4G51Ty2PkJctW7YoJSVF9evXt0r+FFV6erqaNWtmdaxFixZW+6mpqXrzzTfl5ORk2fr27auMjAxdunRJTzzxhP744w/Vrl1bffv21dKlSy2PjeclMzNTUVFR8vPzk6urq5ycnJSenq5jx45ZlQsICLD82WQyycPDw/KIfnp6ugICAmRvb59v3IV1fTuOjo5ydna2tNOvXz8tWrRIDRs21PDhw7Vx48ZC1env71/kdVJTUlIUFBRkSRreivT0dAUGBlrNyg4JCVF2drb27t1rOVa/fn2VLVvWsl+1alWr5Q+2b9+uzp07q0aNGqpQoYJCQ0MlKdd3VJCcZHeO27mX0tPTZWNjY3W/VqpUSXXq1FF6enqR4rrx+ymo74v7Z2D8+PFycXGxbJ6enkWKHwAAAAAA4G50zyRtvb29ZTKZrBJu0rWZft7e3nJwcLAcK1Pm2mWbzWbLsevXKb1VmZmZiomJUUpKimVLS0vT/v37ZW9vL09PT+3du1fvvfeeHBwc9NJLL6l169b5th0VFaWlS5dq3Lhx+vHHH5WSkiJ/f3/99ddfVuVufNzdZDJZHlcvTjdrp2PHjjp69Khefvll/e9//1Pbtm0VFRVVYJ15LWVhMpmsvhvJ+vu5/ru80252zTlLLDg7O+uzzz7T1q1btXTpUknK9R0V5MZ+KO576UZlypS5aR/nF1dBfV/ccY8aNUrnzp2zbMePHy/U9QEAAAAAANzN7pmkbaVKldS+fXvNnDlTFy9evGnZnMf1MzIyLMeufylZXvz8/KxetiRJP/30k9V+o0aNtHfvXnl7e+fachLFDg4O6ty5s6ZPn66EhARt2rRJaWlpebaZlJSkyMhIdevWTf7+/vLw8NCRI0duGmdecf/888+WJSLyiru4uLu7q3fv3lqwYIGmTp1qeSFazkzNrKysQtdz/Xezf/9+Xbp0ybIfEBCglJQU/f7773meb2trW2Bbfn5+Sk1NtbpXkpKSVKZMmVxLbORnz549On36tGJjY9WqVSvVrVu3yC8hy8/t3Et+fn66evWq1f16+vRp7d27V/Xq1ZN0rY9PnDhhlbgt6GdAKrjvi/tnwM7OTs7OzlYbAABAcQsLC9OQIUMs+ze+lPd+tGfPHjVv3lz29va5XmBrZHm9cBcAgLvRPZO0laT33ntPV69eVXBwsBYvXqz09HTt3btXCxYs0J49eyyPuTs4OKh58+aKjY1Venq6EhMT9frrr9+07kGDBmn16tWaOHGi9u/fr5kzZ1qtZytJb7zxhubPn6+YmBjt2rVL6enpWrRokaXuuLg4ffTRR9q5c6cOHTqkBQsWyMHBQTVr1syzTR8fHy1ZskQpKSlKTU1Vz549izyDtmfPnjKZTOrbt692796tVatWaeLEiUWqozDeeOMNffPNNzpw4IB27dqlFStWyM/PT5L0wAMPyMHBQatXr9avv/6qc+fO3bSuhx9+WDNnzlRycrK2bdumF1980WrGa48ePeTh4aGuXbsqKSlJhw4d0tdff61NmzZJujbIPnz4sFJSUnTq1Kk8l8WIiIiQvb29evfurZ07d2rdunUaOHCgnnnmGct6tgWpUaOGbG1tNWPGDB06dEjLly/X2LFjC9tlN3U795KPj4+6dOmivn37asOGDUpNTdXTTz+t6tWrq0uXLpKu/cPkt99+04QJE3Tw4EHNmjVL3333XYFxFdT3xf0zAAAAUBiRkZEymUy5tgMHDpR2aIWSkJAgk8mks2fP5vqsOBLINyalCyM6OlqOjo7au3ev4uPjb6v9O8VkMmnZsmVWx6KiogwbLwAARXFPJW0feughJScnq127dho1apQCAwMVHBysGTNmKCoqyiqh9vHHH+vq1atq3LixhgwZorfeeuumdTdv3lwffvihpk2bpsDAQK1ZsyZXojc8PFwrVqzQmjVr1KRJEzVv3lxTpkyxJKRcXV314YcfKiQkRAEBAfrhhx/07bffqlKlSnm2OXnyZFWsWFEtW7ZU586dFR4erkaNGhWpT5ycnPTtt98qLS1NQUFBeu211275ZWw3Y2trq1GjRikgIECtW7dW2bJltWjRIkmSjY2Npk+frjlz5qhatWqWxGF+Jk2aJE9PT7Vq1Uo9e/ZUVFSUypcvb9XWmjVr9MADD6hTp07y9/dXbGysJSn/2GOPqUOHDmrTpo3c3d31+eef52qjfPny+v777/X777+rSZMmevzxx9W2bVvNnDmz0Nfs7u6uuLg4ffnll6pXr55iY2OLLSF+u/fSvHnz1LhxY/3rX/9SixYtZDabtWrVKkvy28/PT++9955mzZqlwMBAbdmypVDLWRTU98X9MwAAAFBYHTp0UEZGhtVWq1at0g7rrnXw4EH94x//UM2aNW95rFbUJcOKg5OTE2NLAMA9wWS+cWFLADCo8+fPy8XFRdHrD8neqUJph3PfGRlUubRDAIAiyfm9ce7cOZbYucdFRkbq7NmzuWZd5khMTNQrr7yi1NRUubm5qXfv3nrrrbdkY2Mj6dpM1IYNG1pmtHp5eWnIkCGW2anHjh3TwIEDFR8frzJlyqhDhw6aMWOGqlSponPnzsnNzU2bN29WcHCwsrOzVblyZfn6+lqWJVuwYIFGjRqV7/r8CQkJatOmjc6cOSNXV1erz66P5ciRI6pVq5Y+//xzTZ8+XTt27JC3t7dmzZpleSFuXvK6vueff14HDhzQl19+qYoVK+r111/X888/L+naDNbrRUdHa8yYMUpLS9PgwYO1adMmlS9fXo899pgmT54sJycnq++hSZMmmjVrluzs7LRu3TrVqlVLixcv1owZM7Rt2zY1aNBAn332mc6dO6d+/fppz549atWqlebPn29Zym7r1q169dVXlZycrCtXrqhhw4aaMmWKZRKLl5eXjh49aomxZs2aOnLkiMaMGaNly5ZZlv7Kzs7WW2+9pQ8++EC//fab/Pz8FBsbqw4dOkiSpU+//vprzZgxQ5s3b5aPj4/ef//9Qr/AOefvmtgjsbJ3ti/4BKCIBlccXNohAChGhR2j3lMzbQEAAADgev/973/VqVMnNWnSRKmpqZo9e7Y++uijAp+0y5Gdna0uXbro999/V2JiotauXatDhw6pe/fukiQXFxc1bNhQCQkJkqS0tDSZTCYlJycrMzNT0rWk8c2SqkX1yiuvaNiwYUpOTlaLFi3UuXNnnT59ukh1TJo0ScHBwUpOTtZLL72kfv36WV7qnJGRofr162vYsGHKyMhQVFSU5SW8FStW1NatW/Xll1/qhx9+0IABA6zqjY+P1969e7V27VqtWLHCcjw6Olqvv/66duzYIRsbG/Xs2VPDhw/XtGnT9OOPP+rAgQN64403LOUvXLig3r17a8OGDfrpp5/k4+OjTp066cKFC5KuJXWla0+YZWRkWPZvNG3aNE2aNEkTJ07Uzz//rPDwcP373//W/v37rcq99tprioqKUkpKinx9fdWjRw9dvXo1zzovX76s8+fPW20AABQ3krYAAAAA7norVqyQk5OTZXviiSckXXvvhaenp2bOnKm6deuqa9euiomJ0aRJkwr1voj4+HilpaVp4cKFaty4sZo1a6b58+crMTHRkigMCwuzJG0TEhLUvn17+fn5acOGDZZjxZm0HTBggB577DH5+flp9uzZcnFx0UcffVSkOjp16qSXXnpJ3t7eGjFihCpXrqx169ZJkjw8PGRjYyMnJyd5eHjIyclJCxcu1J9//qn58+erQYMGlvdQfPrpp/r1118t9To6Omru3LmqX7++6tevbzkeFRWl8PBw+fn5afDgwdq+fbtGjx6tkJAQBQUF6bnnnrO0L117z8XTTz+tunXrys/PTx988IEuXbqkxMRESX+/XNrV1VUeHh6W/RtNnDhRI0aM0FNPPaU6deronXfesZp1fH18jzzyiHx9fRUTE6OjR4/muyby+PHj5eLiYtk8PT2L1PcAABQGSVsAAAAAd702bdooJSXFsk2fPl2SlJ6erhYtWlg98h8SEqLMzEz98ssvBdabnp4uT09Pq8RcvXr15OrqqvT0dElSaGioNmzYoKysLCUmJiosLMySyP3f//6nAwcOKCwsTJLUsWNHS2L5+qRmUVz/2L6NjY2Cg4MtsRRWQECA5c8mk0keHh46efJkvuXT09MVGBgoR0dHy7GQkBBlZ2dbZuhKkr+/v2xtbW/aXs6Lf/39/a2OXd/+r7/+qr59+8rHx0cuLi5ydnZWZmamjh07VuhrPH/+vP73v/8pJCTE6nhISEiu/ro+vqpVq0pSvv0xatQonTt3zrLlt+wFAAC3w6a0AwAAAACA2+Xo6Chvb+9Sabt169a6cOGCduzYofXr12vcuHHy8PBQbGysAgMDVa1aNfn4+EiS5s6dqz/++EOSLC+JzVnP7ty5c7nWtD179qxcXFyKPeactnOYTKZCzTwuyPVJ3fzay0mg33js+vZ79+6t06dPa9q0aapZs6bs7OzUokWLO/Zys7ziy68/7OzsZGdnd0fiAAAgBzNtAQAAANyz/Pz8tGnTJl3//uWkpCRVqFBBDz74YKHOP378uNVsyt27d+vs2bOqV6+epGuP6AcEBGjmzJkqV66c6tatq9atWys5OVkrVqywWhqhevXq8vb2lre3t2rWrClJ8vHxUZkyZbR9+3artg8dOqRz587J19fX6njOC84k6erVq9q+fbv8/PyK0CtF5+fnp9TUVF28eNFyLCkpSWXKlFGdOnWKvb2kpCQNGjRInTp1Uv369WVnZ6dTp05ZlSlXrpyysrLyrcPZ2VnVqlVTUlJSrrpzvjsAAIyKpC0AAACAe9ZLL72k48ePa+DAgdqzZ4+++eYbRUdHa+jQoSpTpuB/DrVr107+/v6KiIjQjh07tGXLFvXq1UuhoaEKDg62lAsLC9Nnn31mSdC6ubnJz89PixcvLnA92woVKqhPnz4aNmyYli9frsOHD2v9+vWKiIhQ8+bN1bJlS6vys2bN0tKlS7Vnzx71799fZ86c0bPPPnsLvVN4ERERsre3V+/evbVz506tW7dOAwcO1DPPPGNZ7qA4+fj46NNPP1V6ero2b96siIgIOTg4WJXx8vJSfHy8Tpw4oTNnzuRZzyuvvKJ33nlHixcv1t69ezVy5EilpKRo8ODBxR4zAADFiaQtAAAAgHtW9erVtWrVKm3ZskWBgYF68cUX9dxzz+n1118v1Pkmk0nffPONKlasqNatW6tdu3aqXbu2Fi9ebFUuNDRUWVlZlrVrpWuJ3BuP5WfatGnq3bu3RowYofr16ysyMlIBAQH69ttvrdbjlaTY2FjL0gsbNmzQ8uXLVbly5UJdz60qX768vv/+e/3+++9q0qSJHn/8cbVt21YzZ868I+199NFHOnPmjBo1aqRnnnlGgwYN0gMPPGBVZtKkSVq7dq08PT0VFBSUZz2DBg3S0KFDNWzYMPn7+2v16tVavny5ZbkKAACMymS+/jkhADCw8+fPy8XFRdHrD8neqUJph3PfGRl0Z/8xCADFLef3xrlz5yxrhgJ3syNHjqhWrVpKTk5Ww4YNSzsc/H85f9fEHomVvbN9aYeDe9DgiswMB+4lhR2jMtMWAAAAAAAAAAyEpC0AAAAAAAAAGIhNaQcAAAAAACiYl5eXWN0OAID7AzNtAQAAAAAAAMBASNoCAAAAAAAAgIGQtAUAAAAAAAAAAyFpCwAAAAAAAAAGQtIWAAAAAAAAAAzEprQDAICiGhpYSc7OzqUdBgAAAAAAwB3BTFsAAAAAAAAAMBCStgAAAAAAAABgICRtAQAAAAAAAMBASNoCAAAAAAAAgIHwIjIAAAAAAG5Tv4r9eFkuAKDYMNMWAAAAAAAAAAyEpC0AAAAAAAAAGAhJWwAAAAAAAAAwEJK2AAAAAAAAAGAgJG0BAAAAAAAAwEBsSjsAACiqyamnZe/0V2mHAQC4Q0YGVS7tEAAAAIBSxUxbAAAAAAAAADAQkrYAAAAAAAAAYCAkbQEAAAAAAADAQEjaAgAAAAAAAICB8CIyAAAAAABu0+wzs2WfZV/aYQAA7pDBFQeXaHvMtAUAAAAAAAAAAyFpCwAAAAAAAAAGQtIWAAAAAAAAAAyEpC0AAAAAAAAAGAhJWwAAAAAAAAAwEJK2AAAAAAAAAGAgJG0BAAAAAAAAwEBI2gIAAAAAAACAgZC0BQAAAAAAAAADIWkLAAAAAAAAAAZC0hYAAAAAAAAADISk7V1mzJgxatiw4W3XYzKZtGzZstuuJ4eXl5emTp2a7+eRkZHq2rVrsbVnVHFxcXJ1dS2w3K30/6VLl/TYY4/J2dlZJpNJZ8+evaUYAQAAAAAAYGwkbe8Ak8l0023MmDGlHaIyMjLUsWPHEmtv2rRpiouLK7H2Skv37t21b98+y35xJdkl6ZNPPtGPP/6ojRs3KiMjQy4uLsVSb1hYmIYMGVIsdQEAAAAAAOD2kbS9AzIyMizb1KlT5ezsbHUsKiqqtEOUh4eH7OzsSqw9FxeXQs1Avds5ODjogQceuCN1Hzx4UH5+fmrQoIE8PDxkMpnuSDu36q+//irtEAAAAO56d+uTdQAAoHiRtL0DPDw8LJuLi4tMJpPVsUWLFsnPz0/29vaqW7eu3nvvPavzf/nlF/Xo0UNubm5ydHRUcHCwNm/ebFXm008/lZeXl1xcXPTUU0/pwoULls/CwsI0aNAgDR8+XG5ubvLw8Mg1u/fGQdzN2jx48KC6dOmiKlWqyMnJSU2aNNEPP/xQpD65cXmEr776Sv7+/nJwcFClSpXUrl07Xbx4UZKUkJCgpk2bytHRUa6urgoJCdHRo0fzrEeShgwZorCwMMt+dna2xo8fr1q1asnBwUGBgYH66quvLJ+fOXNGERERcnd3l4ODg3x8fDRv3rw8416xYoVcXV2VlZUlSUpJSZHJZNLIkSMtZfr06aOnn35akvXyCHFxcYqJiVFqaqpllvX1s41PnTqlbt26qXz58vLx8dHy5cvz7b+wsDBNmjRJ69evl8lkslzv5cuXFRUVperVq8vR0VHNmjVTQkKC5bzTp0+rR48eql69usqXLy9/f399/vnnVt9LYmKipk2bZonxyJEjeS7zsGzZMqtEcc4/KObOnatatWrJ3t5eknT27Fn16dNH7u7ucnZ21sMPP6zU1FTLeampqWrTpo0qVKggZ2dnNW7cWNu2bcv32gEAAIyGJ+tyu3TpkkaNGqWHHnpI9vb2cnd3V2hoqL755psSi+F2HTlyRCaTSSkpKaUdCgAAsintAO43n332md544w3NnDlTQUFBSk5OVt++feXo6KjevXsrMzNToaGhql69upYvXy4PDw/t2LFD2dnZljoOHjyoZcuWacWKFTpz5oyefPJJxcbG6u2337aU+eSTTzR06FBt3rxZmzZtUmRkpEJCQtS+fftcMRXUZmZmpjp16qS3335bdnZ2mj9/vjp37qy9e/eqRo0aRe6DjIwM9ejRQxMmTFC3bt104cIF/fjjjzKbzbp69aq6du2qvn376vPPP9dff/2lLVu2FGlW6fjx47VgwQK9//778vHx0fr16/X0009bBo6jR4/W7t279d1336ly5co6cOCA/vjjjzzratWqlS5cuKDk5GQFBwcrMTFRlStXtkqMJiYmasSIEbnO7d69u3bu3KnVq1dbktzXL2kQExOjCRMm6N1339WMGTMUERGho0ePys3NLVddS5Ys0ciRI7Vz504tWbJEtra2kqQBAwZo9+7dWrRokapVq6alS5eqQ4cOSktLk4+Pj/788081btxYI0aMkLOzs1auXKlnnnlGDz30kJo2bapp06Zp3759atCggd58801Jkru7e6H7+sCBA/r666+1ZMkSlS1bVpL0xBNPyMHBQd99951cXFw0Z84ctW3bVvv27ZObm5siIiIUFBSk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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABW0AAAKyCAYAAACuWPzHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd1gU1/s28HsB6V2RogiigIA0u6KCLVggYonG8BUwlti7iLGBFQv2YBfQqBhjDSqICChoEAuIiohY0EjsDTUosO8fvDs/VrolrOb+XNdelztz5syZM7Py7LNnzojEYrEYRERERERERERERCQT5Kq7AURERERERERERET0f5i0JSIiIiIiIiIiIpIhTNoSERERERERERERyRAmbYmIiIiIiIiIiIhkCJO2RERERERERERERDKESVsiIiIiIiIiIiIiGcKkLREREREREREREZEMYdKWiIiIiIiIiIiISIYwaUtEREREREREREQkQ5i0JSIi+g/JzMzEN998Ay0tLYhEIuzfv7+6m/TZ3Lp1CyKRCKGhodXdFCIiIiL6l/yX4l36ujFpS0REn0VoaChEIlGpLz8/v+pu3n+Wt7c30tLSMH/+fGzbtg3NmjUrt/zjx48xZcoUWFpaQllZGbq6unB1dcWhQ4f+pRZXbMeOHVixYkV1N4OIiIj+YxjvyqbKxruSH/glLzk5Oejq6qJbt244ffr0v9zqf8fr16/h7++PuLi46m4KVYJCdTeAiIi+bnPmzEH9+vWlljVu3LiaWvPf9ubNG5w+fRrTp0/H6NGjKyyfkZGBTp064eHDhxg0aBCaNWuGZ8+eYfv27XBzc8PUqVMRGBj4L7S8fDt27MClS5cwfvx4qeUmJiZ48+YNatSoUT0NIyIiov8Exruyo6rxLgAMGDAA3bt3R0FBAa5du4bg4GB06NABycnJsLW1/cwt/ne9fv0aAQEBAAAXF5fqbQxViElbIiL6rLp161bhaE6Jf/75B4qKipCT440gn8PDhw8BANra2hWWfffuHfr27YunT5/ixIkTaNmypbBuwoQJ8PT0xKJFi9C0aVN89913n6vJH0UkEkFZWbm6m0FERERfOca7sqMq8a5EkyZN8L///U94365dO3Tr1g1r165FcHDwp24iUaXxfwkiIqoWcXFxEIlECA8Px4wZM1CnTh2oqqrixYsXAICkpCR0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ERERERHJECZtiYiIiIiIiIiIiGQIk7ZEREREREREREREMoRJWyIiIiIiIiIiIiIZwqQtERERERERERERkQxh0paIiIiIiIiIiIhIhjBpS0RERERERERERCRDmLQlIiIiIiIiIiIikiFM2hIRERERERERERHJECZtiYiIiIiIiIiIiGQIk7ZEREREREREREREMoRJWyIiIiIiIiIiIiIZwqQtERERERERERERkQxh0paIiIiIiIiIiIhIhjBpS0RERERERERERCRDFKq7AUREsmhZ6mMoq7+t7mZ8Nfwca1V3E4iIiIj+09Y+XQvlAuXqbsYHG6czrrqbQET0r+JIWyIiIiIiIiIiIiIZwqQtERERERERERERkQxh0paIiIiIiIiIiIhIhjBpS0RERERERERERCRDmLQlIiIiIiIiIiIikiFM2hIRERERERERERHJECZtiYiIiIiIiIiIiGQIk7ZEREREREREREREMoRJWyIiIiIiIiIiIiIZwqQtERERERERERERkQxh0paIiIiIiIiIiIhIhjBpS0RERERERERERCRDmLQlIiIiIiIiIiIikiFM2hIRERERERERERHJECZtiYiIiIiIiIiIiGQIk7ZEREREREREREREMoRJ26+Qv78/HBwcqrsZX4Qvva/i4uIgEonw7NmzMsv8/fff6NKlC9TU1KCtrQ0AEIlE2L9/PwDg1q1bEIlESElJ+eB2hIaGCnUTERHRl+39+MjHxwceHh6V3v5TxBafg6mpKVasWFHdzfhgxeM3IiIi+voxaVuNfHx8IBKJIBKJoKioiIYNG2LOnDnIz8//qHonT56MmJiYT9TKLz+xKVFaoPup+0oWLV++HDk5OUhJScG1a9cAADk5OejWrdsn20f//v2FuomIiL5WkritrJe/v391N5FQ9o/JycnJGDZs2L/fIKJPqKo/ohAR0ZdLobob8F/XtWtXhISEIC8vD4cPH8aoUaNQo0YNTJs2rUTZt2/fQlFRscI61dXVoa6u/jma+0Uqr9/+C32VlZWFpk2bwtzcXFhmYGDwSfehoqICFRWVT1onERGRrMnJyRH+vWvXLsyaNQsZGRnCsq89pqhulY2Fy6Knp/cJW0MFBQUQiUSQk+M4ICIios+Bf2GrmZKSEgwMDGBiYoIRI0agc+fOOHjwIID/+xV1/vz5MDIygqWlJQAgLS0NHTt2hIqKCmrWrIlhw4YhNzdXqLO0kbGbNm2ClZUVlJWV0ahRIwQHB0utv3v3LgYMGABdXV2oqamhWbNmSEpKQmhoKAICApCamiqMIgkNDS3zeMrbz48//gg7Ozvk5eUBKAq8HR0d4eXlBeD/bqULDw9HmzZtoKysjMaNGyM+Pl5qH/Hx8WjRogWUlJRgaGgIPz8/qdHJLi4uGD16NMaPH49atWrB1dUVpqamAIBevXpBJBIJ78u6/W/p0qUwNDREzZo1MWrUKLx7904ok5OTgx49ekBFRQX169fHjh07KrzdLjk5GV26dEGtWrWgpaUFZ2dnnD9/XqqMSCTCpk2b0KtXL6iqqsLc3Fy4FiQOHz4MCwsLqKiooEOHDrh161aZ+wSKbgPcs2cPtm7dCpFIBB8fH2Ff5d1ed+nSJXTr1g3q6urQ19fHwIED8ejRozLLvz+iJTU1FR06dICGhgY0NTXRtGlTnD17FgBw+/ZtuLu7Q0dHB2pqarCxscHhw4dLrQcA9u/fD5FIJLXswIEDaNKkCZSVlWFmZoaAgADhGhCLxfD390e9evWgpKQEIyMjjB07ttx+IiIiqgwDAwPhpaWlBZFIJLUsPDy83Hhr6tSpsLCwgKqqKszMzDBz5kypGEMSl2zZsgX16tWDuro6Ro4ciYKCAixevBgGBgaoXbs25s+fX2Fbt2zZAhsbGyFeGj16tLAuOzsbPXv2hLq6OjQ1NdGvXz/cv3+/0v0QGRmJtm3bQltbGzVr1oSbmxuysrJKlLt69eonj+kAYNmyZbC1tYWamhqMjY0xcuRIIRaOi4vDoEGD8Pz58xIjoN+P1yrqB8n52LZtG0xNTaGlpYXvv/8eL1++LLNvHj9+jAEDBqBOnTpQVVWFra0tdu7cKVXGxcUFY8eOha+vL3R1dWFgYFBilHZmZibat28PZWVlWFtbIzo6uuwT8v+VFo86ODgIdVcUI+Xl5WHy5MmoU6cO1NTU0LJlS8TFxQnrJXHawYMHYW1tDSUlJWRnZ5doh2T6rqioKDg6OkJFRQUdO3bEgwcPcOTIEVhZWUFTUxM//PADXr9+LWxX0XUl+a6wd+9edOjQAaqqqrC3t8fp06er1P8vX76Ep6cn1NTUYGhoiOXLl8PFxQXjx4+vcl9ERETA0tISqqqq6Nu3L16/fo2wsDCYmppCR0cHY8eORUFBQZXrjYqKgpWVFdTV1dG1a1fhByN/f3+EhYXhwIEDwvVdfHsiIvq6MGkrY1RUVPD27VvhfUxMDDIyMhAdHY2IiAi8evUKrq6u0NHRQXJyMnbv3o1jx45JBeLv2759O2bNmoX58+cjPT0dCxYswMyZMxEWFgYAyM3NhbOzM/766y8cPHgQqamp8PX1RWFhIfr3749JkybBxsYGOTk5yMnJQf/+/T9oP6tWrcKrV6/g5+cHAJg+fTqePXuGNWvWSNUzZcoUTJo0CRcuXEDr1q3h7u6Ox48fAwD++usvdO/eHc2bN0dqairWrl2LzZs3Y968eVJ1hIWFQVFREYmJiVi3bh2Sk5MBACEhIcjJyRHelyY2NhZZWVmIjY1FWFgYQkNDpRLVXl5euHfvHuLi4rBnzx5s2LABDx48KLM+oCg49Pb2RkJCAv7880+Ym5uje/fuJYL+gIAA9OvXDxcvXkT37t3h6emJJ0+eAADu3LmD3r17w93dHSkpKRgyZIjQl2VJTk5G165d0a9fP+Tk5GDlypXllgeAZ8+eoWPHjnB0dMTZs2cRGRmJ+/fvo1+/fhVuK+Hp6Ym6desiOTkZ586dg5+fH2rUqAEAGDVqFPLy8nDixAmkpaVh0aJFVRqZdPLkSXh5eWHcuHG4cuUK1q9fj9DQUOEL7J49e7B8+XKsX78emZmZ2L9/P2xtbcusLy8vDy9evJB6ERERVVVFcRAAaGhoIDQ0FFeuXMHKlSuxceNGLF++XKqerKwsHDlyBJGRkdi5cyc2b96MHj164O7du4iPj8eiRYswY8YMJCUlldmWtWvXYtSoURg2bBjS0tJw8OBBNGzYEABQWFiInj174smTJ4iPj0d0dDRu3LhRZnxXmlevXmHixIk4e/YsYmJiICcnh169eqGwsFCq3OeI6QBATk4Oq1atwuXLlxEWFobjx4/D19cXANCmTRusWLECmpqaQuw6efLkEsdQ2X7IysrC/v37ERERgYiICMTHxyMwMLDMvvnnn3/QtGlTHDp0CJcuXcKwYcMwcOBAnDlzpsRxqampISkpCYsXL8acOXOExGxhYSF69+4NRUVFJCUlYd26dZg6dWplTk25KoqRRo8ejdOnTyM8PBwXL17Ed999h65duyIzM1Mo8/r1ayxatAibNm3C5cuXUbt27TL35+/vjzVr1uDUqVO4c+cO+vXrhxUrVmDHjh04dOgQjh49itWrVwvlK3tdTZ8+HZMnT0ZKSgosLCwwYMAAIdlfmf6fOHEiEhMTcfDgQURHR+PkyZMlBlNUti9WrVqF8PBwREZGIi4uDr169cLhw4dx+PBhbNu2DevXr8fvv/9e5XqXLl2Kbdu24cSJE8jOzhau4cmTJ6Nfv35CIjcnJwdt2rQp0feMb4mIvg6cHkFGiMVixMTEICoqCmPGjBGWq6mpYdOmTcKtYBs3bsQ///yDrVu3Qk1NDQCwZs0auLu7Y9GiRdDX1y9R9+zZsxEUFITevXsDAOrXry8ku7y9vbFjxw48fPgQycnJ0NXVBQAhsAeKbvVTUFCo8Jb6ivajrq6OX3/9Fc7OztDQ0MCKFSsQGxsLTU1NqXpGjx6NPn36ACj60hEZGYnNmzfD19cXwcHBMDY2xpo1ayASidCoUSPcu3cPU6dOxaxZs4Tbs8zNzbF48eISbdTW1q7wOHR0dLBmzRrIy8ujUaNG6NGjB2JiYjB06FBcvXoVx44dQ3JyMpo1awagaHRx8akHStOxY0ep9xs2bIC2tjbi4+Ph5uYmLPfx8cGAAQMAAAsWLMCqVatw5swZdO3aFWvXrkWDBg0QFBQEALC0tBSSnmXR09ODkpISVFRUKj0lwpo1a+Do6IgFCxYIy7Zs2QJjY2Ncu3YNFhYWFdaRnZ2NKVOmoFGjRgAg1T/Z2dno06eP8CXBzMysUu2SCAgIgJ+fH7y9vYXt586dC19fX8yePRvZ2dkwMDBA586dUaNGDdSrVw8tWrQos76FCxciICCgSm0gIiJ6X0VxEADMmDFDKG9qaorJkycjPDxcSDgCRQm7LVu2QENDA9bW1ujQoQMyMjJw+PBhyMnJwdLSEosWLUJsbCxatmxZalvmzZuHSZMmYdy4ccKy5s2bAygaEJCWloabN2/C2NgYALB161bY2NggOTlZKFceSZwmsWXLFujp6eHKlSto3LixsPxzxXTFR0Samppi3rx5GD58OIKDg6GoqCg1Crosle2HwsJChIaGQkNDAwAwcOBAxMTElDnauU6dOlJJ4jFjxiAqKgq//fabVDxiZ2eH2bNnC8e4Zs0axMTEoEuXLjh27BiuXr2KqKgoGBkZASiKCz/2eQTlxUjZ2dkICQlBdna2sM/JkycjMjISISEhQlz47t07BAcHw97evsL9zZs3D05OTgCAwYMHY9q0acjKyhJiv759+yI2NlZISFf2upo8eTJ69OgBoCgutLGxwfXr19GoUaMK+//ly5cICwvDjh070KlTJwBFgzokx1zVvpDE55Lj2bZtG+7fvw91dXXh8xsbG4v+/ftXqd5169YJ9Y4ePRpz5swBUPS9TEVFBXl5eeVe34xviYi+DhxpW80iIiKgrq4OZWVldOvWDf3795e6PcrW1lZq7q709HTY29sLCVsAcHJyQmFhodScahKvXr1CVlYWBg8eLMzfqq6ujnnz5gm3G6WkpMDR0VFI2H6IyuwHAFq3bo3Jkydj7ty5mDRpEtq2bVuirtatWwv/VlBQQLNmzZCeni4cf+vWraVul3dyckJubi7u3r0rLGvatOkHH4uNjQ3k5eWF94aGhsJI2oyMDCgoKKBJkybC+oYNG0JHR6fcOu/fv4+hQ4fC3NwcWlpa0NTURG5ubolbyuzs7IR/q6mpQVNTU9h3enp6iS9nxfvqU0lNTUVsbKzUeZQkX0u79bE0EydOxJAhQ9C5c2cEBgZKbTd27FghiJ89ezYuXrxY5fbNmTNHqn1Dhw5FTk4OXr9+je+++w5v3ryBmZkZhg4din379pX7cL9p06bh+fPnwuvOnTtVag8REVFl46Bdu3bByckJBgYGUFdXx4wZM0rEAqampkKCEAD09fVhbW0tNW+ovr5+mXf5PHjwAPfu3RMSUu9LT0+HsbGxkKgEAGtra2hrawvxVkUyMzMxYMAAmJmZQVNTU5h26v1j+Vwx3bFjx9CpUyfUqVMHGhoaGDhwIB4/fix1q31FKtsP75+P4nFhaQoKCjB37lzY2tpCV1cX6urqiIqKKjfme79eSduKJxI/RcxXXoyUlpaGgoICWFhYSF3D8fHxUtewoqJiibaXpXg5fX19YVqQ4suK92Vlr6vi9RoaGgKAUE9F/X/jxg28e/dOKoGupaUlTENXlb5QVVUVEquS4zE1NZW6g6z4MX5ovRVdc6VhfEtE9HXgSNtq1qFDB6xduxaKioowMjKCgoL0KSmenP0Qkvm9Nm7cWCLhJ0lMfooHSFVmP0DRaIXExETIy8vj+vXrH73fsnxMv0lu45cQiUQlbsuqKm9vbzx+/BgrV66EiYkJlJSU0Lp1a6mpMD7XvqsqNzdXGLn9PklgXBF/f3/88MMPOHToEI4cOYLZs2cjPDwcvXr1wpAhQ+Dq6ircFrdw4UIEBQVhzJgxkJOTg1gslqqr+Fx/kvYFBAQII5mKU1ZWhrGxMTIyMnDs2DFER0dj5MiRWLJkCeLj40v0L1A0r7SSklKljouIiKg0lYmDTp8+DU9PTwQEBMDV1RVaWloIDw8X7qCRKC0WqEp88G88GNTd3R0mJibYuHEjjIyMUFhYiMaNG5eIaz6F92O6W7duwc3NDSNGjMD8+fOhq6uLhIQEDB48GG/fvoWqquon3X9VY7MlS5Zg5cqVWLFihTDv7vjx4/+VmK+iOKq8GCk3Nxfy8vI4d+6cVOwOSD9gT0VFpcSzBspS/Bgrcx1X9rp6v14AQj2V7f/yVLYvqvpZ/Zh63z+vFWF8S0T0dWDStpqpqalJTUVQESsrK4SGhuLVq1dCEJuYmCjcLvc+fX19GBkZ4caNG/D09Cy1Tjs7O2zatAlPnjwpdbStoqKi1AT6panMfoCiQOrq1auIj4+Hq6srQkJCMGjQIKkyf/75J9q3bw8AyM/Px7lz54Q5e62srLBnzx6IxWIhSEtMTISGhgbq1q1bbhtr1KhR4XFUxNLSEvn5+bhw4YIw8uP69et4+vRpudslJiYiODgY3bt3B1A0P215D/YqjZWVVYkHk/35559VqqMymjRpgj179sDU1LTEjwhVYWFhAQsLC0yYMAEDBgxASEgIevXqBaDoS8Pw4cMxfPhwTJs2DRs3bsSYMWOgp6eHly9fSl3fKSkpJdqXkZFR7udGRUUF7u7ucHd3x6hRo9CoUSOkpaVJjZAmIiL6VCoTB506dQomJiaYPn26sOz27dufvC0aGhowNTVFTEwMOnToUGK9lZUV7ty5gzt37gijTK9cuYJnz57B2tq6wvofP36MjIwMbNy4Ee3atQMAJCQklFr2c8R0586dQ2FhIYKCgoTRx7/99ptUmcrErh/bD2VJTExEz5498b///Q9AUTLx2rVrVapT0racnBzhB/PKxHx6enrCA6sA4MWLF7h586ZUmbJiJEdHRxQUFODBgwfCef03VeW6Kk9F/W9mZoYaNWogOTkZ9erVAwA8f/4c165dE67Vz9UXn6reylzfRET0deD0CF8YT09PKCsrw9vbG5cuXUJsbCzGjBmDgQMHljqfLVA019PChQuxatUqXLt2DWlpaQgJCcGyZcsAAAMGDICBgQE8PDyQmJiIGzduYM+ePcKTWE1NTXHz5k2kpKTg0aNHyMvL+6D9XLhwAbNmzcKmTZvg5OSEZcuWYdy4cbhx44ZUPb/88gv27duHq1evYtSoUXj69Cl+/PFHAMDIkSNx584djBkzBlevXsWBAwcwe/ZsTJw4Ueq2wdJIvsD8/fffFSZZy9KoUSN07twZw4YNw5kzZ3DhwgUMGzaswlEH5ubm2LZtG9LT05GUlARPT88qj4QZPnw4MjMzMWXKFGRkZGDHjh1SD0j7VEaNGoUnT55gwIABSE5ORlZWFqKiojBo0KBKBYhv3rzB6NGjERcXh9u3byMxMRHJycmwsrICUDQPXVRUFG7evInz588jNjZWWNeyZUuoqqri559/RlZWVqnHOGvWLGzduhUBAQG4fPky0tPTER4eLswTGBoais2bN+PSpUu4ceMGfv31V6ioqMDExOTTdhQREVExFcVB5ubmyM7ORnh4OLKysrBq1Srs27fvs7TF398fQUFBWLVqFTIzM3H+/HnhgU+dO3eGra0tPD09cf78eZw5cwZeXl5wdnYW5usvj46ODmrWrIkNGzbg+vXrOH78OCZOnFhq2c8R0zVs2BDv3r3D6tWrcePGDWzbtk14QJmEqakpcnNzERMTg0ePHpU6bcLH9kNZzM3NER0djVOnTiE9PR0//fQT7t+/X6U6OnfuDAsLC3h7eyM1NRUnT56USvaXpWPHjti2bRtOnjyJtLQ0eHt7S43oLC9GsrCwgKenJ7y8vLB3717cvHkTZ86cwcKFC3Ho0KEq90NVVeW6Kk9F/a+hoQFvb29MmTIFsbGxuHz5MgYPHgw5OTkhlv9cffGp6jU1NcXFixeRkZGBR48elbgrjYiIvh5M2n5hVFVVERUVhSdPnqB58+bo27cvOnXqhDVr1pS5zZAhQ7Bp0yaEhITA1tYWzs7OCA0NRf369QEU/Vp79OhR1K5dG927d4etrS0CAwOFIK9Pnz7o2rUrOnToAD09PezcubPK+/nnn3/wv//9Dz4+PnB3dwcADBs2DB06dMDAgQOlkoGBgYEIDAyEvb09EhIScPDgQdSqVQtA0cMdDh8+jDNnzsDe3h7Dhw/H4MGDpR7sUZagoCBER0fD2NgYjo6OlevwUmzduhX6+vpo3749evXqhaFDh0JDQwPKysplbrN582Y8ffoUTZo0wcCBAzF27Nhyn7Zbmnr16mHPnj3Yv38/7O3tsW7dOqmHhX0qRkZGSExMREFBAb755hvY2tpi/Pjx0NbWrjAxDhTdBvr48WN4eXnBwsIC/fr1Q7du3YSHIRQUFGDUqFGwsrJC165dYWFhgeDgYACArq4ufv31Vxw+fBi2trbYuXOn1BzPAODq6oqIiAgcPXoUzZs3R6tWrbB8+XIhKautrY2NGzfCyckJdnZ2OHbsGP744w/UrFnz03YUERFRMRXFW99++y0mTJiA0aNHw8HBAadOncLMmTM/S1u8vb2xYsUKBAcHw8bGBm5ubsLT6UUiEQ4cOAAdHR20b98enTt3hpmZGXbt2lWpuuXk5BAeHo5z586hcePGmDBhApYsWVJq2c8R09nb22PZsmVYtGgRGjdujO3bt2PhwoVSZdq0aYPhw4ejf//+0NPTK/XhtB/bD2WZMWMGmjRpAldXV7i4uAgDI6pCTk4O+/btw5s3b9CiRQsMGTKkzAefFTdt2jQ4OzvDzc0NPXr0gIeHh9TcqBXFSCEhIfDy8sKkSZNgaWkJDw8PqRGpn1NVrqvyVKb/ly1bhtatW8PNzQ2dO3eGk5MTrKyspGL5z9UXn6LeoUOHwtLSEs2aNYOenh4SExM/qk1ERCS7ROKqTpBDMm/atGk4efLkB91SVJ1u3bqF+vXr48KFC3BwcKju5lTa3bt3YWxsLDwUg75sL168gJaWFmafuAFldY2KN6BK8XOsVd1NIKIvkOT/5OfPn0NTU7O6m0NEX6FXr16hTp06CAoKwuDBg6u7OZ+F5P/SwFuBUNYse6CJrBunM666m0BE9ElUNsblnLZfEbFYjBs3biAmJuajRpJS+Y4fP47c3FzY2toiJycHvr6+MDU1FebBIiIiIiIi2XThwgVcvXoVLVq0wPPnzzFnzhwAQM+ePau5ZURERNI4PcJX5Pnz57C2toaioiJ+/vnn6m7OV+vdu3f4+eefYWNjg169ekFPTw9xcXElnvRKRERERESyZ+nSpbC3t0fnzp3x6tUrnDx5Upi6g4iISFZwpO1XRFtbu8yHhH0JTE1N8SXM1uHq6gpXV9fqbgYREREREVWRo6Mjzp07V93NICIiqhBH2hIRERERERERERHJECZtiYiIiIiIiIiIiGQIk7ZEREREREREREREMoRJWyIiIiIiIiIiIiIZwqQtERERERERERERkQxh0paIiIiIiIiIiIhIhjBpS0RERERERERERCRDmLQlIiIiIiIiIiIikiFM2hIRERERERERERHJECZtiYiIiIiIiIiIiGQIk7ZEREREREREREREMoRJWyIiIiIiIiIiIiIZwqQtERERERERERERkQxRqO4GEBHJoon2NaGpqVndzSAiIiIi+iRG6IxgfEtE9AXhSFsiIiIiIiIiIiIiGcKkLREREREREREREZEMYdKWiIiIiIiIiIiISIYwaUtEREREREREREQkQ5i0JSIiIiIiIiIiIpIhTNoSERERERERERERyRAmbYmIiIiIiIiIiIhkCJO2RERERERERERERDKESVsiIiIiIiIiIiIiGcKkLREREREREREREZEMUajuBhARyaJlqY+hrP62upvx1fBzrFXdTSAiIiL6T1v7dC2UC5SruxkfbJzOuOpuAhHRv4ojbYmIiIiIiIiIiIhkCJO2RERERERERERERDKESVsiIiIiIiIiIiIiGcKkLREREREREREREZEMYdKWiIiIiIiIiIiISIYwaUtEREREREREREQkQ5i0JSIiIiIiIiIiIpIhTNoSERERERERERERyRAmbYmIiIiIiIiIiIhkCJO2RERERERERERERDKESVsiIiIiIiIiIiIiGcKkLREREREREREREZEMYdKWiIiIiIiIiIiISIYwaUtEREREREREREQkQ5i0JSIiIiIiIiIiIpIhTNoSERERERERERERyRAmbWWMv78/HBwcqrSNSCTC/v37P0t7KuLj4wMPD4+PqiMuLg4ikQjPnj37JG2qik/RflkXGhoKbW3tMtffunULIpEIKSkp/1qbJExNTbFixYpyy1Tn9UFERPQl+pB4kqgisho3Vyae9Pf3h76+frV+byIiIqoqJm0/I5FIVO7L39+/xDaTJ09GTEzMv9/YD7Ry5UqEhoZWdzPoIxgbGyMnJweNGzf+1/ednJyMYcOGlVumTZs2yMnJgZaW1r/UKiIion+Hj4+PEBcqKiqiYcOGmDNnDvLz8z+q3k8dTzIJLBsqk3Cszh/jZVV6ejoCAgKwfv165OTkoFu3bp+kXn4uiIjoc1Oo7gZ8zXJycoR/79q1C7NmzUJGRoawTF1dXfi3WCxGQUEB1NXVpZbLqoKCAohEIibSqtHbt2+hqKj40fXIy8vDwMDgE7So6vT09Mpd/+7dOygqKlZb+4iIiD63rl27IiQkBHl5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aypXvIGMGqczrrqbQET0SVQ2xuWctkQVWLp0Kbp06QI1NTUcOXIEYWFhCA4Oru5mEREREUkRi8W4ceMGYmJiyhyJ+V+2detWmJmZoU6dOkhNTcXUqVPRr18/JmyJiIhIJjFpS1SBM2fOYPHixXj58iXMzMywatUqDBkypLqbRURERCTl+fPnsLa2RvPmzfHzzz9Xd3Nkzt9//41Zs2bh77//hqGhIb777jvMnz+/uptFREREVCpOj0BEVAynR/g8OD0CEX0ITo9ARPTxOD0CEZFsqWyMyweREREREREREREREckQJm2JiIiIiIiIiIiIZAiTtkREREREREREREQyhElbIiIiIiIiIiIiIhnCpC0RERERERERERGRDGHSloiIiIiIiIiIiEiGMGlLREREREREREREJEOYtCUiIiIiIiIiIiKSIUzaEhEREREREREREckQJm2JiIiIiIiIiIiIZAiTtkREREREREREREQyhElbIiIiIiIiIiIiIhnCpC0RERERERERERGRDFGo7gYQEcmiifY1oampWd3NICIiIiL6JEbojGB8S0T0BeFIWyIiIiIiIiIiIiIZwqQtERERERERERERkQxh0paIiIiIiIiIiIhIhjBpS0RERERERERERCRDmLQlIiIiIiIiIiIikiFM2hIRERERERERERHJECZtiYiIiIiIiIiIiGQIk7ZEREREREREREREMoRJWyIiIiIiIiIiIiIZwqQtERERERERERERkQxRqO4GEBHJomWpj6Gs/ra6m/HV8HOsVd1NICIiIvpPW/t0LZQLlKu7GR9snM646m4CEdG/iiNtiYiIiIiIiIiIiGQIk7ZEREREREREREREMoRJWyIiIiIiIiIiIiIZwqQtERERERERERERkQxh0paIiIiIiIiIiIhIhjBpS0RERERERERERCRDmLQlIiIiIiIiIiIikiFM2hIRERERERERERHJECZtiYiIiIiIiIiIiGQIk7ZEREREREREREREMoRJWyIiIiIiIiIiIiIZwqQtERERERERERERkQxh0paIiIiIiIiIiIhIhjBpS0RERERERERERCRDmLQlIiIiIiIiIiIikiFM2hIRERERERERERHJECZtZZS/vz8cHByE9z4+PvDw8Kj09rdu3YJIJEJKSsonb9vHMDU1xYoVK6q7GR9MJBJh//791bJvFxcX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EZEMYdKWiIiIiIiIiIiISIYwaUtEREREREREREQkQ5i0JSIiIiIiIiIiIpIhTNoSERERERERERERyRAmbYmIiIiIiIiIiIhkiEJ1N4CISBZNtK8JTU3N6m4GEREREdEnMUJnBONbIqIvCEfaEhEREREREREREckQJm2JiIiIiIiIiIiIZAiTtkREREREREREREQyhElbIiIiIiIiIiIiIhnCpC0RERERERERERGRDGHSloiIiIiIiIiIiEiGMGlLREREREREREREJEOYtCUiIiIiIiIiIiKSIUzaEhEREREREREREckQJm2JiIiIiIiIiIiIZIhCdTeAiEgWLUt9DGX1t9XdjK+Gn2Ot6m4CERER0X/a2qdroVygXN3N+GDjdMZVdxOIiP5VHGlLREREREREREREJEOYtCUiIiIiIiIiIiKSIUzaEhEREREREREREckQJm2JiIiIiIiIiIiIZAiTtkREREREREREREQyhElbIiIiIiIiIiIiIhnCpC0RERERERERERGRDGHSloiIiIiIiIiIiEiGMGlLREREREREREREJEOYtCUiIiIiIiIiIiKSIUzaEhEREREREREREckQJm2JiIiIiIiIiIiIZAiTtkREREREREREREQyhElbIiIiIiIiIiIiIhnCpC0RERERERERERGRDGHSloiIiIiIiIiIiEiGMGlL/0kikQj79++v7mZ8FhUdm1gsxrBhw6CrqwuRSISUlJTP1hYXFxeMHz9eeG9qaooVK1Z8tv2Vtk8iIiL6+oSGhkJbW7va9v9vxDSfU0Xx4ueKp27duvXZ40+J6r5GPoWv+TsLERFVjEnbD+Tj4wORSFTidf369U9S/9cQZMgCf39/ODg4lFiek5ODbt26/fsNkgGRkZEIDQ1FREQEcnJy0Lhx4+puEhEREX0Gf//9N8aMGQMzMzMoKSnB2NgY7u7uiImJ+ST1/1vxamkJ0v79++PatWuffd9lHWNycjKGDRv22fdPlVOd10hZ3zeIiIg+lkJ1N+BL1rVrV4SEhEgt09PTq6bWlO3du3eoUaNGdTdDphgYGFR3E6pNVlYWDA0N0aZNm+puChEREX0mt27dgpOTE7S1tbFkyRLY2tri3bt3iIqKwqhRo3D16tXqbuJHUVFRgYqKSrXtXxZjfpJW3dcIERHRx+JI24+gpKQEAwMDqZe8vDwA4MCB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8oKjoyMLtkRERERE/wHr169H8+bNoaenh7i4OCxfvlxq6oMvKTExEdevX0eLFi3w7NkzzJ8/HwDwzTffVEk8RET038aiLX027969ww8//IBbt25BU1MTbdq0QXh4uNRcVy9evMCMGTOQlZWFmjVrwsXFBYGBgVUYNRERERERfSnp6elYuHAhHj9+DGNjY3h7e2PWrFlVFs+KFSuQlpYGJSUlNGvWDKdOnULNmrxjiIiIvjxOj0BEVAinR/g8OD0CEVUEp0cgIvp0nB6BiEi+yJrjctZyIiIiIiIiIiIiIjnCoi0RERERERERERGRHGHRloiIiIiIiIiIiEiOsGhLREREREREREREJEdYtCUiIiIiIiIiIiKSIyzaEhEREREREREREckRFm2JiIiIiIiIiIiI5AiLtkRERERERERERERyhEVbIiIiIiIiIiIiIjnCoi0RERERERERERGRHGHRloiIiIiIiIiIiEiOsGhLREREREREREREJEdYtCUiIiIiIiIiIiKSI4pVHQARkTyaaqsHLS2tqg6DiIiIiKhSjNMdx/yWiOhfhCNtiYiIiIiIiIiIiOQIi7ZEREREREREREREcoRFWyIiIiIiIiIiIiI5wqItERERERERERERkRxh0ZaIiIiIiIiIiIhIjrBoS0RERERERERERCRHWLQlIiIiIiIiIiIikiMs2hIRERERERERERHJERZtiYiIiIiIiIiIiOQIi7ZEREREREREREREckSxqgMgIpJHK5MfQUXjbVWH8dWYaVezqkMgIiIi+k8LeRIClTyVqg7jP81L16uqQyCifxGOtCUiIiIiIiIiIiKSIyzaEhEREREREREREckRFm2JiIiIiIiIiIiI5AiLtkRERERERERERERyhEVbIiIiIiIiIiIiIjnCoi0RERERERERERGRHGHRloiIiIiIiIiIiEiOsGhLREREREREREREJEdYtCUiIiIiIiIiIiKSIyzaEhEREREREREREckRFm2JiIiIiIiIiIiI5AiLtkRERERERERERERyhEVbIiIiIiIiIiIiIjnCoi0RERERERERERGRHGHRloiIiIiIiIiIiEiOsGhLREREREREREREJEdYtCUqRCQSISIioqrDkDvDhw9Hr169StweGhoKHR2dLxYPERER/bvExMRAJBLh6dOnX/S4YrEYq1ev/uR2ysqF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RERERERERERyhEVbIiIiIiIiIiIiIjnCoi0RERERERERERGRHGHRloiIiIiIiIiIiEiOsGhLREREREREREREJEdYtCUiIiIiIiIiIiKSIyzaEhEREREREREREckRFm2JiIiIiIiIiIiI5AiLtkRERERERERERERyhEVbIiIiIiIiIiIiIjnCoi0RERERERERERGRHFGs6gCIiOTRVFs9aGlpVXUYRERERESVYpzuOOa3RET/IhxpS0RERERERERERCRHWLQlIiIiIiIiIiIikiMs2hIRERERERERERHJERZtiYiIiIiIiIiIiOQIi7ZEREREREREREREcoRFWyIiIiIiIiIiIiI5wqItERERERERERERkRxh0ZaIiIiIiIiIiIhIjrBoS0RERERERERERCRHWLQlIiIiIiIiIiIikiOKVR0AEZE8Wpn8CCoab6s6jK/GTLuaVR0CERER0X9ayJMQqOSpVHUY/2leul5VHQIR/YtwpC0RERERERERERGRHGHRloiIiIiIiIiIiEiOsGhLREREREREREREJEdYtCUiIiIiIiIiIiKSIyzaEhEREREREREREckRFm2JiIiIiIiIiIiI5AiLtkRERERERERERERyhEVbIiIiIiIiIiIiIjnCoi0RERERERERERGRHGHRloiIiIiIiIiIiEiOsGhLREREREREREREJEdYtCUiIiIiIiIiIiKSIyzaEhEREREREREREckRFm2JiIiIiIiIiIiI5AiLtkRERERERERERERyhEVbIiIiIiIiIiIiIjnCou1nFBoaCh0dnSo7vlgsxurVq6vs+J9KJBIhIiLis7U/d+5cNG3atNLai4mJgUgkwtOnT+WiHSIiIqJ/qx9//BFGRkaoVq3avzqfrWz/xTzx3/6ZpiTOzs6YPHlyVYdBRERyrMqLtn/99Re+//57mJqaQllZGUZGRnBzc0NUVFSltP+lCqfFJRMDBgzAjRs3PvuxSzrH+Ph4jB49+rMfnyquuGStTZs2yM7Ohra2dtUERURERFRBDx8+xLhx42BsbAxlZWUYGBjA1dUVcXFxMrfx/PlzTJw4ETNmzMCff/6J0aNHs8D1Cdh3RERE/06KVXnwzMxMODo6QkdHB8uXL4e1tTXevXuHI0eOYMKECbh+/XpVhvfJVFVVoaqqWmXH19fXr7JjU8UpKSnBwMCgqsOQ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Fi5ciJUrV8LV1RVAQf4YERGBnJwcNG/eHKNGjRIGkaioqJR6fFmuwfLly9GuXTu4ubnBxcUFbdu2LbJuw9atW+Hh4QFvb29YWFigV69eiI+Ph7GxMYCCEcQTJkwQ3oPm5uZYv359qbEREdG/m+iDrCuCERH9Bzx//hza2trwP3kLKhqaZb+AZDLTrmZVh0BE/0KS/5OfPXvG23vpq5KZmYn69esjMTERTZs2repwvnpisRiTJ0/G5MmTZX5NXFwc2rZti5s3b6JBgwafL7gvQPJ/aUBmAFS0Si9C0+flpetV1SEQkRyQNcdV/IIxEREREREREcmdffv2QUNDA2ZmZrh58ya8vLzg6Oj4ry/YEhHRvxeLtkRERERERPSf9uLFC8yYMQNZWVmoWbMmXFxcEBgYWNVhERHRfxiLtkRERERERF+QWCwGZ6n7cjIzM8vcx8PDAx4eHp8/GCIiIhlV6UJkRERERERERERERCSNRVsiIiIiIiIiIiIiOcKiLREREREREREREZEcYdGWiIiIiIiIiIiISI6waEtEREREREREREQkR1i0JSIiIiIiIiIiIpIjLNoSERERERERERERyREWbYmIiIiIiIiIiIjkCIu2RERERERERERERHKERVsiIiIiIiIiIiIiOcKiLREREREREREREZEcYdGWiIiIiIiIiIiISI6waEtEREREREREREQkRxSrOgAiInk01VYPWlpaVR0GEREREVGlGKc7jvktEdG/CEfaEhEREREREREREckRFm2JiIiIiIiIiIiI5AiLtkRERERERERERERyhEVbIiIiIiIiIiIiIjnCoi0RERERERERERGRHGHRloiIiIiIiIiIiEiOsGhLREREREREREREJEdYtCUiIiIiIiIiIiKSIyzaEhEREREREREREckRFm2JiIiIiIiIiIiI5IhiVQdARCSPViY/gorG26oO46sx065mVYdARERE9J8W8iQEKnkqVR3Gf5qXrldVh0BE/yIcaUtEREREREREREQkR1i0JSIiIiIiIiIiIpIjLNoSERERERERERERyREWbYmIiIiIiIiIiIjkCIu2RERERERERERERHKERVsiIiIiIiIiIiIiOcKiLREREREREREREZEcYdGWiIiIiIiIiIiISI6waEtEREREREREREQkR1i0JSIiIiIiIiIiIpIjLNoSERER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3lzz58/XkSNHdPDgQb3yyitmZ7p79OghNzc3de7cWVFRUTp79qw2bNigffv2SbpzKdO5c+cUExOj33//3WzuqDQ9e/aUjY2NAgMDdfz4ce3cuVOvvfaaevXqZUxPkJ0KFSqoWLFimjdvns6ePavNmzdr4sSJlnbZA7Hk2PDw8NDu3bv1448/GnftffPNN7V3717jhnoJCQn6/PPPLZqv7t72Dx48qO3bt+vUqVMKDg42S1rvtX//fuNmG4mJifrss8/022+/3dd8dwAAWLOQkBBNmTJFc+fO1alTp3Ts2DGFhoZq5syZkrLPYx6G7Np80Jwzuzy/efPmOnjwoFatWqWEhASNGzdOx48fT7eexMREDR8+XPHx8VqzZo3mzZunoUOHmi0TFRWladOm6dSpU1qwYIHWr19vLNOyZUt5e3urZ8+eOnz4sA4cOKDevXsrICAg26mfPDw8tH//fp0/f16///57htufW7nf0KFDtWLFCoWGhurUqVMaN26cvvvuuyw/U7FiRZlMJm3ZskW//fabMao7IwMHDtT333+v1157TSdPntTnn3+ucePGafjw4cZAkubNm+vDDz/UN998o2PHjikwMNCsOJ5m/fr1WrFihRHngQMHMs0bBw0apEuXLqlHjx6Kjo7WmTNntH37dr300ku6ffv2A+eDnp6e6tSpk/r166c9e/YoNjZWL774oh577DF16tRJkjRixAhFRERo4sSJOnXqlFauXKn58+ebXQGYUY6cU46OjgoMDNQbb7yhnTt36rvvvlPfvn1VqFChHN+ADwCQv+S7om3lypW1e/dunTx5Ui1btlSDBg30ySefaP369WrTpo0kyc7OTidPntQzzzyjqlWrqn///ho0aJAGDBggSWrdurW2bNmir776Sn5+fmrYsKFmzZqVaUEzK6tWrVLZsmXVpEkTdenSRf369ZOjo6PZNAsrVqzQrVu3VLduXQ0bNizbu6k2bNhQS5cu1Zw5c1SrVi199dVX6Qq92W2Di4uLli5dqsaNG8vHx0c7duzQF198oVKlSmXY5syZM1WiRAk1atRIHTt2VOvWrc3m6rWEg4ODvvjiCx07dky+vr56++239d577+VoHZYoVqyYxowZIx8fH+Pyp7Vr10qSihQporlz52rx4sUqX768kVRlZsaMGXJ3d9dTTz2lF154QSNHjpSdnZ1ZW199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1arpww8/NGsro9w5rX9WrFihChUqyMHBQQMHDtTt27c1bdo0ubm5qUyZMkaenWbmzJny9vaWvb293N3dNXDgQCUnJxvb8NJLL+nq1avprgi9d3qEB91/AICCKV8WbbPy8ccfa+zYsXr33XcVFxenyZMnKzg4WCtXrpQkJScnKyAgQD/++KM2b96s2NhYjRo1SikpKcY6zpw5o02bNmnLli3asmWLdu3apalTp5q1s3LlStnb22v//v2aNm2aJkyYoPDw8Axjyq7N5ORktWvXThERETpy5IjatGmjjh07KjEx8b76ICkpST169FCfPn0UFxenyMhIde3aVampqbp165Y6d+6sgIAAHT16VPv27VP//v1zNLJyypQpWrVqlT744AN99913ev311/Xiiy9q165dkqTg4GCdOHFCX375peLi4rRo0SKVLl06w3U99dRTun79uo4cOSLpzo+A0qVLG4W7tNfuLhqn6d69u0aMGKGaNWsqKSlJSUlJ6t69u/F+SEiIunXrpqNHj6pdu3bq2bOnLl26lGEcBw8e1JAhQzRhwgTFx8dr27ZtatKkifH+qFGjtGHDBq1cuVKHDx9WlSpV1Lp1a126dMm4nMvJyUmzZ8824sgotoCAAO3Zs8coUt+7vT/++KPOnDljbO/169cVGBioPXv26Ntvv5Wnp6fatWuXLkEbP368unTpomPHjqlPnz765ptv1Lt3bw0dOlQnTpzQ4sWLFRYWli7RTDNy5EijsJkWr5T990mSHB0dFRYWphMnTmjOnDlaunSpZs2aZdE+ssTo0aM1depUxcXFycfHJ1ePPwAAkDM//vij2rVrJz8/P8XGxmrRokVavny5Jk2aZNHnU1JS1KlTJ126dEm7du1SeHi4zp49a+QHzs7Oql27tpEbHTt2TCaTSUeOHDGKYbt27VJAQMADb8vp06f1ySef6IsvvtC2bdt05MgRDRw4MMvYH3/8ca1fv14nTpzQ2LFj9dZbb+mTTz4xW27nzp06c+aMdu7cqZUrVyosLMxsYEFQUJC+//577dy5U59++qkWLlyoX3/9NctYFy1apEGDBql///46duyYNm/erCpVqhhxZdWnabL6jTNnzhz5+/urX79+Rs7m7u5u0TZnFVvaIIfQ0FAlJSUZzy319ttva8aMGTp48KCKFCmiPn36SLqTY6YNcjlw4IAR78aN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", "text/plain": [ "
" ] @@ -1173,7 +1224,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 27, "id": "ab83ed70-1e7b-491c-8351-3ff1e4a1e42c", "metadata": { "editable": true, @@ -1188,31 +1239,30 @@ "output_type": "stream", "text": [ "Questions Count Table:\n", - " Question Count\n", - "0 Technical issues with features 4\n", - "1 Guides and instructional resources 1\n", - "2 Account access and password issues 1\n", - "3 Subscription and upgrade options 1\n", - "4 Project export problems 1\n", - "5 Collaboration and team management 1\n", - "6 Cost estimation and calibration 1\n", - "7 General account assistance 1\n", - "8 Feature suggestions and feedback 1\n", - "9 Trial period inquiries 1\n", + " Question Count\n", + "0 Technical issues with software features 4\n", + "1 User guides and instructional materials 1\n", + "2 Subscription and upgrade options 1\n", + "3 Cost estimation and calculation concerns 1\n", + "4 Support for adjusting settings 1\n", + "5 Account access and password issues 1\n", + "6 Feature suggestions and feedback 1\n", + "7 Team collaboration and project sharing 1\n", + "8 Trial period and general inquiries 1\n", + "9 Project exporting and file issues 1\n", "\n", "Requests Count Table:\n", - " Request Count\n", - "0 Technical Support 5\n", - "1 Follow-Up Information 2\n", - "2 Feature Tutorials 2\n", - "3 Subscription and Trial Information 2\n", - "4 Export and Synchronization Issues 2\n", - "5 Software Updates 1\n", - "6 Account Access 1\n", - "7 User Collaboration 1\n", - "8 Cost Estimation 1\n", - "9 Project Management Tools 1\n", - "10 Something else 1\n" + " Request Count\n", + "0 Follow-up and contact information 7\n", + "1 Technical support and troubleshooting 4\n", + "2 Exporting and synchronization issues 2\n", + "3 Software updates and upgrades 2\n", + "4 Feature usage tutorials and instructions 2\n", + "5 Subscription and trial information 2\n", + "6 Cost estimation and budgeting tools 1\n", + "7 Account access and password issues 1\n", + "8 Project management tools and features 1\n", + "9 Team collaboration and user management 1\n" ] } ], @@ -1242,7 +1292,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 28, "id": "ca2530c9-6f83-457b-8db0-ab5227a9730d", "metadata": { "editable": true, @@ -1286,7 +1336,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 29, "id": "0fb1be94-0f4b-41ee-aa1d-3c9aa0a01590", "metadata": { "editable": true, @@ -1304,8 +1354,8 @@ }, { "cell_type": "code", - "execution_count": 29, - "id": "4944cec2-90ff-478f-9c4e-c77db2bec4f4", + "execution_count": 30, + "id": "67aff71f-4edd-4a44-a4aa-92b4a3fca7b1", "metadata": { "editable": true, "slideshow": { @@ -1322,8 +1372,8 @@ }, { "cell_type": "code", - "execution_count": 30, - "id": "afd1dce7-c058-422b-9880-abea0b755648", + "execution_count": 31, + "id": "4576d646-6ffc-49f5-9678-4df0a3007acc", "metadata": { "editable": true, "slideshow": { @@ -1339,13 +1389,13 @@ "text/plain": [ "{'description': 'Example code for summarizing transcripts',\n", " 'object_type': 'notebook',\n", - " 'url': 'https://www.expectedparrot.com/content/a5cd8b20-b4d6-4856-95a9-90076ec36682',\n", - " 'uuid': 'a5cd8b20-b4d6-4856-95a9-90076ec36682',\n", + " 'url': 'https://www.expectedparrot.com/content/0e6c9fa1-402e-41e7-8730-e35d45284383',\n", + " 'uuid': '0e6c9fa1-402e-41e7-8730-e35d45284383',\n", " 'version': '0.1.33.dev1',\n", " 'visibility': 'public'}" ] }, - "execution_count": 30, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -1370,8 +1420,8 @@ }, { "cell_type": "code", - "execution_count": 31, - "id": "ed6d3cec-5f50-4f6c-a53c-76a912323396", + "execution_count": 32, + "id": "2b84bbe9-7b7f-44b2-82bc-fcfee18d4c7f", "metadata": { "editable": true, "slideshow": { @@ -1388,8 +1438,8 @@ }, { "cell_type": "code", - "execution_count": 32, - "id": "f6745835-c228-432d-8f06-2b8d3e4b3c25", + "execution_count": 33, + "id": "9bc2562a-b1be-445c-90ab-d1af67c7723e", "metadata": { "editable": true, "slideshow": { @@ -1406,13 +1456,13 @@ "{'status': 'success'}" ] }, - "execution_count": 32, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "n.patch(uuid = \"a5cd8b20-b4d6-4856-95a9-90076ec36682\", value = n)" + "n.patch(uuid = \"0e6c9fa1-402e-41e7-8730-e35d45284383\", value = n)" ] } ], diff --git a/docs/prompts.rst b/docs/prompts.rst index bc1df6ef..45e74829 100644 --- a/docs/prompts.rst +++ b/docs/prompts.rst @@ -5,242 +5,173 @@ Prompts Overview -------- + Prompts are texts that are sent to a language model in order to guide it on how to generate responses to questions. -They consist of `agent instructions` and `question instructions`, and can include questions, instructions or any other text to be displayed to the language model. +Agent instructions are contained in a `system_prompt` and question instructions are contained in a `user_prompt`. +These texts can include questions, instructions or any other text to be displayed to the language model. Typically, prompts are created using the `Prompt` class, a subclass of the `PromptBase` class which is an abstract class that defines the basic structure of a prompt. Default prompts are provided in the `edsl.prompts.library` module. These prompts can be used as is or customized to suit specific requirements by creating new classes that inherit from the `Prompt` class. - -Default prompts -^^^^^^^^^^^^^^^ -The `edsl.prompts.library` module contains default prompts for agent instructions and question instructions (shown below). -If custom prompts are not specified, the default prompts used to generate results can be readily inspected by selecting the **prompt** columns in the results. -For example, we can inspect the prompts for the sample results generated in the `edsl.results` section: - -.. code-block:: python - - results.select("prompt.*").print(pretty_labels={ - "prompt.tomorrow_user_prompt": "Tomorrow: question instruction", - "prompt.tomorrow_system_prompt": "Tomorrow: agent instruction", - "prompt.yesterday_user_prompt": "Yesterday: question instruction", - "prompt.yesterday_system_prompt": "Yesterday: agent instruction" - }) - -.. code-block:: text - - ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ - ┃ Yesterday: question ┃ Tomorrow: agent ┃ Yesterday: agent ┃ Tomorrow: question ┃ - ┃ instruction ┃ instruction ┃ instruction ┃ instruction ┃ - ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ - │ {'text': 'You are being │ {'text': "You are │ {'text': "You are │ {'text': 'You are being │ - │ asked the following │ answering questions as if │ answering questions as if │ asked the following │ - │ question: How did you feel │ you were a human. Do not │ you were a human. Do not │ question: How do you │ - │ yesterday morning?\nThe │ break character. You are │ break character. You are │ expect to feel tomorrow │ - │ options are\n\n0: │ an agent with the │ an agent with the │ morning?\nReturn a valid │ - │ Good\n\n1: OK\n\n2: │ following │ following │ JSON formatted like │ - │ Terrible\n\nReturn a valid │ persona:\n{'status': │ persona:\n{'status': │ this:\n{"answer": ""}', 'class_name': │ - │ of the option:\n{"answer": │ │ │ 'FreeText'} │ - │ , │ │ │ │ - │ "comment": ""}\nOnly │ │ │ │ - │ 1 option may be │ │ │ │ - │ selected.', 'class_name': │ │ │ │ - │ 'MultipleChoiceTurbo'} │ │ │ │ - ├────────────────────────────┼───────────────────────────┼────────────────────────────┼───────────────────────────┤ - - ... +Note: If an `Agent` is not used with a survey the `system_prompt` base text is not sent to the model. Showing prompts ^^^^^^^^^^^^^^^ -Before you run a survey, EDSL creates a `Jobs` object. You can see the prompts it will use by calling `prompts()` on the `Jobs` object. + +Before a survey is run, EDSL creates a `Jobs` object. +You can see the prompts it will use by calling `prompts()` on it. For example: .. code-block:: python - from edsl import Model, Survey - j = Survey.example().by(Model()) - j.prompts().print() - -This will display the prompts that will be used in the survey: + from edsl import Survey, Agent, Model -.. code-block:: text + survey = Survey.example() + agent = Agent(traits = {"persona": "School teacher"}) + model = Model() # default model - ┏━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┓ - ┃ interview_index ┃ question_index ┃ user_prompt ┃ scenario_index ┃ system_prompt ┃ - ┡━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━┩ - │ 0 │ q0 │ You are being asked the │ Scenario Attributes │ You are answering │ - │ │ │ following question: Do │ ┏━━━━━━━━━━━━┳━━━━━━━┓ │ questions as if you were │ - │ │ │ you like school? │ ┃ Attribute ┃ Value ┃ │ a human. Do not break │ - │ │ │ The options are │ ┡━━━━━━━━━━━━╇━━━━━━━┩ │ character. You are an │ - │ │ │ │ │ data │ {} │ │ agent with the following │ - │ │ │ 0: yes │ │ name │ None │ │ persona: │ - │ │ │ │ │ _has_image │ False │ │ {} │ - │ │ │ 1: no │ └────────────┴───────┘ │ │ - │ │ │ │ │ │ - │ │ │ Return a valid JSON │ │ │ - │ │ │ formatted like this, │ │ │ - │ │ │ selecting only the │ │ │ - │ │ │ number of the option: │ │ │ - │ │ │ {"answer": , "comment": │ │ │ - │ │ │ ""} │ │ │ - │ │ │ Only 1 option may be │ │ │ - │ │ │ selected. │ │ │ - ├─────────────────┼────────────────┼──────────────────────────┼────────────────────────┼──────────────────────────┤ - │ 0 │ q1 │ You are being asked the │ Scenario Attributes │ You are answering │ - │ │ │ following question: Why │ ┏━━━━━━━━━━━━┳━━━━━━━┓ │ questions as if you were │ - │ │ │ not? │ ┃ Attribute ┃ Value ┃ │ a human. Do not break │ - │ │ │ The options are │ ┡━━━━━━━━━━━━╇━━━━━━━┩ │ character. You are an │ - │ │ │ │ │ data │ {} │ │ agent with the following │ - │ │ │ 0: killer bees in │ │ name │ None │ │ persona: │ - │ │ │ cafeteria │ │ _has_image │ False │ │ {} │ - │ │ │ │ └────────────┴───────┘ │ │ - │ │ │ 1: other │ │ │ - │ │ │ │ │ │ - │ │ │ Return a valid JSON │ │ │ - │ │ │ formatted like this, │ │ │ - │ │ │ selecting only the │ │ │ - │ │ │ number of the option: │ │ │ - │ │ │ {"answer": , "comment": │ │ │ - │ │ │ ""} │ │ │ - │ │ │ Only 1 option may be │ │ │ - │ │ │ selected. │ │ │ - ├─────────────────┼────────────────┼──────────────────────────┼────────────────────────┼──────────────────────────┤ - │ 0 │ q2 │ You are being asked the │ Scenario Attributes │ You are answering │ - │ │ │ following question: Why? │ ┏━━━━━━━━━━━━┳━━━━━━━┓ │ questions as if you were │ - │ │ │ The options are │ ┃ Attribute ┃ Value ┃ │ a human. Do not break │ - │ │ │ │ ┡━━━━━━━━━━━━╇━━━━━━━┩ │ character. You are an │ - │ │ │ 0: **lack*** of killer │ │ data │ {} │ │ agent with the following │ - │ │ │ bees in cafeteria │ │ name │ None │ │ persona: │ - │ │ │ │ │ _has_image │ False │ │ {} │ - │ │ │ 1: other │ └────────────┴───────┘ │ │ - │ │ │ │ │ │ - │ │ │ Return a valid JSON │ │ │ - │ │ │ formatted like this, │ │ │ - │ │ │ selecting only the │ │ │ - │ │ │ number of the option: │ │ │ - │ │ │ {"answer": , "comment": │ │ │ - │ │ │ ""} │ │ │ - │ │ │ Only 1 option may be │ │ │ - │ │ │ selected. │ │ │ - └─────────────────┴────────────────┴──────────────────────────┴────────────────────────┴──────────────────────────┘ - - -Agent instructions -^^^^^^^^^^^^^^^^^^ -The `AgentInstruction` class provides guidance to a language model on how an agent should be represented. -As shown in the example above, the default agent instructions are: + job = survey.by(agent).by(model) # Creating a job for the example survey using the agent and the default model -.. code-block:: python + job.prompts().print(format="rich") - class AgentInstruction(PromptBase): - \"\"\"Agent instructions for a human agent.\"\"\" - model = LanguageModelType.GPT_3_5_Turbo.value - component_type = ComponentTypes.AGENT_INSTRUCTIONS - default_instructions = textwrap.dedent( - \"\"\"\ - You are playing the role of a human answering survey questions. - Do not break character. - \"\"\" - ) +This will display the prompts that will be used when the survey is run: +.. code-block:: text -Question instructions -^^^^^^^^^^^^^^^^^^^^^ -The `QuestionInstruction` class provides guidance to a language model on how a question should be answered. -As shown in the example above, the following question instructions are: + ┏━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ + ┃ interview_index ┃ question_index ┃ user_prompt ┃ scenario_index ┃ system_prompt ┃ + ┡━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ + │ 0 │ q0 │ │ Scenario Attributes │ You are answering │ + │ │ │ Do you like school? │ ┏━━━━━━━━━━━┳━━━━━━━┓ │ questions as if you were │ + │ │ │ │ ┃ Attribute ┃ Value ┃ │ a human. Do not break │ + │ │ │ │ ┡━━━━━━━━━━━╇━━━━━━━┩ │ character. You are an │ + │ │ │ yes │ │ data │ {} │ │ agent with the following │ + │ │ │ │ │ name │ None │ │ persona: │ + │ │ │ no │ └───────────┴───────┘ │ {'persona': 'School │ + │ │ │ │ │ teacher'} │ + │ │ │ │ │ │ + │ │ │ Only 1 option may be │ │ │ + │ │ │ selected. │ │ │ + │ │ │ │ │ │ + │ │ │ Respond only with a │ │ │ + │ │ │ string corresponding to │ │ │ + │ │ │ one of the options. │ │ │ + │ │ │ │ │ │ + │ │ │ │ │ │ + │ │ │ After the answer, you │ │ │ + │ │ │ can put a comment │ │ │ + │ │ │ explaining why you chose │ │ │ + │ │ │ that option on the next │ │ │ + │ │ │ line. │ │ │ + ├─────────────────┼────────────────┼──────────────────────────┼───────────────────────┼───────────────────────────┤ + │ 0 │ q1 │ │ Scenario Attributes │ You are answering │ + │ │ │ Why not? │ ┏━━━━━━━━━━━┳━━━━━━━┓ │ questions as if you were │ + │ │ │ │ ┃ Attribute ┃ Value ┃ │ a human. Do not break │ + │ │ │ │ ┡━━━━━━━━━━━╇━━━━━━━┩ │ character. You are an │ + │ │ │ killer bees in cafeteria │ │ data │ {} │ │ agent with the following │ + │ │ │ │ │ name │ None │ │ persona: │ + │ │ │ other │ └───────────┴───────┘ │ {'persona': 'School │ + │ │ │ │ │ teacher'} │ + │ │ │ │ │ │ + │ │ │ Only 1 option may be │ │ │ + │ │ │ selected. │ │ │ + │ │ │ │ │ │ + │ │ │ Respond only with a │ │ │ + │ │ │ string corresponding to │ │ │ + │ │ │ one of the options. │ │ │ + │ │ │ │ │ │ + │ │ │ │ │ │ + │ │ │ After the answer, you │ │ │ + │ │ │ can put a comment │ │ │ + │ │ │ explaining why you chose │ │ │ + │ │ │ that option on the next │ │ │ + │ │ │ line. │ │ │ + ├─────────────────┼────────────────┼──────────────────────────┼───────────────────────┼───────────────────────────┤ + │ 0 │ q2 │ │ Scenario Attributes │ You are answering │ + │ │ │ Why? │ ┏━━━━━━━━━━━┳━━━━━━━┓ │ questions as if you were │ + │ │ │ │ ┃ Attribute ┃ Value ┃ │ a human. Do not break │ + │ │ │ │ ┡━━━━━━━━━━━╇━━━━━━━┩ │ character. You are an │ + │ │ │ **lack*** of killer bees │ │ data │ {} │ │ agent with the following │ + │ │ │ in cafeteria │ │ name │ None │ │ persona: │ + │ │ │ │ └───────────┴───────┘ │ {'persona': 'School │ + │ │ │ other │ │ teacher'} │ + │ │ │ │ │ │ + │ │ │ │ │ │ + │ │ │ Only 1 option may be │ │ │ + │ │ │ selected. │ │ │ + │ │ │ │ │ │ + │ │ │ Respond only with a │ │ │ + │ │ │ string corresponding to │ │ │ + │ │ │ one of the options. │ │ │ + │ │ │ │ │ │ + │ │ │ │ │ │ + │ │ │ After the answer, you │ │ │ + │ │ │ can put a comment │ │ │ + │ │ │ explaining why you chose │ │ │ + │ │ │ that option on the next │ │ │ + │ │ │ line. │ │ │ + └─────────────────┴────────────────┴──────────────────────────┴───────────────────────┴───────────────────────────┘ + + +After we run the survey, we can verify the prompts that were used by inspecting the `prompt.*` fields of the results: .. code-block:: python - class QuestionInstruction(PromptBase): - \"\"\"Question instructions for a multiple choice question.\"\"\" - - model = LanguageModelType.GPT_3_5_Turbo.value - component_type = ComponentTypes.QUESTION_INSTRUCTIONS - default_instructions = textwrap.dedent( - \"\"\"\ - You are answering a multiple choice question. - \"\"\" - ) - - -Customizing prompts -^^^^^^^^^^^^^^^^^^^ -We can customize prompts by creating new classes that inherit from the `Prompt` class. -For example, consider the following custom agent instructions: + results = job.run() # This is equivalent to: results = survey.by(agent).by(model).run() -.. code-block:: python + # To select all the `prompt` columns at once: + # results.select("prompt.*").print(format="rich") - applicable_prompts = get_classes( - component_type="agent_instructions", - model=self.model.model, + # Or to specify the order in the table we can name them individually: + ( + results.select( + "q0_system_prompt", "q0_user_prompt", + "q1_system_prompt", "q1_user_prompt", + "q2_system_prompt", "q2_user_prompt" + ) + .print(format="rich") ) +Output: -Prompt class ------------- - -.. automodule:: edsl.prompts.Prompt - :members: - :undoc-members: - :show-inheritance: - - -Agent Instructions ------------------- - -.. automodule:: edsl.prompts.library.agent_instructions - :members: - :undoc-members: - :show-inheritance: - -.. automodule:: edsl.prompts.library.agent_persona - :members: - :undoc-members: - :show-inheritance: - - -Question Instructions ---------------------- - -.. automodule:: edsl.prompts.library.question_multiple_choice - :members: - :undoc-members: - :show-inheritance: - -.. automodule:: edsl.prompts.library.question_numerical - :members: - :undoc-members: - :show-inheritance: - -.. automodule:: edsl.prompts.library.question_budget - :members: - :undoc-members: - :show-inheritance: - -.. automodule:: edsl.prompts.library.question_freetext - :members: - :undoc-members: - :show-inheritance: - +.. code-block:: text -QuestionInstructionBase class ------------------------------ + ┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ + ┃ prompt ┃ prompt ┃ prompt ┃ prompt ┃ prompt ┃ prompt ┃ + ┃ .q0_system_prom… ┃ .q0_user_prompt ┃ .q1_system_prom… ┃ .q1_user_prompt ┃ .q2_system_prom… ┃ .q2_user_prompt ┃ + ┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩ + │ You are │ │ You are │ │ You are │ │ + │ answering │ Do you like │ answering │ Why not? │ answering │ Why? │ + │ questions as if │ school? │ questions as if │ │ questions as if │ │ + │ you were a │ │ you were a │ │ you were a │ │ + │ human. Do not │ │ human. Do not │ killer bees in │ human. Do not │ **lack*** of │ + │ break character. │ yes │ break character. │ cafeteria │ break character. │ killer bees in │ + │ You are an agent │ │ You are an agent │ │ You are an agent │ cafeteria │ + │ with the │ no │ with the │ other │ with the │ │ + │ following │ │ following │ │ following │ other │ + │ persona: │ │ persona: │ │ persona: │ │ + │ {'persona': │ Only 1 option │ {'persona': │ Only 1 option │ {'persona': │ │ + │ 'School │ may be selected. │ 'School │ may be selected. │ 'School │ Only 1 option │ + │ teacher'} │ │ teacher'} │ │ teacher'} │ may be selected. │ + │ │ Respond only │ │ Respond only │ │ │ + │ │ with a string │ │ with a string │ │ Respond only │ + │ │ corresponding to │ │ corresponding to │ │ with a string │ + │ │ one of the │ │ one of the │ │ corresponding to │ + │ │ options. │ │ options. │ │ one of the │ + │ │ │ │ │ │ options. │ + │ │ │ │ │ │ │ + │ │ After the │ │ After the │ │ │ + │ │ answer, you can │ │ answer, you can │ │ After the │ + │ │ put a comment │ │ put a comment │ │ answer, you can │ + │ │ explaining why │ │ explaining why │ │ put a comment │ + │ │ you chose that │ │ you chose that │ │ explaining why │ + │ │ option on the │ │ option on the │ │ you chose that │ + │ │ next line. │ │ next line. │ │ option on the │ + │ │ │ │ │ │ next line. │ + └──────────────────┴──────────────────┴──────────────────┴──────────────────┴──────────────────┴──────────────────┘ -.. automodule:: edsl.prompts.QuestionInstructionBase - :members: - :undoc-members: - :show-inheritance: \ No newline at end of file diff --git a/docs/questions.rst b/docs/questions.rst index aef0baf3..8db60735 100644 --- a/docs/questions.rst +++ b/docs/questions.rst @@ -211,18 +211,19 @@ We can combine multiple questions into a survey by passing them as a list to a ` .. code-block:: python - from edsl import QuestionLinearScale, QuestionFreeText, QuestionNumerical, Survey + from edsl import QuestionLinearScale, QuestionList, QuestionNumerical, Survey q1 = QuestionLinearScale( - question_name = "likely_to_vote", - question_text = "On a scale from 1 to 5, how likely are you to vote in the upcoming U.S. election?", + question_name = "dc_state", + question_text = "How likely is Washington, D.C. to become a U.S. state?", question_options = [1, 2, 3, 4, 5], option_labels = {1: "Not at all likely", 5: "Very likely"} ) - q2 = QuestionFreeText( - question_name = "largest_us_city", - question_text = "What is the largest U.S. city?" + q2 = QuestionList( + question_name = "largest_us_cities", + question_text = "What are the largest U.S. cities by population?", + max_list_items = 3 ) q3 = QuestionNumerical( @@ -232,8 +233,6 @@ We can combine multiple questions into a survey by passing them as a list to a ` survey = Survey(questions = [q1, q2, q3]) - results = survey.run() - This allows us to administer multiple questions at once, either asynchronously (by default) or according to specified logic (e.g., skip or stop rules). To learn more about designing surveys with conditional logic, please see the :ref:`surveys` section. @@ -247,29 +246,37 @@ This is done by calling the `run` method for the question: .. code-block:: python + from edsl import QuestionCheckBox + + q = QuestionCheckBox( + question_name = "primary_colors", + question_text = "Which of the following colors are primary?", + question_options = ["Red", "Orange", "Yellow", "Green", "Blue", "Purple"] + ) + results = q.run() This will generate a `Results` object that contains a single `Result` representing the response to the question and information about the model used. -If the model to be used has not been specified (as in the above example), the `run` method delivers the question to the default LLM (GPT 4). +If the model to be used has not been specified (as in the above example), the `run` method delivers the question to the default LLM (run `Model()` to check the current default LLM). We can inspect the response and model used by calling the `select` and `print` methods on the components of the results that we want to display. For example, we can print just the `answer` to the question: .. code-block:: python - results.select("answer.favorite_primary_color").print(format="rich") + results.select("primary_colors").print(format="rich") Output: .. code-block:: text - ┏━━━━━━━━━━━━━━━━━━━━━━━━━┓ - ┃ answer ┃ - ┃ .favorite_primary_color ┃ - ┡━━━━━━━━━━━━━━━━━━━━━━━━━┩ - │ blue │ - └─────────────────────────┘ + ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ + ┃ answer ┃ + ┃ .primary_colors ┃ + ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ + │ ['Red', 'Yellow', 'Blue'] │ + └───────────────────────────┘ Or to inspect the model: @@ -283,18 +290,40 @@ Output: .. code-block:: text - ┏━━━━━━━━━━━━━━━━━━━━┓ - ┃ model ┃ - ┃ .model ┃ - ┡━━━━━━━━━━━━━━━━━━━━┩ - │ gpt-4-1106-preview │ - └────────────────────┘ + ┏━━━━━━━━┓ + ┃ model ┃ + ┃ .model ┃ + ┡━━━━━━━━┩ + │ gpt-4o │ + └────────┘ If questions have been combined in a survey, the `run` method is called directly on the survey instead: .. code-block:: python + from edsl import QuestionLinearScale, QuestionList, QuestionNumerical, Survey + + q1 = QuestionLinearScale( + question_name = "dc_state", + question_text = "How likely is Washington, D.C. to become a U.S. state?", + question_options = [1, 2, 3, 4, 5], + option_labels = {1: "Not at all likely", 5: "Very likely"} + ) + + q2 = QuestionList( + question_name = "largest_us_cities", + question_text = "What are the largest U.S. cities by population?", + max_list_items = 3 + ) + + q3 = QuestionNumerical( + question_name = "us_pop", + question_text = "What was the U.S. population in 2020?" + ) + + survey = Survey(questions = [q1, q2, q3]) + results = survey.run() results.select("answer.*").print(format="rich") @@ -304,12 +333,12 @@ Output: .. code-block:: text - ┏━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓ - ┃ answer ┃ answer ┃ answer ┃ - ┃ .likely_to_vote ┃ .largest_us_city ┃ .us_pop ┃ - ┡━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩ - │ 4 │ The largest U.S. city by population is New York City. │ 331449281 │ - └─────────────────┴───────────────────────────────────────────────────────┴───────────┘ + ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓ + ┃ answer ┃ answer ┃ answer ┃ + ┃ .largest_us_cities ┃ .dc_state ┃ .us_pop ┃ + ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━┩ + │ ['New York', 'Los Angeles', 'Chicago'] │ 2 │ 331449281 │ + └────────────────────────────────────────┴───────────┴───────────┘ For a survey, each `Result` represents a response for the set of survey questions. @@ -474,7 +503,8 @@ To learn more about designing agents, please see the :ref:`agents` section. Specifying language models -------------------------- -In the above examples we did not specify a language model for the question or survey, so the default model (GPT 4) was used. + +In the above examples we did not specify a language model for the question or survey, so the default model was used (run `Model()` to check the current default model). Similar to the way that we optionally passed scenarios to a question and added AI agents, we can also use the `by` method to specify one or more LLMs to use in generating results. This is done by creating `Model` objects for desired models and optionally specifying model parameters, such as temperature. @@ -486,6 +516,7 @@ To check available models: Model.available() + This will return a list of names of models that we can choose from. We can also check the models for which we have already added API keys: @@ -494,6 +525,7 @@ We can also check the models for which we have already added API keys: Model.check_models() + See instructions on storing :ref:`api_keys` for the models that you want to use, or activating :ref:`remote_inference` to use the Expected Parrot server to access available models. To specify models for a survey we first create `Model` objects: @@ -503,7 +535,7 @@ To specify models for a survey we first create `Model` objects: from edsl import ModelList, Model models = ModelList( - Model(m) for m in ['claude-3-opus-20240229', 'llama-2-70b-chat-hf'] + Model(m) for m in ['gpt-4o', 'gemini-1.5-pro'] ) @@ -573,7 +605,7 @@ An example can also created using the `example` method: :show-inheritance: :special-members: __init__ :exclude-members: purpose, question_type, question_options, main - + QuestionCheckBox class ^^^^^^^^^^^^^^^^^^^^^^ diff --git a/docs/scenarios.rst b/docs/scenarios.rst index b755e03c..61f21f91 100644 --- a/docs/scenarios.rst +++ b/docs/scenarios.rst @@ -568,8 +568,8 @@ We can add the key to questions as we do scenarios from other data sources: from edsl import Model, QuestionFreeText, QuestionList, Survey - m = Model("gpt-4o") # This is the default model; we specify it for demonstration purposes to highlight that a vision model is needed - + m = Model("gpt-4o") + q1 = QuestionFreeText( question_name = "identify", question_text = "What animal is in this picture: {{ logo }}" # The scenario key is the filepath diff --git a/docs/token_usage.rst b/docs/token_usage.rst index e0fefeb0..fe2b6325 100644 --- a/docs/token_usage.rst +++ b/docs/token_usage.rst @@ -157,24 +157,28 @@ For example: results = q.by(s).run() - results.select("number_1", "number_2", "sum").print(format="rich") + +We can check the responses and also confirm that the `comment` is `None`: + + results.select("number_1", "number_2", "sum", "sum_comment").print(format="rich") Output: .. code-block:: text - ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━┓ - ┃ scenario ┃ scenario ┃ answer ┃ - ┃ .number_1 ┃ .number_2 ┃ .sum ┃ - ┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━┩ - │ 0 │ 5 │ 5 │ - ├───────────┼───────────┼────────┤ - │ 1 │ 4 │ 5 │ - ├───────────┼───────────┼────────┤ - │ 2 │ 3 │ 5 │ - ├───────────┼───────────┼────────┤ - │ 3 │ 2 │ 5 │ - ├───────────┼───────────┼────────┤ - │ 4 │ 1 │ 5 │ - └───────────┴───────────┴────────┘ \ No newline at end of file + ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┓ + ┃ scenario ┃ scenario ┃ answer ┃ comment ┃ + ┃ .number_1 ┃ .number_2 ┃ .sum ┃ .sum_comment ┃ + ┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━┩ + │ 0 │ 5 │ 5 │ None │ + ├───────────┼───────────┼────────┼──────────────┤ + │ 1 │ 4 │ 5 │ None │ + ├───────────┼───────────┼────────┼──────────────┤ + │ 2 │ 3 │ 5 │ None │ + ├───────────┼───────────┼────────┼──────────────┤ + │ 3 │ 2 │ 5 │ None │ + ├───────────┼───────────┼────────┼──────────────┤ + │ 4 │ 1 │ 5 │ None │ + └───────────┴───────────┴────────┴──────────────┘ +