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
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.3.tar.gz
(7.8 kB
view details)
Built Distribution
File details
Details for the file python-jsonllm-0.0.3.tar.gz
.
File metadata
- Download URL: python-jsonllm-0.0.3.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.8.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2392ba3c92605344907920a65d0f4b3520282d44380ea1fc82b59b73d1566588 |
|
MD5 | bb944bb34aead4100bd92540b5bfd44f |
|
BLAKE2b-256 | 556fc873067775dbf37c27557e1eba84ced19fa2db27308523ec0284c7f93278 |
File details
Details for the file python_jsonllm-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: python_jsonllm-0.0.3-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 | c3d6cf4ff4bace2464570a807444a973b52b84d7f7977fd478339b80cf26ebc1 |
|
MD5 | 1fea96882e317d91c65417b7eb2adbee |
|
BLAKE2b-256 | ef08da263a21e2b8f5f4d28268a2858f2fee62f43b2c11724ccef11f7fb0df49 |