使用 EFCore 和 PostgreSQL 实现向量存储及检索
使用 EFCore 和 PostgreSQL 实现向量存储及检索 本文探讨了如何使用 EFCore 和 PostgreSQL 实现向量存储和检索,以及如何利用 PostgreSQL 进行全文检索。文章首先介绍了向量数据库的市场需求和发展趋势,然后详细说明了 PostgreSQL 的 pgvector 插件的使用方法,包括创建表、插入数据、查询向量以及建立索引等。接着,文章讨论了如何将 pgvector 与 EFCore 集成,并提供了相应的代码示例。最后,文章还探讨了 PostgreSQL 的全文检索功能,包括使用中文分词器 pg_jieba 来增强中文检索效果,并分享了作者在构建知识库时的实践经验和思考。
基于 LLaMA 和 LangChain 实践本地 AI 知识库
基于 LLaMA 和 LangChain 实践本地 AI 知识库 本文讨论了人工智能领域的最新发展,主要围绕着基于 Transformer 和 MoE 架构的多模态模型 Gemini 1.5 Pro,以及 OpenAI 推出的支持从文字生成视频的模型 Sora。文章提到通用人工智能(AGI)的实现正在加速,指出 AI 应用落地的主要实践围绕大模型微调、提示词工程和知识增强展开。在介绍 LangChain 中的知识库构建过程中,涉及Loader、Splitter、Embeddings 和 VectorStore 等步骤。此外,还讨论了 RAG 和 GPTs 在实践中的应用,以及LangChain 中的 Chain 概念,以及如何将其与大语言模型和知识库结合以实现 Q&A 和 对话式检索。文章最后呼吁关注LangChain 的最新发展和替代品 AutoChain、Embedchain。
使用 llama.cpp 在本地部署 AI 大模型的一次尝试
使用 llama.cpp 在本地部署 AI 大模型的一次尝试 2023 年被誉为 AIGC 元年,随着技术浪潮,人们开始对人工智能的发展产生担忧。文章介绍了使用 llama.cpp 在本地部署AI大模型的过程,包括编译、量化和模型下载。通过对不同模型的体验,展示了其运行效果和评估。最后,将 ChatGPT-Next-Web 与 llama.cpp 结合,展示了本地部署 AI 大模型的潜力。整体讲述了私有化部署AI大模型的重要性和实践过程。
如何为 Git 配置多个 SSH Key
如何为 Git 配置多个 SSH Key 电视剧《繁花》中的情节展示了汪小姐和宝总之间的关系,以“排骨是排骨,年糕是年糕”来表达分道扬镳后的境况。文章讨论了人们需要亲密关系和界限感,类比工作与生活的关系。针对程序员如何为 Git 配置多个 SSH Key,介绍了生成 SSH Key、配置文件和添加公钥的步骤,以及在不同平台上验证和使用的方法,最后提及了在 SourceTree 中配置多个 SSH Key 可能带来的身份混淆问题和解决建议。
C# 使用 LibUsbDotNet 实现 USB 设备检测
C# 使用 LibUsbDotNet 实现 USB 设备检测 本文讨论了工作中围绕硬件展开的问题,以及尝试解决"简单"问题的经历。作者分享了在程序中集成某厂商硬件时遇到的挑战,并介绍了使用 WMI 和 LibUsbDotNet 库来检测和处理 USB 设备的方法。描述了如何通过硬件 ID 判断 USB 设备连接状态,并展示了通过 WMI 监听 USB 设备插入和拔出事件的实现。最终强调了编程的本质是不断照顾程序中的问题,以及对代码中的冗余部分进行反思。
基于 C# 实现样式与数据分离的打印方案
基于 C# 实现样式与数据分离的打印方案 这篇文章讨论了作者在忙碌工作生活中对打印技术和样式与数据分离的探索。作者提到了使用PrintDocument进行打印的基本思路和代码实现,以及尝试通过HTML模板来实现样式与数据分离的方案。作者还介绍了利用WebView2组件将HTML转换为图片或PDF文件,以及探讨了使用浏览器自带打印方案和RDLC报表设计的方法。最后,作者总结了这篇文章内容的零散性和对打印技术的看法。
基于 SVG 的图形交互方案实践
基于 SVG 的图形交互方案实践 数字大屏趋势中人们追求花里胡哨的外观,虽有多元素、多种类、多媒介,却仍未脱离中国式报表宿命。随着数字大屏发展到物联网和工业互联网领域,对数字大屏交互的需求不断增加,提到了使用HTML5图片热区特性和SVG实现交互的思路。通过示例展示了基于SVG的交互逻辑,比较了SVG和HTML5热区的优劣,认为SVG更友好且较为理想,但在实际应用中还需克服非技术挑战,如设计师适应矢量图格式等问题。文章指出处理拖拽、缩放、旋转等操作时会面临挑战。
前端视频播放技术概览
前端视频播放技术概览 2023年下半年,探讨了视频播放技术中的HTML5、RTMP、RTSP、HLS、FLV、WebRTC等内容。介绍了各种视频播放协议的特点和应用,以及搭建流媒体服务器的示例。探讨了Flash的消亡对视频播放领域的影响,以及前端技术的发展趋势。最后展望了未来的WebRTC技术在实时音视频通信方面的应用前景。文章内容涵盖了技术发展历史、实践应用和未来展望等方面,是一篇综合性的前端视频播放技术概览。
你好,千寻小姐
你好,千寻小姐 这段文字讨论了作者对电影《千寻小姐》中的角色以及电影情节的观点和感悟。故事围绕着女主角千寻展开,描述了她在一个小岛上的生活,以及她与周围人的互动和孤独感。千寻是一个富有温暖和善良的人,但同时也带着内心的孤独。文章探讨了孤独在人类生活中的普遍存在,以及对于个体来说,如何在孤独中寻找自我并温暖他人。文章还提到了女主角对于名字“千寻”的象征意义,以及与其他角色之间的关系,呈现了对孤独和温暖的思考。
温故而知新,再话 Python 动态导入
温故而知新,再话 Python 动态导入 本文回顾了 Python 中的动态导入机制,并通过作者开发基于 ChatGPT 的人工智能管家 Jarvis 的实践,探讨了如何利用动态导入实现插件化和按需加载模块。作者介绍了使用 importlib 模块和 __import__ 函数来动态导入模块的方法,并通过示例代码展示了如何根据不同条件导入不同的模块,以及如何通过动态导入解决环境差异带来的问题。文章还提到了作者对使用 virtualenv 管理 Python 版本和开发环境的体验。
后 GPT 时代,NLP 不存在了?
后 GPT 时代,NLP 不存在了? 在讨论中,提到了以 ChatGPT 为代表的大型语言模型对自然语言处理(NLP)领域的冲击,以及以 Rasa 为代表的传统NLP解决方案。对于“NLP已死”和“NLP不存在了”的观点,作者认为这代表了通用智能和专业智能两种人工智能方向。作者分享了在开发人工智能管家“贾维斯”过程中遇到的意图识别问题,并通过两种方法进行解决。最终强调了在机遇与挑战并存的时代中,选择合适的技术和平衡通用和专业智能的重要性。
视频是不能 P 的系列:使用 Milvus 实现海量人脸快速检索
视频是不能 P 的系列:使用 Milvus 实现海量人脸快速检索 本文探讨了如何利用 Milvus 向量数据库实现海量人脸数据的快速检索。作者首先回顾了人脸识别项目中遇到的挑战,包括性能下降和快速判断人脸是否在样本库中的问题。随后,文章介绍了向量化的概念以及 Milvus 的核心功能——相似度检索。通过详细的步骤和代码示例,展示了如何安装 Milvus、创建集合、插入数据、创建索引以及执行相似度搜索。此外,文章还讨论了 Milvus 在人脸识别上的应用,包括提取人脸特征、写入向量数据库以及查询最相似的人脸。最后,作者对使用向量数据库进行人脸识别的尝试和探索进行了总结,指出尽管向量数据库可能无法完全避免循环结构的宿命,但在样本数目不大的情况下,其优势并不显著,但仍然是值得尝试的方案。
GDI+下字体大小自适应方案初探
GDI+下字体大小自适应方案初探 在讨论中提到,人类在面对未知领域时会自然地分为不同派别,如降临派、拯救派和幸存派,同时探讨了人类对于机器取代工作的担忧以及人工智能与数学之间的关系。在具体技术上,介绍了通过GDI+绘制圆形和椭圆形印章的方法,以及基于宽高和周长动态调整字体大小实现字体自适应方案。文章通过数学知识的运用展示了对于确定性的追求和对复杂世界的探索,强调了科学与技术在带来便利的同时也展现了人类对确定性的渴望。
小爱音箱集成 ChatGPT 的不完全教程
小爱音箱集成 ChatGPT 的不完全教程 本文是关于如何将 ChatGPT 集成到小爱音箱中的不完全教程。文章首先介绍了智能家居的基础概念,包括 WIFI、ZigBee 和 BLE 等通信协议,以及智能家居平台的选择。接着,作者分享了如何使用 MiService 和 python-miio 库来控制米家设备,并通过编程获取小爱音箱的控制指令。文章还详细介绍了接入 ChatGPT 的方法,包括安装 openai 包和设置 API 密钥。最后,作者提出了两种集成 ChatGPT 和小爱音箱的思路:一种是通过获取对话记录并用 ChatGPT 回答问题,另一种是通过蓝牙直接连接音箱。文章以对未来 AI 发展的思考作为结尾。
程序员视角下的三体世界随想
程序员视角下的三体世界随想 作者在新年伊始撰写博客,反思过去一年未有圆满结局,疫情加剧了对故乡的思念。作者选择乘坐首班高铁回乡,并决定给家人一个拥抱,却发现面对熟悉的人时表达情感变得困难。尽管期待每次重逢都有不同体验,但对家的熟悉感带来了内心的安宁。作者不喜欢过年走亲戚,话题转向了《三体》中的三体问题,这是一个描述在万有引力作用下三个天体运动规律的复杂问题,至今无解析通解。三体问题贯穿物理学发展史,与牛顿第一定律和开普勒定律相关,但其运动轨迹不可预测,求解需要解18个一阶微分方程。尽管有特定解,但无法用通用公式描述所有情况。《三体》小说中,三体星球因受三个太阳影响,生活条件极端,居民需通过脱水和浸泡来适应。现实中的半人马座α三合星真实存在,其行星比邻星b面临X射线威胁,令外星生命存在成谜。作者将三体问题与分布式系统的 CAP 定理相提并论,探讨信息传递延迟和主从切换的一致性问题。最后,作者思考三体人的脱水和浸泡与程序员的序列化和反序列化之间的相似性,以及人的意识与肉体的关系,引发对个体身份和变化的深入思考。