// Do not edit directly!
// This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page
[id="extensions-langchain4j-tools"]
= LangChain4j Tools
:linkattrs:
:cq-artifact-id: camel-quarkus-langchain4j-tools
:cq-native-supported: true
:cq-status: Preview
:cq-status-deprecation: Preview Deprecated
:cq-description: LangChain4j Tools and Function Calling Features
:cq-deprecated: true
:cq-jvm-since: 3.15.0
:cq-native-since: 3.24.0

ifeval::[{doc-show-badges} == true]
[.badges]
[.badge-key]##JVM since##[.badge-supported]##3.15.0## [.badge-key]##Native since##[.badge-supported]##3.24.0## [.badge-key]##⚠️##[.badge-unsupported]##Deprecated##
endif::[]

LangChain4j Tools and Function Calling Features

[id="extensions-langchain4j-tools-whats-inside"]
== What's inside

* xref:{cq-camel-components}::langchain4j-tools-component.adoc[LangChain4j Tools component], URI syntax: `langchain4j-tools:toolId`

Please refer to the above link for usage and configuration details.

[id="extensions-langchain4j-tools-maven-coordinates"]
== Maven coordinates

https://{link-quarkus-code-generator}/?extension-search=camel-quarkus-langchain4j-tools[Create a new project with this extension on {link-quarkus-code-generator}, window="_blank"]

Or add the coordinates to your existing project:

[source,xml]
----
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-langchain4j-tools</artifactId>
</dependency>
----
ifeval::[{doc-show-user-guide-link} == true]
Check the xref:user-guide/index.adoc[User guide] for more information about writing Camel Quarkus applications.
endif::[]

[id="extensions-langchain4j-tools-quarkus-langchain4j-bom"]
== LangChain4j usage

=== Dependency management

In order to ensure alignment across all Quarkus and LangChain4j related dependencies, it is recommended to import the LangChain4j BOM as below:
[source,xml,subs=attributes+]
----
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>dev.langchain4j</groupId>
      <artifactId>langchain4j-bom</artifactId>
      <version>{langchain4j-version}</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
  ...
</dependencyManagement>
----

Note that the import order is paramount when using maven `dependencyManagement`.
As such, one might need to import the `langchain4j-bom` before other related Camel and Quarkus BOMs.

=== Quarkus LangChain4j support

WARNING: At present, this extension is neither tested with nor intended to be used in conjunction with any Quarkus LangChain4j extensions.
Consequently, both JVM and native modes may exhibit unexpected behaviour or fail to function correctly in such configurations.
