Diesel 入门指南

在本指南中,我们将通过一系列简单的示例来逐一介绍CRUD操作,即“创建、读取、更新、删除”。本指南的每一步都是在前一步的基础上进行的,建议按顺序跟随操作。

在开始之前,请确保您已经安装并运行了PostgreSQL数据库。如果您使用的是其他类型的数据库,比如SQLite,部分示例可能无法直接应用,因为不同数据库的API实现可能会有所差异。在项目仓库中,您可以找到适用于每个支持数据库的各种示例

Diesel 要求使用 Rust 1.65 或更新版本。如果您正在按照本指南学习,请确保您通过执行 rustup update stable 命令,升级到至少 Rust 1.65 版本。

本文使用的 diesel 版本为 2.1.4, 最新信息请参考官方网站

使用大语言模型助力外语学习

学外语是很多人的梦想,但传统的学习方法很枯燥,缺乏个性化。死记硬背单词和繁琐的语法练习往往让人感觉难以真正掌握语言的应用,更别说找到一个合适的语言学习伴侣或导师了。不过,随着大语言模型的出现,外语学习迎来了全新的变革,变得更加高效和有趣。这些先进的人工智能算法通过海量文本数据训练而成,能够生成类似人类的文本,回答问题,甚至进行对话。在语言学习领域,它们为学习者提供了前所未有的帮助,使学习外语变得更加轻松和愉快。接下来,我们就来看看如何使用大语言模型来给外语学习加提速,让你的语言技能飞速提升,成为交流小能手!

Stable Diffusion 提示:权威指南

cover

每个 Stable Diffusion 用户都要解决的第一个问题是构建好的提示。本文总结了通过实验和其他用户输入开发的流程和技术。目标是写下我所知道的关于提示的所有内容,以便你可以在一个地方了解它们。

AI 角色扮演人物设计指南 P2

虽然前面的介绍旨在让您了解每种格式如何独立运作以及为什么它们如此优秀,但这个角色格式化和写作指南旨在为您提供角色创建过程的逐步深入解释,以及您需要知道的一切,以让您与其他机器人创作者区别开来。

大多数机器人创建界面都会有多个框用于编写角色信息。我们关心的只有名称、描述、作者注解(如果您的前端界面可用)、问候语/第一条消息,以及世界信息/lorebooks(如果您的界面可用)。

在开始之前,您需要一个角色编辑器。这是我推荐的一个

在指南中,我将经常提到一个名为“作者注解” (Author's Note) 的功能,然后再解释它到底是什么。如果您迫不及待想知道它是什么,简而言之,它是一个功能,可以在最后一条消息之上的X条消息中注入一个选定的提示。

AI 角色扮演人物设计指南 P1

本文旨在向您介绍PLists和Ali:Chat的基本功能,它们是如何构建的,以及为何它们如此出色。本简介本身就是一个简易入门指南,所提供的信息足以帮助您开始创作自己的角色。接下来的章节将进一步深入分析角色创作的过程。

教会 LLM 说: “我不知道”

在这篇文章中,我将分享一些关于模型微调的最佳实践,特别是如何让模型在不确定时更好地表达出来。这些方法同样可以提高各种微调的质量。我使用的是 7B 和 13B 的开源模型,因为它们便于快速尝试,且不会超出我的预算。

让我们从一个简单的例子开始。

Deno 1.36:更灵活的安全性和扩展的测试 API

Deno 设计目标的核心是灵活且强大的运行时安全性。通过 Deno 1.36,我们进一步扩展了你的安全选项,使用 --deny-* 标志。与我们现有的 --allow-* 标志一起,你现在可以为网络通信、文件系统访问等配置允许列表和拒绝列表。

除了这些安全功能之外,你还将在 1.36 中发现改进的测试和基准测试 API、更强大的 Node.js 和 npm 包支持、语言服务器改进等等。

如果你已经安装了 Deno, 你可以在终端中升级到 1.36 版本:

deno upgrade

继续阅读以了解 Deno 1.36 中的最新功能和修复!

多页应用上的视图过渡入门

多页应用(MPA)和静态网站的视图转换 API 已准备好在 Chrome 113+ 中面进行测试 (通过 flags 开启)。MPA 的视图转换是我的 CSS 愿望清单上的一项重要功能。我花了不到一个小时的时间,零JavaScript 和两行CSS 实现。我对结果很满意。

使用 Rust Tonic 和 React 构建和部署 gRPC-Web 应用程序

gRPC 是一种现代的高性能远程过程调用(RPC)框架,可在任何环境中运行。gRPC 基于 protobufs 构建,可扩展且高效,并在多种语言和运行时中提供广泛支持。

在本教程中,我们将介绍如何将一个基于 Rust 的 gRPC API 支持的 React 应用程序部署到 Koyeb。演示应用程序是一个电影数据库网站,其功能是展示一系列电影及其关联的元数据。您可以在此处找到两个应用程序组件的源代码:

使用 Deno 和 Deno Deploy 构建和发布 Astro 站点

Astro是一个为以内容为中心的网站设计的Web框架。它的 API 设计和工具使得逐步构建更复杂的网站变得容易,同时在默认情况下不会向客户端发送 JavaScript。就像鸡肉和华夫饼一样,Deno和Astro合作了一段时间。但是随着最近 Deno 运行时的 1.35 版本,Astro 与 Deno 一起使用的体验变得更好了。

今天,我们将介绍结合使用 Astro 和 Deno 的所有方法,然后使用 Deno Deploy 在生产环境中运行您的应用程序。

为什么你应该使用 io_uring 进行网络 io 操作

io_uring 是 Linux 内核的异步接口,可能有益于网络。对于文件 I/O(输入/输出)来说,这是一个很大的胜利,但对于已经具有非阻塞 API 的网络 I/O 来说,这可能只提供适度的收益。收益可能来自以下方面:

  • 减少了服务器上执行大量上下文切换的系统调用数量
  • 用于文件和网络 I/O 的统一异步 API

许多功能将很快在红帽企业 Linux 9.3 中提供, io_uring 该版本随内核版本 5.14 一起分发。最新的 io_uring 功能目前在 Fedora 37 中可用。

Rust Leptos 入门教程

Leptos 是一个类似于 Solid (JavaScript) 和 Sycamore(Rust)等的框架。与其他框架如React(JavaScript),Svelte(JavaScript),Yew(Rust)和Dioxus(Rust)有一些相似之处,因此了解其中一个框架也可能使理解Leptos更容易。

如何从规范的 Rust SDK 生成 JavaScript 和 Python SDK

介绍

我们在PostgresML创建的工具功能强大且灵活。我们的工具几乎有无数种方式可用于支持矢量搜索、模型推理等等。像我们之前的许多公司一样,我们希望我们的用户能够享受我们工具的好处,同时不需要阅读大量文档的才能使用,因此我们构建了一个SDK。

我们是 Rust 的忠实粉丝(几乎我们的整个代码库都是用它编写的),我们发现使用它作为我们的主要语言可以让我们编写更安全的代码和更快地迭代我们的开发周期。但是,我们的大多数用户目前使用Python和JavaScript等语言。为 Rust 制作 SDK 是没有意义的,因为没有人会使用它。经过深思熟虑,我们最终确定了 SDK 的以下要求:

  1. 它必须以多种语言本机提供
  2. 所有语言必须具有与规范 Rust 实现相同的行为
  3. 添加新语言应仅包含最小的开销

rust-macros-flow-chart.jpg

*TLDR 我们正在构建宏,将原版 Rust 转换为兼容的 Pyo3 和 Neon Rust,然后将其进一步转换为原生 Python 和 JavaScript 模块。*

Fresh 1.3 – 简化的路由组件以及更多内容

自从我们发布 Fresh 1.2 以来,仅仅一个月过去了,我们已经带着另一个版本回来了!我们计划每月发布一次新的 Fresh 次要版本。

这个周期包含了许多来自社区的令人难以置信的 PR,这简直令人惊叹!文档已得到扩展和改进,修复了许多错误并添加了新功能。感谢所有帮助使此版本成为可能的人。但是说得够多了,让我们来看看我们对 Fresh 所做的所有改进。

最小化 Rust 二进制文件大小

此文演示了如何减小 Rust 生成的二进制文件大小。

默认情况下,Rust 对执行速度、编译速度和易于调试而不是二进制大小进行优化,因为对于绝大多数应用程序来说,这是理想的。对于想要优化二进制大小的开发人员来说,Rust 提供了实现此目标的机制。

在 Zig 实现接口

早在 2020 年 6 月,Nathan Michaels 就发表了一篇关于如何在 zig 中进行运行时多态(接口)的文章。然而,从那时起,社区已经从 @fieldParentPtr 转向使用胖指针。这是标准库现在使用的惯例,例如在 allocator 和 rand 中。这篇文章将介绍新惯例以及如何使用它。就像在 Nathan 的原始帖子中一样,我将创建一个正式的迭代器接口,它可以像这样使用:

while (iterator.next()) |val| {
// do something with val
}