聊聊Tomato Architecture

5 月 29 日
阅读 6 分钟
242
clean architecture定义了四层结构,最内层是entities(enterprise business rules),再往外是use cases(application business rules),接着是interface adapters(比如controller、presenters、gateways),最外层是frameworks & drivers(比如web、ui、db、devices、external interfaces)

聊聊redisson的RLock的unlock

5 月 16 日
阅读 8 分钟
321
RLock接口继承了JDK的java.util.concurrent.locks.Lock接口,同时还扩展提供了isLocked、isHeldByThread、isHeldByCurrentThread等方法

聊聊redisson的lockWatchdogTimeout

5 月 15 日
阅读 7 分钟
377
序本文主要研究一下redisson的lockWatchdogTimeoutlockWatchdogTimeoutredisson/src/main/java/org/redisson/config/Config.java {代码...} Config定义了lockWatchdogTimeout属性,默认30stryAcquireOnceAsyncredisson/src/main/java/org/redisson/RedissonLock.java {代码...} tryAcquireOnceAsync对于leaseTime小于等...

聊聊JetCache的缓存构建

5 月 14 日
阅读 8 分钟
381
invokeWithCached先通过context.getCacheFunction().apply(context, cac)去获取缓存

聊聊JetCache的CachePenetrationProtect

5 月 13 日
阅读 4 分钟
404
序本文主要研究一下JetCache的CachePenetrationProtectCachePenetrationProtectcom/alicp/jetcache/anno/CachePenetrationProtect.java {代码...} 它定义value、timeout、timeUnit属性computeIfAbsentImplcom/alicp/jetcache/AbstractCache.java {代码...} AbstractCache的computeIfAbsentImpl方法,在cache.config().is...

聊聊Spring AI Alibaba的SentenceSplitter

5 月 8 日
阅读 8 分钟
483
spring-ai-alibaba-core/src/main/java/com/alibaba/cloud/ai/transformer/splitter/SentenceSplitter.java

聊聊langchain4j-spring的1.0.0-beta版本的更新

5 月 7 日
阅读 1 分钟
362
为Google Gemini API model添加了Spring Boot Project Starter:ChatLangauge, Streaming model and Embedding Model

聊聊Spring AI 1.0.0-SNAPSHOT的变更

5 月 6 日
阅读 4 分钟
526
Model starters: spring-ai-{model}-spring-boot-starter → spring-ai-starter-model-{model}

聊聊Spring AI Alibaba的MermaidGenerator

4 月 30 日
阅读 6 分钟
386
spring-ai-alibaba-graph/spring-ai-alibaba-graph-core/src/main/java/com/alibaba/cloud/ai/graph/diagram/MermaidGenerator.java

聊聊Spring AI Alibaba的PlantUMLGenerator

4 月 29 日
阅读 22 分钟
356
spring-ai-alibaba-graph/spring-ai-alibaba-graph-core/src/main/java/com/alibaba/cloud/ai/graph/DiagramGenerator.java

聊聊Spring AI Alibaba的JdbcChatMemory

4 月 28 日
阅读 14 分钟
539
community/memories/spring-ai-alibaba-jdbc-memory/src/main/java/com/alibaba/cloud/ai/memory/jdbc/JdbcChatMemory.java

聊聊Spring AI Alibaba的RedisChatMemory

4 月 27 日
阅读 6 分钟
387
community/memories/spring-ai-alibaba-redis-memory/src/main/java/com/alibaba/cloud/ai/memory/redis/RedisChatMemory.java

聊聊Spring AI Alibaba的YuQueDocumentReader

4 月 26 日
阅读 6 分钟
481
community/document-readers/spring-ai-alibaba-starter-document-reader-yuque/src/main/java/com/alibaba/cloud/ai/reader/yuque/YuQueDocumentReader.java

聊聊Spring AI Alibaba的YoutubeDocumentReader

4 月 25 日
阅读 6 分钟
452
community/document-readers/spring-ai-alibaba-starter-document-reader-youtube/src/main/java/com/alibaba/cloud/ai/reader/youtube/YoutubeDocumentReader.java

聊聊Spring AI Alibaba的OneNoteDocumentReader

4 月 24 日
阅读 13 分钟
340
community/document-readers/spring-ai-alibaba-starter-document-reader-onenote/src/main/java/com/alibaba/cloud/api/reader/onenote/OneNoteDocumentReader.java

聊聊Spring AI Alibaba的ObsidianDocumentReader

4 月 23 日
阅读 7 分钟
456
community/document-readers/spring-ai-alibaba-starter-document-reader-obsidian/src/main/java/com/alibaba/cloud/ai/reader/obsidian/ObsidianDocumentReader.java

聊聊Spring AI Alibaba的NotionDocumentReader

4 月 22 日
阅读 18 分钟
390
community/document-readers/spring-ai-alibaba-starter-document-reader-notion/src/main/java/com/alibaba/cloud/ai/reader/notion/NotionDocumentReader.java

聊聊Spring AI Alibaba的MySQLDocumentReader

4 月 21 日
阅读 10 分钟
396
community/document-readers/spring-ai-alibaba-starter-document-reader-mysql/src/main/java/com/alibaba/cloud/ai/reader/mysql/MySQLDocumentReader.java

聊聊Spring AI Alibaba的FeiShuDocumentReader

4 月 20 日
阅读 9 分钟
457
community/document-readers/spring-ai-alibaba-starter-document-reader-larksuite/src/main/java/com/alibaba/cloud/ai/reader/feishu/FeiShuDocumentReader.java

聊聊Spring AI Alibaba的ElasticsearchDocumentReader

4 月 19 日
阅读 13 分钟
326
community/document-readers/spring-ai-alibaba-starter-document-reader-elasticsearch/src/main/java/com/alibaba/cloud/ai/document/reader/es/ElasticsearchDocumentReader.java

聊聊Spring AI Alibaba的BilibiliDocumentReader

4 月 18 日
阅读 5 分钟
414
community/document-readers/spring-ai-alibaba-starter-document-reader-bilibili/src/main/java/com/alibaba/cloud/ai/reader/bilibili/BilibiliDocumentReader.java

聊聊Spring AI Alibaba的PdfTablesParser

4 月 17 日
阅读 7 分钟
317
community/document-parsers/spring-ai-alibaba-starter-document-parser-pdf-tables/src/main/java/com/alibaba/cloud/ai/parser/pdf/tables/PdfTablesParser.java

聊聊Spring AI Alibaba的MarkdownDocumentParser

4 月 16 日
阅读 18 分钟
474
community/document-parsers/spring-ai-alibaba-starter-document-parser-markdown/src/main/java/com/alibaba/cloud/ai/parser/markdown/MarkdownDocumentParser.java

聊聊Spring AI Alibaba的DocumentParser

4 月 15 日
阅读 7 分钟
430
spring-ai-alibaba-core/src/main/java/com/alibaba/cloud/ai/document/DocumentParser.java

聊聊Spring AI的Evaluator

4 月 14 日
阅读 9 分钟
393
spring-ai-client-chat/src/main/java/org/springframework/ai/evaluation/Evaluator.java

聊聊Spring AI的Prompt

4 月 13 日
阅读 11 分钟
388
Prompt实现了ModelRequest方法,其getInstructions返回的类型为List<Message>,其getContents方法遍历getInstructions添加message.getText()

聊聊Spring AI的Multimodality

4 月 12 日
阅读 7 分钟
484
序本文主要研究一下Spring AI的Multimodality示例chatModel示例 {代码...} chatClient示例 {代码...} 目前是如下几种模型支持多模态Anthropic Claude 3AWS Bedrock ConverseAzure Open AI (e.g. GPT-4o models)Mistral AI (e.g. Mistral Pixtral models)Ollama (e.g. LLaVA, BakLLaVA, Llama3.2 models)OpenAI (e.g. GPT...

聊聊Spring AI的Tool Calling

4 月 11 日
阅读 29 分钟
749
ToolCallback继承了FunctionCallback接口,不过FunctionCallback接口即将被废弃,它主要定义了getToolDefinition、getToolMetadata、call方法,它两个基本实现,分别是MethodToolCallback、FunctionToolCallback

聊聊Spring AI的StructuredOutputConverter

4 月 10 日
阅读 14 分钟
376
StructuredOutputConverter接口继承了Converter、FormatProvider接口,它有两个抽象类,分别是AbstractMessageOutputConverter、AbstractConversionServiceOutputConverter

聊聊Spring AI的ETL Pipeline

4 月 9 日
阅读 3 分钟
511
有TextReader、JsonReader、JsoupDocumentReader、MarkdownDocumentReader、PagePdfDocumentReader、ParagraphPdfDocumentReader、TikaDocumentReader这些实现