news 2026/4/18 12:31:45

OpenVINO™ Java API:让Java 开发者快速部署本地生成式AI

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenVINO™ Java API:让Java 开发者快速部署本地生成式AI

作者:黄明明 OpenVINO™社区开发专家

1.关于API

OpenVINO™ Java API,旨在推动 OpenVINO™在Java领域的应用。OpenVINO™ Java API 由于是基于 OpenVINO™ 开发,所支持的平台与OpenVINO™ 一致,具体信息可以参考 OpenVINO™。 目前,开发者需要自行下载该项目,将其源代码中的 src 文件夹复制到自己的代码当中,以便更好地利用 OpenVINO™ Java API 所提供的丰富功能和强大特性,为 Java 开发领域注入新的活力和创新元素。

2.关于OpenVINO™ GenAI

OpenVINO™ GenAI基于OpenVINO™工具和运行时,提供C++/Python API,支持多种生成式AI模型,包括文本生成、图像生成、语音转录与翻译以及图像处理等。以下是OpenVINO™ GenAI支持的主要用例:

文本生成模型:文本摘要、重写、聊天机器人等。

图像生成模型:基于Diffuser架构。

Whisper-based语音转录与翻译。

视觉语言模型(VLMs):图像处理,如LLaVa等。

  • OpenVINO™ GenAI库https://mp.weixin.qq.com/s/1nwi3qJDqAkIXnrGQnP3Rg

  • OpenVINO™ 工具套件https://mp.weixin.qq.com/s/fORowUzzcPSVIO6AieoUKA

  • Github仓https://github.com/openvinotoolkit/openvino.genai

3.环境搭建

3.1 OpenVINO™ Java API 环境搭建

首先,你需要将项目代码从 GitHub 仓库克隆到本地环境。在终端中执行以下命令:

git clone https://github.com/Hmm466/OpenVINO-Java-API.git

使用 IDEA 打开并运行项目,克隆完成后,你可以使用 IntelliJ IDEA(以下简称 IDEA)专业版来打开该项目。具体步骤如下:

启动 IDEA,选择 File -> Open。

在弹出的文件选择对话框中,找到并选中刚才克隆下来的项目文件夹,点击 OK。

待 IDEA 完成项目的索引和加载后,你就可以运行项目了。一般而言,你可以通过点击 IDEA 工具栏上的运行按钮,或者使用快捷键(如 Shift + F10)来启动项目。

3.2 GenAI环境搭建

OpenVINO™ GenAI 支持通过 PyPI、Archive 归档包及 npm 发行版进行安装,适配 Linux、Windows 和 macOS 三大主流操作系统平台。针对 Linux 平台,PyPI 上的 GenAI、Tokenizers 及 OpenVINO™ 轮子包均经过编译优化,以适配更广泛的 Linux 发行版;而 Ubuntu 系统下的 C++ Archive 发行版则分别基于 _GLIBCXX_USE_CXX11_ABI=0 和 _GLIBCXX_USE_CXX11_ABI=1 两种应用二进制接口(ABI)编译。需要注意的是,不同 ABI 版本不可混合使用,否则会引发链接错误 —— 例如 C++ Archive 发行版中的 OpenVINO™ 库与 PyPI 渠道安装的 GenAI 组件搭配使用时,就可能因 ABI 不兼容导致此类问题。

如需获取适配的 Archive 版本库文件,可访问官方文档地址,根据自身操作系统及版本下载对应的归档包;下载完成后,将归档包解压至指定目录即可完成基础准备。若为 Linux 或 macOS 系统,需进一步参考 OpenVINO™ Java API 部署文档中的指引完成后续部署操作。

3.3 模型下载

由于Java API并不能调用模型下载的API,所以模型下载还是得通过HuggingFace Optimum进行模型下载。Optimum Intel 是 Transformers 和 Diffusers 库与 Intel 提供的各种工具和库之间的接口,用于加速 Intel 架构上的端到端流水线。

Optimum Intel 的众多用途之一是提供一个简单的接口来优化您的 Transformers 和 Diffusers 模型,将其转换为 OpenVINO™ 中间表示 (IR) 格式,并使用 OpenVINO™ Runtime 运行推理。optimum-cli 提供用于模型转换和优化的命令行界面。

通用命令格式:

optimum-cli export openvino --model <模型 ID 或路径> --task <任务> <输出目录>

其中,`task` 是要导出模型的任务。如果未指定,则将根据模型自动推断任务。您可以在 Optimum TaskManager 文档中找到任务和模型类之间的映射关系。此外,您可以使用 `--weight-format` 参数指定权重压缩格式,选项包括:fp32、fp16、int8 和 int4。对于 int8 和 int4 格式,权重压缩将使用 nncf 格式。有关模型导出的更多详细信息,请参阅 Optimum Intel 文档。

optimum-cli export openvino --model Qwen/Qwen2.5-VL-3B-Instruct Qwen2.5-VL-3B-Instruct/INT4 --weight-format int4

4.部署运行

//Dll 所在路径,Linux 或者 Mac 可以直接置空String libPath = null;OvGenAI ovGenAI = new OvGenAI(libPath);ovGenAI.init();//加载模型.模型需要通过optimum-cli 下载String modelPath = "qwen-7b-chat\\INT4_compressed_weights";ovGenAI.loadLLMModel(modelPath);ovGenAI.setTokens(1024);ovGenAI.setDevice("GPU");ovGenAI.setLLMCallback(new OvGenAILLMCallback() {@Overridepublic void generation(OvGenAIStatus ovGenAIStatus, String s) {print("Status:" + ovGenAIStatus + "," + s);}});print("output:" + ovGenAI.generation("什么是OpenVINO?",false));ovGenAI.releasePipeline();// ↑注意false 可以控制输出不从OvGenAILLMCallback 回调,直接返回,如果设置为True,则强制OvGenAILLMCallback返回,结果为NULL

5.效果展示

更多资源:

  • OpenVINO™:https://openvinotoolkit.github.io/

  • OpenVINO™-GenAI:https://openvinotoolkit.github.io/openvino.genai/

  • OpenVINO™ Java API:https://github.com/Hmm466/OpenVINO-Java-API

    (注意:由于现在API设计还不完善,待完善后将推送到Github)

OpenVINO 小助手微信号:OpenVINO-China

如需咨询或交流相关信息,欢迎添加OpenVINO小助手微信,加入专属社群,与技术专家实时沟通互动。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 8:52:32

盈利≠合格!自营交易考试拒绝单边押注的关键原因

在自营交易考试中&#xff0c;经常会出现这样一种情况&#xff1a;某位交易员在短时间内完成了亮眼的盈利&#xff0c;账户曲线陡峭上行&#xff0c;看似已经具备通过考核的全部条件&#xff1b;但在复盘交易路径时&#xff0c;却发现账户净值在关键时段承受了高度集中的风险暴…

作者头像 李华
网站建设 2026/4/16 16:10:04

真牛×!国内免翻,内部邀请码泄露!

作为打工人&#xff0c;每天都有一堆繁琐的事&#xff0c;表格核对到眼花&#xff0c;邮件回复到手软。明明想专注做点有价值的事&#xff0c;却被这些琐事拖得精疲力尽 今天给大家分享一款“牛马打工人”工具&#xff1a;AiPy Pro&#xff0c;和其它AI工具不同&#xff0c;它专…

作者头像 李华
网站建设 2026/4/18 8:05:51

计算机毕业设计springboot服装网站 SpringBoot潮流时装在线商城系统 基于SpringBoot的服饰电商展示与交易平台

计算机毕业设计springboot服装网站&#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。 线上试衣、限时秒杀、直播带货把服装零售卷进“秒级”赛道&#xff0c;传统门店货架有限、更新…

作者头像 李华
网站建设 2026/4/18 4:31:40

如何利用提示工程架构师构建多场景提示系统

《提示工程架构师实战&#xff1a;从零搭建适配多场景的AI提示系统》 引言&#xff1a;你为什么需要一套“多场景提示系统”&#xff1f; 你有没有过这样的经历&#xff1f; 为客服场景写了一套完美提示&#xff0c;换成交互式问答场景&#xff0c;生成的回复要么太机械要么跑题…

作者头像 李华