jsonllm
Installation
From PyPI
pip install python-jsonllm
From source
git clone https://github.com/ivanbelenky/jsonllm.git
cd jsonllm
python3 -m pip install -e .
Documentation
Schema type
class SchemaKey(TypedDict):
name: Optional[str]
type: Optional[type]
default: JSONCompatible
required: Optional[bool]
instructions: Optional[str]
valid: Optional[Caster]
caster: Optional[Validator]
class Schema(TypedDict):
__key__: Union[SchemaKey, 'Schema'] # nested schemas
Example
import os
import jsonllm
#assert os.environ.get('ANTHROPIC_API_KEY') != None
#assert os.environ.get('OPENAI_API_KEY') != None
person = {
'first_name': {
'type': str,
'required': True,
'instructions': 'Find the first name, if not found input John'
},
'last_name': {
'type': str,
'required': True,
'instructions': 'Find the last name, if not found input Doe'
},
'date_of_birth': {
'name': 'dob',
'type': str,
'instructions': 'Find the date of birth and cast it to isoformat'
}
}
message = 'My name is John Connor, I think I was born 0 of Unix time.'
response = jsonllm.loads(message, person, model='claude-3-opus-20240229')
print(response.response)
{
'first_name': 'John',
'last_name': 'Connor',
'dob': '1970-01-01'
}
Metadata
Release files for python-jsonllm 0.0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| python-jsonllm-0.0.3.1.tar.gz | 7.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| python_jsonllm-0.0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.2 kB
Release files / python-jsonllm-0.0.3.1.tar.gz
| Download URL | python-jsonllm-0.0.3.1.tar.gz |
|---|---|
| Size | 7.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8fa2c43eb034cd3e217c32432dfdcbfb1f6c88a456645e19039ac976578cf25f
|
|
BLAKE2b-256 checksum How to use checksums |
7e3370c58521afe4715cc8ea446e70f2a39f15b29e493170e14ccb8704a08398
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.8.13
|
Release files / python_jsonllm-0.0.3.1-py3-none-any.whl
| Download URL | python_jsonllm-0.0.3.1-py3-none-any.whl |
|---|---|
| Size | 8.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
93eea7e1ba18905d3e889dd1f85cd23a6ce146ab1ca6a387e2dc98ba31bde098
|
|
BLAKE2b-256 checksum How to use checksums |
3417a388fecc8c77aabfc3c67b78a18677d712218d650c3631cd65602b265d7a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.8.13
|