Skip to main content

Conduct surveys using GPT

Project description

GPTBatcher

GPTBatcher is a Python package that allows you to run multiple GPT-3 completions in parallel. It is useful for running surveys, polls, or any other task that requires multiple completions. It returns a pandas data frame with the results.

Installation

pip install gptbatcher

Usage

from gptbatcher import GPTBatcher, Question, Choice, Participant
import os

batcher = GPTBatcher(api_key=os.environ['OPENAI_API_KEY'], rpm=20)

berlin = Choice(label="Berlin", prompt="Berlin")
munich = Choice(label="Munich", prompt="Munich")
hamburg = Choice(label="Hamburg", prompt="Hamburg")
frankfurt = Choice(label="Frankfurt", prompt="Frankfurt")

question = Question(
    label="Capital of Germany",
    prompt="What is the capital of Germany?",
    choices=[berlin, munich, hamburg, frankfurt]
)

segmentA = Participant(
    label="Segment A",
    prompt="You are a 26 year old male from Birmingham, UK",
    weight=1
)
segmentB = Participant(
    label="Segment B",
    prompt="You are a 45 year old female from London, UK",
    weight=2
)

participants = [segmentA, segmentB]

result = batcher.ask(
    question=question,
    participants=participants,
    samples=30
)
# result = pd.DataFrame([[10, 0, 0, 0], [20, 0, 0, 0]], columns=['Berlin', 'Munich', 'Hamburg', 'Frankfurt'], index=['Segment A', 'Segment B'])
print(question)
print(result.sum())
# Berlin       30
# Munich        0
# Hamburg       0
# Frankfurt     0

Running the tests

python -m unittest discover

Running the example

python3 -m examples.soothsayer

Contributing

Please raise an issue if you find a bug or have a feature request. Pull requests are welcome.

Support

CBM Digital offers support services for this package. Please contact us at https://www.cbmdigital.co.uk/contact/, or by email at contact@cbmdigital.co.uk

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gptbatcher-0.2.0.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gptbatcher-0.2.0-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file gptbatcher-0.2.0.tar.gz.

File metadata

  • Download URL: gptbatcher-0.2.0.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for gptbatcher-0.2.0.tar.gz
Algorithm Hash digest
SHA256 56e62b75eed015096669689c72554c72d569e88c36f448b9db6a7ed130798589
MD5 c0569cf7bfb14cff41a2b61f216288aa
BLAKE2b-256 2968ec7ca1d650983e26b31d105ca083d5af30e0825f36ddc4dbc388ebfc39bf

See more details on using hashes here.

File details

Details for the file gptbatcher-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: gptbatcher-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for gptbatcher-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d13234c569988eea7c309045b5643f4199ff876ec69ac0549c34290e11b5f4d2
MD5 ec2b0b4a083642720ed5463920267107
BLAKE2b-256 e7f618e3b0065398cd548862e26d027ac7f555a09ec28a8d7e810917a00c6f73

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page