Using EDSL to sense check data

This notebook provides example code for sense checking survey data using EDSL, an open-source library for simulating surveys, experiments and market research with AI agents and large language models.

Contents

Using a set of responses to a survey about online marketplaces as an example, we demonstrate EDSL methods for:

  1. Evaluating survey questions (e.g., for clarity and improvements)

  2. Analyzing each respondent’s set of answers (e.g., to summarize or identify sentiment, themes, etc.)

  3. Reviewing each answer individually (e.g., to evaluate its relevance or usefulness)

Coop

We also show how to post EDSL questions, surveys, results and notebooks (like this one) to the Coop: a new platform for creating and sharing LLM-based research.

How EDSL works

EDSL is a flexible library that can be used to perform a broad variety of research tasks. A typical workflow consists of the following steps:

  • Construct questions in EDSL

  • Add data to the questions (e.g., for data labeling tasks)

  • Use an AI agent to answer the questions

  • Select a language model to generate the answers

  • Analyze results in a formatted dataset

Technical setup

Before running the code below please ensure that you have completed setup:

Our Starter Tutorial provides examples of EDSL basic components.

Example data

Our example data is a CSV consisting of several questions and a few rows of responses:

[1]:
import pandas as pd

df = pd.read_csv("marketplace_survey_results.csv")
df
[1]:
Respondent ID What do you like most about using our online marketplace? What is one feature you would like to see added to improve your shopping experience? Can you describe a recent experience where you were dissatisfied with our service? How do you feel about the current product search and filtering options? Is there anything else you would like to share about your experience with us?
0 101 The wide variety of products and the ease of use. It would be great to have a personalized recom... I was disappointed when an item I ordered arri... The search and filtering options are intuitive... No, keep up the great work!
1 102 I enjoy the simplicity of the interface. A feature that helps compare similar products ... No complaints here. I find the product search to be pretty effective. I think the sky is a beautiful shade of purple...
2 103 The platform is user-friendly and offers a vas... Would love to see an option to save and compar... My delivery was late by a few days, which was ... It’s okay. No.

Creating questions about the data

There are many questions we might want to ask about the data, such as:

  • Does this survey question have any logical or syntactical problems? {{ question }}

  • What is the overall sentiment of this respondent’s answers? {{ responses }}

  • Is this answer responsive to the question that was asked? {{ question }} {{ answer }}

Question types

EDSL comes with many common question types that we can select from based on the form of the response that we want to get back from the model: multiple choice, checkbox, linear scale, free text, etc. Learn more about EDSL question types.

Here we construct Question objects for the questions that we want to ask about the data, using {{ placeholders }} for the information that we will add to the questions in the steps that follow:

[2]:
from edsl import QuestionFreeText, QuestionMultipleChoice, QuestionYesNo
[3]:
q_logic = QuestionFreeText(
    question_name = "logic",
    question_text = "Describe any logical or syntactical problems in the following survey question: {{ question }}"
)


[4]:
q_sentiment = QuestionMultipleChoice(
    question_name = "sentiment",
    question_text = "What is the overall sentiment of this respondent's survey answers? {{ responses }}",
    question_options = ["Very unsatisfied", "Somewhat unsatisfied", "Somewhat satisfied", "Very satisfied"]
)
[5]:
q_responsive = QuestionYesNo(
    question_name = "responsive",
    question_text = "Is this answer responsive to the question that was asked? Question: {{ question }} Answer: {{ answer }}"
)

Adding survey data to the questions

Next we’ll add our data to our questions. This can be done efficiently by creating a ScenarioList representing the data. The individual Scenario objects in the list can be constructed in a variety of ways depending on the information that we want to include in a particular question.

We start by calling the from_csv() method to create a ScenarioList for the data in its original form. We can see that this generates a Scenario dictionary for each respondent’s set of answers with key/value pairs for the individual questions and answers:

[6]:
from edsl import ScenarioList
[7]:
sl = ScenarioList.from_csv("marketplace_survey_results.csv")
sl
[7]:
{
    "scenarios": [
        {
            "Respondent ID": "101",
            "What do you like most about using our online marketplace?": "The wide variety of products and the ease of use.",
            "What is one feature you would like to see added to improve your shopping experience?": "It would be great to have a personalized recommendation system based on my browsing history.",
            "Can you describe a recent experience where you were dissatisfied with our service?": "I was disappointed when an item I ordered arrived damaged, but customer service quickly resolved it.",
            "How do you feel about the current product search and filtering options?": "The search and filtering options are intuitive and work well for me.",
            "Is there anything else you would like to share about your experience with us?": "No, keep up the great work!"
        },
        {
            "Respondent ID": "102",
            "What do you like most about using our online marketplace?": "I enjoy the simplicity of the interface.",
            "What is one feature you would like to see added to improve your shopping experience?": "A feature that helps compare similar products side by side would be useful.",
            "Can you describe a recent experience where you were dissatisfied with our service?": "No complaints here.",
            "How do you feel about the current product search and filtering options?": "I find the product search to be pretty effective.",
            "Is there anything else you would like to share about your experience with us?": "I think the sky is a beautiful shade of purple today."
        },
        {
            "Respondent ID": "103",
            "What do you like most about using our online marketplace?": "The platform is user-friendly and offers a vast selection of products.",
            "What is one feature you would like to see added to improve your shopping experience?": "Would love to see an option to save and compare different products.",
            "Can you describe a recent experience where you were dissatisfied with our service?": "My delivery was late by a few days, which was frustrating.",
            "How do you feel about the current product search and filtering options?": "It\u2019s okay.",
            "Is there anything else you would like to share about your experience with us?": "No."
        }
    ]
}

Evaluating the questions

For our first question we want to create a Scenario for each survey question:

[8]:
from edsl import QuestionFreeText, Survey

q_logic = QuestionFreeText(
    question_name = "logic",
    question_text = "Describe any logical or syntactical problems in the following survey question: {{ question }}"
)

q_improved = QuestionFreeText(
    question_name = "improved",
    question_text = "Please draft an improved version of the survey question. Return only the revised question text."
)

survey = Survey([q_logic, q_improved]).add_targeted_memory(q_improved, q_logic)

The survey questions are the parameters of the ScenarioList created above:

[9]:
questions = list(sl.parameters)
questions
[9]:
['How do you feel about the current product search and filtering options?',
 'What do you like most about using our online marketplace?',
 'Is there anything else you would like to share about your experience with us?',
 'Can you describe a recent experience where you were dissatisfied with our service?',
 'Respondent ID',
 'What is one feature you would like to see added to improve your shopping experience?']

We can pass them to the from_list() method to create a new ScenarioList, specifying that the key for each Scenario will be question in order to match the parameter of our logic question:

[10]:
sl_questions = ScenarioList.from_list("question", questions)
sl_questions
[10]:
{
    "scenarios": [
        {
            "question": "How do you feel about the current product search and filtering options?"
        },
        {
            "question": "What do you like most about using our online marketplace?"
        },
        {
            "question": "Is there anything else you would like to share about your experience with us?"
        },
        {
            "question": "Can you describe a recent experience where you were dissatisfied with our service?"
        },
        {
            "question": "Respondent ID"
        },
        {
            "question": "What is one feature you would like to see added to improve your shopping experience?"
        }
    ]
}

We add the scenarios to the survey when we run it:

[11]:
results = survey.by(sl_questions).run()

This generates a dataset of Results that we can access with built-in methods for analysis:

[12]:
results.select("question", "logic", "improved").print(format="rich")
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ scenario                             answer                               answer                              ┃
┃ .question                            .logic                               .improved                           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ How do you feel about the current    The survey question 'How do you      On a scale of 1 to 5, how satisfied │
│ product search and filtering         feel about the current product       are you with the current product    │
│ options?                             search and filtering options?' is    search functionality, and how       │
│                                      generally clear but could be         satisfied are you with the product  │
│                                      improved by being more specific. It  filtering options available on our  │
│                                      combines two different aspects       website?                            │
│                                      (search and filtering) into one                                          │
│                                      question, which might confuse the                                        │
│                                      respondent if they have different                                        │
│                                      feelings about each aspect. To                                           │
│                                      address this, the question could be                                      │
│                                      split into two separate questions                                        │
│                                      to allow for more specific feedback                                      │
│                                      on each feature. Additionally, the                                       │
│                                      question is asking for a subjective                                      │
│                                      feeling, which may result in varied                                      │
│                                      and qualitative data that can be                                         │
│                                      difficult to quantify. Including a                                       │
│                                      scale or specific aspects to rate                                        │
│                                      could help in quantifying the                                            │
│                                      responses.                                                               │
├─────────────────────────────────────┼─────────────────────────────────────┼─────────────────────────────────────┤
│ What do you like most about using    The survey question seems to be      What features of our online         │
│ our online marketplace?              clear and straightforward without    marketplace do you find most        │
│                                      any apparent logical or syntactical  beneficial? Please rank the         │
│                                      problems. It asks for a subjective   following aspects from most to      │
│                                      response regarding the user's        least preferred: ease of use,       │
│                                      preference about the online          product variety, customer service,  │
│                                      marketplace. However, if the survey  pricing, and site performance.      │
│                                      aims to collect structured data, it                                      │
│                                      might be beneficial to provide                                           │
│                                      specific options or a scale for the                                      │
│                                      respondents to choose from to                                            │
│                                      quantify the results. Otherwise,                                         │
│                                      the open-ended nature of the                                             │
│                                      question should elicit qualitative                                       │
│                                      feedback.                                                                │
├─────────────────────────────────────┼─────────────────────────────────────┼─────────────────────────────────────┤
│ Is there anything else you would     The survey question provided does    Is there any additional feedback or │
│ like to share about your experience  not appear to have any inherent      comments you would like to share    │
│ with us?                             logical or syntactical problems. It  about your experience with us?      │
│                                      is an open-ended question that                                           │
│                                      allows respondents to provide any                                        │
│                                      additional feedback or comments                                          │
│                                      they may have about their                                                │
│                                      experience.                                                              │
├─────────────────────────────────────┼─────────────────────────────────────┼─────────────────────────────────────┤
│ Can you describe a recent            The survey question assumes that     Have you had any recent experiences │
│ experience where you were            the respondent has had a             with our service that did not meet  │
│ dissatisfied with our service?       dissatisfactory experience, which    your expectations? If yes, please   │
│                                      could introduce bias. A more         describe.                           │
│                                      neutral phrasing that allows for                                         │
│                                      the possibility of not having had a                                      │
│                                      negative experience might be more                                        │
│                                      appropriate.                                                             │
├─────────────────────────────────────┼─────────────────────────────────────┼─────────────────────────────────────┤
│ Respondent ID                        <put free text answer here>          Please enter your Respondent ID:    │
├─────────────────────────────────────┼─────────────────────────────────────┼─────────────────────────────────────┤
│ What is one feature you would like   The survey question seems clear in   Is there any particular feature you │
│ to see added to improve your         its intent, asking for a single      feel would enhance your shopping    │
│ shopping experience?                 feature suggestion to improve the    experience with us?                 │
│                                      shopping experience. However, it                                         │
│                                      could be considered leading by                                           │
│                                      implying that the shopping                                               │
│                                      experience needs improvement. To be                                      │
│                                      more neutral, it could ask 'Is                                           │
│                                      there a feature you would like to                                        │
│                                      see added to enhance your shopping                                       │
│                                      experience?' Additionally, the                                           │
│                                      question assumes the respondent has                                      │
│                                      a shopping experience with the                                           │
│                                      service in question, which may not                                       │
│                                      be the case. To address this, the                                        │
│                                      survey could include a preliminary                                       │
│                                      question to confirm the                                                  │
│                                      respondent's familiarity with the                                        │
│                                      shopping experience being                                                │
│                                      evaluated.                                                               │
└─────────────────────────────────────┴─────────────────────────────────────┴─────────────────────────────────────┘

Learn more about working with results.

Evaluating respondents’ collective answers

Next we can create a ScenarioList for each respondent’s answers to use with our question about sentiment:

[13]:
sl_responses = ScenarioList.from_list("responses", sl['scenarios'])
sl_responses
[13]:
{
    "scenarios": [
        {
            "responses": {
                "Respondent ID": "101",
                "What do you like most about using our online marketplace?": "The wide variety of products and the ease of use.",
                "What is one feature you would like to see added to improve your shopping experience?": "It would be great to have a personalized recommendation system based on my browsing history.",
                "Can you describe a recent experience where you were dissatisfied with our service?": "I was disappointed when an item I ordered arrived damaged, but customer service quickly resolved it.",
                "How do you feel about the current product search and filtering options?": "The search and filtering options are intuitive and work well for me.",
                "Is there anything else you would like to share about your experience with us?": "No, keep up the great work!",
                "edsl_version": "0.1.33.dev1",
                "edsl_class_name": "Scenario"
            }
        },
        {
            "responses": {
                "Respondent ID": "102",
                "What do you like most about using our online marketplace?": "I enjoy the simplicity of the interface.",
                "What is one feature you would like to see added to improve your shopping experience?": "A feature that helps compare similar products side by side would be useful.",
                "Can you describe a recent experience where you were dissatisfied with our service?": "No complaints here.",
                "How do you feel about the current product search and filtering options?": "I find the product search to be pretty effective.",
                "Is there anything else you would like to share about your experience with us?": "I think the sky is a beautiful shade of purple today.",
                "edsl_version": "0.1.33.dev1",
                "edsl_class_name": "Scenario"
            }
        },
        {
            "responses": {
                "Respondent ID": "103",
                "What do you like most about using our online marketplace?": "The platform is user-friendly and offers a vast selection of products.",
                "What is one feature you would like to see added to improve your shopping experience?": "Would love to see an option to save and compare different products.",
                "Can you describe a recent experience where you were dissatisfied with our service?": "My delivery was late by a few days, which was frustrating.",
                "How do you feel about the current product search and filtering options?": "It\u2019s okay.",
                "Is there anything else you would like to share about your experience with us?": "No.",
                "edsl_version": "0.1.33.dev1",
                "edsl_class_name": "Scenario"
            }
        }
    ]
}

Next we add these scenarios to our sentiment question (and any others we want to add) and run it:

[14]:
from edsl import QuestionMultipleChoice, QuestionLinearScale, Survey

q_sentiment = QuestionMultipleChoice(
    question_name = "sentiment",
    question_text = "What is the overall sentiment of this respondent's survey answers? {{ responses }}",
    question_options = ["Very unsatisfied", "Somewhat unsatisfied", "Somewhat satisfied", "Very satisfied"]
)

q_recommend = QuestionLinearScale(
    question_name = "recommend",
    question_text = "On a scale from 1 to 5, how likely do you think this respondent is to recommend the company to a friend? {{ responses }}",
    question_options = [1, 2, 3, 4, 5],
    option_labels = {1:"Not at all likely", 5:"Very likely"}
)

survey = Survey([q_sentiment, q_recommend])
[15]:
results = survey.by(sl_responses).run()
[16]:
results.select("responses", "sentiment", "recommend").print(format="rich")
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ scenario                                                                       answer              answer     ┃
┃ .responses                                                                     .sentiment          .recommend ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ {'Respondent ID': '101', 'What do you like most about using our online         Somewhat satisfied  4          │
│ marketplace?': 'The wide variety of products and the ease of use.', 'What is                                  │
│ one feature you would like to see added to improve your shopping                                              │
│ experience?': 'It would be great to have a personalized recommendation system                                 │
│ based on my browsing history.', 'Can you describe a recent experience where                                   │
│ you were dissatisfied with our service?': 'I was disappointed when an item I                                  │
│ ordered arrived damaged, but customer service quickly resolved it.', 'How do                                  │
│ you feel about the current product search and filtering options?': 'The                                       │
│ search and filtering options are intuitive and work well for me.', 'Is there                                  │
│ anything else you would like to share about your experience with us?': 'No,                                   │
│ keep up the great work!', 'edsl_version': '0.1.33.dev1', 'edsl_class_name':                                   │
│ 'Scenario'}                                                                                                   │
├───────────────────────────────────────────────────────────────────────────────┼────────────────────┼────────────┤
│ {'Respondent ID': '102', 'What do you like most about using our online         Somewhat satisfied  4          │
│ marketplace?': 'I enjoy the simplicity of the interface.', 'What is one                                       │
│ feature you would like to see added to improve your shopping experience?': 'A                                 │
│ feature that helps compare similar products side by side would be useful.',                                   │
│ 'Can you describe a recent experience where you were dissatisfied with our                                    │
│ service?': 'No complaints here.', 'How do you feel about the current product                                  │
│ search and filtering options?': 'I find the product search to be pretty                                       │
│ effective.', 'Is there anything else you would like to share about your                                       │
│ experience with us?': 'I think the sky is a beautiful shade of purple                                         │
│ today.', 'edsl_version': '0.1.33.dev1', 'edsl_class_name': 'Scenario'}                                        │
├───────────────────────────────────────────────────────────────────────────────┼────────────────────┼────────────┤
│ {'Respondent ID': '103', 'What do you like most about using our online         Somewhat satisfied  3          │
│ marketplace?': 'The platform is user-friendly and offers a vast selection of                                  │
│ products.', 'What is one feature you would like to see added to improve your                                  │
│ shopping experience?': 'Would love to see an option to save and compare                                       │
│ different products.', 'Can you describe a recent experience where you were                                    │
│ dissatisfied with our service?': 'My delivery was late by a few days, which                                   │
│ was frustrating.', 'How do you feel about the current product search and                                      │
│ filtering options?': 'It’s okay.', 'Is there anything else you would like to                                  │
│ share about your experience with us?': 'No.', 'edsl_version': '0.1.33.dev1',                                  │
│ 'edsl_class_name': 'Scenario'}                                                                                │
└───────────────────────────────────────────────────────────────────────────────┴────────────────────┴────────────┘

Evaluating individual answers

Next we create a ScenarioList for each individual question and answer to use with our question about the responsiveness of each answer. We can use the unpivot() method to expand the scenarios by desired identifiers (e.g., respondent ID):

[17]:
sl_qa = sl.unpivot(id_vars = ["Respondent ID"])
sl_qa
[17]:
{
    "scenarios": [
        {
            "Respondent ID": "101",
            "variable": "What do you like most about using our online marketplace?",
            "value": "The wide variety of products and the ease of use."
        },
        {
            "Respondent ID": "101",
            "variable": "What is one feature you would like to see added to improve your shopping experience?",
            "value": "It would be great to have a personalized recommendation system based on my browsing history."
        },
        {
            "Respondent ID": "101",
            "variable": "Can you describe a recent experience where you were dissatisfied with our service?",
            "value": "I was disappointed when an item I ordered arrived damaged, but customer service quickly resolved it."
        },
        {
            "Respondent ID": "101",
            "variable": "How do you feel about the current product search and filtering options?",
            "value": "The search and filtering options are intuitive and work well for me."
        },
        {
            "Respondent ID": "101",
            "variable": "Is there anything else you would like to share about your experience with us?",
            "value": "No, keep up the great work!"
        },
        {
            "Respondent ID": "102",
            "variable": "What do you like most about using our online marketplace?",
            "value": "I enjoy the simplicity of the interface."
        },
        {
            "Respondent ID": "102",
            "variable": "What is one feature you would like to see added to improve your shopping experience?",
            "value": "A feature that helps compare similar products side by side would be useful."
        },
        {
            "Respondent ID": "102",
            "variable": "Can you describe a recent experience where you were dissatisfied with our service?",
            "value": "No complaints here."
        },
        {
            "Respondent ID": "102",
            "variable": "How do you feel about the current product search and filtering options?",
            "value": "I find the product search to be pretty effective."
        },
        {
            "Respondent ID": "102",
            "variable": "Is there anything else you would like to share about your experience with us?",
            "value": "I think the sky is a beautiful shade of purple today."
        },
        {
            "Respondent ID": "103",
            "variable": "What do you like most about using our online marketplace?",
            "value": "The platform is user-friendly and offers a vast selection of products."
        },
        {
            "Respondent ID": "103",
            "variable": "What is one feature you would like to see added to improve your shopping experience?",
            "value": "Would love to see an option to save and compare different products."
        },
        {
            "Respondent ID": "103",
            "variable": "Can you describe a recent experience where you were dissatisfied with our service?",
            "value": "My delivery was late by a few days, which was frustrating."
        },
        {
            "Respondent ID": "103",
            "variable": "How do you feel about the current product search and filtering options?",
            "value": "It\u2019s okay."
        },
        {
            "Respondent ID": "103",
            "variable": "Is there anything else you would like to share about your experience with us?",
            "value": "No."
        }
    ]
}

We can call the rename() method to rename the keys as desired to match our question parameters syntax:

[18]:
sl_qa = sl_qa.rename({"Respondent ID": "id", "variable": "question", "value": "answer"})
sl_qa
[18]:
{
    "scenarios": [
        {
            "id": "101",
            "question": "What do you like most about using our online marketplace?",
            "answer": "The wide variety of products and the ease of use."
        },
        {
            "id": "101",
            "question": "What is one feature you would like to see added to improve your shopping experience?",
            "answer": "It would be great to have a personalized recommendation system based on my browsing history."
        },
        {
            "id": "101",
            "question": "Can you describe a recent experience where you were dissatisfied with our service?",
            "answer": "I was disappointed when an item I ordered arrived damaged, but customer service quickly resolved it."
        },
        {
            "id": "101",
            "question": "How do you feel about the current product search and filtering options?",
            "answer": "The search and filtering options are intuitive and work well for me."
        },
        {
            "id": "101",
            "question": "Is there anything else you would like to share about your experience with us?",
            "answer": "No, keep up the great work!"
        },
        {
            "id": "102",
            "question": "What do you like most about using our online marketplace?",
            "answer": "I enjoy the simplicity of the interface."
        },
        {
            "id": "102",
            "question": "What is one feature you would like to see added to improve your shopping experience?",
            "answer": "A feature that helps compare similar products side by side would be useful."
        },
        {
            "id": "102",
            "question": "Can you describe a recent experience where you were dissatisfied with our service?",
            "answer": "No complaints here."
        },
        {
            "id": "102",
            "question": "How do you feel about the current product search and filtering options?",
            "answer": "I find the product search to be pretty effective."
        },
        {
            "id": "102",
            "question": "Is there anything else you would like to share about your experience with us?",
            "answer": "I think the sky is a beautiful shade of purple today."
        },
        {
            "id": "103",
            "question": "What do you like most about using our online marketplace?",
            "answer": "The platform is user-friendly and offers a vast selection of products."
        },
        {
            "id": "103",
            "question": "What is one feature you would like to see added to improve your shopping experience?",
            "answer": "Would love to see an option to save and compare different products."
        },
        {
            "id": "103",
            "question": "Can you describe a recent experience where you were dissatisfied with our service?",
            "answer": "My delivery was late by a few days, which was frustrating."
        },
        {
            "id": "103",
            "question": "How do you feel about the current product search and filtering options?",
            "answer": "It\u2019s okay."
        },
        {
            "id": "103",
            "question": "Is there anything else you would like to share about your experience with us?",
            "answer": "No."
        }
    ]
}
[19]:
from edsl import QuestionYesNo

q_responsive = QuestionYesNo(
    question_name = "responsive",
    question_text = "Is this answer responsive to the question that was asked? Question: {{ question }} Answer: {{ answer }}"
)
[20]:
results = q_responsive.by(sl_qa).run()
[21]:
(results
 .filter("responsive == 'No'")
 .select("id", "question", "answer")
 .print(format="rich")
)
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ scenario  scenario                                           scenario                                         ┃
┃ .id       .question                                          .answer                                          ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ 102       Can you describe a recent experience where you     No complaints here.                              │
│           were dissatisfied with our service?                                                                 │
├──────────┼───────────────────────────────────────────────────┼──────────────────────────────────────────────────┤
│ 102       Is there anything else you would like to share     I think the sky is a beautiful shade of purple   │
│           about your experience with us?                     today.                                           │
└──────────┴───────────────────────────────────────────────────┴──────────────────────────────────────────────────┘

Uploading content to the Coop

Coop is a new platform for creating, storing and sharing LLM-based research. It is fully integrated with EDSL, and a convenient place to post and access surveys, agents, results and notebooks. Learn more about using the Coop.

Here we post the contents of this notebook:

[22]:
from edsl import Notebook
[23]:
n = Notebook(path = "scenariolist_unpivot.ipynb")
[24]:
n.push(description = "ScenarioList methods for sense checking survey data", visibility = "public")
[24]:
{'description': 'ScenarioList methods for sense checking survey data',
 'object_type': 'notebook',
 'url': 'https://www.expectedparrot.com/content/a8346e52-3284-4734-9e10-8d755059192f',
 'uuid': 'a8346e52-3284-4734-9e10-8d755059192f',
 'version': '0.1.33.dev1',
 'visibility': 'public'}

To update an object at the Coop:

[25]:
n = Notebook(path = "scenariolist_unpivot.ipynb")

n.patch(uuid = "a8346e52-3284-4734-9e10-8d755059192f", value = n)
[25]:
{'status': 'success'}