Spring AI
Spring AI致力于通过简洁且统一的API接口,帮助开发者快速接入主流AI服务(如OpenAI、Azure OpenAI等),实现聊天对话、文本嵌入等基础AI功能。其设计理念是降低集成门槛,提升开发效率。
LangChain4j
LangChain4j是Java生态中专注于智能Agent、多步骤推理和自定义AI工作流 的开源框架。它提供链式调用、Agent管理、记忆存储、工具集成等高级功能,适合构建复杂智能应用。
目前大模型应用开发最常见的框架就是 LangChain,然而 LangChain 是基于 Python 语言,虽然有 LangChain4j,但是对于大量使用 Spring 生态的应用来说,适配性就稍微差了些。
而 Spring 公司推出的 SpringAI 框架,充分利用了 Spring 框架中 AOP、IOC 的能力,可以与现有的 Java 项目无缝融合,非常方便。
当然,SpringAI 要求的 JDK 版本至少是 JDK17,SpringBoot 也必须是 3.x 的版本才可以,所以如果想要使用 SpringAI,必须先升级 JDK 和 SpringAI 版本才行。
View DetailsJava: 21
SpringBoot: 3.4.5
LangChain4j: 1.0.1
LLM: (使用在线的百炼(阿里)平台)
embedding模型: text-embedding-v3
chat模型: qwen-plus
PGVector(postgresql版本的向量数据库, 文章最后有相关的docker-compose): 0.8.0-pg17
移动端盛行的年代,技术选型上基本都是混合开发(Hybrid),混合开发是一种开发模式,指使用多种开发模型开发App,通常会涉及到两大类技术:原生Native、Web H5 。
原生技术主要指iOS(Object C)、Android(Java),原生开发效率较低,开发完成需要重新打包整个App,发布依赖用户的更新,性能较高功能覆盖率更高;
Web H5主要由HTML、CSS、JavaScript组成,Web可以更好的实现发布更新,跨平台也更加优秀,但性能较低,特性也受限。
混合开发可以吸取两者的优点。
混合开发渲染可分为以下:
Web渲染的混合App(Codova、NativeScript);
原生渲染的混合App (ReactNative、Weex);
小程序
其中的原生、Web相互通信都离不开JSBridge,这里小程序比较特殊,对于UI渲染和JS的执行环境做了隔离,基于前两种方式之间。
OSRM(Open Source Routing Machine)是一个用C++开发的基于OSM(OpenStreetMap)地图数据的高性能开源路线规划引擎,提供以下几个服务:
1. Nearest – 搜索近邻路段服务
2. Route – 路线规划(路线导航)服务
3. Table – 批量算路服务
4. Match – 地图匹配服务
5. Trip – TSP问题求解服务
6. Tile – 内部路网瓦片服务