a truly intelligent type system.
When using aeye, types aren't simple. They are not strings, floats, or integers. They are not even composite types like a user where their username is a string and their age is an integer. Instead, they work similarly to "types" in real life.
For example, a "type" in aeye could be "an integer spelled out" or "A name" (basically a step above composite types). It utilises the OpenAI API currently.
Right now, there is one main class that is used. It is called TextTemplate
. TextTemplate
gets subclasses and then when initialized takes a prompt. In the subclass class, you will add the following attributes:
lengths: a dictionary of a keyword and then the "type" that it is supposed to be. For example, lengths = {"name": "the name found in the users introduction"}
template: a template of how the response should look, keywords put between <>. For example template = "The user's name is <name>"
Then, you will initialize it with the prompt, so if we had the class:
class TextMath(v1.TextTemplate):
lengths = {"answer": "an integer but written out"}
template = "The answer to the equation is <answer>"
we would use it by doing
template = TextMath("2+2")
print(template.run())
Which would print
"The answer to the equation is four"
I want to add way for only type checking without the prompting. There is already a system and user prompt for them in the oai_functions file, but I am planning on making it better.