mirror of
https://github.com/wassname/prob_jsonformer.git
synced 2026-09-11 12:44:32 +08:00
update
This commit is contained in:
+217
@@ -0,0 +1,217 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"/home/ubuntu/jsonllm/.venv/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
|
||||
" from .autonotebook import tqdm as notebook_tqdm\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Loading model and tokenizer...\n",
|
||||
"Loaded model and tokenizer\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"from transformers import AutoModelForCausalLM, AutoTokenizer\n",
|
||||
"\n",
|
||||
"print(\"Loading model and tokenizer...\")\n",
|
||||
"model_name = \"databricks/dolly-v2-12b\"\n",
|
||||
"model = AutoModelForCausalLM.from_pretrained(model_name, use_cache=True)\n",
|
||||
"tokenizer = AutoTokenizer.from_pretrained(model_name, use_fast=True, use_cache=True)\n",
|
||||
"print(\"Loaded model and tokenizer\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Generating...\n",
|
||||
"{\n",
|
||||
" temperature: \u001b[32m2.2225\u001b[0m,\n",
|
||||
" humidity: \u001b[32m1.0\u001b[0m,\n",
|
||||
" wind_speed: {\n",
|
||||
" value: \u001b[32m0.0\u001b[0m,\n",
|
||||
" unit: \u001b[32m\"value\"\u001b[0m\n",
|
||||
" }\n",
|
||||
"}\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"from jsonformer.format import highlight_values\n",
|
||||
"from jsonformer.main import Jsonformer\n",
|
||||
"\n",
|
||||
"weather_schema = {\n",
|
||||
" \"type\": \"object\",\n",
|
||||
" \"properties\": {\n",
|
||||
" \"temperature\": {\"type\": \"number\"},\n",
|
||||
" \"humidity\": {\n",
|
||||
" \"type\": \"number\",\n",
|
||||
" },\n",
|
||||
" \"wind_speed\": {\n",
|
||||
" \"type\": \"object\",\n",
|
||||
" \"properties\": {\n",
|
||||
" \"value\": {\"type\": \"number\"},\n",
|
||||
" \"unit\": {\"type\": \"string\"},\n",
|
||||
" },\n",
|
||||
" },\n",
|
||||
" },\n",
|
||||
"}\n",
|
||||
"\n",
|
||||
"builder = Jsonformer(\n",
|
||||
" model=model,\n",
|
||||
" tokenizer=tokenizer,\n",
|
||||
" json_schema=weather_schema,\n",
|
||||
" prompt=\"generate the weather\",\n",
|
||||
")\n",
|
||||
"\n",
|
||||
"print(\"Generating...\")\n",
|
||||
"output = builder()\n",
|
||||
"\n",
|
||||
"highlight_values(output)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Generating...\n",
|
||||
"{\n",
|
||||
" make: \u001b[32m\"Ford\"\u001b[0m,\n",
|
||||
" model: \u001b[32m\"Mustang\"\u001b[0m,\n",
|
||||
" year: \u001b[32m10.0\u001b[0m,\n",
|
||||
" colors: [\n",
|
||||
" \u001b[32m\"red\"\u001b[0m,\n",
|
||||
" \u001b[32m\"white\"\u001b[0m,\n",
|
||||
" \u001b[32m\"blue\"\u001b[0m,\n",
|
||||
" \u001b[32m\"black\"\u001b[0m,\n",
|
||||
" \u001b[32m\"yellow\"\u001b[0m,\n",
|
||||
" \u001b[32m\"orange\"\u001b[0m,\n",
|
||||
" \u001b[32m\"green\"\u001b[0m,\n",
|
||||
" \u001b[32m\"pink\"\u001b[0m,\n",
|
||||
" \u001b[32m\"purple\"\u001b[0m,\n",
|
||||
" \u001b[32m\"violet\"\u001b[0m\n",
|
||||
" ]\n",
|
||||
"}\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"car = {\n",
|
||||
" \"type\": \"object\",\n",
|
||||
" \"properties\": {\n",
|
||||
" \"make\": {\"type\": \"string\"},\n",
|
||||
" \"model\": {\"type\": \"string\"},\n",
|
||||
" \"year\": {\"type\": \"number\"},\n",
|
||||
" \"colors\": {\n",
|
||||
" \"type\": \"array\",\n",
|
||||
" \"items\": {\"type\": \"string\"},\n",
|
||||
" }\n",
|
||||
" },\n",
|
||||
"}\n",
|
||||
"\n",
|
||||
"builder = Jsonformer(\n",
|
||||
" model=model,\n",
|
||||
" tokenizer=tokenizer,\n",
|
||||
" json_schema=car,\n",
|
||||
" prompt=\"generate an example car\",\n",
|
||||
")\n",
|
||||
"\n",
|
||||
"print(\"Generating...\")\n",
|
||||
"output = builder()\n",
|
||||
"\n",
|
||||
"highlight_values(output)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"{\n",
|
||||
" temperature: \u001b[32m24\u001b[0m,\n",
|
||||
" humidity: \u001b[32m48.0\u001b[0m,\n",
|
||||
" wind_speed: {\n",
|
||||
" value: \u001b[32m12\u001b[0m,\n",
|
||||
" unit: \u001b[32m\"mph\"\u001b[0m\n",
|
||||
" }\n",
|
||||
"}\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"test = {\n",
|
||||
" \"temperature\": 24,\n",
|
||||
" \"humidity\": 48.0,\n",
|
||||
" \"wind_speed\": {\n",
|
||||
" \"value\": 12,\n",
|
||||
" \"unit\": \"mph\"\n",
|
||||
" }\n",
|
||||
"}\n",
|
||||
"\n",
|
||||
"highlight_values(test)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": ".venv",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.10.11"
|
||||
},
|
||||
"orig_nbformat": 4
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 2
|
||||
}
|
||||
Reference in New Issue
Block a user