news 2026/8/3 20:10:31

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/7/28 4:17:28

Vue3 系列教程(一)Vue3初识与环境搭建

引言 欢迎来到Vue3零基础入门的第1课。作为前端初学者&#xff0c;从最基础的认知到实际搭建项目&#xff0c;一步一步把基础打牢&#xff5e; 1. 初识Vue3&#xff1a;它到底是什么&#xff1f;值不值得学&#xff1f; 首先咱们得搞清楚核心定位&#xff1a;Vue3是一套用于…

作者头像 李华
网站建设 2026/8/3 15:10:33

高防IP线路质量重要吗

1、高防IP对访问速度的影响 高防IP的线路质量直接关系到用户的访问速度。优质的线路能够确保数据传输的高效与稳定。比如&#xff0c;采用BGP多线接入技术的高防IP线路&#xff0c;能够智能地根据网络情况选择最优路径&#xff0c;实现电信、联通、移动等不同网络用户的高速访…

作者头像 李华
网站建设 2026/7/28 1:41:40

AI编程陷入“越帮越忙”怪圈?垂直深耕才是破局关键

在AI技术快速渗透软件开发领域的今天&#xff0c;“AI辅助编程”早已不是新鲜概念。从代码补全、语法纠错到BUG修复、逻辑优化&#xff0c;各类通用AI编程工具层出不穷&#xff0c;宣称能帮开发者节省80%的调试时间、大幅提升开发效率。但现实往往事与愿违&#xff0c;越来越多…

作者头像 李华
网站建设 2026/7/29 20:46:45

无需等待:飞算JavaAI专业版“三大升级×十大AI工具”速览

自2025年1月发布以来&#xff0c;飞算JavaAI始终以每周一次的节奏快速迭代&#xff0c;累计完成了超过60次功能更新与优化&#xff0c;并已辅助开发者生成了1000000个完整项目。 在免费服务获得广泛认可的同时&#xff0c;我们也清晰地听到了许多用户对“更深层、更强大AI赋能”…

作者头像 李华
网站建设 2026/7/29 17:29:07

计算机毕业设计springboot辅导员用学生管理系统 SpringBoot高校学生事务一站式工作台 基于SpringBoot的辅导员智慧学工助手

计算机毕业设计springboot辅导员用学生管理系统&#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。 一个辅导员要盯 300 学生&#xff1a;谁缺课、谁挂科、谁心理预警、谁该拿奖学金…

作者头像 李华