封面图片

摸索AI(一)安装Ollama和本地大模型部署

之前也是花了巨多的时间从Github上下载了一些AI摸索的实践项目,涉及到的有文生图、文生视频、图生图、语音克隆、数字人等,它们的实践对电脑配置的依赖有一定的要求,而且实践的过程复杂程度较高,属于摸索着玩玩而已。本次摸索AI的范围则是面向对擅长领域的代码接入实践。如果你对Java代码交互的AI大模型有一些兴趣,又或者是跟我一样不知从哪里入手,或许看看我这里分享的前后实践过程与实践的案例范围,也是不错的选择。 所以,本系列教程相关的实践是在本地部署大模型,并且使用Java代码与本地的大模型进行交互。除了本地部署的大模型以为,也是可以付费接入网络上的一些付费大模型,比如Deepseek、千问等等,但是对我个人来讲,私有化的本地大模型更加有意义,毕竟可以免费的集成到企业级应用实践当中。 1.安装Ollama (1)Ollama 是一个用于简化本地大模型部署和使用的平台或工具。它的主要作用是帮助用...

文章分类:经验分享 技术知识

Spring Ai

SpringBoot中jQuery.ajax文件上传

作为一名不特专业的前端选手,在2019年之前处理文件上传一直使用的都是form表单提交请求的方式,这取决于必须使用post方式,且表单需要设置`multipart/form-data`等决定性因素,即便是使用jQuery.form插件的文件表单提交,它的内部实现也是判断当前提交的表单是否包含input file类型,若不存在将表单提交转换为Ajax的形式;若存在则是构造iframe的形式,将表单的target指向iframe来实现页面的无刷新。 1.简单介绍 以上是我对于仿Ajax文件上传的一些历史实现,更为重要的是作为一名编码经验非常古老的选手看来,经历过IE6、IE7盛行的时代,也包含JSP风靡的时候,别谈Ajax能够实现文件上传了,也许是各大浏览器对HTML5规范的支持后,使得Ajax可以上传文件了,至于什么历史事件导致的Ajax能够上传文件不做深究了,也是从2019年到现在的文件上...

文章分类:经验分享 技术知识

SSHD实践(四)使用Shell执行远程命令

前面介绍了使用Apache Mina的ChannelSftp和SftpFileSystem实现对远程文件的操作,以及使用ChannelExec来执行一些远程服务器的命令,本文继续实践SSHD的系列文章,使用ChannelShell来执行一些远程服务器的命令。 1.基本介绍 在Apache Mina SSHD中,ChannelShell是用于使用交互式shell的类。下面是ChannelShell的详细介绍和特征: (1)交互式shell支持:ChannelShell允许您在远程服务器上使用交互式shell。它会模拟一个本地shell会话,您可以像在本地shell中一样,在远程服务器上执行命令,并与其进行交互。 (2)命令执行和输出处理:ChannelShell可以执行远程命令,并处理命令的输出。您可以通过输入流将命令写入shell会话,然后通过读取输出流获取命令的输出结果。这使您能够与远程...

文章分类:经验分享 技术知识

Sftp

SSHD实践(三)使用Exec执行远程命令

前面介绍了使用Apache Mina的ChannelSftp和SftpFileSystem实现对远程文件的操作,本文继续实践SSHD的系列文章,使用ChannelExec来执行一些远程服务器的命令。 1.简单介绍 ChannelExec是Apache Mina SSHD中的一个类,它用于执行远程命令。以下是ChannelExec的详细介绍和特征: (1)远程命令执行:ChannelExec允许您在远程服务器上执行命令,它通过SSH协议将命令发送到服务器,并返回命令的执行结果。这使得您可以通过SSH连接远程服务器并执行特定的命令。 (2)异步执行:ChannelExec支持异步执行命令,这意味着您可以在命令发送之后继续执行其他操作,而不需要等待命令执行完毕。它使用回调机制来处理命令的执行结果,使您能够通过事件处理代码异步获取命令的执行状态和结果。 (3)命令参数设置:ChannelExec允...

文章分类:经验分享 技术知识

Sftp

SSHD实践(二)基于文件系统操作远程文件

前面介绍了使用Apache Mina SSHD的ChannelSftp实现对远程文件的操作,本文继续实践SSHD的系列文章,使用SftpFileSystem来实现对远程文件的操作。 1.基本介绍 Apache Mina SSHD中的ChannelSftp和SftpFileSystem都可以操作远程服务器的文件,但它们之间有一些区别: (1)架构:ChannelSftp是基于SSH协议实现的SFTP协议的客户端,而SftpFileSystem是基于VFS(Virtual File System)框架的实现,可以通过多种协议(包括SFTP)访问远程文件系统。 (2)使用方式:ChannelSftp通过创建一个SFTP通道与远程服务器进行通信,直接发送SFTP指令来对远程文件进行操作,如上传、下载、删除等。而SftpFileSystem通过创建一个文件系统对象,并通过提供的API来访问和操作远程...

文章分类:经验分享 技术知识

Sftp
封面图片

SSHD实践(一)简介和远程文件的操作

1.基本介绍 (1)Apache MINA SSHD(Secure Shell Daemon)是一个开源的Java库,专门用于提供SSH(Secure Shell)服务。它是基于Apache MINA(Multipurpose Infrastructure for Network Applications)开发的,这也使得它具备了高度可定制和可扩展的特性。官网地址为:“https://mina.apache.org/sshd-project/”、“https://github.com/apache/mina-sshd”。 (2)SSH是一种网络协议,用于在不安全的网络环境中进行安全通信和远程操作。它主要用于远程登录、文件传输、以及安全的命令执行等场景。 (3)Apache MINA SSHD提供了一系列的SSH协议实现,包括SSH1和SSH2。它的设计目标是提供一个可靠、安全、高性能的SS...

文章分类:经验分享 技术知识

Sftp

JSch实践(三)使用Shell执行远程命令

前面介绍了使用JSch的ChannelSftp实现对远程文件的操作,也实践了基于ChannelExec执行一些脚本命令,本文继续实践JSch的系列文章,使用ChannelShell来执行一些远程服务器的命令。 1.基本介绍 ChannelShell是 JSch 库提供的另一个类,用于在远程服务器上执行交互式的命令和脚本。下面是一些关于ChannelShell的特征和使用说明: (1)交互式执行:ChannelShell是一种交互式的通道类型,可以在远程服务器上执行命令并与其进行交互,类似于在终端中操作。 (2)命令执行和结果处理:使用ChannelShell可以执行多个命令,并获取每个命令的执行结果。你可以通过输入流(getInputStream)获取命令执行的标准输出,通过错误流(getErrStream)获取错误信息。 (3)命令的输入和输出:你可以通过输入流(getOutputStr...

文章分类:经验分享 技术知识

Sftp

JSch实践(二)使用Exec执行远程命令

前面介绍了使用JSch的ChannelSftp实现对远程文件的操作,本文继续实践JSch的系列文章,使用ChannelExec来执行一些远程服务器的命令。 1.简单介绍 ChannelExec是 JSch 提供的用于执行远程命令的类。它允许你在远程服务器上执行命令并获取输出结果。 下面是一些关于 `ChannelExec` 的特征和使用说明: (1)执行任意命令:`ChannelExec` 可以用于执行任何合法的命令,包括系统命令、脚本和自定义命令等。 (2)命令参数传递:你可以通过 `setCommand` 方法设置要执行的命令,还可以通过参数传递命令的选项、参数和参数值。 (3)直接执行和管道执行:`ChannelExec` 支持直接执行单个命令,也支持执行一系列命令并将前一个命令的输出作为下一个命令的输入,实现管道执行。 (4)获取执行结果:通过 `getInputStream` 方...

文章分类:经验分享 技术知识

Sftp
封面图片

JSch实践(一)简介和远程文件的操作

1.基本介绍 (1)JSch是Java Secure Channel的缩写,是一个JAVA实现的SSH2协议的开源库。它提供了在Java程序中进行SSH(Secure Shell)连接和通信的功能,官网地址为:“http://www.jcraft.com/jsch/”、“https://github.com/is/jsch”。 (2)JSch可以用于在Java程序中连接到远程服务器,并执行远程命令、传输文件等操作。它对SSH2协议的支持非常完整,并且提供了丰富的API和功能,使得开发人员能够轻松地编写出与SSH服务器进行交互的Java程序。 (3)JSch的主要特点包括: A. 支持SSH2协议的主要功能,包括认证、加密、数据压缩等。 B. 提供了丰富的API,可以方便地进行SSH连接、执行命令、传输文件等操作。 C. 支持各种身份验证方式,包括密码、公钥和代理等。 D. 可以通过端口转发...

文章分类:经验分享 技术知识

Sftp

学习arthas(十六)热点功能火焰图

arthas profiler提供了火焰图(Flame Graph)功能,可以帮助开发人员更直观地了解应用程序的性能瓶颈和调用链。profiler 命令支持生成应用热点的火焰图。本质上是通过使用 async-profiler不断的采样,然后把收集到的采样结果生成火焰图。 什么是火焰图(Flame Graph)? 火焰图是一种可视化工具,用于呈现函数调用栈的层级结构和执行时间的比例。它以一种直观的方式显示了程序中各个函数的执行时间和调用关系,能够帮助开发人员快速定位性能瓶颈所在并进行优化。不过需要注意,profiler模块在采集性能数据时会对应用造成一定的影响,建议在生产环境中谨慎使用。 如何生成火焰图? 使用arthas profiler生成火焰图的步骤如下: (1)启动arthas控制台,并连接到目标应用程序。 (2)执行profiler start命令,开始性能分析。 (3)让应用程序...

文章分类:经验分享 技术知识

Arthas

学习arthas(十五)无侵入的热部署

1.基本介绍 arthas提供了热部署功能,可以在不停止应用程序的情况下修改代码并立即生效。所以在前面也实践了它的诸多命令都是为在分析问题的原因上,若问题分析清除了,能够直接在不影响用户使用的前提下修正解决,就显得非常高端了。在arthas里提供了jad、mc、redefine、retransform几个命令专门可协同的作用于程序的热部署。 所谓的热部署是指在不重启Java应用程序进程的前提下覆盖现有的程序版本代码达到运行生效的目的,同时热部署也不是无脑的代码更新,通常像一些框架应用的配置文件的修改后不会被更新(一般框架对于配置文件只读取一次),修改了全局静态全局常量也基本不会生效,新增加的类和方法也不会生效,仅在修改了方法内部的代码会生效,当然了,对于无限循环的场景也不会生效。闲扯几句JRebel实在是太高端了,它可以支持新创建的类、新增加的方法、常量的修改、SpringBoot项目中的...

文章分类:经验分享 技术知识

Arthas
本站信息

 运营时间: 天

 用户数量: 人

 文章数量: 篇

 评论数量: 条

 点赞个数: 个

 最后更新:

标签云