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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 775a8c627a6c99bc94d53f7d4299796ffdcee27723d34d26d6767e82981fc368 |
|
MD5 | 3a8d356de2adb77ebea3e8cba1fba103 |
|
BLAKE2b-256 | cb8c9f9046837b185a1a389e1e818c8080d953717c4ecbce127dcc43bb8d7fdd |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fd46cff87b0b4d6d30bb37a33d9733332d0a3874074910db39604d2dde07d2d |
|
MD5 | ad2fed9fb9e3540f88e7c81f63a09ba3 |
|
BLAKE2b-256 | 7a88e2865ef13fc8d739e02282a2fd51298e7054f97ea12a9347e1963222d096 |