如何使用 Apache Camel 和 Langchain4j 组件连接 Ollama AI


这篇文章将探讨三个这样的工具之间的协同作用:Ollama、Apache Camel 和 LangChain4j。

设置开发环境。
要开始本教程,您将需要:

  • Ollama:提供一种在本地运行大型语言模型 (LLM) 的方法。您可以在计算机上运行许多模型,例如 LLama3、Mistral、CodeLlama 等,并具有完整的 CPU 和 GPU 支持。
  • Visual Studio 代码.安装了KaotoJavaQuarkus插件。
  • OpenJDK 21
  • Maven
  • Quarkus  3.16
  • Quarkus 开发服务。 Quarkus 的功能可简化依赖外部服务(例如数据库、消息系统和其他资源)的应用程序的开发和测试。
  • Openshift CLI
  • Openshift 开发者沙盒帐户。
您可以在以下Github Repo下载完整代码。


1. 创建 Quarkus 项目。

mvn io.quarkus:quarkus-maven-plugin:3.16.2:create \
-DprojectGroupId=dev.mikeintoch \
-DprojectArtifactId=camel-simple-ollama \
-Dextensions="camel-quarkus-core,quarkus-langchain4j-core,quarkus-langchain4j-ollama,camel-quarkus-langchain4j-chat,camel-quarkus-platform-http,camel-quarkus-yaml-dsl"

2. 配置 Quarkus 以运行 Ollama LLM。
以下指令将在 Visual Studio Code 上执行。

打开application.properties文件并添加以下行:

#Configure Ollama local model
quarkus.langchain4j.ollama.chat-model.model-id=qwen2.5:0.5b
quarkus.langchain4j.ollama.chat-model.temperature=0.0
quarkus.langchain4j.ollama.log-requests=true
quarkus.langchain4j.log-responses=true
quarkus.langchain4j.ollama.timeout=180s


Quarkus 使用 Ollama在本地运行 llm,并在以下步骤中自动装配配置以在 apache Camel 组件中使用。

3. 使用 Kaoto 创建 Apache Camel 路由。
在src/main/resources文件夹中创建名为Route的新文件夹。

在src/main/resources/routes文件夹中创建新文件并命名为rocama-route.camel.yaml,Visual Studio Code 将打开 Kaoto 可视化编辑器。

4.创建处理用户输入的Process
创建一个新的Java类Bindings.java,用于将用户输入转换为LangChain4j组件可以处理的对象。

5.将路由包含在Quarkus项目中
在application.properties文件中添加配置,以加载src/main/resources/routes文件夹中的所有路由。

6.本地测试应用
使用Maven命令mvn quarkus:dev运行应用,并发送POST请求到localhost:8080/camel/chat进行测试。

7.连接到Red Hat Developer Sandbox
登录到Red Hat Developer Sandbox,并复制登录命令。

8.在Developer Sandbox上部署LLM
使用提供的文件在Developer Sandbox上部署LLM。

9.在Developer Sandbox上部署应用
添加Quarkus扩展以在Openshift上部署,并在application.properties文件中添加必要的配置。然后使用Maven命令mvn install部署应用。

部署完成后,使用oc get route命令获取应用的路由,并调用端点以验证应用是否正常工作。