LLM please cast to JSON
Project description
jsonllm
<< Marvin
Installation
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
import openai
# vertexai.init(project_id='jsonllm-rocks?', location='us-central1') |
# openai.api_key = 'sk-...'
os.environ['ANTHROPIC_API_KEY'] = '...' # or load env
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
python-jsonllm-0.0.1.tar.gz
(7.7 kB
view details)
Built Distribution
File details
Details for the file python-jsonllm-0.0.1.tar.gz
.
File metadata
- Download URL: python-jsonllm-0.0.1.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.8.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa50e670afa5d7f26060c32f13c76709bb3712a3317739279ffd367794f1743a |
|
MD5 | 2a273006246454b91e285466b6e07a57 |
|
BLAKE2b-256 | 010de9c5d9f96499b5088169653c2854314df8780e9fbe50c2966372c487736a |
File details
Details for the file python_jsonllm-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: python_jsonllm-0.0.1-py3-none-any.whl
- Upload date:
- Size: 8.6 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 | fe3d3ea6bf29b26cc8c35a40bf30e727f73fe4fb393efda4ea3fbc9fdcb170c0 |
|
MD5 | 5ea61ed3a558d05d9560a562a03ae39c |
|
BLAKE2b-256 | 0a890811c2d21a0656f25529816619e2b2fc85cad12b6e8d3a5d5136466bba0b |