bamaer opened a new pull request, #8514: URL: https://github.com/apache/hop/pull/8514
… out of text Hop can chunk, embed, store and search text. All of that is retrieval. This is the opposite direction and the one closest to what Hop is for: a contract becomes a renewal date and a value, a ticket becomes a severity and a product. The field grid is the whole configuration. Each row becomes a property in the JSON schema the model is constrained by, a column on the stream, and the type the answer is read back into. - where the provider supports it the grid is sent as a real JSON schema, checked per model through supportedCapabilities(); where it is not, the same fields go in the prompt and the answer is checked on the way back - allowed values become a JSON enum, which constrains the model rather than asking it, and is the reliable way to classify - optional fields are offered null as a schema branch. Without it a model answers 0 for an amount the text never mentions, which reads downstream as "nothing was lost" rather than "the text does not say" - a value that will not convert names the field and what came back, and is never written as a silent null, because downstream an absent value and a misread one look identical - an error hop diverts the offending row and the run continues Also adds AiChatModelFactory, the chat counterpart of AiEmbeddingFactory, and lifts the endpoint, credentials and timeout both need into AiProviderSettings. A later rerank or agent transform needs the same chat model. That shared code keeps the embedding transform's existing timeout parsing exactly as it was. Includes a sample pipeline, a user manual page, and an integration test in the shared ai project against a real Ollama model. Also corrects the abort message in the Embed text integration test, which named the Language Model Chat transform. **Please** add a meaningful description for your change here ------------------------ Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily: - [x] Run `mvn clean install apache-rat:check` to make sure basic checks pass. A more thorough check will be performed on your pull request automatically. - [x] If you have a group of commits related to the same change, please squash your commits into one and force push your branch using `git rebase -i`. - [x] Mention the appropriate issue in your description (for example: `addresses #123`), if applicable. To make clear that you license your contribution under the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0) you have to acknowledge this by using the following check-box. - [x] I hereby declare this contribution to be licensed under the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0) - [ ] In any other case, please file an [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf). -- 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]
