pezzolabs / pezzo

🕹️ Open-source, developer-first LLMOps platform designed to streamline prompt design, version management, instant delivery, collaboration, troubleshooting, observability and more.
https://pezzo.ai
Apache License 2.0
2.53k stars 210 forks source link

ClickHouseError: CANNOT_PARSE_INPUT_ASSERTION_FAILED #320

Open Mosquid opened 1 month ago

Mosquid commented 1 month ago

Report

getting this error when trying to test any prompt locally

ClickHouseError: Cannot parse input: expected '"' before: '.307Z","organizationId":"...","projectId":"...","promptCost":0.000018,"completionCost":0.000002,"totalCost":0.00002,': (while reading the value of key timestamp): While executing ParallelParsingBlockInputFormat: (at row 1)
.
    at parseError (/pezzo/node_modules/packages/client-common/src/error/parse_error.ts:29:12)
    at ClientRequest.onResponse (/pezzo/node_modules/packages/client-node/src/connection/node_base_connection.ts:155:28)
    at processTicksAndRejections (node:internal/process/task_queues:95:5) {
  code: '27',
  type: 'CANNOT_PARSE_INPUT_ASSERTION_FAILED'
}

Expected behavior

No response

Steps to reproduce the problem

  1. Run Pezzo using docker-compose
  2. Create any prompt
  3. Run a test

Logs (if applicable)

ClickHouseError: Cannot parse input: expected '"' before: '.307Z","organizationId":"...","projectId":"...","promptCost":0.000018,"completionCost":0.000002,"totalCost":0.00002,': (while reading the value of key timestamp): While executing ParallelParsingBlockInputFormat: (at row 1)
.
    at parseError (/pezzo/node_modules/packages/client-common/src/error/parse_error.ts:29:12)
    at ClientRequest.onResponse (/pezzo/node_modules/packages/client-node/src/connection/node_base_connection.ts:155:28)
    at processTicksAndRejections (node:internal/process/task_queues:95:5) {
  code: '27',
  type: 'CANNOT_PARSE_INPUT_ASSERTION_FAILED'
}

Pezzo version

0.8.0

How do you use Pezzo?

Local Development Setup

Mosquid commented 1 month ago

UPD: I was able to "fix" it by changing the timestamp format from ISO string to a Unix timestamp, like so:

request.timestamp => timestamp: new Date(request.timestamp).getTime().toString()

in apps/server/src/app/reporting/reporting.service.ts