news 2026/2/14 13:28:18

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/2/13 13:30:40

【软件测试】3_性能测试实战 _性能测试需求分析

文章目录一、性能测试需求分析1.1 如何获取有效的需求二、性能测试点的提取2.1 性能测试点的提取规则2.2 商城性能测试点的提取三、确定性能测试目标一、性能测试需求分析 性能测试需求分析与传统的功能测试需求分析有所不同功能测试需求分析&#xff1a; 重点在于分析被测系统…

作者头像 李华
网站建设 2026/2/12 8:01:43

Google排名优化需要做什么?深度实战避坑指南

做外推和SEO的朋友这两年应该都有个明显的体感&#xff1a;以前那种“堆砌关键词发外链”的粗暴打法&#xff0c;效果越来越差了。现在的Google算法&#xff0c;尤其是经历了数次核心更新和“有用内容”&#xff08;Helpful Content&#xff09;系统升级后&#xff0c;变得比以…

作者头像 李华
网站建设 2026/2/12 9:32:30

AI动态权益定价系统架构:智能数字权益管理平台商业化设计

AI动态权益定价系统架构:智能数字权益管理平台商业化设计 摘要/引言 在当今数字化经济飞速发展的时代,智能数字权益管理平台在企业的运营和商业拓展中扮演着越来越重要的角色。然而,传统的权益定价方式往往基于静态规则和历史数据,难以适应市场的快速变化和用户的多样化需…

作者头像 李华