Utilities for managing multi-shot conversations and structured data handling in LLM applications
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
Project description
mdi-llmkit
Utilities for managing LLM chat conversations and structured JSON responses with OpenAI's Responses API.
Installation
pip install mdi-llmkit
Quick Start
Preferred subpackage imports:
from mdi_llmkit.gpt_api import GptConversation
from mdi_llmkit.json_surgery import json_surgery
gpt_submit
from openai import OpenAI
from mdi_llmkit.gpt_api import gpt_submit
client = OpenAI()
reply = gpt_submit(
messages=[{"role": "user", "content": "Say hello."}],
openai_client=client,
)
print(reply)
GptConversation
from openai import OpenAI
from mdi_llmkit.gpt_api import GptConversation
client = OpenAI()
conversation = GptConversation(openai_client=client)
reply = conversation.submit_user_message("Give me three project name ideas.")
print(reply)
JSON Response Mode
from openai import OpenAI
from mdi_llmkit.gpt_api import gpt_submit
client = OpenAI()
result = gpt_submit(
messages=[{"role": "user", "content": "Return JSON with keys a and b."}],
openai_client=client,
json_response=True,
)
print(type(result)) # dict or list
print(result)
JSON Surgery
from openai import OpenAI
from mdi_llmkit.json_surgery import json_surgery
client = OpenAI()
obj = {"status": "pending", "tags": ["alpha"]}
result = json_surgery(
client,
obj,
'Set status to "approved" and append "done" to tags.',
)
print(result)
Placemark helpers are available in mdi_llmkit.json_surgery.placemarked_json:
placemarked_json_stringify(obj, indent=2, skipped_keys=None)navigate_to_json_path(obj, json_path)
Local Dev (Windows venv)
From packages/python-mdi-llmkit, activate the project venv and run tests:
.\venv\Scripts\Activate.ps1
python -c "import sys; print(sys.executable)"
python -m unittest tests/test_placemarked_json.py tests/test_json_surgery_unit.py
Live json_surgery integration tests (real API) require OPENAI_API_KEY:
python -m unittest tests/test_json_surgery.py
Notes
- Package name for
pip installismdi-llmkit. - Python import package is
mdi_llmkit. gpt_submitsupports optional warning reporting viawarning_callback.
Project details
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mdi_llmkit-1.0.1.tar.gz.
File metadata
- Download URL: mdi_llmkit-1.0.1.tar.gz
- Upload date:
- Size: 33.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
349b48f1f10e42c4a8ca401f260773d81751be849c19d985338f2105477ed7d0
|
|
| MD5 |
4c054c88a44cea413da46b0d74a75ee9
|
|
| BLAKE2b-256 |
3bceeb19720b7b4670f60fb6f72a6556c95aaef8a9070fec1d779228d8c9168b
|
File details
Details for the file mdi_llmkit-1.0.1-py3-none-any.whl.
File metadata
- Download URL: mdi_llmkit-1.0.1-py3-none-any.whl
- Upload date:
- Size: 22.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d1e96750be3ea480f873141963034134ed32834c5a9e72790295e8bd277fbd7
|
|
| MD5 |
cec0b01de13d75b5b4caa4da208498df
|
|
| BLAKE2b-256 |
e7fd1c7fa2bf8278776ad07a801c8cd89cb22a54b8b3dbb7eb751a749a17423d
|