Please see the quickstart to get an LLM inference response.

Please see the verify-signatures to see how to verify the signature

1

Get the LLM inference response as in quickstart

This is an example response with some information redacted:

{
  "id": "chatcmpl-AgAQhAGTZKog9p0wPC7aVOXT44046",
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "logprobs": null,
      "message": {
        "content": "Hello! How can I assist you today?",
        "refusal": null,
        "role": "assistant",
        "function_call": null,
        "tool_calls": null,
        "audio": null
      }
    }
  ],
  "hash": "fa1eb8b9c330cf13f3643d46bc7e10510fa207a4e80645c795f82c3ddf9806ad",
  "public_key": "Dp2k554Ebsij5RjuhjsZujVW2bJnQzfb43VYZSQ4NZo1",
  "attestation": "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"
}
2

Clone the TEE repo

git clone git@github.com:galadriel-ai/sentience.git
cd sentience/verify
3

Install deps

# Optional
python3 -m venv venv
source venv/bin/activate

pip install -r requirements.txt
4

Verify attestation

Take the attestation from the LLM inference response

python verify.py --pcr0_hash a3575880471781514c83935ee77dd8fc710512daf5d306ccee2c2abb0985e35fea0843f0e950a74f8d17541fc66dd0e4 --attestation insert-your-attestation
5

See more information in the TEE repo