SF
code-craft
code-craft
注册登录
关注博客
注册登录
主页
关于
RSS
聊聊Spring AI的Prompt
codecraft
4 月 13 日
阅读 11 分钟
48
Prompt实现了ModelRequest方法,其getInstructions返回的类型为List<Message>,其getContents方法遍历getInstructions添加message.getText()
聊聊Spring AI的Multimodality
codecraft
4 月 12 日
阅读 7 分钟
161
序本文主要研究一下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
codecraft
4 月 11 日
阅读 29 分钟
225
ToolCallback继承了FunctionCallback接口,不过FunctionCallback接口即将被废弃,它主要定义了getToolDefinition、getToolMetadata、call方法,它两个基本实现,分别是MethodToolCallback、FunctionToolCallback
聊聊Spring AI的StructuredOutputConverter
codecraft
4 月 10 日
阅读 14 分钟
178
StructuredOutputConverter接口继承了Converter、FormatProvider接口,它有两个抽象类,分别是AbstractMessageOutputConverter、AbstractConversionServiceOutputConverter
聊聊Spring AI的ETL Pipeline
codecraft
4 月 9 日
阅读 3 分钟
279
有TextReader、JsonReader、JsoupDocumentReader、MarkdownDocumentReader、PagePdfDocumentReader、ParagraphPdfDocumentReader、TikaDocumentReader这些实现
聊聊Spring AI的RAG
codecraft
4 月 8 日
阅读 11 分钟
234
Spring AI受Modular RAG: Transforming RAG Systems into LEGO-like Reconfigurable Frameworks启发实现了Modular RAG,主要分为如下几个阶段:Pre-Retrieval、Retrieval、Post-Retrieval、Generation
聊聊Spring AI的PgVectorStore
codecraft
4 月 7 日
阅读 9 分钟
304
序本文主要研究一下Spring AI的PgVectorStore示例pom.xml {代码...} pgvector {代码...} 配置 {代码...} 设置initialize-schema为true,默认会执行如下初始化脚本: {代码...} 脚本源码:org/springframework/ai/vectorstore/pgvector/PgVectorStore.java {代码...} 代码 {代码...} 输出如下: {代码...} 源码PgVectorSt...
聊聊Spring AI的RedisVectorStore
codecraft
4 月 6 日
阅读 9 分钟
240
org/springframework/ai/vectorstore/redis/autoconfigure/RedisVectorStoreAutoConfiguration.java
聊聊Spring AI的ChromaVectorStore
codecraft
4 月 5 日
阅读 7 分钟
333
org/springframework/ai/vectorstore/chroma/autoconfigure/ChromaVectorStoreAutoConfiguration.java
聊聊Spring AI的MilvusVectorStore
codecraft
4 月 4 日
阅读 15 分钟
265
org/springframework/ai/vectorstore/milvus/autoconfigure/MilvusVectorStoreAutoConfiguration.java
聊聊Spring AI的Image Model
codecraft
4 月 3 日
阅读 10 分钟
365
序本文主要研究一下Spring AI的Image ModelImageModelorg/springframework/ai/image/ImageModel.java {代码...} ImageModel继承了Model接口,其call方法入参为ImagePrompt,返回ImageResponseImagePromptorg/springframework/ai/image/ImagePrompt.java {代码...} ImagePrompt实现了ModelRequest接口,它定义了messages...
聊聊Spring AI的EmbeddingModel
codecraft
4 月 2 日
阅读 14 分钟
327
spring-ai-core/src/main/java/org/springframework/ai/embedding/EmbeddingModel.java
聊聊Spring AI的Chat Model
codecraft
4 月 1 日
阅读 10 分钟
304
spring-ai-core/src/main/java/org/springframework/ai/model/ModelRequest.java
聊聊Spring AI的RetrievalAugmentationAdvisor
codecraft
3 月 31 日
阅读 9 分钟
306
spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/api/BaseAdvisor.java
聊聊Spring AI的Advisors
codecraft
3 月 30 日
阅读 40 分钟
381
序本文主要研究一下Spring AI的AdvisorsAdvisororg/springframework/ai/chat/client/advisor/api/Advisor.java {代码...} Advisor接口继承了Ordered,定义了getName方法CallAroundAdvisororg/springframework/ai/chat/client/advisor/api/CallAroundAdvisor.java {代码...} CallAroundAdvisor继承了Advisor接口,它定义...
spring-ai-starter-mcp-client小试牛刀
codecraft
3 月 29 日
阅读 8 分钟
440
org/springframework/ai/mcp/client/autoconfigure/McpClientAutoConfiguration.java
spring-ai mcp server实战
codecraft
3 月 28 日
阅读 7 分钟
485
org/springframework/ai/mcp/server/autoconfigure/McpServerAutoConfiguration.java
spring-ai ollama小试牛刀
codecraft
3 月 27 日
阅读 11 分钟
391
spring-ai-ollama-spring-boot-starter-1.0.0-M5.jar!/META-INF/maven/org.springframework.ai/spring-ai-ollama-spring-boot-starter/pom.xml
聊聊spring ai的mcp server
codecraft
3 月 26 日
阅读 34 分钟
493
序本文主要研究一下spring ai的mcp servermcp java sdkmcp提供了java sdk,同时还提供了spring webflux及mvc的sse实现 {代码...} spring ai mcpSpring AI MCP扩展了mcp java sdk,提供了spring boot的集成 {代码...} 其中mcp-server提供了webmvc及webflux两个版本示例pom.xml {代码...} config {代码...} weatherService...
聊聊langchain4j的Web Search Engine
codecraft
3 月 25 日
阅读 11 分钟
353
langchain4j定义了WebSearchEngine接口,它定义了search方法,根据WebSearchRequest返回WebSearchResults
聊聊langchain4j的Code Execution Engine
codecraft
3 月 24 日
阅读 5 分钟
338
langchain4j定义了CodeExecutionEngine接口,该接口定义了execute方法用于执行指定的代码,langchain4j-code-execution-engine-graalvm-polyglot模块提供了两个实现,分别是GraalVmPythonExecutionEngine、GraalVmJavaScriptExecutionEngine
聊聊langchain4j的MCP
codecraft
3 月 23 日
阅读 6 分钟
479
HTTP:客户端请求一个SSE(Server-Sent Events)通道以从服务器接收事件,然后通过HTTP POST请求发送命令。这种方式适用于需要跨网络通信的场景,通常用于分布式系统或需要高并发的场景。
聊聊langchain4j的HTTP Client
codecraft
3 月 22 日
阅读 16 分钟
473
langchain4j提供了langchain4j-http-client模块,它实现了一个HttpClient SPI(服务提供者接口),其他模块通过该接口调用LLM提供商的REST API。这意味着底层HTTP客户端可以被自定义,通过实现HttpClient SPI,还可以集成任何其他HTTP客户端。目前,有两个现成的实现:
聊聊langchain4j的Advanced RAG
codecraft
3 月 21 日
阅读 37 分钟
389
序本文主要研究一下langchain4j的Advanced RAG核心流程将UserMessage转换为一个原始的QueryQueryTransformer将原始的Query转换为多个Query每个Query通过QueryRouter被路由到一个或多个ContentRetriever每个ContentRetriever检索对应Query相关的ContentContentAggregator将所有检索到的Content合并成一个最终排序的列表这...
Java24的新特性
codecraft
3 月 20 日
阅读 27 分钟
524
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java18的新特性Java19的新特性Java20的新特性Java21的新特性Java22的新特性Java23的新特性Java24的新特性Java25...
聊聊langchain4j的Naive RAG
codecraft
3 月 19 日
阅读 16 分钟
387
所谓naive就是我们不会使用任何高级的RAG技术,Easy RAG使用了EmbeddingStoreIngestor来隐藏了文档解析、分割、嵌入、嵌入存储,Naive RAG亦可使用。Naive RAG使用EmbeddingStoreContentRetriever.builder()进行查询相关的定制(Easy RAG直接使用EmbeddingStoreContentRetriever.from(embeddingStore)),startConversatio...
聊聊langchain4j的核心RAG APIs
codecraft
3 月 18 日
阅读 5 分钟
509
Document类表示整个文档,例如单个 PDF 文件或网页。目前,Document 只能表示文本信息,但未来的更新将使其能够支持图像和表格。
聊聊langchain4j的RAG
codecraft
3 月 17 日
阅读 7 分钟
427
RAG(Retrieval-Augmented Generation)即检索增强生成,它通过检索来获取相关信息,注入到prompt,然后用增强的prompt然后输入给LLM让LLM在回答的时候能够利用检索到信息,从而降低幻觉。常见的信息检索方法包括:全文(关键词)搜索、向量搜索(语义搜索)、混合搜索。目前langchain4j以向量搜索为主(例如通过Qdrant等向量数...
聊聊langchain4j的Agent
codecraft
3 月 16 日
阅读 6 分钟
327
customer-support-agent-example/src/main/java/dev/langchain4j/example/CustomerSupportAgent.java
聊聊langchain4j的Tools(Function Calling)
codecraft
3 月 15 日
阅读 8 分钟
501
序本文主要研究一下langchain4j的Tools(Function Calling)示例tool {代码...} 这里用@Tool注解来描述这个方法的用途,用@P注解来描述参数Low-level {代码...} Low-level步骤比较多:1.将toolSpecifications添加到chatRequest的parameter跟userMessage一起发起chat请求2.接着判断response是否有需要toolExecutionRequests...
1
(current)
2
3
4
5
…
More
下一页
1
(current)
下一页