Data Contract GPT

Slack Status

Data Contract GPT for the Data Contract Specification to create data contracts from your example data, chat with your data contracts, or export in other formats. And yes, we know that GPTs can be wrong. That’s why we also offer a deterministic open source tool around data contracts written in Python.

Data Contract GPT Browser Window

Create an initial data contract for your domain

Open Example in Data Contract GPT (Requires free ChatGPT account)

User

Create a data contract for data in the logistics domain for my table shipments in Snowflake.

Data Contract GPT

dataContractSpecification: "0.9.3"
id: "logistics_shipments_001"
info:
  title: "Logistics Shipments"
  version: "1.0.0"
  status: "active"
  description: "Data contract for the shipments table in the logistics domain."
  owner: "Logistics Team"
...

Create a data contract from example data

Open Example in Data Contract GPT (Requires free ChatGPT account)

User

Upload example data to ChatGPT

Create a data contract for the uploaded example data.

Data Contract GPT

dataContractSpecification: "0.9.3"
id: "shipment-data-contract"
info:
  title: "Shipment Data Contract"
  version: "1.0.0"
  status: "active"
  description: |
    This data contract defines the structure and requirements for shipment data, including details 
    about the shipment ID, order ID, shipping address, shipment date, and delivery date.
  owner: "Logistics Team"
...

Extend an existing data contract interactively

Open Example in Data Contract GPT (Requires free ChatGPT account)

User

Paste example contract into prompt

Add new field location to this data contract.

Data Contract GPT

...
models:
  shipments:
    fields:
      location:
        type: "string"
        description: "Current location of the shipment."
...
examples:
  - type: "json"
    model: "shipments"
    data:
    - shipment_id: "SHIP12345"
      ...
      location: "San Francisco, CA"
...

User

Can you give recommendations for the service levels?

Data Contract GPT

 servicelevels:
   availability:
     description: "The server is available 24/7 with a guaranteed uptime."
     percentage: "99.9%"
   retention:
     description: "Data is retained for one year from the shipment date."
     period: "P1Y"
   latency:
     description: "Data is available within 24 hours after the shipment is processed."
     threshold: "PT24H"
     sourceTimestampField: "shipped_date"
     processedTimestampField: "delivery_date"
 ...

You have even better prompt ideas?

Help others and contribute your great prompt ideas to datacontract-gpt repository.

Credits

Created by Simon Harrer and Jochen Christ, with the help of many folks from INNOQ.