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:
Evaluating survey questions (e.g., for clarity and improvements)
Analyzing each respondent’s set of answers (e.g., to summarize or identify sentiment, themes, etc.)
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 Coop: an integrated 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
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:
Install the EDSL library.
Create a Coop account and activate remote inference OR store your own API Keys for language models that you want to use.
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. Here we store it at the Coop and then re-import it:
[1]:
from edsl import FileStore
[2]:
fs = FileStore("marketplace_survey_results.csv")
info = fs.push()
info
[2]:
{'description': 'File: marketplace_survey_results.csv',
'object_type': 'scenario',
'url': 'https://www.expectedparrot.com/content/83edbe9f-ff45-4d96-b35d-e388e07f0c4e',
'uuid': '83edbe9f-ff45-4d96-b35d-e388e07f0c4e',
'version': '0.1.45.dev1',
'visibility': 'unlisted'}
[3]:
csv_file = FileStore.pull(info["uuid"])
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:
[4]:
from edsl import QuestionFreeText, QuestionMultipleChoice, QuestionYesNo
[5]:
q_logic = QuestionFreeText(
question_name = "logic",
question_text = "Describe any logical or syntactical problems in the following survey question: {{ question }}"
)
[6]:
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"]
)
[7]:
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:
[8]:
from edsl import ScenarioList
[9]:
sl = ScenarioList.from_csv(csv_file.to_tempfile()) # replace with CSV file name if importing a local file
sl
[9]:
ScenarioList scenarios: 3; keys: ['Can you describe a recent experience where you were dissatisfied with our service?', '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?', '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?'];
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 recommendation system based on my browsing history. | I was disappointed when an item I ordered arrived damaged, but customer service quickly resolved it. | The search and filtering options are intuitive and work well for me. | No, keep up the great work! |
1 | 102 | I enjoy the simplicity of the interface. | A feature that helps compare similar products side by side would be useful. | No complaints here. | I find the product search to be pretty effective. | I think the sky is a beautiful shade of purple today. |
2 | 103 | The platform is user-friendly and offers a vast selection of products. | Would love to see an option to save and compare different products. | My delivery was late by a few days, which was frustrating. | It’s okay. | No. |
Evaluating the questions
For our first question we want to create a Scenario
for each survey question:
[10]:
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:
[11]:
questions = list(sl.parameters)
questions
[11]:
['Can you describe a recent experience where you were dissatisfied with our service?',
'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?',
'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?']
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:
[12]:
sl_questions = ScenarioList.from_list("question", questions)
sl_questions
[12]:
ScenarioList scenarios: 6; keys: ['question'];
question | |
---|---|
0 | Can you describe a recent experience where you were dissatisfied with our service? |
1 | Respondent ID |
2 | What do you like most about using our online marketplace? |
3 | What is one feature you would like to see added to improve your shopping experience? |
4 | How do you feel about the current product search and filtering options? |
5 | Is there anything else you would like to share about your experience with us? |
We select a model to use, and then add the scenarios to the survey when we run it:
[13]:
from edsl import Model
m = Model("gemini-1.5-flash")
[14]:
results = survey.by(sl_questions).by(m).run()
Job UUID | cfcdacda-cb1b-4fc0-b030-6cdd0eefa0a0 |
Progress Bar URL | https://www.expectedparrot.com/home/remote-job-progress/cfcdacda-cb1b-4fc0-b030-6cdd0eefa0a0 |
Exceptions Report URL | None |
Results UUID | 80462061-1956-4414-ba3b-f9ca52104ce3 |
Results URL | https://www.expectedparrot.com/content/80462061-1956-4414-ba3b-f9ca52104ce3 |
This generates a dataset of Results
that we can access with built-in methods for analysis:
[15]:
results.select("question", "logic", "improved")
[15]:
scenario.question | answer.logic | answer.improved | |
---|---|---|---|
0 | Can you describe a recent experience where you were dissatisfied with our service? | The question "Can you describe a recent experience where you were dissatisfied with our service?" has a few potential problems: * **Leading Question:** It presupposes dissatisfaction exists. Someone who had a positive experience might not answer honestly, or might struggle to recall a negative one even if a minor issue occurred. A neutral question would be better. * **Ambiguity of "recent":** "Recent" is subjective. What constitutes "recent" for one person (e.g., last week) might be distant for another (e.g., last month). Defining a timeframe (e.g., "within the last month," "since your last visit") would improve clarity and comparability. * **Open-ended nature (potentially problematic):** While open-ended questions allow for rich responses, they can be difficult to analyze quantitatively. The responses might be too varied to easily categorize and summarize. Consider including a follow-up question with specific options (e.g., rating scales for different aspects of service). * **Assumes prior service interaction:** The question assumes the respondent has actually used the service. It might be beneficial to add a screening question first to determine if they have indeed interacted with the service. | In the past month, have you had any experiences with our service? If so, please rate your overall satisfaction. |
1 | Respondent ID | "Respondent ID" is not a survey question; it's a field for identifying the respondent's data. It's not meant to elicit an answer from the respondent, but rather to serve as a unique label for their responses. Therefore, the problem isn't logical or syntactical within the context of a question, but rather its inappropriate placement as a *question*. It should be treated as a data field, not a question in the survey instrument. | How satisfied are you with our product? |
2 | What do you like most about using our online marketplace? | The main problem with the question "What do you like most about using our online marketplace?" is that it's **open-ended and lacks structure**. This leads to several potential issues: * **Difficult to analyze:** Responses will be highly varied and unstructured, making quantitative analysis nearly impossible. It will be challenging to identify trends or common themes without significant manual coding and interpretation, which is time-consuming and prone to subjective bias. * **Potential for irrelevant answers:** Respondents might focus on aspects unrelated to the marketplace itself (e.g., "I like online shopping in general"). This dilutes the data and makes it harder to draw meaningful conclusions about the marketplace's specific strengths. * **Bias towards positive responses:** The question only asks about what people *like* most. It doesn't allow for feedback on negative aspects or areas for improvement. A more balanced approach would include questions about both positive and negative experiences. * **Difficulty in comparing responses across different demographics:** The unstructured nature makes it hard to compare responses across different user groups (e.g., age, location, purchase frequency). To improve the question, consider using: * **Multiple choice questions:** Offer a pre-defined list of options (e.g., "Ease of use," "Product selection," "Customer service," "Price"). This allows for easy quantification and comparison. * **Rating scales:** Ask respondents to rate different aspects of the marketplace on a scale (e.g., 1-5 stars). * **A combination of open-ended and structured questions:** Include an open-ended question *after* the structured questions to allow for more detailed feedback on specific aspects. This approach captures both quantitative and qualitative data. | How satisfied are you with the following aspects of our online marketplace? (Please rate each on a scale of 1 to 5, where 1 is very dissatisfied and 5 is very satisfied) |
3 | What is one feature you would like to see added to improve your shopping experience? | The main problem is that the question is **too broad and lacks structure**. Here's a breakdown: * **"One feature" is restrictive:** Respondents might have multiple features they'd like to see added. Limiting them to just one could result in valuable feedback being lost or forcing them to choose arbitrarily between important improvements. * **Lack of guidance:** The question doesn't provide any context or categories. "Improve your shopping experience" is very vague. A respondent might think of features related to website design, delivery, customer service, product selection, payment options, etc. The lack of direction makes it difficult to analyze the results meaningfully, as answers will be scattered and difficult to group. * **Potential for open-ended, unanalyzable responses:** While open-ended questions can be valuable, this one is too open. Responses could be too varied and descriptive, making it challenging to quantify or categorize the feedback effectively. In short, the question needs more structure to be effective. It would be better to either: * **Use multiple-choice questions:** Offer a list of pre-defined features in different categories. * **Use a combination of multiple-choice and open-ended questions:** Allow respondents to choose from a list of common features and then add any other suggestions in a separate open-ended question. * **Break down the question into smaller, more specific questions:** For example, ask separate questions about website usability, delivery options, customer service, etc. | Which of the following features would most improve your shopping experience? Please select all that apply. [List of features, including an "Other" option with a free-text field] |
4 | How do you feel about the current product search and filtering options? | The question "How do you feel about the current product search and filtering options?" suffers from several problems: * **Ambiguity and Vagueness:** "How do you feel" is too broad. It doesn't specify what kind of feeling the respondent should express. Do they want to know about satisfaction, ease of use, frustration, efficiency, or something else? The question needs to target a specific feeling or aspect of the experience. * **Lack of Specificity:** "Current product search and filtering options" is also vague. Are there multiple search and filtering options? If so, the question should either break them down into separate questions or specify which options are being addressed. Respondents might have different feelings about different aspects (e.g., the autocomplete feature vs. the advanced filters). * **Open-ended nature (potentially problematic):** While open-ended questions can provide rich qualitative data, they can also be difficult to analyze quantitatively and may lead to responses that are too varied to be useful. For large-scale surveys, this question would be challenging to summarize and analyze effectively. To improve the question, it could be broken down into multiple more specific questions, such as: * "How easy was it to find the products you were looking for using the search function?" (Rating scale) * "How satisfied were you with the available filtering options?" (Rating scale) * "Did you find the filtering options to be intuitive and easy to understand?" (Yes/No or rating scale) * "What, if anything, could be improved about the product search function?" (Open-ended, but now more focused) * "What, if anything, could be improved about the product filtering options?" (Open-ended, but now more focused) | How satisfied were you with the ease of use and effectiveness of the product search and filtering options? |
5 | Is there anything else you would like to share about your experience with us? | The question "Is there anything else you would like to share about your experience with us?" has a few potential problems, mostly related to its openness and lack of guidance: * **Too broad:** It's incredibly open-ended. Respondents might share completely irrelevant information, making the data difficult to analyze and potentially overwhelming for the survey administrator. It lacks focus. * **Potential for low response rate (or unhelpful responses):** Many people might simply answer "no" or leave it blank because they don't know where to begin or what kind of information is desired. They might not feel comfortable providing unsolicited feedback without more direction. * **Bias towards positive feedback:** The phrasing is slightly positive ("share about your experience"). A more neutral phrasing might elicit a wider range of responses, including negative ones. * **Lack of context:** "With us" is vague. Depending on the context (company, product, service, etc.), it might be unclear what "us" refers to. More specificity would be helpful. To improve the question, consider: * **Adding a specific focus:** Instead of "anything else," specify the type of information you're looking for (e.g., "Is there anything else you'd like to share about the ease of use of our product?", "What could we have done better to improve your experience?"). * **Using a more neutral tone:** Replace phrases like "share about your experience" with something more neutral, such as "any additional comments" or "anything else you would like to comment on." * **Providing response options:** Offer a few categories or prompts to guide respondents (e.g., "Customer service," "Product quality," "Website usability"). This could be combined with the open-ended question. | What could we have done to improve your experience? |
Evaluating respondents’ collective answers
Next we can create a ScenarioList
for each respondent’s answers to use with our question about sentiment:
[16]:
sl_responses = ScenarioList.from_list("responses", sl['scenarios'])
sl_responses
[16]:
ScenarioList scenarios: 3; keys: ['responses'];
responses | |
---|---|
0 | {'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!'} |
1 | {'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.'} |
2 | {'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’s okay.', 'Is there anything else you would like to share about your experience with us?': 'No.'} |
Next we add these scenarios to our sentiment question (and any others we want to add) and run it:
[17]:
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])
[18]:
results = survey.by(sl_responses).by(m).run()
Job UUID | 02b147c1-0143-4ca9-a474-91e2e72a7d46 |
Progress Bar URL | https://www.expectedparrot.com/home/remote-job-progress/02b147c1-0143-4ca9-a474-91e2e72a7d46 |
Exceptions Report URL | None |
Results UUID | 822fd422-e065-48df-a245-d1e32d11c9a2 |
Results URL | https://www.expectedparrot.com/content/822fd422-e065-48df-a245-d1e32d11c9a2 |
[19]:
results.select("responses", "sentiment", "recommend")
[19]:
scenario.responses | answer.sentiment | answer.recommend | |
---|---|---|---|
0 | {'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!'} | Very satisfied | 5 |
1 | {'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.'} | Very satisfied | 5 |
2 | {'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’s okay.', 'Is there anything else you would like to share about your experience with us?': 'No.'} | Somewhat satisfied | 3 |
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):
[20]:
sl_qa = sl.unpivot(id_vars = ["Respondent ID"])
sl_qa
[20]:
ScenarioList scenarios: 15; keys: ['variable', 'Respondent ID', 'value'];
Respondent ID | variable | value | |
---|---|---|---|
0 | 101 | What do you like most about using our online marketplace? | The wide variety of products and the ease of use. |
1 | 101 | 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. |
2 | 101 | 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. |
3 | 101 | How do you feel about the current product search and filtering options? | The search and filtering options are intuitive and work well for me. |
4 | 101 | Is there anything else you would like to share about your experience with us? | No, keep up the great work! |
5 | 102 | What do you like most about using our online marketplace? | I enjoy the simplicity of the interface. |
6 | 102 | 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. |
7 | 102 | Can you describe a recent experience where you were dissatisfied with our service? | No complaints here. |
8 | 102 | How do you feel about the current product search and filtering options? | I find the product search to be pretty effective. |
9 | 102 | 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. |
10 | 103 | What do you like most about using our online marketplace? | The platform is user-friendly and offers a vast selection of products. |
11 | 103 | 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. |
12 | 103 | Can you describe a recent experience where you were dissatisfied with our service? | My delivery was late by a few days, which was frustrating. |
13 | 103 | How do you feel about the current product search and filtering options? | It’s okay. |
14 | 103 | Is there anything else you would like to share about your experience with us? | No. |
We can call the rename()
method to rename the keys as desired to match our question parameters syntax:
[21]:
sl_qa = sl_qa.rename({"Respondent ID": "id", "variable": "question", "value": "answer"})
sl_qa
[21]:
ScenarioList scenarios: 15; keys: ['id', 'question', 'answer'];
id | question | answer | |
---|---|---|---|
0 | 101 | What do you like most about using our online marketplace? | The wide variety of products and the ease of use. |
1 | 101 | 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. |
2 | 101 | 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. |
3 | 101 | How do you feel about the current product search and filtering options? | The search and filtering options are intuitive and work well for me. |
4 | 101 | Is there anything else you would like to share about your experience with us? | No, keep up the great work! |
5 | 102 | What do you like most about using our online marketplace? | I enjoy the simplicity of the interface. |
6 | 102 | 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. |
7 | 102 | Can you describe a recent experience where you were dissatisfied with our service? | No complaints here. |
8 | 102 | How do you feel about the current product search and filtering options? | I find the product search to be pretty effective. |
9 | 102 | 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. |
10 | 103 | What do you like most about using our online marketplace? | The platform is user-friendly and offers a vast selection of products. |
11 | 103 | 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. |
12 | 103 | Can you describe a recent experience where you were dissatisfied with our service? | My delivery was late by a few days, which was frustrating. |
13 | 103 | How do you feel about the current product search and filtering options? | It’s okay. |
14 | 103 | Is there anything else you would like to share about your experience with us? | No. |
[22]:
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 }}"
)
[23]:
results = q_responsive.by(sl_qa).by(m).run()
Job UUID | ac889886-fd7d-442a-8539-18745981a666 |
Progress Bar URL | https://www.expectedparrot.com/home/remote-job-progress/ac889886-fd7d-442a-8539-18745981a666 |
Exceptions Report URL | None |
Results UUID | 62702f00-9bce-43be-b85e-8f62d0110524 |
Results URL | https://www.expectedparrot.com/content/62702f00-9bce-43be-b85e-8f62d0110524 |
[24]:
(
results
.filter("responsive == 'No'")
.select("id", "question", "answer")
)
[24]:
scenario.id | scenario.question | scenario.answer | |
---|---|---|---|
0 | 101 | 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. |
1 | 101 | Is there anything else you would like to share about your experience with us? | No, keep up the great work! |
2 | 102 | Can you describe a recent experience where you were dissatisfied with our service? | No complaints here. |
3 | 102 | How do you feel about the current product search and filtering options? | I find the product search to be pretty effective. |
4 | 102 | 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. |
5 | 103 | How do you feel about the current product search and filtering options? | It’s okay. |
Uploading content to 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:
[25]:
from edsl import Notebook
[26]:
n = Notebook(path = "scenariolist_unpivot.ipynb")
[27]:
info = n.push(description = "ScenarioList methods for sense checking survey data", visibility = "public")
info
[27]:
{'description': 'ScenarioList methods for sense checking survey data',
'object_type': 'notebook',
'url': 'https://www.expectedparrot.com/content/1cfaa25a-6559-4e5f-8b71-96dd4662545d',
'uuid': '1cfaa25a-6559-4e5f-8b71-96dd4662545d',
'version': '0.1.45.dev1',
'visibility': 'public'}
To update an object at Coop:
[28]:
n = Notebook(path = "scenariolist_unpivot.ipynb") # resave
[29]:
n.patch(uuid = info["uuid"], value = n)
[29]:
{'status': 'success'}