You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by "davsclaus (via GitHub)" <gi...@apache.org> on 2026/10/18 13:33:24 UTC

[PR] CAMEL-25766: ai/ticket-classifier - a local model sorts support tickets, and the route checks its answer [camel-jbang-examples]

davsclaus opened a new pull request, #119:
URL: https://github.com/apache/camel-jbang-examples/pull/119

   CAMEL-25766: the ai rung has a local model that writes text (langchain4j-chat), but no example where a model's answer drives the routing. This adds one, second in the group.
   
   ## What
   
   - **`ai/ticket-classifier`**, with three support tickets of the web shop:
     - **The model call:** a local model (granite4:3b on Ollama) names the category of each ticket: shipping, billing or account. The chat model is a `beans` entry, as in langchain4j-chat.
     - **The ticket stays the body:** `langchain4j-chat` gets the prompt from a variable and puts the answer in one (`variableSend`, `variableReceive`).
     - **The route does not trust the answer.** It is normalized (`Shipping.` becomes `shipping`), and anything other than the three categories is filed under `unknown`.
     - **A `circuitBreaker` with a 60 s timeout** files the ticket under `unknown` when the model is slow or down.
     - Each ticket is written to `tickets-out/<category>/<ticketId>.json`, with the folder given in `CamelFileName`.
   - **README** with the usual sections. The model runs either in the `camel infra run ollama` container or in an installed Ollama, both on port 11434.
   - **Citrus YAML test:** the camel infra Ollama on a side port (11435), waiting until the model is pulled. It is `ciSkip`, as langchain4j-chat, because CI has no local model.
   - **Group order:** mcp-server, openai-pii-redaction and docling-langchain4j-rag move down by one. The catalog and the README tables are regenerated.
   
   ## Checks
   
   - `camel validate yaml --canonical` reports nothing.
   - On the released Camel 4.23.0 with granite4:3b, the tickets are filed under shipping, billing and account.
   - The Citrus test passes (TEST SUCCESS) against the camel infra Ollama container.
   
   _Claude Code on behalf of davsclaus_
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   
   https://claude.ai/code/session_01STT6whBgK1AqsSsUKrnE8m
   


-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] ai/ticket-classifier - a local model sorts support tickets, and the route checks its answer [camel-jbang-examples]

Posted by "davsclaus (via GitHub)" <gi...@apache.org>.
davsclaus merged PR #119:
URL: https://github.com/apache/camel-jbang-examples/pull/119


-- 
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: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org