JiriOndrusek opened a new pull request, #8735:
URL: https://github.com/apache/camel-quarkus/pull/8735
Fixes #8690
Once merged, create a ticket about removal of temporary workaround of
**OllamaStreamingSubstitutions**!
**Requires:**
https://github.com/quarkiverse/quarkus-langchain4j/issues/2538 (fix for native
mode `AiServices.builder()` substitution bypassing CDI context lookup)
Move `langchain4j-agent-ql4j` integration test from JVM-only to native
mode support, enabling testing of Camel LangChain4j Agent with Quarkus
LangChain4j (QL4J) on the classpath in both JVM and native modes.
### Changes
**Test module promotion:**
- Moved `langchain4j-agent-ql4j` from `integration-tests-jvm/` to
`integration-tests/`
- Added `@QuarkusIntegrationTest` class (`Langchain4jAgentQl4jIT`) for
native mode
- Added to `tooling/scripts/test-categories.yaml`
**QL4J coexistence support (`SupportQuarkusLangchain4jProcessor`):**
- Replaced `markAiServicesAsUnremovable` with
`registerQuarkusLangchain4jNativeSupport` — registers
`QuarkusJsonCodecFactory` inner classes for native reflection
- Added log message to `enforceJaxRsHttpClient` build step
**Bean scoping (`AgentProducers`):**
- Changed `RetrievalAugmentor` from `@LookupUnlessProperty` to
`@Identifier("ragAugmentor")` to prevent
QL4J auto-discovery conflicts (same pattern as other producers)
**Native build workaround (`OllamaStreamingSubstitutions`):**
- Temporary GraalVM substitution for
`OllamaStreamingChatLanguageModel.doChat()` to work around a binary
incompatibility between `quarkus-langchain4j-ollama` 1.10.0 (compiled against
Mutiny 3.1.x `Context.put(String, Object)`) and Mutiny 3.2.x
(`Context.put(Object, Object)`) shipped with Quarkus
3.36.1
- Remove once `quarkiverse-langchain4j.version` is updated to a version
built with Quarkus 3.36+
<!-- Uncomment and fill this section if your PR is not trivial
[ ] An issue should be filed for the change unless this is a trivial change
(fixing a typo or similar). One issue should ideally be fixed by not more than
one commit and the other way round, each commit should fix just one issue,
without pulling in other changes.
[ ] Each commit in the pull request should have a meaningful and properly
spelled subject line and body. Copying the title of the associated issue is
typically enough. Please include the issue number in the commit message
prefixed by #.
[ ] The pull request description should explain what the pull request does,
how, and why. If the info is available in the associated issue or some other
external document, a link is enough.
[ ] Phrases like Fix #<issueNumber> or Fixes #<issueNumber> will auto-close
the named issue upon merging the pull request. Using them is typically a good
idea.
[ ] Please run mvn process-resources -Pformat (and amend the changes if
necessary) before sending the pull request.
[ ] Contributor guide is your good friend:
https://camel.apache.org/camel-quarkus/latest/contributor-guide.html
-->
--
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]