Skip to main content

ChatGPT language generator and translator

Project description

Conlang GPT

Conlang GPT is a command line tool for creating, modifying and using constructed languages, powered by ChatGPT

Features

:warning: This tool is in early development. It is not ready for production use.

Feature Status
Automatically generate specifications for written or spoken languages :sparkles: Alpha
Automatically or manually improve language specs iteratively :sparkles: Alpha
Translate any text to or from the generated languages :sparkles: Alpha
Generate vocabulary lazily :sparkles: Alpha
Automatically update vocabulary when language specs change :sparkles: Alpha
Support for all of OpenAI's chat models :sparkles: Alpha

Installation

pip install conlang-gpt

Anatomy of a Language

Languages are represented as two files:

  • Guide: The purpose of the language guide is to describe how to use the language, including rules related to grammar and phonetics.
  • Dictionary: The dictionary contains the vocabulary for the language. It is built up lazily as more and more text is translated.

Commands

Overview

Conlang GPT provides several commands:

$ conlang --help
Usage: conlang [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  create     Create a constructed language.
  improve    Automatically improve the language.
  modify     Make specific changes to the language.
  translate  Translate text to or from a constructed language.

Before running any of them, set the OPENAI_API_KEY environment variable (keep the space in front to exclude the command from your history):

 export OPENAI_API_KEY=sk...

conlang create

Creates the first draft of a guide for a new language and writes it to a file.

$ conlang create --help
Usage: conlang create [OPTIONS]

  Create a constructed language.

Options:
  --design-goals TEXT
  --guide TEXT
  --model TEXT         OpenAI model to use. Defaults to gpt-3.5-turbo.
  --help               Show this message and exit.

conlang improve

Attempts to automatically improve the language guide and dictionary. The resulting guide and dictionary are saved to the original input files.

$ conlang improve --help
Usage: conlang improve [OPTIONS]

  Automatically improve the language.

Options:
  --guide TEXT
  --dictionary TEXT             Enter the filename of the dictionary to use in
                                'example' mode.
  --text TEXT
  --max-iterations INTEGER      Max number of revisions to perform. Defaults
                                to 5.
  --similarity-threshold FLOAT  Maximum similarity between two words to be
                                considered the same. Defaults to 0.98.
  --model TEXT                  OpenAI model to use. Defaults to
                                gpt-3.5-turbo.
  --embeddings-model TEXT       OpenAI model to use for word embeddings in
                                'example' mode. Defaults to text-embedding-
                                ada-002.
  --help                        Show this message and exit.

conlang modify

Makes a specific change to the language and updates the guide and dictionary.

$ conlang modify --help
Usage: conlang modify [OPTIONS]

  Make specific changes to the language.

Options:
  --guide TEXT
  --dictionary TEXT             Enter the filename of the dictionary to use in
                                'example' mode.
  --changes TEXT
  --similarity-threshold FLOAT  Maximum similarity between two words to be
                                considered the same. Defaults to 0.98.
  --model TEXT                  OpenAI model to use. Defaults to
                                gpt-3.5-turbo.
  --embeddings-model TEXT       OpenAI model to use for word embeddings in
                                'example' mode. Defaults to text-embedding-
                                ada-002.
  --help                        Show this message and exit.

conlang translate

Translates text between any language ChatGPT was trained on to and the conlang. The language of the input text is automatically detected and used to dermine which language to translate to. If any problems are encountered while translating, the guide and dictionary will be repeatedly fixed until --max-improvements is reached.

$ conlang translate --help
Usage: conlang translate [OPTIONS]

  Translate text to or from a constructed language.

Options:
  --guide TEXT
  --dictionary TEXT
  --text TEXT
  --max-improvements INTEGER    Max number of relevant improvements to make to
                                the guide and dictionary. Defaults to 5.
  --similarity-threshold FLOAT  Maximum similarity between two words to be
                                considered the same. Defaults to 0.98.
  --model TEXT                  OpenAI model to use
  --embedding-model TEXT        OpenAI model to use for word embeddings
  --help                        Show this message and exit.

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

conlang_gpt-0.2.0.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

conlang_gpt-0.2.0-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: conlang_gpt-0.2.0.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.3 Linux/6.3.9-arch1-1

File hashes

Hashes for conlang_gpt-0.2.0.tar.gz
Algorithm Hash digest
SHA256 775a8c627a6c99bc94d53f7d4299796ffdcee27723d34d26d6767e82981fc368
MD5 3a8d356de2adb77ebea3e8cba1fba103
BLAKE2b-256 cb8c9f9046837b185a1a389e1e818c8080d953717c4ecbce127dcc43bb8d7fdd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: conlang_gpt-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.3 Linux/6.3.9-arch1-1

File hashes

Hashes for conlang_gpt-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0fd46cff87b0b4d6d30bb37a33d9733332d0a3874074910db39604d2dde07d2d
MD5 ad2fed9fb9e3540f88e7c81f63a09ba3
BLAKE2b-256 7a88e2865ef13fc8d739e02282a2fd51298e7054f97ea12a9347e1963222d096

See more details on using hashes here.

Supported by

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