LLM please cast to JSON
Project description
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'
}
Project details
Release history Release notifications | RSS feed
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 python-jsonllm-0.0.3.1.tar.gz
.
File metadata
- Download URL: python-jsonllm-0.0.3.1.tar.gz
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.8.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fa2c43eb034cd3e217c32432dfdcbfb1f6c88a456645e19039ac976578cf25f |
|
MD5 | a06b1116e70e30f8bad7bf7929fdaff0 |
|
BLAKE2b-256 | 7e3370c58521afe4715cc8ea446e70f2a39f15b29e493170e14ccb8704a08398 |
File details
Details for the file python_jsonllm-0.0.3.1-py3-none-any.whl
.
File metadata
- Download URL: python_jsonllm-0.0.3.1-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.8.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93eea7e1ba18905d3e889dd1f85cd23a6ce146ab1ca6a387e2dc98ba31bde098 |
|
MD5 | b24ab38bc4d07171f83a5ca8675a954e |
|
BLAKE2b-256 | 3417a388fecc8c77aabfc3c67b78a18677d712218d650c3631cd65602b265d7a |