bamaer commented on PR #8514:
URL: https://github.com/apache/hop/pull/8514#issuecomment-5813753039

   Thanks for the review. All six points are addressed in the latest commit.
   
   1. **supportedCapabilities()**: the Ollama and OpenAI chat models now 
declare `RESPONSE_FORMAT_JSON_SCHEMA`, and OpenAI sets 
`strictJsonSchema(true)`. Captured requests confirm Ollama receives the schema 
as `format`, and OpenAI receives `response_format` with `json_schema`, `strict: 
true`, all properties in `required` and `additionalProperties: false`. Gemini, 
Grok and custom OpenAI compatible providers are not sent a schema, because they 
differ in which schema keywords they accept; they keep the prompt-only path. A 
test builds each provider's model through the factory and checks the response 
format on the request.
   2. **Schema name**: characters outside `[A-Za-z0-9_-]` are replaced, the 
name is truncated to 64 characters, and `extraction` is used when nothing is 
left. "Structured extract" is sent as `Structured_extract`.
   3. **Timestamp**: Timestamp fields return `java.sql.Timestamp`. Parsing uses 
`java.time`, so the whole value must match: `2026-03-01 oops` and `2026-02-30` 
are rejected. A date-time is tried before a date, so a returned time is kept. 
Timestamp fields are asked for as `yyyy-MM-ddTHH:mm:ss`, with an example.
   4. **Trimmed names**: the answer is read by `trimmedName()`, and the dialog 
stores names trimmed.
   5. **Allowed values**: an answer outside the list throws a `HopException` 
naming the field, the value and the list. An empty answer counts as outside the 
list for a required field.
   6. **Duplicates**: `check` and `ExtractionSchema.build` compare names 
case-insensitively.
   
   The integration test now also runs against the schema path. It timed out on 
a 16 CPU Docker host because Ollama used all 16 threads. The test model is now 
a derived `qwen2.5-hop-it` with `num_thread 4`, and 0001 and 0002 pass. The 
user manual page is updated to match.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to