OpenVINO™ Java API:让Java 开发者快速部署本地生成式AI
作者黄明明 OpenVINO™社区开发专家1.关于APIOpenVINO™ Java API旨在推动 OpenVINO™在Java领域的应用。OpenVINO™ Java API 由于是基于 OpenVINO™ 开发所支持的平台与OpenVINO™ 一致具体信息可以参考 OpenVINO™。 目前开发者需要自行下载该项目将其源代码中的 src 文件夹复制到自己的代码当中以便更好地利用 OpenVINO™ Java API 所提供的丰富功能和强大特性为 Java 开发领域注入新的活力和创新元素。2.关于OpenVINO™ GenAIOpenVINO™ GenAI基于OpenVINO™工具和运行时提供C/Python API支持多种生成式AI模型包括文本生成、图像生成、语音转录与翻译以及图像处理等。以下是OpenVINO™ GenAI支持的主要用例文本生成模型文本摘要、重写、聊天机器人等。图像生成模型基于Diffuser架构。Whisper-based语音转录与翻译。视觉语言模型VLMs图像处理如LLaVa等。OpenVINO™ GenAI库https://mp.weixin.qq.com/s/1nwi3qJDqAkIXnrGQnP3RgOpenVINO™ 工具套件https://mp.weixin.qq.com/s/fORowUzzcPSVIO6AieoUKAGithub仓https://github.com/openvinotoolkit/openvino.genai3.环境搭建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_ABI0 和 _GLIBCXX_USE_CXX11_ABI1 两种应用二进制接口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 int44.部署运行//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返回结果为NULL5.效果展示更多资源:OpenVINO™https://openvinotoolkit.github.io/OpenVINO™-GenAIhttps://openvinotoolkit.github.io/openvino.genai/OpenVINO™ Java APIhttps://github.com/Hmm466/OpenVINO-Java-API(注意:由于现在API设计还不完善待完善后将推送到Github)OpenVINO 小助手微信号OpenVINO-China如需咨询或交流相关信息欢迎添加OpenVINO小助手微信加入专属社群与技术专家实时沟通互动。

相关新闻

【操作系统】5.进程控制和shell的实现(附代码)

【操作系统】5.进程控制和shell的实现(附代码)

目录 一、进程创建 1. fork 函数 2. 写时拷贝 (Copy-On-Write, COW) 3. 为什么要写时拷贝? 4. fork 失败的原因 二、进程终止 1. 退出场景 2. 获取返回值 3. 退出码标准 4. exit 退出 5. exit 和 _exit 区别 三、进程等待 1. 为什么要等待子进程结束&a…

2026/7/8 0:12:06 阅读更多 →
学长亲荐2026继续教育TOP10AI论文软件:开题报告文献综述全测评

学长亲荐2026继续教育TOP10AI论文软件:开题报告文献综述全测评

学长亲荐2026继续教育TOP10AI论文软件:开题报告文献综述全测评 2026继续教育AI论文工具测评:精准匹配学术需求的实用指南 随着人工智能技术在学术领域的深入应用,越来越多的研究者开始依赖AI工具辅助论文写作。然而,面对市场上琳琅…

2026/7/6 9:33:07 阅读更多 →
AI动态权益定价系统架构:智能数字权益管理平台商业化设计

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

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

2026/7/8 5:28:55 阅读更多 →

最新新闻

Unity地形纹理动态旋转与xLua热更新实战指南

Unity地形纹理动态旋转与xLua热更新实战指南

1. 项目概述:为什么我们需要动态旋转地形纹理?在Unity游戏开发中,尤其是开放世界、MMORPG或者大型策略游戏,地形系统是构建世界的基础。传统的地形纹理绘制是静态的,美术师在编辑器里摆好,运行时基本不变。…

2026/7/8 17:55:01 阅读更多 →
Unity URP卡通渲染快速上手:NiloToon实战指南与风格化调参

Unity URP卡通渲染快速上手:NiloToon实战指南与风格化调参

1. 项目概述:为什么你需要一个“快速上手”的卡通渲染方案?如果你正在用Unity开发一款风格化的游戏,无论是二次元、美式卡通还是低多边形风格,大概率都绕不开“卡通渲染”这个技术点。我见过太多团队和独立开发者,在项…

2026/7/8 17:55:01 阅读更多 →
机械工程师必看直流电机相关书单

机械工程师必看直流电机相关书单

这几本书,就像一套“电机控制技术进化史”的实体档案,拼出了从上世纪80年代到千禧年中国工业自动化的突围路线。 书单简介: 古典基石——《直流电动机及其控制系统》(1984)像一本厚重的“心法”,讲的是最经典的调速原理。虽然年代…

2026/7/8 17:52:58 阅读更多 →
UE5.6全局光照性能优化:集成AMD FSR 3.1.4实战指南

UE5.6全局光照性能优化:集成AMD FSR 3.1.4实战指南

1. 项目概述:当UE5.6的全局光照遇上AMD FSR 3.1.4 如果你正在用UE5.6捣鼓一个对画面要求比较高的项目,比如数字孪生或者写实风格的游戏,大概率会为全局光照(Global Illumination, GI)的性能开销头疼。实时光…

2026/7/8 17:52:58 阅读更多 →
STM32与TLA2518构建高精度数据采集系统

STM32与TLA2518构建高精度数据采集系统

1. 项目背景与核心需求解析在工业自动化、医疗设备和消费电子等领域,模拟信号到数字信号的可靠转换一直是嵌入式系统设计的关键环节。TLA2518作为德州仪器推出的12位1MSPS八通道ADC芯片,配合STM32L433RC这款低功耗ARM Cortex-M4微控制器,能够…

2026/7/8 17:50:52 阅读更多 →
Karate框架:API测试自动化的终极解决方案与实战指南

Karate框架:API测试自动化的终极解决方案与实战指南

1. 项目概述:为什么我们需要重新审视API测试自动化在软件交付节奏越来越快的今天,API测试自动化早已不是“要不要做”的选择题,而是“怎么做才能更高效”的必答题。我见过太多团队,从Postman手动测试脚本化,到用Python…

2026/7/8 17:48:51 阅读更多 →

日新闻

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: …

2026/7/8 0:00:48 阅读更多 →
MyBatis 批量操作深度优化——从 N+1 到批处理的全路径

MyBatis 批量操作深度优化——从 N+1 到批处理的全路径

MyBatis 批量操作深度优化——从 N1 到批处理的全路径 一、从"功能正确"到"性能可接受"——MyBatis 批量操作的三段式进化 MyBatis 在日常增删改查场景中几乎是无感的——实体映射直观、SQL 控制灵活。但当数据量从千级上升到十万级、百万级,许…

2026/7/8 0:00:48 阅读更多 →
工业负载控制方案:TPD2015FN与PIC18F45K22应用解析

工业负载控制方案:TPD2015FN与PIC18F45K22应用解析

1. 工业负载控制方案概述在工业自动化、电机驱动和照明控制等高需求场景中,可靠地控制电感和电阻负载是核心挑战之一。TPD2015FN作为东芝的8通道高端智能功率开关IC,配合PIC18F45K22微控制器,能够构建一套稳定、高效的负载控制系统。这套组合…

2026/7/8 0:02:48 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/8 16:14:06 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/8 16:59:55 阅读更多 →

月新闻