> ## Content Index
> Fetch the complete content index at: https://expected-parrot.ghost.io/llms.txt
> Use this file to discover other available public pages before exploring further.

# What are my options for running EDSL surveys?
- URL: https://expected-parrot.ghost.io/what-are-my-options-for-running-edsl/
- Published: 2025-04-09T13:31:35.000Z
- Updated: 2026-10-17T15:55:36.000Z
- Description: Here's a quick recap of features for specifying where and how to run your LLM-based surveys in EDSL.
- Author: John Horton
- Tags: Newsletter, #Migrated-1792252444613, #Import 2026-10-17 15:54

This posts highlights features for choosing *where* to run your EDSL surveys—on your own computer or at the Expected Parrot server—and *how* to run them—using your own API keys for language models and/or an Expected Parrot key that provides access to all available models.

[Subscribe](#/portal/signup)

## Choosing *where* to run your surveys

EDSL is an [open-source Python package](https://github.com/expectedparrot/edsl?ref=expected-parrot.ghost.io) that lets you conduct surveys with language models either “locally” on your own computer or “remotely” at the Expected Parrot server.

### Getting started

The first steps are the same for either option:

1. **Install the EDSL package.** See [instructions](https://www.expectedparrot.com/getting-started?ref=expected-parrot.ghost.io).
2. **Create a survey.** See our [starter tutorial and other examples](https://docs.expectedparrot.com/en/latest/starter%5Ftutorial.html?ref=expected-parrot.ghost.io). You can also use our [GPT for generating EDSL code](https://chatgpt.com/g/g-67d17648ea5481919004bfc0bb1c2a8e-expectedparrot?ref=expected-parrot.ghost.io).

Then decide whether you want to run your survey locally or remotely.

Please [see our docs page](https://docs.expectedparrot.com/?ref=expected-parrot.ghost.io) for tips on [getting started](https://docs.expectedparrot.com/en/latest/getting%5Fstarted.html?ref=expected-parrot.ghost.io) and demo notebooks with example code for many use cases.

### Activate remote services

To active remote services, start by [logging into your account](https://www.expectedparrot.com/login?ref=expected-parrot.ghost.io) and navigating to your [Settings](https://www.expectedparrot.com/home/settings?ref=expected-parrot.ghost.io) page. Remote inference is activated by default when you create your account:

[![](https://storage.ghost.io/c/bc/8c/bc8c40e2-e3d8-4888-8bb9-3276553ff8a4/content/images/2026/10/6bcf3972-8c8e-4d01-8206-6265d169fbe7_2778x1068.png)](https://www.expectedparrot.com/home/settings?ref=expected-parrot.ghost.io)

While the toggle is on, you can run surveys remotely simply by calling the `run()` method on a survey at your workspace:

![](https://storage.ghost.io/c/bc/8c/bc8c40e2-e3d8-4888-8bb9-3276553ff8a4/content/images/2026/10/5d65930b-0d95-41c0-a8f3-5bb42d3d547e_1216x90.png)

A table of information about the status of the survey job will appear while it is running, with a link to a progress report. When the job is completed, a link to view the results at Coop will appear as well:

![](https://storage.ghost.io/c/bc/8c/bc8c40e2-e3d8-4888-8bb9-3276553ff8a4/content/images/2026/10/565549da-6832-4b04-b8dd-ff42d3449d1c_1612x628.png)

You can also access and analyze the results directly in your workspace.

To run surveys locally instead you can either turn the toggle off or pass a parameter `disable_remote_inference=True` to the `run()` method:

![](https://storage.ghost.io/c/bc/8c/bc8c40e2-e3d8-4888-8bb9-3276553ff8a4/content/images/2026/10/bef9da9b-22d5-4df5-ab9a-0e0423522978_1216x90.png)

### What happens when you use remote or local inference

When you run a survey **locally**, your prompts are sent to language models from your computer and responses are delivered back to your computer.

When you run a survey **remotely**, your prompts are sent from and responses are delivered back to the Expected Parrot server. Details on the survey job and results are automatically added to your Coop account, where you can choose whether to share them and how you want to work with them. Prompts and responses are also added to the [universal remote cache](https://www.expectedparrot.com/cache-stats?ref=expected-parrot.ghost.io). This means that if you re-run any prompts in the survey, or share the survey with anyone else, you will have the option to retrieve the stored responses at no cost. You can also specify that you want to generate fresh responses instead.

The [universal remote cache](https://www.expectedparrot.com/cache-stats?ref=expected-parrot.ghost.io) lets you retrieve stored responses for free. Learn more about [how it works](https://docs.expectedparrot.com/en/latest/remote%5Fcaching.html?ref=expected-parrot.ghost.io).

## Choosing *how* to run your surveys

EDSL [works with many popular language models](https://docs.expectedparrot.com/en/latest/language%5Fmodels.html?ref=expected-parrot.ghost.io) you can choose from to generate responses to your surveys, including models from Anthropic, Azure, Bedrock, Deep Infra, DeepSeek, Google, Groq, Mistral, Ollama, OpenAI, Perplexity, Together and Xai. You can check available models, token prices and daily performance on test questions [here](https://www.expectedparrot.com/models?ref=expected-parrot.ghost.io):

[![](https://storage.ghost.io/c/bc/8c/bc8c40e2-e3d8-4888-8bb9-3276553ff8a4/content/images/2026/10/bd6689a3-f0c8-457a-8b47-e7119ef31849_2778x1600.png)](https://www.expectedparrot.com/models?ref=expected-parrot.ghost.io)

When you run a survey remotely, you can connect to language models using your own API keys from service providers or using a key from Expected Parrot that provides access to all available models.

*Note:* You must provide your own keys when running surveys locally.

### How it works

Your Expected Parrot key is accessible at your [Keys](https://www.expectedparrot.com/home/keys?ref=expected-parrot.ghost.io) page, where you can reset it at any time:

[![](https://storage.ghost.io/c/bc/8c/bc8c40e2-e3d8-4888-8bb9-3276553ff8a4/content/images/2026/10/393b97d2-957c-4348-aa02-28e4ff96001e_2778x1576.png)](https://www.expectedparrot.com/home/keys?ref=expected-parrot.ghost.io)

If you have other keys that you want to use when running surveys **remotely**, you can select the **“Add key”** button to add them. You can deactivate and delete them at any time:

[![](https://storage.ghost.io/c/bc/8c/bc8c40e2-e3d8-4888-8bb9-3276553ff8a4/content/images/2026/10/05fe3e46-dfd4-4851-b368-bcbec7aaf818_2778x1320.png)](https://www.expectedparrot.com/home/keys?ref=expected-parrot.ghost.io)

You can also choose whether to grant access to your keys to other users (without sharing keys directly) and set usage limits.

If you are running surveys **locally**, you must store your keys on your computer. We recommend doing this using a `.env` file. See [instructions](https://www.expectedparrot.com/getting-started/edsl-api-keys?ref=expected-parrot.ghost.io) on managing your keys.

### Your Expected Parrot key also provides access to Coop

Your Expected Parrot key also lets you connect to [Coop](https://www.expectedparrot.com/content/explore?ref=expected-parrot.ghost.io): an integrated platform for creating and sharing AI-based research:

[![](https://storage.ghost.io/c/bc/8c/bc8c40e2-e3d8-4888-8bb9-3276553ff8a4/content/images/2026/10/e4145064-46b6-4b95-acdc-5826756e5005_2778x1624.png)](https://www.expectedparrot.com/login?ref=expected-parrot.ghost.io)

Your account lets you post, download and share content, including surveys, agents, results and notebooks. When you run surveys **remotely**, results and survey job details are automatically available at your Coop account, where you can choose whether to publish and share them privately with team members or publicly. Results that are generated remotely will also show a verified ✔️ checkmark for [reproducibility](https://docs.expectedparrot.com/en/latest/remote%5Fcaching.html?ref=expected-parrot.ghost.io).

You can also post any other content from your workspace to Coop, whether created locally or remotely. Learn more about [methods for working with Coop](https://docs.expectedparrot.com/en/latest/coop.html?ref=expected-parrot.ghost.io).

[Subscribe](#/portal/signup)