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 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:
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:
[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. │ │ └─────────────────────────────────────┴─────────────────────────────────────┴─────────────────────────────────────┘
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'}