Logo

Quarkus LangChain4j:将大语言模型无缝集成到Quarkus应用中

Quarkus LangChain4j:将大语言模型无缝集成到Quarkus应用中

在人工智能快速发展的今天,大语言模型(LLMs)正在重塑软件开发的方式,改变着我们与应用程序交互以及构建业务逻辑的方式。Quarkus LangChain4j扩展应运而生,它为Quarkus开发者提供了一种简单而强大的方式来集成和利用LLMs的能力。

什么是Quarkus LangChain4j?

Quarkus LangChain4j是一个Quarkus扩展,它基于LangChain4j库构建,旨在简化LLMs在Quarkus应用中的集成过程。这个扩展提供了一种声明式的方法来与各种LLMs(如OpenAI、Hugging Face或Ollama)进行交互,同时还支持在Quarkus应用中调用LLM函数并加载文档到LLM的"上下文"中。

LLMs big picture

主要特性

Quarkus LangChain4j提供了一系列强大的功能:

  1. 声明式AI服务: 通过简单的注解就能定义和使用AI服务。

  2. 多种LLM集成: 支持OpenAI GPTs、Hugging Face、Ollama等多种大语言模型。

  3. 工具支持: 允许LLM调用应用中定义的方法来执行特定任务。

  4. 嵌入支持: 提供文本嵌入功能,用于语义搜索和相似度计算。

  5. 文档存储集成: 支持Redis、Chroma、Infinispan等多种文档存储方案。

  6. 原生编译支持: 完全兼容GraalVM原生镜像编译。

  7. 可观察性集成: 与Quarkus的可观察性堆栈(如指标、追踪)无缝集成。

  8. 可插拔的认证提供者: 灵活的认证机制支持。

快速开始

要在你的Quarkus项目中使用Quarkus LangChain4j,只需添加以下Maven依赖:

<dependency>
    <groupId>io.quarkiverse.langchain4j</groupId>
    <artifactId>quarkus-langchain4j-openai</artifactId>
    <version>0.17.2</version>
</dependency>

然后在application.properties文件中添加你的OpenAI API密钥:

quarkus.langchain4j.openai.api-key=sk-...

现在,你就可以创建一个AI服务接口来与LLM交互了:

@RegisterAiService
public interface MyAiService {

    @SystemMessage("You are a professional poet")
    @UserMessage("""
            Write a poem about {topic}. The poem should be {lines} lines long.
            """
    String writeAPoem(String topic, int lines);
}

深入了解

工具支持

Quarkus LangChain4j允许你定义"工具",这些工具是LLM可以调用的方法。例如:

@ApplicationScoped
public class CustomerRepository implements PanacheRepository<Customer> {

    @Tool("get the customer name for the given customerId")
    public String getCustomerName(long id) {
        return find("id", id).firstResult().name;
    }
}

文档存储

为了扩展LLM的知识,你可以使用文档存储。这种方法被称为检索增强生成(RAG):

@ApplicationScoped
public class RetrieverExample implements Retriever<TextSegment> {

    private final EmbeddingStoreRetriever retriever;

    RetrieverExample(RedisEmbeddingStore store, EmbeddingModel model) {
        retriever = EmbeddingStoreRetriever.from(store, model, 20);
    }

    @Override
    public List<TextSegment> findRelevant(String s) {
        return retriever.findRelevant(s);
    }
}

优势

与直接使用LangChain4j库相比,Quarkus LangChain4j扩展提供了许多优势:

  1. 与Quarkus编程模型的无缝集成
  2. 内置的可观察性
  3. 构建时装配
  4. 利用Quarkus运行时组件
  5. 开发服务支持
  6. 开发UI功能
  7. 自动聊天内存管理

结语

Quarkus LangChain4j为Quarkus开发者打开了一扇通向AI驱动应用的大门。无论是构建智能聊天机器人、自动文档分类系统,还是个性化推荐引擎,这个扩展都能为你提供强大的支持。随着AI技术的不断发展,Quarkus LangChain4j也将持续演进,为开发者提供更多可能性。

如果你对探索AI驱动的Quarkus应用感兴趣,不妨从今天开始尝试Quarkus LangChain4j。相信它能为你的项目带来全新的视角和无限可能。

要了解更多信息,请访问Quarkus LangChain4j文档或查看GitHub仓库。让我们一起拥抱AI时代,用Quarkus构建更智能的应用吧!🚀🤖

相关项目

Project Cover
nop-entropy
Nop Platform 2.0基于可逆计算理论开发,旨在突破低代码平台的局限,实现高效软件复用。平台支持与Quarkus、Spring和Solon框架集成,并通过GraalVM技术编译成原生可执行程序,提高启动速度。nop-entropy设计为用户友好的领域语言工作台,支持自动生成解析器、验证器、IDE插件等。平台内置分布式事务、多租户支持,既可单机运行也可作为分布式集群提供API服务,显著降低手工编码需求,支持增量开发和在线业务模块调整。
Project Cover
quarkus
Quarkus是为云原生和容器环境优化的Java框架。它具有低内存占用和快速启动特性,支持命令式和响应式编程,并兼容主流Java标准。Quarkus简化了微服务开发流程,提高了应用性能,适合构建现代化Java项目。
Project Cover
quarkus-langchain4j
Quarkus LangChain4j是一套Quarkus扩展,实现了与LangChain4j的集成。它提供声明式AI服务、多种LLM集成、工具和嵌入支持,以及文档存储集成等功能。该项目支持原生编译和Quarkus可观察性堆栈集成,便于开发者在Quarkus应用中使用大型语言模型,有助于提高AI应用开发效率。
Project Cover
camel-quarkus
camel-quarkus是一个将Apache Camel组件移植为Quarkus扩展的开源项目。它结合了Camel的异构系统集成能力和Quarkus的快速启动、低内存占用特性,为云原生应用开发提供了一个强大的集成框架。该项目支持300多个Camel组件,使开发者能够更便捷地构建高性能、可扩展的集成解决方案。
Project Cover
incubator-kie-kogito-examples
项目展示了Kogito在微服务架构中的应用,包括基于Quarkus和Spring Boot的实现。示例涵盖了流程自动化、业务规则处理和事件驱动架构等领域,并演示了与Kafka、Infinispan等常用中间件的集成。从入门级Hello World到高级无服务器工作流,这些示例为开发者提供了全面的学习路径。项目还支持使用Kogito Operator在OpenShift上快速部署,便于在生产环境中应用。

最新项目

Project Cover
豆包MarsCode
豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。
Project Cover
AI写歌
Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。
Project Cover
美间AI
美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。
Project Cover
商汤小浣熊
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。
Project Cover
有言AI
有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。
Project Cover
Kimi
Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。
Project Cover
吐司
探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。
Project Cover
SubCat字幕猫
SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。
Project Cover
AIWritePaper论文写作
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。
投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号