【基于Springboot 3.0开发,所以要求JDK版本为17及以上】
<dependency> <groupId>io.github.gemingjia</groupId> <artifactId>wenxin-starter</artifactId> <version>2.0.0-beta4</version> </dependency>
dependencies { implementation 'io.github.gemingjia:wenxin-starter:2.0.0-beta4' }
application.yml & application.yaml
gear: wenxin: access-token: xx.xxxxxxxxxx.xxxxxx.xxxxxxx.xxxxx-xxxx -------------或----------------- # 推荐 gear: wenxin: api-key: xxxxxxxxxxxxxxxxxxx secret-key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
application.properties
gear.wenxin.access-token=xx.xxxxxxxxxx.xxxxxx.xxxxxxx.xxxxx-xxxx
模型qps设置
gear: wenxin: model-qps: # 模型名 QPS数量 - Ernie 10 - Lamma 10 - ChatGLM 10
@Configuration public class ClientConfig { @Bean @Qualifier("Ernie") public ChatModel ernieClient() { ModelConfig modelConfig = new ModelConfig(); // 模型名称,需跟设置的QPS数值的名称一致 (建议与官网名称一致) modelConfig.setModelName("Ernie"); // 模型url modelConfig.setModelUrl("https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions"); // 单独设置某个模型的access-token, 优先级高于全局access-token, 统一使用全局的话可以不设置 modelConfig.setAccessToken("xx.xx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); ModelHeader modelHeader = new ModelHeader(); // 一分钟内允许的最大请求次数 modelHeader.set_X_Ratelimit_Limit_Requests(100); // 一分钟内允许的最大tokens消耗,包含输入tokens和输出tokens modelHeader.set_X_Ratelimit_Limit_Tokens(2000); // 达到RPM速率限制前,剩余可发送的请求数配额,如果配额用完,将会在0-60s后刷新 modelHeader.set_X_Ratelimit_Remaining_Requests(1000); // 达到TPM速率限制前,剩余可消耗的tokens数配额,如果配额用完,将会在0-60s后刷新 modelHeader.set_X_Ratelimit_Remaining_Tokens(5000); modelConfig.setModelHeader(modelHeader); return new ChatClient(modelConfig); } } @RestController public class ChatController { // 要调用的模型的客户端(示例为文心) @Resource @Qualifier("Ernie") private ChatModel chatClient; /** * chatClient.chatStream(msg) 单轮流式对话 * chatClient.chatStream(new ChatErnieRequest()) 单轮流式对话, 参数可调 * chatClient.chatsStream(msg, msgId) 连续对话 * chatClient.chatsStream(new ChatErnieRequest(), msgId) 连续对话, 参数可调 */ /** * 以下两种方式均可 */ // 连续对话,流式 @GetMapping(value = "/stream/chats", produces = MediaType.TEXT_EVENT_STREAM_VALUE) public Flux<String> chatSingleStream(@RequestParam String msg, @RequestParam String uid) { // 单次对话 chatClient.chatStream(msg) Flux<ChatResponse> responseFlux = chatClient.chatsStream(msg, uid); return responseFlux.map(ChatResponse::getResult); } // 连续对话,流式 @GetMapping(value = "/stream/chats1", produces = MediaType.TEXT_EVENT_STREAM_VALUE) public SseEmitter chats(@RequestParam String msg, @RequestParam String uid) { SseEmitter emitter = new SseEmitter(); // 支持参数设置 ChatErnieRequest(Ernie系列模型)、ChatBaseRequest(其他模型) // 单次对话 chatClient.chatsStream(msg) chatClient.chatsStream(msg, uid).subscribe(response -> { try { emitter.send(SseEmitter.event().data(response.getResult())); } catch (IOException e) { throw new RuntimeException(e); } }); return emitter; } } /** * Prompt模板被百度改的有点迷,等稳定一下再做适配... */
v2.0.0-alpha1 // 始终上传失败...建议自己拉仓库install
v2.0.0 - bata4
v2.0.0 - bata3
v2.0.0 - bata
! 2.x 版本与 1.x 版本不兼容
MIT License Copyright (c) 2023 GMerge Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


GPT充值
支持 ChatGPT Plus / Pro 充值服务,支付便捷,自动发货,售后可查。


AI 图片生成平台
GPT Image 2 是面向用户的 AI 图片生成平台,支持文生图、图生图及多模型创意工作流。


你的AI Agent团队
Vecbase 是专为 AI 团队打造的智能工作空间,将数据管理、模型协作与知识沉淀整合于一处。算法、产品与业务在同一平台无缝协同,让从数据到 AI 应用的落地更快一步。


全球首个AI音乐社区
音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。


阿里Qoder团队推出的桌面端AI智能体
QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。


一站式搞定所有学习需求
不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。


为AI短剧协作而生
专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。


能听懂你表达的视频模型
Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。


国内直接访问,限时3折
输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动


职场AI,就用扣子
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号