edsl  by expectedparrot

DSL for AI-powered surveys, experiments, and data labeling

created 1 year ago
258 stars

Top 98.6% on sourcepulse

GitHubView on GitHub
Project Summary

This library enables researchers to design, conduct, and analyze AI-powered surveys and experiments, simulating social science and market research with large language models and AI agents. It targets computational social scientists and market researchers, offering reproducible results and built-in analysis tools.

How It Works

EDSL provides a declarative Python API for defining survey questions, agent personas, and experimental parameters. It leverages parameterized prompts and scenario lists to automate data input from various sources (CSV, PDF, etc.). Users can define AI agent traits to generate diverse responses and easily switch between different LLMs, either using their own API keys or a provided Expected Parrot key. The system automatically caches API calls for cost-free reproducibility and offers features like piping and skip-logic for complex data labeling workflows.

Quick Start & Requirements

  • Install: pip install edsl
  • Requirements: Python 3.9-3.12, API keys for language models (own or Expected Parrot key).
  • Resources: Account creation recommended for Expected Parrot server access and universal remote cache.
  • Docs: https://docs.expectedparrot.com/
  • Tutorials: https://expectedparrot.com/ (via Coop platform)

Highlighted Details

  • Declarative question types (e.g., QuestionMultipleChoice) ensure consistent results without explicit schemas.
  • Parameterized prompts support data injection from diverse file formats.
  • Agent personas can be defined with specific traits for varied survey responses.
  • Built-in caching of LLM API calls enables cost-free result reproduction.

Maintenance & Community

  • Community support via Discord.
  • Platform for sharing workflows and results at Coop.
  • Links to Twitter and LinkedIn for updates.

Licensing & Compatibility

  • License: Not explicitly stated in the README.
  • Compatibility: Designed for use with various LLMs. Coop platform offers private/public sharing.

Limitations & Caveats

The README does not specify the open-source license, which is crucial for commercial use or closed-source integration. While API keys are managed, explicit details on data privacy and security practices beyond key management are not provided.

Health Check
Last commit

1 day ago

Responsiveness

1 day

Pull Requests (30d)
37
Issues (30d)
25
Star History
22 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.