AI 加持的代码编写实战:快速实现 Nginx 配置格式化工具 (soulteary.com)

【简介】

本篇文章聊聊如何使用 GPT 快速完成一个开源小项目,解决实际的问题,顺手点亮 GitHub 上 Nginx 开源社区的贡献者图标。“Talk is Cheap,Show you the Code。

点击查看原文 >>

@技术头条 2023-07-02 23:45 / 原作者微博:@soulteary / 0个评论
赞过的人: @IT技术博客大学习
要不要再学学下面的文章?
Agent是如何工作的:概念及LangChain实现 (it.deepinmind.com)
LLM(大型语言模型)在自主Agent领域的应用受到了广泛关注。你可能已经在诸如Auto-GPT、BabyAGI等流行应用中了解过它们的用法,这些应用几乎每天都层出不穷。

理解这些应用的基本原理并不复杂,因为大多数工具的工作流程大致相同。
by @技术头条 2024-03-31 21:13 查看详情
Nginx proxy_pass到AWS ALB的504问题 (www.iots.vip)
我们的部分后端服务正在经历容器化的改造, 由于历史包袱,现网的网关等设施无法一次性迁移到 k8s 集群中, 因此使用 Nginx proxy_pass 转发到 AWS ALB 这样一个曲线救国的临时方案。

但是在使用时,我们发现一段时间后 Nginx 出现了 504 的错误,检查后端服务均是正常的,而单独访问 ALB 也是正常响应的,因此便有了此文。
by @技术头条 2024-03-13 13:22 查看详情
Nginx proxy_pass到AWS ALB的504问题 (www.iots.vip)
我们的部分后端服务正在经历容器化的改造, 由于历史包袱,现网的网关等设施无法一次性迁移到 k8s 集群中, 因此使用 Nginx proxy_pass 转发到 AWS ALB 这样一个曲线救国的临时方案。

但是在使用时,我们发现一段时间后 Nginx 出现了 504 的错误,检查后端服务均是正常的,而单独访问 ALB 也是正常响应的,因此便有了此文。
by @技术头条 2024-03-13 13:22 查看详情
基于 LLaMA 和 LangChain 实践本地 AI 知识库 (blog.yuanpei.me)
通用人工智能,即:AGI(Artificial General Intelligence)的实现,正在以肉眼可见的速度被缩短,以前在科幻电影中看到的种种场景,或许会比我们想象中来得更快一些。不过,等待 AGI 来临前的黑夜注定是漫长而孤寂的。在此期间,我们继续来探索 AI 应用落地的最佳实践,即:在成功部署本地 AI 大模型后,如何通过外挂知识库的方式为其 “注入” 新的知识。
by @技术头条 2024-03-13 13:12 查看详情
为 log 实现的无锁 Ringbuffer (blog.codingnow.com)
这两天在改 log 模块。我们需要一个并发写 log 的模块,它有多个 log 生产者一个消费者,这个唯一的消费者在 log 线程中把 log 数据持久化。

大多数 log 生产者是在第三方库的 callback 函数中调用的,比如 bgfx ,如果写 log 不够快的话,就会阻塞渲染。这个 callback 需要自己保证线程安全。因为 bgfx 支持多线程渲染,所以写 log 的 callback 可能在不同的线程触发。

过去在实现 bgfx 的 luabinding 时,我实现了一个简单的 mpsc 队列,get_log 这个函数就是那个单一消费者,它取出队列中所有的 log 信息,返回到 lua 虚拟机中。

它是用 spin_lock 实现的。这两天,我想应该可以实现一个更通用的无锁版本。

在我的需求中,log 信息是允许丢掉的。所以我开了一个固定大小的 ri
by @技术头条 2024-03-12 22:45 查看详情
使用 llama.cpp 在本地部署 AI 大模型的一次尝试 (blog.yuanpei.me)
本文旨在尝试使用 llama.cpp 在本地部署 AI 大模型,随着人工智能的快速发展,我们逐渐认识到私有化部署的重要性和潜力。在此背景下,llama.cpp 作为一个纯 C/C++ 实现的 LLaMA 模型推理工具,提供了在本地环境下高性能的 AI 推理能力。在这篇文章中,我们可以了解到 llama.cpp 具有在 GPU 和 CPU 环境下运行的灵活性,满足私有化部署的需求。文章详细介绍了 llama.cpp 编译和部署的过程,为读者提供了一份在本地部署 AI 大模型的教程。私有化部署的 AI 大模型,相比于 ChatGPT 这类通用大模型,更注重数据隐私和安全性,对云服务的依赖更少,可以做到更好的本地化控制。虽然编译 llama.cpp 有一定的复杂性,AI 大模型的下载、转化、量化需要一定的耐心,可当本地的 AI 应用运行起来的那一刻,博主觉得这一切完全值得。
by @技术头条 2024-03-12 22:29 查看详情
如何为 Git 配置多个 SSH Key (blog.yuanpei.me)
相信大家都会遇到这种场景,即一台电脑上同时存在多个 Git 账号的情况。譬如,公司的项目使用 Gitlab 托管,而个人的项目使用 Github 托管,更不必说,云效、Gitee、码云、Coding 等形形色色的平台。在这种情况下,你需要为每个代码托管平台生成 SSH Key,然后将其对应的公钥复制到指定的位置。所以,如何让这些不同托管平台的 SSH Key 和平共处、互不影响呢?这就是今天这篇文章想要分享的冷知识。当然,对博主个人而言,最主要的目的,还是希望能将公司和个人两个身份区分开来,所以,下面以 Github 和 Gitlab 为例来展示具体的配置过程。
by @技术头条 2024-03-12 22:28 查看详情
解析Java动态代理机制的实现 (l1n.wang)
代理模式主要是Proxy对原始方法做了一层包装,用以增加一些新的统一处理逻辑,来增强目标对象的功能。静态代理是传统设计模式中一种传统的实现方案,动态代理能将代理对象的创建延迟到程序运行阶段。
by @技术头条 2024-01-17 23:16 查看详情
golang uretprobe的崩溃与模拟实现 (www.cnxct.com)
Go程序崩溃的核心原因为Go的栈在runtime管理时,被插入了异常的内存地址。Go中常见的堆栈变化为协程goroutine的创建与销毁。栈内 被插入异常内存地址是因为eBPF的实现机制是向函数的返回地址前,插入了断点指令(i386和x86_64是INT3)。 两个条件的叠加,就出现了这个错误。
by @技术头条 2024-01-17 23:12 查看详情
Nginx日志分析-MIME types (ixyzero.com)
Nginx日志的分析,尤其是加白,在不是特别清楚功能和作用的情况下,还是应该细粒度的操作,比如先按照Content-Type加白,就比按照domain维度的加白粒度会更细一点,比按照uri来加白要更方便和准确一点。简单记录一下,方便后面有需要的时候参考。
by @技术头条 2024-01-14 18:57 查看详情