edsl

edsl

Design, conduct and analyze results of AI-powered surveys and experiments. Simulate social science and market research with large numbers of AI agents and LLMs.

Stars: 180

Visit
 screenshot

The Expected Parrot Domain-Specific Language (EDSL) package enables users to conduct computational social science and market research with AI. It facilitates designing surveys and experiments, simulating responses using large language models, and performing data labeling and other research tasks. EDSL includes built-in methods for analyzing, visualizing, and sharing research results. It is compatible with Python 3.9 - 3.11 and requires API keys for LLMs stored in a `.env` file.

README:

Expected Parrot Domain-Specific Language

edsl.png

The Expected Parrot Domain-Specific Language (EDSL) package lets you conduct computational social science and market research with AI. Use it to design surveys and experiments, simulate responses with large language models, and perform data labeling and other research tasks. Results are formatted as specified datasets and come with built-in methods for analyzing, visualizing, and sharing.

๐Ÿ”— Links

๐ŸŒŽ Hello, World!

A quick example:

# Import a question type
from edsl import QuestionMultipleChoice

# Construct a question using the question type template
q = QuestionMultipleChoice(
    question_name="example_question",
    question_text="How do you feel today?",
    question_options=["Bad", "OK", "Good"]
)

# Run it with the default language model
results = q.run()

# Inspect the results in a dataset
results.select("example_question").print()

Output:

โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ answer            โ”ƒ
โ”ƒ .example_question โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ Good              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ’ป Requirements

  • EDSL is compatible with Python 3.9 - 3.12.
  • API keys for large language models that you want to use, stored in a .env file. See instructions on storing API keys.

๐Ÿ’ก Contributions, feature requests & bugs

Interested in contributing? Want us to add a new feature? Found a bug for us to squash? Please send us an email at [email protected] or message us at our Discord channel.

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for edsl

Similar Open Source Tools

For similar tasks

For similar jobs