1.树莓派实战:微信机器人(itchat实现)
2.手把手带你搭建一个语音对话机器人,中文5分钟定制个人AI小助手(新手入门篇)
3.chatglm2-2b+sdxl1.0+langchain打造私有AIGC(三)
4.AI办公自动化:用kimi批量把word转换成txt文本
5.我做了个chatPPT(含源码和prompt)
6.使用全套开源工具构建 LLM 应用实战:在 Dify 调用 Baichuan 开源模型能力
树莓派实战:微信机器人(itchat实现)
本文介绍如何利用树莓派和开源库itchat构建微信机器人,源码实现自动回复、中文AI聊天、源码定时发送天气预报以及控制摄像头等实用功能。中文树莓派作为小时在线的源码源码解读server,使得微信机器人的中文应用范围更加广泛。
itchat是源码一个用于微信个人号接口的开源库,通过少量代码(不足行)即可实现微信机器人功能。中文其原理是源码模拟微信网页版客户端,通过HTTP协议进行通信。中文具体实现细节可以参考github上的源码源码。
首先,中文实现自动回复功能。源码注册消息处理函数以应对不同类型的中文微信消息,包括文本、、语音、视频等。默认处理单聊消息,同时可以扩展处理群聊消息。程序启动后,通过扫描二维码登录,然后自动运行。为避免发送消息给自己无效,可以通过发送消息给文件传输助手filehelper实现相同效果。
接下来,实现AI聊天功能。结合AI本地库或在线API,如青云客,可实现基于关键字命令的对话功能。对于自由对话可能效果不佳。在实现AI聊天功能的基础上,可以进一步获取天气预报信息,通过AI请求传递特定地点的天气查询。
定时发送天气预报功能需要解决定时任务执行和消息发送问题。BA070WS1屏源码Python库apscheduler可实现定时任务调度,而itchat提供便捷的API来搜索特定群。
控制摄像头功能则包括通过USB接口连接摄像头、使用fswebcam进行拍照以及使用linphone进行视频通话。fswebcam是用于拍照的命令行工具,而linphone是一个开源的IP电话客户端,适合在树莓派上使用。
完整代码已上传至GitHub,提供实用示例和详细的实现步骤。除了上述功能,还增加了健身打卡、睡觉打卡等实用功能,使得微信机器人的功能越来越丰富。
参考itchat提供的教程文档,可以找到更多关于微信机器人功能的实现和扩展。通过利用树莓派和itchat,开发微信机器人成为了可能,为自动化和智能化应用提供了新的途径。
手把手带你搭建一个语音对话机器人,5分钟定制个人AI小助手(新手入门篇)
想象一下,身边有一个随时待命、聪明过人的个人AI小助手,只需语音指令就能满足你的需求。那么,如何在5分钟内打造这样一款专属的AI呢?本文将带你从零开始,以新手友好的方式,一步步搭建语音对话机器人。语音对话系统的基础构建
一个语音对话机器人的核心由硬件和软件两部分组成,本文主要关注软件部分,它通常包括:快速搭建步骤
为了简化过程,我们将采用开源技术进行搭建。首先,使用阿里开源的FunASR进行语音识别,其中文识别效果优于OpenAI Whisper。你可以通过以下代码测试:...
大语言模型与个性化回答
利用大语言模型(LLM),屏幕自动识别软件源码在哪如LLaMA3-8B,理解和生成回复。GitHub上已有中文微调的版本,部署教程如下:下载代码
下载模型
安装所需包
启动服务(注意内存优化)
通过人设提示词定制个性化回答
无GPU资源时,可选择调用云端API,后续文章会详细介绍。语音生成(TTS)
使用ChatTTS将文字转化为语音,同样采用FastAPI封装,具体步骤略。前端交互:Gradio
Gradio帮助我们快速构建用户界面,以下是WebUI的代码示例:...
系统搭建完毕与扩展
现在你已经拥有一个基础的语音对话系统,但可以进一步添加更多功能,提升用户体验。如果你觉得本文有帮助,记得点赞支持。 关注我的公众号,获取更多关于AI工具和自媒体知识的内容。如果你想获取源码,请私信关键词“机器人”。chatglm2-2b+sdxl1.0+langchain打造私有AIGC(三)
在langchain框架下实现LLM流式响应,本文详细阐述了整个过程。首先,我们基于上篇文章的基础,实现了使用langchain的LLMChain完成ChatGLM的调用。通过重写ChatGLM类并继承LLM,同时重写_call()方法,使得大语言模型能够实现流式响应。然而,langchain并未直接将流式响应的结果返回至调用LLMChain的方法中。
**1.1** **langchain源码结构梳理
**为了实现流式响应的需求,我们从stream方法入手,发现其内部的yield机制似乎在采用流式响应策略。进一步跟踪发现,stream方法实际上调用了一个抽象方法`invoke`。继续探索`invoke`方法的美女网站源码免费下载视频实现,我们发现这实际上调用了`__call__`方法,进而调用`_call`方法,最后在`_call`方法中返回了`llm.generate_prompt()`。这揭示了调用链中的关键点:在开始使用stream方法后,实际上并没有直接与stream方法产生关联,而是通过调用`generate_prompt`方法实现了流式响应。
**1.2** **重写关键方法
**为了实现流式响应,我们首先明确目标:希望`predict`方法调用之后能够采用流式响应,同时不影响原本的`predict`方法。我们顺着调用链,从`Chain`到`LLMChain`再到`BaseLLM`和`LLM`类中进行探索。在`BaseLLM`中,我们找到了`stream`方法,但其内部的`_stream`方法未被实现。因此,我们决定在`ChatGLM`中实现`_stream`方法,以解决流式响应的最终点问题。同时,为了确保`langchain`调用`BaseLLM`的`stream`方法,我们重新编写了一个类,继承自`LLMChain`,并在其中重写了`predict`方法,以确保整个流程能够实现流式响应。
**1.3** **重写langchain的文档处理链
**面对长文本处理需求,尽管`langchain`提供了`load_summarize_chain`方法,但并未实现流式调用。我们遵循相同思路,对`load_summarize_chain`方法进行了重写,重点关注在`reduce`阶段实现流式响应。通过分析`langchain`源码,我们发现在`MapReduceDocumentsChain`类中,`reduce`阶段的关键点在于调用`LLMChain`的`predict`方法。为了实现流式响应,我们创建了一个新的类`Stream_Map_Reduce_Chain`,继承自`MapReduceDocumentsChain`,5G基站投资源码并在其中重写了`_load_map_reduce_chain`方法,将`combine_documents_chain`和`collapse_documents_chain`中的`llm_chain`替换为`Stream_Chain`类型。这样,当在`reduce`阶段调用`predict`方法时,能够直接调用`ChatGLM`类中的`_stream`方法实现流式响应。
综上所述,通过深入理解`langchain`框架的内部实现,并针对关键环节进行方法重写,我们成功实现了在不同场景下的流式响应需求,包括普通问答和长文本处理。这些改进不仅提高了响应的实时性和效率,也为`langchain`框架的使用提供了更灵活和高效的方式。
AI办公自动化:用kimi批量把word转换成txt文本
在Kimichat中输入提示词:
你是一个Python编程专家,要完成一个Python脚本编写的任务,具体步骤如下:
打开文件夹:F:\aword
读取里面docx格式的word文档,提取word文档中的第一行文字作为txt文本文档的标题名,将word文档转换为txt文档;重命名txt文档;注意:每一步相关信息都要输出到屏幕;在 Windows 系统中,默认的文件编码是 GBK,它不支持某些特殊的 Unicode 字符,为了解决这个问题,可以在打开文件进行写入操作时,指定使用 utf-8 编码。
kimichat生成Python源代码:
python
import os
from docx import Document
# 定义文件夹路径
folder_path = 'F:\\aword'
# 确保文件夹存在
if not os.path.exists(folder_path):
print(f"文件夹 { folder_path} 不存在。")
else:
# 列出文件夹中所有的docx文件
docx_files = [f for f in os.listdir(folder_path) if f.endswith('.docx')]
# 检查是否有docx文件
if not docx_files:
print("没有找到docx格式的Word文档。")
else:
for docx_file in docx_files:
# 构建完整的文件路径
docx_file_path = os.path.join(folder_path, docx_file)
# 读取Word文档
doc = Document(docx_file_path)
try:
# 提取第一行文字作为标题
title = doc.paragraphs[0].text.strip()
print(f"提取的标题为: { title}")
# 构建txt文件的完整路径
txt_file_path = os.path.join(folder_path, f"{ title}.txt")
# 将Word文档转换为txt
with open(txt_file_path, 'w', encoding='utf-8') as txt_file:
for para in doc.paragraphs:
txt_file.write(para.text + ' ')
print(f"文档 { docx_file} 已转换为txt格式。")
except IndexError:
print(f"文档 { docx_file} 中没有文本。")
except Exception as e:
print(f"处理文档 { docx_file} 时发生错误: { e}")
在vscode中运行源代码,成功。
我做了个chatPPT(含源码和prompt)
在现代科技的推动下,自动驾驶的发展现状正逐渐成为汽车行业瞩目的焦点,其关键在于不断突破技术瓶颈和法规限制。自动驾驶的核心技术包括感知、决策和控制,而各种智能算法的融合与优化是实现自主驾驶的关键。近年来,深度学习和人工智能的融合显著提升了自动驾驶的性能,如GPT 3.5 TURBO的运用,为车辆提供精确的环境感知和路径规划能力。
另一方面,感冒类型的区分也至关重要。我们通常区分病毒感冒和细菌感冒,前者由病毒引起,后者则主要由细菌引发。症状和治疗方法有所不同,科学的诊断是选择合适疗法的前提。对于预防和治疗,了解这些基本知识有助于我们更好地应对感冒季节。
在车机开发流程中,创造性的应用技术为简化工作提供了可能。通过自动化工具,如输入话题就能生成专业的PPT,功能强大,能够自动生成文本、润色标题、选择色彩并插入AI插图。这个过程巧妙地结合了GPT 3.5 TURBO的文本生成能力,Dalle2的图像转换技术,以及python-pptx库来构建出高质量的演示文档。然而,务必确保科学上网以访问开放AI接口,同时注意费用问题,可能需要寻找替代方案来降低成本。
在使用源码时,务必遵循一些注意事项。首先,确保网络环境允许访问开放AI接口;其次,合理安排接口调用次数,以避免因长度限制而影响生成内容的完整度。同时,记得优化代码以提高效率和节省资源。
通过这些工具和技巧,我们可以快速创建专业且个性化的PPT,极大地提升了工作效率。在实际应用中,如上所示,一个示例JSON数据详细展示了如何将数据组织成PPT内容,包括页面标题、子标题、列表项以及颜色选择,为实际演示提供了清晰的结构和视觉呈现。
总的来说,自动驾驶的探索和感冒知识的理解,以及利用先进技术创建有影响力的PPT,都是我们日常生活中科技与生活融合的生动例证。通过巧妙地整合AI工具和编程技巧,我们能创造出既高效又富有吸引力的内容,展现出科技的力量和创新的无限可能。
使用全套开源工具构建 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官网部署文档,CloneDify源代码,启动Dify,检查容器运行状态。在浏览器访问部署结果。 接入Xinference配置模型供应商: 在Dify设置中填入Xinference模型信息,注意SeverUrl使用局域网IP,获取WSL的IP地址。配置Baichuan-chat模型,创建应用。 后记: 本地部署结合Dify.AI,快速构建基于开源LLM的AI应用成为可能。通过持续迭代和优化,提升应用性能。Dify提供了一个完整的LLM应用技术栈,简化了构建和管理过程,支持数据清洗、标注等服务。LLM应用的场景和能力将进一步丰富,门槛降低。OpenAI 开源的免费 AI 语音转文字工具 - Whisper,一步一步本地部署运行
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应用