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]

Reply via email to