自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Spring AI 集成 OpenAI 图像生成

提醒:该版本仍在开发中,尚未被认为是稳定版本。如需获取最新的快照版本,请使用!Spring AI 支持 OpenAI 的图像生成模型 DALL-E。

2025-03-12 11:17:33 1073

原创 Spring AI 集成 Open AI 嵌入模型

注意:您可以重写公共的 spring.ai.openai.base-url 和 spring.ai.openai.api-key,以适配 ChatModel 和 EmbeddingModel 的实现。同样,如果设置了 spring.ai.openai.chat.base-url 和 spring.ai.openai.chat.api-key 属性,它们将优先于公共属性。配置属性:前缀 spring.ai.openai.embedding 用于配置 OpenAI 的 EmbeddingModel 实现。

2025-03-10 14:55:56 1562

原创 Spring AI 集成 Ollama

为此,您需要将 OpenAI 基础 URL 配置为您的 Ollama 实例: spring.ai.openai.chat.base-url=http://localhost:11434,并选择一个提供的 Ollama 模型:spring.ai.openai.chat.options.model=mistral。在启动时,可以使用 OllamaChatModel(api, options) 构造函数或 spring.ai.ollama.chat.options.* 属性来配置默认选项。

2025-03-10 10:39:33 952

原创 Spring AI 集成 Open AI

Override// 自定义逻辑来获取 API 密钥.build();// 使用自定义的 OpenAiApi 实例创建聊天客户端从安全的密钥存储中检索 API 密钥动态旋转 API 密钥实现自定义的 API 密钥选择逻辑。

2025-03-07 21:42:09 1484

原创 Spring AI 集成 DeepSeek

在启动时,可以使用 OpenAiChatModel(api, options) 构造函数或 spring.ai.openai.chat.options.* 属性配置默认选项。提示:所有以 spring.ai.openai.chat.options 开头的属性可以通过为提示调用添加特定的运行时选项来覆盖。配置属性:前缀 spring.ai.openai.chat 用于配置 OpenAI 聊天模型的实现。连接属性:前缀 spring.ai.openai 用于配置与 OpenAI 的连接。

2025-03-07 00:12:15 1385

原创 LangChain4J Spring Boot 集成 LLMs

该事件在 AI 服务注册到 Spring 上下文时触发,允许您在运行时获取所有已注册的 AI 服务及其工具的信息。如果您有多个 AI 服务,并且希望将不同的 LangChain4j 组件注入到每个服务中,您可以使用显式注入模式 (@AiService(wiringMode = EXPLICIT)) 来指定使用哪些组件。Spring Boot 启动器依赖项的命名约定是:langchain4j-{integration-name}-spring-boot-starter。有关更多详细信息,请参阅此处。

2025-03-04 21:02:39 927

原创 OkHttp 使用示例教程

在下面的示例中,我们使用 500 毫秒超时发起一个请求,使用 3000 毫秒超时发起另一个请求。多部分请求体的每一部分本身都是一个请求体,并且可以定义自己的头部。大多数应用程序应该只调用一次 new OkHttpClient(),配置它的缓存,并在整个应用中使用同一个实例。否则,两个缓存实例会互相冲突,损坏响应缓存,并可能导致程序崩溃。但是,如果响应体较大(大于 1 MiB),请避免使用 string(),因为它会将整个文档加载到内存中。为了缓存响应,您需要一个可以读写的缓存目录,并对缓存的大小设置限制。

2025-02-27 16:21:47 1222

原创 LangChain4J Tools (Function Calling)

可以配置一个 ToolProvider,它将在每次调用 AI Service(AI 服务)时被调用,并提供应包含在当前请求中的工具给 LLM。这是一个非常强大的功能。在这个简单的示例中,我们给 LLM 提供了基本的数学工具,但想象一下,如果我们给它提供了例如 googleSearch 和 sendEmail 工具,并提出一个查询:“我的朋友想了解 AI 领域的最新新闻。当 LLM 决定调用工具时,AI Service(AI 服务)会自动执行相应的方法,方法的返回值(如果有)将被发送回 LLM。

2025-02-25 14:38:13 1428

原创 LangChain4J Chat and Language Models(聊天和语言模型)

注意:此页面描述的是低级 LLM API。有关高级 LLM API,请参见(AI 服务)。所有支持的 LLM 可找到。

2025-02-22 17:22:28 1024

原创 LangChain4J Chat Memory(聊天记忆)

根据使用的记忆算法,它可以以各种方式修改历史:驱逐某些消息、总结多条消息、总结独立消息、从消息中删除不重要的细节、向消息中注入额外的信息(例如,RAG)或指令(例如,结构化输出)等。如果包含 ToolExecutionRequests 的 AiMessage 被驱逐,以下孤立的 ToolExecutionResultMessage(s) 也会被自动驱逐,以避免与某些 LLM 提供商(如 OpenAI)相关的问题,这些提供商禁止在请求中发送孤立的 ToolExecutionResultMessage(s)。

2025-02-22 16:26:50 1140

原创 Lanchain4J Response Streaming(流式响应)

这个工具类提供了静态方法,可以使用 lambda 表达式创建 StreamingResponseHandler。对于 ChatLanguageModel 和 LanguageModel 接口,有对应的 StreamingChatLanguageModel 和 StreamingLanguageModel 接口。这些接口具有类似的 API,但可以流式传输响应。LLMs(大语言模型)是逐个标记生成文本的,因此许多 LLM 提供商提供了一种逐个标记地流式传输响应,而不是等待整个文本生成完毕。

2025-02-22 15:44:14 897

原创 LangChain4J AI Services(AI 服务)

此外,通常不需要状态/记忆,因此与 LLM 的每次交互都是独立的。例如,当用户只是向聊天机器人问好或道别时,给 LLM 访问几十个或上百个工具是昂贵的,有时甚至是危险的(每个工具在 LLM 调用中都会消耗大量 tokens),并且可能导致意外的结果(LLM 可能产生幻觉,或被操纵调用工具时输入错误)。关于 RAG:同样的,有时候确实需要为 LLM 提供一些上下文,但并非每次都需要,因为这会带来额外的成本(更多的上下文 = 更多的 tokens)并增加响应时间(更多的上下文 = 更高的延迟)。

2025-02-21 18:06:55 677

原创 LangChain4j Retrieval-Augmented Generation(检索增强生成)

如果你想加载所有子目录中的文档,可以使用。

2025-02-19 10:13:03 1579

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除