Python潮流周刊#9:如何在本地部署开源大语言模型?
你好,我是猫哥。这里每周分享优质的 Python 及通用技术内容,部分为英文,已在小标题注明。(标题取自其中一则分享,不代表全部内容都是该主题,特此声明。)
首发于我的博客:https://pythoncat.top/posts/2023-07-01-weekly
周刊的投稿通道已开放,请在 Github 项目中提交 issue:https://github.com/chinesehuazhou/python-weekly
文章&教程
一篇步骤清晰的教程,它使用 LangChain 及 Facebook 开源的 LLaMA 大语言模型搭建了一个基于文档的问答助手,另外使用 Streamlit 构建出一个美观的用户界面。(附一篇中文的翻译文 )

一个 Python Asyncio 协程会占用有多少内存呢?文章的测试结论是约 2Kb。另外,文中还测试了以下的问题:每秒可创建多少个裸协程?每秒可处理多少个协程?使用uvloop 后,创建及处理协程任务,能有多少提升?
asyncio.Runner 是 Python 3.11 中新增的功能,支持在同一事件循环中执行多个协程。文章主要内容:如何使用 asyncio.run() 运行多个协程,如何使用包装方法运行多个协程,以及如何使用 asyncio.Runner 类在同一个事件循环中以自适应甚至有条件的方式执行协程。
- 不使用锁的并发实现 (英)
在并发编程中,通常需要使用锁,但是不应该滥用锁。这篇文章探讨了如何尽量不依赖锁来实现并发,演示的例子是生成短链接,主要的思想是“请求宽恕”而不是“提前检查”、使用 PostgreSQL 数据库提供的功能。
文章介绍了 CPython 是如何把 Python 代码跑起来的,主要过程:词法分析、语法分析、编译到字节码、执行字节码。
文章探讨了 JIT 编译的概念及其优点,并深入分析了主流的 Python JIT 编译器的优缺点(如 PyPy、Numba 和 Cython),介绍了在 Python 中使用 JIT 编译器的最佳实践和准则。
当我们说 Python 时,通常指的是官方实现的 CPython,但还有很多的“Python”,比如 Pypy、Jython、MicroPython、Brython、RustPython 等等,还有很多像是新“Python”的东西,比如 Nuitka、WinPython、Psyco、Pyjion 等等。文章解释了相关的概念和工具。

APScheduler 是一个调度和自动化任务工具,它的 AsyncIOScheduler 支持调度异步函数和协程,文章介绍了它的功能、优点以及如何优化异步任务调度需求。
- 在生成代码时避免产生技术债务 (英)
GPT 和其它大语言模型可以快速生成大量代码,但这也可能导致很多的混乱代码。文章探讨了如何改进这些工具生成的代码,并将其融入到项目中的几种方法,包括采用专家角色、提供示例、遵循最佳实践、遵循标准和明确指南以及代码放置的恰当位置等。
- 当 NumPy 太慢时 (英)
在不考虑并行处理的情况下,如何提升 Numpy 性能?NumPy 有三个固有瓶颈(急切执行、通用编译代码和向量化导致的高内存使用率)。针对这些瓶颈,文章介绍四种解决方案:手动优化代码、使用 JAX 作即时编译、使用 Numba 作即时编译,以及使用提前编译。
Numba 是一个专用的即时编译器,通过将 Python 代码编译为高效的机器代码来消除解释执行的开销,从而提升性能。文章介绍了 Numba 的功能、内部原理、主要用法和常见问题。
如何使用较少的时间和精力来提升代码的质量?文章介绍了一些提升代码质量的工具(flake8、Black、isort、mypy、bandit等),以及使用 IDE、CI 和 pre-commit 等方式自动化调用这些工具。
PandasAI 是最近火爆的库,为 Pandas 集成了 AI 对话功能,可简化数据操作。文章介绍了 PandasAI 作复杂查询与图表可视化的方法,以及介绍了它提供的十几个方便好用的函数。
- 写单元测试的最佳实践 (英)
单元测试的好处无须赘述,但是写单测却是开发者最讨厌的事情之一。文章罗列了 10 条写单元测试的最佳实践,介绍了手工写单元测试的步骤,最后介绍了使用 Codium.AI 自动化编写测试的方法。
Netflix 官方的一篇博客,介绍了在将手机 APP 安全地从 Falcor 迁移到 GraphQL 的过程中,所采用的三种测试策略:AB 测试、Replay 测试和 Sticky Canaries。AB 测试用于评估新功能对客户的影响,Replay 测试用于验证迁移的正确性,Sticky Canaries 用于验证性能和业务指标。
Python潮流周刊已免费发布了 9 期,访问下方链接,即可查看全部内容:https://pythoncat.top/tags/weekly
️项目&资源
一个在 Jupyter Notebook 环境中运行的可视化探索式分析工具,仅一条命令即可生成一个可交互的图形界面,以类似 Tableau/PowerBI 的方式,通过拖拽字段进行数据分析。(star 6.5K)

用 Julia 为 Python 写高性能的 C 扩展,提速约 200x。(@xgdgsc 投稿)
JupyterLab 官方提供的生成式 AI 扩展,主要提供了:%%ai 指令、原生的聊天 UI 页面、支持大量平台的大语言模型(AI21、Anthropic、Cohere、Hugging Face、OpenAI、SageMaker 等)。
一个发布订阅者框架,支持同步异步调度、定时任务、主题管理、发布订阅者回调等功能。(@Zeeland 投稿)
一个基于磁盘缓存的 ORM 框架,可对基本数据类型及自定义的数据通过 ORM 进行增删改查,支持多种序列化操作和数据压缩方式。(@Zeeland 投稿)
如何测试机器学习模型、要涵盖哪些问题、如何实施测试?这个框架可扫描数十种漏洞(性能偏差、数据泄漏、不鲁棒性、虚假关联、过度自信、信心不足、不道德问题等),并基于结果生成特定领域的测试套件。(star 1K)

本周最火项目,可在图像上通过拖动点的方式,生成想要的新图像,非常惊艳!(star 28K)

除了类似 shell 的语法和方便的快捷方式外,这个库还提供了本地和远程命令执行(通过 SSH)、本地和远程文件系统路径、简单的目录和环境操作、以及一个可编程的 CLI 工具包。(star 2.6K)
支持用文本提示、单个图像和少量镜头图像创建 3D 内容。支持多种模型,如 ProlificDreamer、DreamFusion、Magic3D、Score Jacobian Chaining,等等。(star 1.8K)
支持删除图像的背景,支持多种使用方式(cli、库、docker)和多种强大的功能。(star 10.5K)

关于周刊
Python 潮流周刊,由豌豆花下猫主理,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职业和副业的收入。
内容创作要花费大量的时间和精力,如果你觉得有帮助,请随意赞赏、买杯咖啡或在爱发电进行支持!如果你喜欢本周刊,请转发分享给其他需要的同学,让更多人可以从中受益~
订阅方式:Python猫 (可加群)| 邮件 | Github | Telegram | Twitter

Python潮流周刊#9:如何在本地部署开源大语言模型?的更多相关文章
- 我的第一个python web开发框架(7)——本地部署前端访问服务器
PS:本系列内容进度节奏会放的很慢,每次知识点都尽量少一点,这样大家接触的知识点少了,会更容易理解,因为少即是多.另外,对于后面代码部分,虽然尽量不用那些复杂的封装和类,但它并不表示看了就能全部记住, ...
- Kubernetes 学习笔记(二):本地部署一个 kubernetes 集群
前言 前面用到过的 minikube 只是一个单节点的 k8s 集群,这对于学习而言是不够的.我们需要有一个多节点集群,才能用到各种调度/监控功能.而且单节点只能是一个加引号的"集群&quo ...
- 本地部署 Misago Docker + 配置 HTTPS 笔记
最近答应帮朋友做个论坛网站,想借此机会捡起 Python 在 GitHub 找了一圈,打算借用以 Python+Django 开发的 Misago 这个论坛系统 由于作者在今年更新的 Misago 0 ...
- RocketMq灰皮书(二)------本地部署启动MQ
RocketMq灰皮书(二)------本地部署启动MQ Windows10本地部署RocketMQ 在上一篇文章中,我们对rocket的几个基本概念进行了介绍,也了解了业内几大消息中间件的区别.在本 ...
- Window10环境下,Stable Diffusion的本地部署与效果展示
Diffusion相关技术最近也是非常火爆,看看招聘信息,岗位名称都由AI算法工程师变成了AIGC算法工程师,本周跟大家分享一些Diffusion算法相关的内容. Window10环境下,Stable ...
- 本地部署arcgis by eclipse
首次来博客园发帖,从本地部署arcgis api开始吧: 首先还是下载arcgis的api包开始,在中国区官网下载arcgis包: 1.http://support.esrichina.com.cn/ ...
- ArcGIS server开发之API for js 本地部署
ArcGIS Server for javascript 本地部署 第一次使用arcgis server for js开发,在经验方面还有很多的不足,所以将自己在开发过程中遇到的问题写出来与大家共享. ...
- Exceptionless 本地部署
免费开源分布式系统日志收集框架 Exceptionless 前两天看到了这篇文章,亲身体会了下,确实不错,按照官方的文档试了试本地部署,折腾一番后终于成功,记下心得在此,不敢独享. 本地部署官方wik ...
- ArcGIS JavaScript API本地部署离线开发环境[转]
原文地址:http://www.cnblogs.com/brawei/archive/2012/12/28/2837660.html 1 获取ArcGIS JavaScript API API的下载地 ...
- Exceptionless 本地部署踩坑记录
仅已此文记录 Exceptionless 本地部署所遇到的问题 1.安装ElasticSearch文本 执行elasticsearch目录中的elasticsearch.bat 没有执行成功. 使用命 ...
随机推荐
- [云计算]概念辨析:云计算 [IaaS/PaaS/SaaS & 公有云/私有云/混合云]
1 云计算(Cloud Computing) 1.0 云计算的发展 1.1 概念 "云"实质上就是一个[网络], 狭义上讲,云计算就是一种提供资源的网络,使用者可以随时获取&quo ...
- AF_XDP技术简介
本文分享自天翼云开发者社区@<AF_XDP技术简介>,作者: l****n 一.概述 AF_XDP 是一项新增的,针对高性能数据包处理进行优化的地址族协议.本文档假设读者已经熟悉 BPF ...
- Tkinter库的使用
from tkinter import *import tkinter as tkfrom tkinter import Tk, Label,ttkfrom PIL import Image, Ima ...
- Spring中事务嵌套这么用一定得注意了!!
前言 最近项目上有一个使用事务相对复杂的业务场景报错了.在绝大多数情况下,都是风平浪静,没有问题.其实内在暗流涌动,在有些异常情况下就会报错,这种偶然性的问题很有可能就会在暴露到生产上造成事故,那究竟 ...
- S3 对象重命名
本文所述操作适用于兼容 S3 协议的所有存储框架,包括 AWS S3.Aliyun OSS.MinIO.Ceph 等. 不知为何,截止目前,S3 协议并不包含对象重命名的接口.如果有重命名对象的需求, ...
- 【Dotnet 工具箱】JIEJIE.NET - 强大的 .NET 代码混淆工具
你好,这里是 Dotnet 工具箱,定期分享 Dotnet 有趣,实用的工具和组件,希望对您有用! JIEJIE.NET - 强大的 .NET 代码混淆工具 JIEJIE.NET JIEJIE.NET ...
- vmware-ubuntu 设置共享目录
VMware可以通过右上方菜单,管理-虚拟机设置,进入共享文件夹设置界面: vmware设置共享目录,重新启动windows,偶尔会失效.可以按下面步骤重新设置下,copy就行 查询是否存在已挂载的文 ...
- C# 编译异常CS0433
编译后遇到nuget版本冲突: error CS0433: 类型"ShellFile"同时存在于"Microsoft.WindowsAPICodePack.Shell, ...
- 机器学习04-(决策树、集合算法:AdaBoost模型、BBDT、随机森林、分类模型:逻辑回归)
机器学习04 机器学习-04 集合算法 AdaBoost模型(正向激励) 特征重要性 GBDT 自助聚合 随机森林 分类模型 什么问题属于分类问题? 逻辑回归 代码总结 波士顿房屋价格数据分析与房价预 ...
- Gusfield算法学习
算法详解 等价流树正如其名,树上两点间的路径上的边权最小值为图上两点间的最小割. Gusfield算法就是建等价流树的一种算法.设当前正在处理的集合为 \(S(|S|\ge 2)\),从 \(S\) ...