avatar
文章
342
标签
52
分类
23

Home
Archives
Tags
Categories
List
  • Music
  • Movie
Link
About
Southblock'Blog
Home
Archives
Tags
Categories
List
  • Music
  • Movie
Link
About

Southblock'Blog

06-04 @AIService实现原理
发表于2026-09-05|AI AgentLangChain4j
✅@AIService实现原理@AIService处理当一个接口被@AIService注解标注之后,在应用启动的时候,会在dev.langchain4j.service.spring.AiServicesAutoConfig#aiServicesRegisteringBeanFactoryPostProcessor这个bean的生命过程中被扫到。   对每个标注了 @AiService 的接口,动态替换其 Bean 定义,使其由 AiServiceFactory 创建实例 先是创建BeanDefinition,将Bean的类设置为AiServiceFactory  1GenericBeanDefinition aiServiceBeanDefinition = new GenericBeanDefinition();aiServiceBeanDefinition.setBeanClass(AiServiceFactory.class);aiServiceBeanDefinition.getConstructorArgumentValues().addGenericArgumen ...
06-03 LangChain4J高层次API使用
发表于2026-09-05|AI AgentLangChain4j
✅LangChain4J高层次API使用LangChain4J为了方便开发者使用,提供了高层次API,但是想要使用的话,需要增加依赖: 12345<dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-spring-boot-starter</artifactId> <version>1.8.0-beta15</version></dependency> 只有加了这个以来,我们才能用到他提供的@AIService这个注解。 LangChain4J的高层次API主要以dev.langchain4j.service.AiServices和dev.langchain4j.service.spring.AiService作为核心的。前面是个接口,后面是个注解。 对话有了高层次API之后,如果想要实现模型对话的功能就非常简单了。 我们先定义一个接口,并且使用@AIService注解声明他,然后定义一个简单的 ...
06-02 LangChain4J低层次API使用
发表于2026-09-05|AI AgentLangChain4j
✅LangChain4J低层次API使用ChatModel在LangChain4j中提供了ChatModel和LanguageModel用来和大模型进行交互,就像Spring AI中的ChatModel一样。 除了 ChatModel 和 LanguageModel ,LangChain4j 支持以下类型的模型: EmbeddingModel - 该模型可以将文本翻译成 Embedding 。 ImageModel - 该模型可以生成和编辑 Image 。 ModerationModel - 该模型可_以检查文本是否包含有_害内容。 ScoringModel - 该模型可以对多个文本片段针对查询进行评分(或排序),本质上确定每个文本片段与查询的相关性。这对于 RAG 很有用。这些内容将在后面介绍。  我们推荐大家使用ChatModel,因为LanguageModel提供的功能太简单了,当我们引入langchain4-open-ai之后,这里面会自带一个ChatModel的实现,即OpenAiChatModel  可以直接把他注入到我们的Bean中,进行调用,这里 ...
06-01 初识LangChain4j
发表于2026-09-05|AI AgentLangChain4j
✅初识LangChain4jLangChainLangChain是一个强大的开源框架,专门用于开发基于大语言模型(LLMs)的应用程序。它的主要目标是简化LLM应用程序的开发流程,提供了一套完整的工具和组件,使开发者能够更容易地构建复杂的AI应用。  LangChain 类似于数据库领域的 JDBC,通过统一接口连接不同 LLM(如 GPT-4、ChatGLM)与外部工具(数据库、API),实现“模型-数据-业务”的解耦。     我们在使用LLM的时候,需要用到很多技术配合,比如提示词、记忆、外部存储(如RAG)等等,并且我们还会做一些链式调用、Agent开发等等, 这些都可以借助LangChain框架实现。  LangChain官方推出了Python版和JS版本的,在Python中使用起来非常方便,但是Java开发者使用并不是很方便,而LangChain4j就是一个Java版的LangChain框架。  LangChain4J 之前我们介绍过Spring AI,其实LangChain4J的作用和Spring AI差不多,就是让我们在Java代码中可以更方便的做大模 ...
05-13 Spring AI 核心特性:调用本地模型
发表于2026-09-04|AI AgentSpring AI
✅Spring AI 核心特性:调用本地模型前面我们给大家讲过基于Ollama在本地部署模型,然后也演示了如何通过本地发送请求调用,但是如何在一个Spring应用中调用呢?本文介绍下。  其实Spring AI是有对ollama的支持的,其实就是这个spring-ai-ollama,这里面定义了一个OllamaChatModel 的ChatModel,ChatModel是啥前面介绍过了,如果到这里还不是知道啥是ChatModel,请反思。  所以,想要在你的Spring中接入ollama,需要先引入spring-ai-ollama: 12345<dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-ollama</artifactId> <version>1.1.0</version></dependency>  其次,如果想要实现向之前我们讲的代码那样,可以把Olla ...
05-12 Spring AI 核心特性:Advisor
发表于2026-09-04|AI AgentSpring AI
✅Spring AI 核心特性:AdvisorSpring AI 中提供了一个灵活且强大的方式,可以用于拦截、修改和增强 Spring 应用中的 AI 交互功能,那就是Advisor,通过利用Advisor,开发者可以创建更复杂、可重用且易于维护的 AI 组件。  可以把Advisor理解为插件,比如我们想要实现记忆功能,就可以用到Memory相关的Advisor  实现日志记录相关的功能,我们就可以添加一个日志的Advisor:   Spring AI中也提供了一些列内置的Advisor  我们看一下Advisor接口的定义,其实没啥东西,主要是他继承自Ordered,需要在他的所有视线中实现int getOrder(); 这个方法。这个方法主要是用来设置各个Advisor的顺序的。 12345public interface Advisor extends Ordered { int DEFAULT_CHAT_MEMORY_PRECEDENCE_ORDER = -2147482648; String getName();} 他还有几 ...
05-11 Spring AI 记忆管理技术:持久化记忆
发表于2026-09-04|AI AgentSpring AI
✅Spring AI 记忆管理技术:持久化记忆在Spring AI中,我们最熟悉的就是MessageWindowChatMemory ,它默认是一个基于内存的短期记忆实现,它维护最多指定最大大小(默认值:20 条消息)的消息窗口。  当消息数量超过此限制时,较旧的消息会被逐出。这确保对话始终可以使用最新的上下文,同时保持内存使用有界。应用一旦重启,内存中的记忆就会丢失。  Spring AI中的记忆存储是基于ChatMemoryRepository这个接口扩展的,他提供了一些列实现用来做基于存储,包括前面的MessageWindowChatMemory所使用到的InMemoryChatMemoryRepository,这就是一种基于ConcurrentHashMap的本地内存的记忆方式。    这就是MessageWindowChatMemory的默认实现,除此之外,ChatMemoryRepository还有一系列扩展实现,我们也可以用,包括: JdbcChatMemoryRepository 使用 JDBC 将消息存储在关系型数据库中,它支持多种数据库,Postgr ...
05-10 Spring AI 核心特性:对话记忆
发表于2026-09-04|AI AgentSpring AI
✅Spring AI 核心特性:对话记忆 AI的对话记忆指的是AI在单次对话或跨对话中,记住并利用之前交互信息的能力。这就像你和一个人聊天,如果他只能记住你刚才说的最后一句话,那对话将无法进行。因此,记忆是实现连贯、智能对话的基石。  AI发展到今天,记忆能力已经很丰富了,现在主要分为两大种,一种是短期记忆,一种是长期记忆。  短期记忆短期记忆也称为“上下文记忆”或“对话记忆”。指在单次对话会话中,AI能记住的之前对话内容。这通常受限于一个固定的“上下文窗口”(可以理解为一篇文章的最大字数)。  当你发送一条消息时,系统会将你当前的问题和之前一定轮次的对话历史(都在上下文窗口内)一起送给AI模型处理,这样AI就能根据整个对话上下文来生成回答。    但是短期记忆也有些局限性: 有限性:上下文窗口大小是硬性限制。如果和AI对话轮次太多了的话,就会达到上下文上限,那么最早的对话内容可能就会丢失。 易失性:一旦关闭对话页面或开始新对话,这些记忆就会消失。  长期记忆长期记忆也称为“持久性记忆”或“外部记忆”。指AI能够将重要信息存储在对话之外(如数据库、向量数据库) ...
05-09 Spring AI 核心特性:结构化输出
发表于2026-09-04|AI AgentSpring AI
✅Spring AI 核心特性:结构化输出 什么是结构化输出当我们在做大模型相关的对话的时候,模型的回答格式是不固定的,如果是人看的话,都是可以看懂的,但是如果我们靠代码来处理这些结果的话就比较费劲了。所以,在大模型应用开发中,结构化输出至关重要。  所谓结构化输出,就是让大模型按照我们要求的合适来做输出。比较常用的格式就是JSON,因为他最灵活。比如:   StructuredOutputConverter 在Spring AI中,为了方便我们做结构化输出,也提供了一个StructuredOutputConverter的接口:  123456789101112/** * Converts the (raw) LLM output into a structured responses of type. The * {@link FormatProvider#getFormat()} method should provide the LLM prompt description of * the desired format. * * @param ...
05-08 Spring AI 核心特性:提示词模板管理
发表于2026-09-04|AI AgentSpring AI
✅Spring AI 核心特性:提示词模板管理提示词模板 PromptTemplate,有一个默认渲染器(TemplateRenderer)——StTemplateRenderer,这个st其实是StringTemplate。他的实现的功能就是如果你传入请给我推荐几个关于{topic}的开源项目 ,可以通过这个工具把其中的topic的内容替换成你想要的内容。  如以下代码: 12345678910@GetMapping("/promptsEngineer6")public Flux<String> chat6(@RequestParam(value = "message") String message, HttpServletResponse response) { response.setCharacterEncoding("UTF-8"); PromptTemplate promptTemplate = new PromptTemplate("请给我推荐 ...
1…242526…35
avatar
Southblock
个人博客Blog
文章
342
标签
52
分类
23
Follow Me
公告
欢迎来到Southblock' Blog
最新文章
无题2026-09-15
无题2026-09-15
无题2026-09-15
无题2026-09-15
无题2026-09-15
分类
  • AI Agent147
    • Agent23
    • AgentScope14
    • Function Call5
    • Harness & Loop5
    • LangChain4j6
    • MCP16
    • Skills13
标签
Bat脚本 跨域 Claude Code Harness Engineering 微服务 Mem0 LLM JWT 长期记忆 提示词工程 课程介绍 AgentScope 前端 LangGraph MCP 工具调用 CSS3 MySQL 是怎样运行的:从根儿上理解 MySQL Prompt 环境搭建 LangChain4j 大模型 基础概念 Loop Engineering 智能体 工作流 Github Action 快速开始 架构设计 协议 Memory 后端开发 Obsidian Spring AI AI Coding Blog 项目结构 Workflow Dify Skills
归档
  • 九月 2026275
  • 八月 20264
  • 二月 202625
  • 六月 20255
  • 五月 20253
  • 八月 20242
  • 七月 20241
  • 六月 20242
网站资讯
文章数目 :
342
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2026 By Southblock
框架 Hexo|主题 Butterfly