easyAI--强大的开源原生JAVA AI算法引擎!助力中小公司低成本实现自己的AI应用

如今AI项目无论在工业领域还是生活领域都开始逐渐深入,chatGPT,文心一言等大模型更是如火如荼,让我们看到了AI的强大。不知道多少小伙伴想快速涉猎到AI领域呢?因为各种原因JAVA在AI领域一直是传统弱项,但是JAVA程序员却占据了国内程序员就业的半壁江山,所以这次我带来的java原生开源AI算法引擎-easyAI(不依赖任何第三方库,开箱即用的引擎),介绍给大家。


easyAI-JAVA原生AI算法引擎

广大公司,尤其是中小公司是不是遇到过以下痛点?

1.公司后端突然需要一个AI模块来辅助某业务场景,但是因为传统业务关系公司后端大部分都是java程序员。
去招个资深的算法工程师吧,先不说招聘的时间成本,就因为这么一个需求就去找一个价格这么昂贵的人员也太不经济,最后只能无奈外包。

2.突然有了某个AI模块需求,用了很长的时间成本从网上买了一套做好的AI模块,结果人家是py或者cpp。动不动还要装cuda环境(但凡装过cuda环境的都知道多少坑),有时候要考虑环境,有时候还要内嵌,要考虑py/cpp与java互相调用,还有因此而来的效率与安全问题等等。我更希望是完美兼容我的系统,我不想去繁琐的调整运行环境,考虑各种兼容性,我想要直接引入包到我的maven里就能开箱即用。

3.我去!chatGPT好牛逼,人用的真爽,可是它不能给我的系统服务。它是大模型很好,但是我的系统不需要大模型!我需要的是一个我可以自定义,去针对我们业务环境的小模型来嵌入我们的系统,为系统服务!大模型是给人用的,但是不能内嵌我们的系统给我们的系统服务。

  • 如果你有以上痛点,easyAI就帮到你了!easyAI是一个纯java原生算法引擎。其底层从矩阵运算,微分求导。中层到机器学习 强化学习等各种算法,然后最上层实现了图像视觉,自然语言全部包含在easyAi引擎内。
  • 这种从最底层的基础运算到上层AI算法上下游的全囊括,使得java项目只要引入easyAi的maven包,就可以做到无缝调用,且可以不依赖任何第三库,让java程序员舒服的一批!
  • 然而这还没完,easyAi是引擎,是为java开发人员服务的,所以我要封装的更彻底!因此我又封装了完整的依赖于easyAi引擎的AI业务应用,共大家无脑调用!大家可以直接使用,或者修改后再融入到到自己的业务中。
  • 到了此时easyAI才可以既满足了,了解算法知识,可以利用easyAI内置中底层算法工具深入开发的算法工作人员。也满足了只想利用现成应用业务代码,去满足自己系统内嵌,服务与自己系统AI的普通java业务开发人员的需求。
  • 然后再强调一点,easyAI并不是对主流算法JAVA的无差别重新实现,而是根据应用场景对主流算法进行了优化与魔改,让用户即便使用一台普通的电脑,就可开箱直接跑起来。并且保证普通服务器或个人电脑CPU下依然达到可用性能的流畅运行。 所以我的“easy”并不是只是指的简单,而是对算法进行了廉价,低成本方向的优化。如果我没有办法对某种算法做到廉价优化的算法实现,我也不会放入easyAI里面。
  • easyAI的核心理念,为java开发者服务是一方面,另一方面是专注于针对性业务,高性能,低成本优化方向的中小模型的算法引擎
综上,我们总结出以下的背景
  • 广泛性:easyAI可以为占据国内半数程序员以上的JAVA业务程序员开发AI业务,提供底层算法引擎动力。

  • 深入性:easyAI无任何依赖,从底层基础算法工具到上层算法模型全囊括,可以支持专业性的深度开发,也可提供简单直接的业务层嵌入AI,而且这一点在持续扩张中。

  • 廉价性,主要关注针对性可嵌入业务系统中小模型,低训练样本需求,低算力需求,这两个方向去优化算法模型是easyAI的方向。

  • 兼容性,因为是原生JAVA研发,无任何第三库依赖,所以对JAVA项目,引入包后就开箱即用,无任何环境异常会导致的问题。

easyAI应用举例

  • easyAI下载链接:https://gitee.com/dromara/easyAi

  • easyAI主要API详情文档:https://wlhlwl.com/gw/easyAi.html

  • easyAI详细视频教程:https://www.bilibili.com/video/av89134035

  • easyAI是算法引擎,我们要直观感受它的强大,要从依赖它构建的应用化项目DEMO来看,这次我们拿出其中之一的应用案例–强大的自主智能客服工具,支持自动与用户对话,并捕捉用户对话中的需求后自动生成订单!可自主解答用户问题或进行诱导消费!基于easyAi算法引擎构建智脑——myJecs

myJecs分类配置及标注后台

  • 登录页面
    登录页面
  • 配置业务分类及分类订单必要关键信息
    配置订单分类与关键词
  • 对分类业务填写训练样本并标注关键信息
    标注界面
  • 聊天咨询标注直接输入表位置
    标注界面

myJecs智能客服基本流程演示

  • 用户第一次进行输入表达自己的想法
    用户输入1
  • myJecs发现用户的描述缺少订单必要信息,则进行反问。用户接收到myJecs的反问,进一步补充的自己的想法
    用户输入2
  • 用户第二次输入信息依然不满足后台14分类法律咨询的订单关键信息要求,继续补充信息,最终完成订单信息补充生成订单。
    用户输入3
  • 用户输入想要咨询的问题,myJecs对用户咨询的问题进行自主解答
    用户输入4

以上是myJecs自定义业务接口的简单案例演示,具体安装部署及细节详情请到其主页下载:https://gitee.com/ldp_dpsmax/my-jecs

架构设计

常用底层算法模块

  • 基础矩阵及线代计算模块:

    1.内置矩阵类,矩阵计算类,可以完成常用矩阵四则运算,奇偶性,多元线性回归,逻辑斯蒂回归,欧式距离,余弦相似性,im2col,逆im2col,求代数余子式,求逆,求伴随矩阵,内积等,微分等一系列api。

    2.RGB三通道矩阵,可进行图像转化,剪切,分块,生成图像矩阵等操作方便后续计算。

  • 机器学习-聚类:

    k聚类,混合高斯聚类,密度聚类,学习向量量化聚类等

  • 机器学习-分类及拟合:
    多层前馈神经网络,多层循环神经网络,残差网络,多层残差循环神经网络,卷积神经网络,决策树,随机森林,k最近邻等

  • 启发式算法:
    粒子群,蚁群,模拟退火

  • 强化学习
    动态规划,蒙特卡洛分析,马尔可夫,时序差分

常用上层算法模块

  • 视觉图像:
    图像识别,图片摘要,目标检测

  • 自然语言:
    语义理解,拆词分词,推理敏感及关键词,语句补全,语言交流

  • 游戏机器人:
    自主策略,自主行动

使用

1.将项目下载后打包进本地maven库

2.将easyAi pom文件引入地址引入项目

关注项目

对项目有什么想法或者建议,可以加我qq交流群(222475213)或vx:thenk008,或者创建issues,一起完善项目。

  • 23
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Spark是一个开源的分布式计算框架,它可以在大规模数据集上进行高效的数据处理和分析。下面是Spark的详细安装和介绍: 1. 安装Java Spark是基于Java开发的,因此需要先安装Java。可以从Oracle官网下载Java SE Development Kit(JDK)。 2. 下载Spark 可以从Spark官网下载最新版本的Spark。下载后解压缩到本地目录。 3. 配置环境变量 将Spark的bin目录添加到系统的PATH环境变量中,以便在任何地方都可以使用Spark命令。 4. 启动Spark 可以通过命令行启动Spark,也可以使用Spark的Web UI进行操作。启动Spark后,可以使用Spark Shell进行交互式数据分析。 5. 使用Java API Spark提供了Java API,可以使用Java编写Spark应用程序。Java API提供了丰富的功能,包括RDD操作、Spark SQL、Spark Streaming等。 6. 示例代码 以下是一个简单的Spark Java应用程序示例代码: ``` import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; public class SparkApp { public static void main(String[] args) { SparkConf conf = new SparkConf().setAppName("SparkApp").setMaster("local"); JavaSparkContext sc = new JavaSparkContext(conf); JavaRDD<String> lines = sc.textFile("input.txt"); JavaRDD<String> words = lines.flatMap(line -> Arrays.asList(line.split(" ")).iterator()); JavaRDD<String> filteredWords = words.filter(word -> word.contains("Spark")); filteredWords.saveAsTextFile("output.txt"); sc.stop(); } } ``` 以上就是Spark的详细安装和介绍,希望对你有所帮助。 ### 回答2: Apache Spark是一个快速通用的集群计算系统,它提供了高级的数据处理能力,包括批处理、交互式查询、实时流处理和机器学习。下面是Spark的详细安装和介绍,以使用Java API为例: 1. 安装Java:确保已安装Java Development Kit(JDK),Spark要求Java 8或更高版本。 2. 下载Spark:从官方网站(http://spark.apache.org/downloads.html)下载最新的Spark版本。选择预编译的包,下载后解压缩到一个目录。 3. 配置环境变量:将Spark的安装目录添加到系统的PATH环境变量中,以便可以通过命令行访问Spark。 4. 创建Spark应用程序:在Java编程环境中创建一个新的Java项目,并添加Spark的依赖。可以通过Maven或Gradle引入Spark依赖,例如: ```xml <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.12</artifactId> <version>3.0.0</version> </dependency> ``` 5. 编写Spark应用程序:使用Java API编写Spark应用程序。首先创建一个SparkConf对象,设置应用程序的配置,如Spark主机和应用程序名称。然后创建一个JavaSparkContext对象,它是使用Spark的入口点。 ```java import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaSparkContext; public class SparkApp { public static void main(String[] args) { SparkConf conf = new SparkConf().setMaster("local").setAppName("My Spark App"); JavaSparkContext sparkContext = new JavaSparkContext(conf); // 在这里编写Spark应用程序的代码 sparkContext.stop(); // 关闭SparkContext } } ``` 6. 运行Spark应用程序:使用Java的命令行工具编译和运行Spark应用程序。 ```shell javac -classpath spark-core_2.12-3.0.0.jar SparkApp.java java -classpath spark-core_2.12-3.0.0.jar:. SparkApp ``` 以上是使用Java API安装和介绍Spark的基本步骤。Spark还提供了更丰富的API和功能,可以用于数据处理、SQL查询、流处理、机器学习、图处理等各种应用场景。可以进一步学习和探索Spark的文档和示例代码,以充分利用其强大的计算能力。 ### 回答3: Spark是一个开源的分布式计算框架,可以方便地进行大数据处理和分析。下面是Spark的最详细安装和介绍以及Java API的说明。 安装Spark: 1. 首先,确保你的机器上已安装Java环境,版本要求是1.8或以上。 2. 从官方网站(https://spark.apache.org/)下载Spark的压缩包,并解压到你想要安装的目录。 3. 在Spark安装目录中,进入`sbin`目录,运行`./start-master.sh`启动Spark的Master节点。然后运行`./start-worker.sh <master-url>`启动Spark的Worker节点。 4. 打开浏览器,访问Master节点的Web界面`http://localhost:8080`,确认Spark的运行状态。 介绍Spark: 1. Spark是基于内存计算的分布式计算框架,提供了高速的数据处理能力和良好的可扩展性。它支持多种编程语言,包括Java、Scala、Python和R。 2. Spark的核心概念是弹性分布式数据集(RDD),它是一种不可变、可分区、可并行计算的数据集合。RDD可以将数据加载到内存中,并在分布式环境中进行高效的转换和操作。 3. 通过Spark的Java API,你可以使用丰富的函数和操作符来对RDD进行处理。你可以进行数据的转换、过滤、聚合等操作,还可以使用Spark提供的机器学习和图计算库进行更复杂的分析。 4. 使用Spark的Java API,你可以轻松地编写分布式计算程序,利用集群中的多台机器来并行处理大规模数据。Spark会自动管理资源分配和任务调度,使得你可以专注于业务逻辑的实现。 5. Spark还提供了一个交互式的Shell环境,可以方便地进行开发和调试。你可以实时执行代码片段,观察结果,并进行迭代和优化。 希望以上内容能帮助你了解并安装Spark,并了解如何使用Spark的Java API进行大数据处理和分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值