1.����aiԴ��
2.使用全套开源工具构建 LLM 应用实战:在 Dify 调用 Baichuan 开源模型能力
3.带桌面推送Ai智能客服系统在线客服源码
4.树莓派实战:微信机器人(itchat实现)
5.AI与PDE(七):AFNO模型的聊天聊天源代码解析
6.AI顶底公式?
����aiԴ��
OpenAI 推出的开源免费工具 Whisper,以其出色的源码源码语音识别功能吸引了不少关注。这款模型不仅能够进行多语言的工具语音转文本,还能进行语音翻译和语言识别,聊天聊天实用价值极高。源码源码市面上许多语音转文字服务如讯飞语记等都收费,工具油猴脚本下载网页视频源码而Whisper作为开源选择,聊天聊天无疑是源码源码一个经济实惠且性能强大的解决方案。
想在本地体验Whisper,工具首先需要为Windows设备安装ffmpeg和rust。聊天聊天ffmpeg可以从ffmpeg.org下载并配置环境变量,源码源码而rust则可以从rust-lang.org获取并确保命令行可用。工具接着,聊天聊天创建一个python虚拟环境,源码源码安装Whisper所需的工具依赖库。
运行Whisper的过程相当直接。通过命令行,只需提供音频文件如"Haul.mp3",并指定使用"medium"模型(模型大小从tiny到large递增)。首次运行时,Whisper会自动下载并加载模型,然后开始识别并输出文本,同时将结果保存到文件中。如果想在Python代码中集成,茄子视频源码也相当简单。
如果你对此技术感兴趣,不妨亲自尝试一下。项目的源代码可以在github.com/openai/whisper找到。这不仅是一次AI技术的体验,还可能开启语音转文字的新篇章。更多详情可参考gpt.com/article/的信息。
标签推荐:#AI技术 #OpenAI开源 #Whisper模型 #语音转文字 #ChatGPT应用
使用全套开源工具构建 LLM 应用实战:在 Dify 调用 Baichuan 开源模型能力
在当前开源大语言模型的热潮中,许多开发者希望本地部署开源LLM(大型语言模型),用于研究LLM或构建基于开源LLM的应用。笔者也尝试通过开源社区的项目,本地部署服务构建自己的LLM应用。那么,本地部署开源LLM构建聊天应用需要哪些准备呢?本文将详细介绍步骤与工具,包括本地环境准备、大型语言模型、推理服务以及使用开源平台Dify.AI快速构建应用。 本地环境的准备: 为了部署高性能的开源大模型,需要一台配备高性能大显存NVIDIA显卡、大容量高速内存和大容量固态硬盘的本地机器。以Baichuan-chat-B模型为例,建议配置为:i9-K CPU、GTX双卡、至尊星空源码GB内存和2TB固态硬盘。 大型语言模型: 大型语言模型是构建应用的基础,不同模型根据预训练数据和任务目标的不同,其结构和知识学习也不同。在Hugging Face等热门AI社区,可以寻找感兴趣的开源LLMs进行尝试和能力对比。 本地部署推理服务: 推理服务将预训练模型加载至本地服务器,提供模型预测接口,支持本地化使用LLM进行NLP任务,无需依赖云服务。使用GitHub上的一流开源项目,如LocalAI、openLLM等,一键部署热门开源模型。 Dify.AI:“LLM操作系统”:使用开源平台Dify.AI,构建基于不同LLM能力的AI应用变得简单。Dify支持快速调用和切换开源模型,包括托管在HuggingFace和Replicate上的所有模型,支持本地部署,通过Xorbits inference推理服务构建AI应用。
以下为实操步骤,从零开始介绍环境配置、安装CUDA、兔哥源码WSL2准备、Docker部署等。 环境准备: 基本的conda和Python环境推荐使用conda管理。首先安装conda,初始化Python3.环境。安装CUDA,推荐从官网直接下载Windows 版本。WSL2环境准备,安装Ubuntu版本并配置代理脚本。安装Docker Desktop,选择使用WSL2,确保WLS和Docker正常运行。配置WSL,安装WSL的CUDA,安装PyTorch。 部署推理服务Xinference: 根据Dify部署文档,Xinference支持多种大型语言模型。选择Xinference部署Baichuan-chat-3B模型。在WSL中安装Xinference基础依赖,并配置模型。启动Xinference并下载部署模型。使用Xinference管理模型查看已部署模型的uid。 部署Dify.AI: 参考Dify官网部署文档,Windows usbhub源码CloneDify源代码,启动Dify,检查容器运行状态。在浏览器访问部署结果。 接入Xinference配置模型供应商: 在Dify设置中填入Xinference模型信息,注意SeverUrl使用局域网IP,获取WSL的IP地址。配置Baichuan-chat模型,创建应用。 后记: 本地部署结合Dify.AI,快速构建基于开源LLM的AI应用成为可能。通过持续迭代和优化,提升应用性能。Dify提供了一个完整的LLM应用技术栈,简化了构建和管理过程,支持数据清洗、标注等服务。LLM应用的场景和能力将进一步丰富,门槛降低。带桌面推送Ai智能客服系统在线客服源码
该系统集安全防护和国际化多语言功能于一身,确保了客户信息的安全性同时支持全球多语言交流,助力外贸新机遇。
采用Thinkphp5和Workerman框架,搭配Nginx、PHP7.3和MySQL5.6环境,构建稳定高效的服务平台。支持多商户客服模式,不限坐席数量,用户可独立运行系统,数据存储于自服务器上,提供SSL加密和离线对话功能。
系统更新日志涵盖多项功能优化,如新增桌面右下角悬浮推送,方便用户在进行其他操作时亦能即时回复客户消息。此外,聊天页面集成常见问题及品牌logo、公司简介,提升用户沟通效率。客服配置中心增设自定义上传广告及链接选项,增强个性化服务体验。会话页面允许用户上传背景,进一步定制化交互环境。
欲获取源代码,请访问客服系统.zip文件,存放于蓝奏云。
树莓派实战:微信机器人(itchat实现)
本文介绍如何利用树莓派和开源库itchat构建微信机器人,实现自动回复、AI聊天、定时发送天气预报以及控制摄像头等实用功能。树莓派作为小时在线的server,使得微信机器人的应用范围更加广泛。
itchat是一个用于微信个人号接口的开源库,通过少量代码(不足行)即可实现微信机器人功能。其原理是模拟微信网页版客户端,通过HTTP协议进行通信。具体实现细节可以参考github上的源码。
首先,实现自动回复功能。注册消息处理函数以应对不同类型的微信消息,包括文本、、语音、视频等。默认处理单聊消息,同时可以扩展处理群聊消息。程序启动后,通过扫描二维码登录,然后自动运行。为避免发送消息给自己无效,可以通过发送消息给文件传输助手filehelper实现相同效果。
接下来,实现AI聊天功能。结合AI本地库或在线API,如青云客,可实现基于关键字命令的对话功能。对于自由对话可能效果不佳。在实现AI聊天功能的基础上,可以进一步获取天气预报信息,通过AI请求传递特定地点的天气查询。
定时发送天气预报功能需要解决定时任务执行和消息发送问题。Python库apscheduler可实现定时任务调度,而itchat提供便捷的API来搜索特定群。
控制摄像头功能则包括通过USB接口连接摄像头、使用fswebcam进行拍照以及使用linphone进行视频通话。fswebcam是用于拍照的命令行工具,而linphone是一个开源的IP电话客户端,适合在树莓派上使用。
完整代码已上传至GitHub,提供实用示例和详细的实现步骤。除了上述功能,还增加了健身打卡、睡觉打卡等实用功能,使得微信机器人的功能越来越丰富。
参考itchat提供的教程文档,可以找到更多关于微信机器人功能的实现和扩展。通过利用树莓派和itchat,开发微信机器人成为了可能,为自动化和智能化应用提供了新的途径。
AI与PDE(七):AFNO模型的源代码解析
本文旨在解析AFNO模型的源代码,帮助读者理解模型细节与主干结构。首先,AFNO模型的主干框架在afnonet.py文件中定义,通过类AFNONet实现。模型的核心功能封装在多个类与函数中,依据代码注释逐步解析。
在代码中,forward_features函数负责模型的核心逻辑,包括patch切割与mixing过程。这些操作由PatchEmbed类实现。位置编码self.pos_embed通过高斯初始化得到,增加模型的表示能力。
关键模块AFNO2d位于代码中,它基于FNO的原理,负责处理输入数据。AFNO2d模块在forward_features函数中通过循环调用,实现数据的转换与混合。
经过数个L layer处理后,模型进入类似解码器的结构,用于将中间结果映射为目标结果。这一过程通过self.head(x)实现,以解决特定分类问题。
本文通过梳理代码流程与结构图,直观展示了AFNO模型的工作原理。读者可参考AFNO的GitHub源代码与论文,深入理解细节。后续文章将继续探讨基于AFNO模型框架的其他应用,如FourCastNet。
AI顶底公式?
已通达信为例,AI分时顶底公式如下:趋势:SMA(((CLOSE-LLV(LOW,))/(HHV(HIGH,)-LLV(LOW,))*),3,1) ,COLORGREEN;
STICKLINE(趋势>,趋势,,4,0),COLORB;
STICKLINE(>趋势,趋势,,4,0),COLOR;
IF(趋势>, 趋势,DRAWNULL), COLORRED;
RSV:=(CLOSE-LLV(CLOSE,9))/(HHV(CLOSE,9)-LLV(CLOSE,9))*;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
TYP:=(HIGH+LOW+CLOSE)/3;
CCI:=(TYP-MA(TYP,))/(0.*AVEDEV(TYP,));
DIFF:=EMA(CLOSE,2)-EMA(CLOSE,);
DEA:=EMA(DIFF,6);
MACD:=2*(DIFF-DEA);
转点:=IF(K>D AND CCI>0 AND DIFF>DEA AND MACD>0,1,0);
STICKLINE(转点=1,,,6,0),COLORYELLOW;
STICKLINE(转点=0,,,6,0),COLORCYAN;
顶部:,COLORYELLOW;
底部:,COLORCYAN;
判断:SMA(趋势,3,1),COLORFFFF, LINETHICK2;
IF( 趋势>判断,判断,DRAWNULL), COLORYELLOW, LINETHICK2;
IF( 趋势<判断,判断,DRAWNULL) ,COLORFFF,LINETHICK2;
DRAWICON(CROSS(趋势,判断),判断,1);
DRAWICON(CROSS(趋势,顶部),顶部,2);
LC:= REF(CLOSE,1);
RSI:=SMA(MAX(CLOSE-LC,0),6,1)/SMA(ABS(CLOSE-LC),6,1)*;
VAR1:=(HHV(HIGH,9)-CLOSE)/(HHV(HIGH,9)-LLV(LOW,9))*-;
VAR2:=SMA(VAR1,9,1)+;
VAR3:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*;
VAR4:=SMA(VAR3,3,1);
VAR5:=SMA(VAR4,3,1)+;
VAR6:=VAR5-VAR2;
短线1: IF(VAR6>,VAR6-,0),COLORA6B8C1;
VAR2Q:=REF(LOW,1);
VAR3Q:=SMA(ABS(LOW-VAR2Q),3,1)/SMA(MAX(LOW-VAR2Q,0),3,1)*;
VAR4Q:=EMA(IF(CLOSE*1.3,VAR3Q*,VAR3Q/),3);
VAR5Q:=LLV(LOW,);
VAR6Q:=HHV(VAR4Q,);
VAR7Q:=IF(MA(CLOSE,),1,0);
VAR8Q:=EMA(IF(LOW<=VAR5Q,(VAR4Q+VAR6Q*2)/2,0),3)/*VAR7Q;
VR2:=REF(LOW,1);
VR3:=SMA(ABS(LOW-VR2),3,1)/SMA(MAX(LOW-VR2,0),3,1)*;
VR4:=EMA(IF(CLOSE*1.3,VR3*,VR3/),3);
VR5:=LLV(LOW,);
VR6:=HHV(VR4,);
VR7:=IF(MA(CLOSE,),1,0);
VR8:=EMA(IF(LOW<=VR5,(VR4+VR6*2)/2,0),3)/*VR7;
VR9:=IF(VR8>,,VR8);
主力进场:STICKLINE(VR9>-,0,VR9,3,0), , COLORFFFF;
洗盘:IF(VR9<REF(VR9,1),VR9,0),COLORGREEN,NODRAW;
STICKLINE(VR9<REF(VR9,1),0,VR9,3,0),COLORGREEN;
短线获利:STICKLINE(REF("KDJ.J",1)<0 AND "KDJ.J">0,,,2,0),COLORYELLOW;
VARK1:=(CLOSE-LLV(LOW,))/(HHV(HIGH,)-LLV(LOW,))*;
VARK2:=REVERSE(VARK1);
VARK3:=SMA(VARK1,3,1);
逃顶:=CROSS(,RSI);
STICKLINE( 逃顶,逃顶,,5,0),COLORFF;
STICKLINE( 逃顶,逃顶,,3,0),COLORFF;
STICKLINE( 逃顶,逃顶,,2,0),COLORFFAA;
STICKLINE( 逃顶,逃顶,,1,0),COLORFFCC;
D1:=(C+L+H)/3;
D2:=EMA(D1,6);
D3:=EMA(D2,5);
BBUY:=CROSS(D2,D3);
风险区:,COLORFFFF;
安全区:,COLORYELLOW,POINTDOT;
天线:,COLORFFFF;
强弱线:,COLORGREEN,POINTDOT;
DRAWICON(BBUY,(LOW *1),1);
VARR1:=SMA(MAX(CLOSE-REF(C,1),0),6,1)/SMA(ABS(CLOSE-REF(C,1)),6,1)*;
DRAWICON(CROSS(,VARR1),HIGH,);
DRAWTEXT(CROSS(,VARR1),,'逃'),COLORYELLOW;
MAV:=(2*C+H+L)/4;
VAR9:=LLV(LOW,);
VAR7:=HHV(HIGH,);
SK:= EMA((MAV-VAR9)/(VAR7-VAR9)*,);
SD: EMA(0.*REF(SK,1)+0.*SK,2);
高抛:, POINTDOT;
低吸:, POINTDOT;
强弱分界:, POINTDOT;
DRAWTEXT(CROSS(SD,),低吸,'●主力'),COLORF0FF,LINETHICK3;