wordpress建站上海,搭建自己的邮件服务器,wordpress+模板层级,企业获客方式最近在看视觉大模型的能力#xff0c;然后用了某网站的一个验证码试了试#xff0c;竟然连这样的验证码都能认识#xff0c;这个有点夸张#xff0c;尤其是这个9和6颠倒的都能理解#xff0c;现在的能力已经这么牛了么 具体就是用了通义最新的qwen vl模型spring ai alibab…
最近在看视觉大模型的能力然后用了某网站的一个验证码试了试竟然连这样的验证码都能认识这个有点夸张尤其是这个9和6颠倒的都能理解现在的能力已经这么牛了么 具体就是用了通义最新的qwen vl模型spring ai alibaba 。
这个识别能力和理解能力绝对能处理非常多的不同类型的任务了。
下面是我具体做的代码 你也可以试试。 24年12月截止了赶紧来拿奖金总计30万Spring AI Alibaba 应用框架挑战赛开赛点此了解 Spring AI Alibaba的简单介绍
Spring AI Alibaba是基于Spring AI框架构建的实现特别针对阿里云的百炼系列云产品大模型进行接入。它支持包括对话、文生图、文生语音等多种生成式AI功能并提供了如OutputParser、Prompt Template等实用工具。Spring AI Alibaba的核心优势在于其标准化API设计使得开发者能够轻松切换不同AI服务提供商如通义、Llama等国产大模型仅需通过简单的配置更改即可完成。这不仅简化了开发流程还极大提高了应用的灵活性与可移植性。 基于Spring AI Alibaba做验证码识别 1. 环境准备
JDK版本要求JDK 17或以上。
Spring Boot版本要求3.3.x或更高。
2. 获取API Key
首先你需要在阿里云申请通义千问的API key。按照以下步骤操作
访问阿里云百炼页面并登录你的账号。
开通“百炼大模型推理”服务。
服务开通成功后在控制台创建一个新的API key并妥善保管好这个key因为后续配置会用到它。
设置环境变量以存储API key
export AI_DASHSCOPE_API_KEY${REPLACE-WITH-VALID-API-KEY}
请确保将REPLACE-WITH-VALID-API-KEY替换为你实际获得的API key。
3. 开通图像生成模型
接下来需要开通用于图像识别的通义万象模型
登录百炼控制台。
在左侧列表栏选择模型广场 - 图像生成 - 找到通义万象。
点击该模型对应的“API调用”按钮。
记录下模型的英文名称qwen-vl-max-latest这将在后面的配置中使用。
4. 配置Maven依赖
为了能够使用Spring AI Alibaba的功能我们需要添加一些额外的仓库以及相关的Maven依赖项至pom.xml文件中。
添加Spring仓库支持包括快照仓库
repositoriesrepositoryidsonatype-snapshots/idurlhttps://oss.sonatype.org/content/repositories/snapshots/urlsnapshotsenabledtrue/enabled/snapshots/repositoryrepositoryidspring-milestones/idnameSpring Milestones/nameurlhttps://repo.spring.io/milestone/urlsnapshotsenabledfalse/enabled/snapshots/repositoryrepositoryidspring-snapshots/idnameSpring Snapshots/nameurlhttps://repo.spring.io/snapshot/urlreleasesenabledfalse/enabled/releases/repository/repositories然后在dependencies标签内加入对spring-ai-alibaba-starter的支持
parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion3.3.4/versionrelativePath/ !-- lookup parent from repository --
/parentdependenciesdependencygroupIdcom.alibaba.cloud.ai/groupIdartifactIdspring-ai-alibaba-starter/artifactIdversion1.0.0-M3.1/version/dependency!-- 其他依赖 --
/dependencies5. 编写控制器逻辑
最后一步是编写处理图像识别请求的控制器代码。这里我们定义了一个简单的RESTful API端点/ai/imageRecognition用来接收待分析的图像文件路径并将其作为输入发送给AI模型进行处理。
RestController
RequestMapping(/ai)
public class CaptchaRecognitionController {private final ChatModel chatModel;Value(classpath:your_captcha.png) // 将这里的your_captcha.png替换成你实际使用的图片名private Resource captchaImage;public CaptchaRecognitionController(ChatModel chatModel) {this.chatModel chatModel;}private static final String DEFAULT_PROMPT 我应该按照要求顺序的点击图片的哪里才能继续操作给我方向和坐标;private static final String DEFAULT_MODEL qwen-vl-max-latest;GetMapping(/imageRecognition)public FluxString recognizeCaptcha(RequestParam(value prompt, required false, defaultValue DEFAULT_PROMPT) String prompt,HttpServletResponse response) throws Exception {response.setCharacterEncoding(UTF-8);ListMedia mediaList List.of(new Media(MimeTypeUtils.IMAGE_PNG, captchaImage));UserMessage message new UserMessage(prompt, mediaList);message.getMetadata().put(DashScopeChatModel.MESSAGE_FORMAT, MessageFormat.IMAGE);FluxChatResponse fluxResponse chatModel.stream(new Prompt(message, DashScopeChatOptions.builder().withModel(DEFAULT_MODEL).withMultiModel(true).build()));return fluxResponse.map(resp - resp.getResult().getOutput().getContent());}
}
注意上述代码示例假设你的验证码图片被放置在了项目的src/main/resources目录下并命名为your_captcha.png。如果实际情况有所不同请相应调整Value注解里的值。
通过上述步骤你应该已经成功集成了Spring AI Alibaba框架并能够实现对本地验证码图像的文字识别功能。当客户端访问指定URL时系统将以流的形式返回识别结果。