From 3db29810ba7ffaaad6209a70c718c72d1278df22 Mon Sep 17 00:00:00 2001 From: wehub-resource-sync Date: Mon, 13 Jul 2026 10:48:35 +0000 Subject: [PATCH] docs: make Chinese README the default --- README.md | 418 +++++++++++++++++++++++++++--------------------------- 1 file changed, 212 insertions(+), 206 deletions(-) diff --git a/README.md b/README.md index d3da244..4d1c168 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,9 @@ + +> [!NOTE] +> 本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。 +> [English](./README.en.md) · [原始项目](https://github.com/simonw/llm) · [上游 README](https://github.com/simonw/llm/blob/HEAD/README.md) +> 原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。 + # LLM -[![GitHub repo](https://img.shields.io/badge/github-repo-green)](https://github.com/simonw/llm) +[![GitHub 仓库](https://img.shields.io/badge/github-repo-green)](https://github.com/simonw/llm) [![PyPI](https://img.shields.io/pypi/v/llm.svg)](https://pypi.org/project/llm/) -[![Changelog](https://img.shields.io/github/v/release/simonw/llm?include_prereleases&label=changelog)](https://llm.datasette.io/en/stable/changelog.html) -[![Tests](https://github.com/simonw/llm/workflows/Test/badge.svg)](https://github.com/simonw/llm/actions?query=workflow%3ATest) -[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/simonw/llm/blob/main/LICENSE) +[![更新日志](https://img.shields.io/github/v/release/simonw/llm?include_prereleases&label=changelog)](https://llm.datasette.io/en/stable/changelog.html) +[![测试](https://github.com/simonw/llm/workflows/Test/badge.svg)](https://github.com/simonw/llm/actions?query=workflow%3ATest) +[![许可证](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/simonw/llm/blob/main/LICENSE) [![Discord](https://img.shields.io/discord/823971286308356157?label=discord)](https://datasette.io/discord-llm) [![Homebrew](https://img.shields.io/homebrew/installs/dy/llm?color=yellow&label=homebrew&logo=homebrew)](https://formulae.brew.sh/formula/llm) -A CLI tool and Python library for interacting with **OpenAI**, **Anthropic’s Claude**, **Google’s Gemini**, **Meta’s Llama** and dozens of other Large Language Models, both via remote APIs and with models that can be installed and run on your own machine. +一款 CLI 工具和 Python 库,用于与 **OpenAI**、**Anthropic 的 Claude**、**Google 的 Gemini**、**Meta 的 Llama** 以及数十种其他大语言模型(Large Language Model,LLM)交互,既可通过远程 API,也可使用可在你本机安装和运行的模型。 -Watch **[Language models on the command-line](https://www.youtube.com/watch?v=QUXQNi6jQ30)** on YouTube for a demo or [read the accompanying detailed notes](https://simonwillison.net/2024/Jun/17/cli-language-models/). +在 YouTube 上观看 **[命令行上的语言模型](https://www.youtube.com/watch?v=QUXQNi6jQ30)** 演示,或[阅读配套的详细笔记](https://simonwillison.net/2024/Jun/17/cli-language-models/). -With LLM you can: +使用 LLM,你可以: -- [Run prompts from the command-line](https://llm.datasette.io/en/stable/usage.html#usage-executing-prompts) -- [Store prompts and responses in SQLite](https://llm.datasette.io/en/stable/logging.html#logging) -- [Generate and store embeddings](https://llm.datasette.io/en/stable/embeddings/index.html#embeddings) -- [Extract structured content from text and images](https://llm.datasette.io/en/stable/schemas.html#schemas) -- [Grant models the ability to execute tools](https://llm.datasette.io/en/stable/tools.html#tools) -- … and much, much more +- [从命令行运行提示词](https://llm.datasette.io/en/stable/usage.html#usage-executing-prompts) +- [将提示词和响应存储在 SQLite 中](https://llm.datasette.io/en/stable/logging.html#logging) +- [生成并存储嵌入向量(embeddings)](https://llm.datasette.io/en/stable/embeddings/index.html#embeddings) +- [从文本和图像中提取结构化内容](https://llm.datasette.io/en/stable/schemas.html#schemas) +- [赋予模型执行工具的能力](https://llm.datasette.io/en/stable/tools.html#tools) +- … 以及更多、更多功能 -## Quick start +## 快速入门 -First, install LLM using `pip` or Homebrew or `pipx` or `uv`: +首先,使用 `pip` 或 Homebrew 或 `pipx` 或 `uv` 安装 LLM: ```bash pip install llm ``` -Or with Homebrew (see [warning note](https://llm.datasette.io/en/stable/setup.html#homebrew-warning)): +或使用 Homebrew(参见[警告说明](https://llm.datasette.io/en/stable/setup.html#homebrew-warning)): ```bash brew install llm ``` -Or with [pipx](https://pypa.github.io/pipx/): +或使用 [pipx](https://pypa.github.io/pipx/): ```bash pipx install llm ``` -Or with [uv](https://docs.astral.sh/uv/guides/tools/) +或使用 [uv](https://docs.astral.sh/uv/guides/tools/) ```bash uv tool install llm ``` -If you have an [OpenAI API key](https://platform.openai.com/api-keys) key you can run this: +如果你有 [OpenAI API 密钥](https://platform.openai.com/api-keys),可以运行以下命令: ```bash # Paste your OpenAI API key into this @@ -85,7 +91,7 @@ llm "extract text" -a scanned-document.jpg cat myfile.py | llm -s "Explain this code" ``` -Run prompts against [Gemini](https://aistudio.google.com/apikey) or [Anthropic](https://console.anthropic.com/) with their respective plugins: +使用各自插件对 [Gemini](https://aistudio.google.com/apikey) 或 [Anthropic](https://console.anthropic.com/) 运行提示词: ```bash llm install llm-gemini @@ -99,7 +105,7 @@ llm keys set anthropic llm -m claude-4-opus 'Impress me with wild facts about turnips' ``` -You can also [install a plugin](https://llm.datasette.io/en/stable/plugins/installing-plugins.html#installing-plugins) to access models that can run on your local device. If you use [Ollama](https://ollama.com/): +你还可以[安装插件](https://llm.datasette.io/en/stable/plugins/installing-plugins.html#installing-plugins) 以访问可在本地设备上运行的模型。如果你使用 [Ollama](https://ollama.com/): ```bash # Install the plugin @@ -110,7 +116,7 @@ ollama pull llama3.2:latest llm -m llama3.2:latest 'What is the capital of France?' ``` -To start [an interactive chat](https://llm.datasette.io/en/stable/usage.html#usage-chat) with a model, use `llm chat`: +要启动与模型的[交互式聊天](https://llm.datasette.io/en/stable/usage.html#usage-chat),请使用 `llm chat`: ```bash llm chat -m gpt-4.1 @@ -128,216 +134,216 @@ Why don't pelicans like to tip waiters? Because they always have a big bill! ``` -More background on this project: +关于本项目的更多背景: -- [llm, ttok and strip-tags—CLI tools for working with ChatGPT and other LLMs](https://simonwillison.net/2023/May/18/cli-tools-for-llms/) -- [The LLM CLI tool now supports self-hosted language models via plugins](https://simonwillison.net/2023/Jul/12/llm/) -- [LLM now provides tools for working with embeddings](https://simonwillison.net/2023/Sep/4/llm-embeddings/) -- [Build an image search engine with llm-clip, chat with models with llm chat](https://simonwillison.net/2023/Sep/12/llm-clip-and-chat/) -- [You can now run prompts against images, audio and video in your terminal using LLM](https://simonwillison.net/2024/Oct/29/llm-multi-modal/) -- [Structured data extraction from unstructured content using LLM schemas](https://simonwillison.net/2025/Feb/28/llm-schemas/) -- [Long context support in LLM 0.24 using fragments and template plugins](https://simonwillison.net/2025/Apr/7/long-context-llm/) +- [llm、ttok 和 strip-tags——用于 ChatGPT 及其他 LLM 的 CLI 工具](https://simonwillison.net/2023/May/18/cli-tools-for-llms/) +- [LLM CLI 工具现已通过插件支持自托管语言模型](https://simonwillison.net/2023/Jul/12/llm/) +- [LLM 现已提供用于处理嵌入向量的工具](https://simonwillison.net/2023/Sep/4/llm-embeddings/) +- [使用 llm-clip 构建图像搜索引擎,使用 llm chat 与模型对话](https://simonwillison.net/2023/Sep/12/llm-clip-and-chat/) +- [你现在可以在终端中使用 LLM 对图像、音频和视频运行提示词](https://simonwillison.net/2024/Oct/29/llm-multi-modal/) +- [使用 LLM 模式(schema)从非结构化内容中提取结构化数据](https://simonwillison.net/2025/Feb/28/llm-schemas/) +- [LLM 0.24 通过片段(fragment)和模板插件支持长上下文](https://simonwillison.net/2025/Apr/7/long-context-llm/) -See also [the llm tag](https://simonwillison.net/tags/llm/) on my blog. +另请参阅我博客上的 [llm 标签](https://simonwillison.net/tags/llm/)。 -## Contents +## 目录 -* [Setup](https://llm.datasette.io/en/stable/setup.html) - * [Installation](https://llm.datasette.io/en/stable/setup.html#installation) - * [Upgrading to the latest version](https://llm.datasette.io/en/stable/setup.html#upgrading-to-the-latest-version) - * [Using uvx](https://llm.datasette.io/en/stable/setup.html#using-uvx) - * [A note about Homebrew and PyTorch](https://llm.datasette.io/en/stable/setup.html#a-note-about-homebrew-and-pytorch) - * [Installing plugins](https://llm.datasette.io/en/stable/setup.html#installing-plugins) - * [API key management](https://llm.datasette.io/en/stable/setup.html#api-key-management) - * [Saving and using stored keys](https://llm.datasette.io/en/stable/setup.html#saving-and-using-stored-keys) - * [Passing keys using the –key option](https://llm.datasette.io/en/stable/setup.html#passing-keys-using-the-key-option) - * [Keys in environment variables](https://llm.datasette.io/en/stable/setup.html#keys-in-environment-variables) - * [Configuration](https://llm.datasette.io/en/stable/setup.html#configuration) - * [Setting a custom default model](https://llm.datasette.io/en/stable/setup.html#setting-a-custom-default-model) - * [Setting a custom directory location](https://llm.datasette.io/en/stable/setup.html#setting-a-custom-directory-location) - * [Turning SQLite logging on and off](https://llm.datasette.io/en/stable/setup.html#turning-sqlite-logging-on-and-off) -* [Usage](https://llm.datasette.io/en/stable/usage.html) - * [Executing a prompt](https://llm.datasette.io/en/stable/usage.html#executing-a-prompt) - * [Model options](https://llm.datasette.io/en/stable/usage.html#model-options) - * [Attachments](https://llm.datasette.io/en/stable/usage.html#attachments) - * [System prompts](https://llm.datasette.io/en/stable/usage.html#system-prompts) - * [Tools](https://llm.datasette.io/en/stable/usage.html#tools) - * [Extracting fenced code blocks](https://llm.datasette.io/en/stable/usage.html#extracting-fenced-code-blocks) - * [Schemas](https://llm.datasette.io/en/stable/usage.html#schemas) - * [Fragments](https://llm.datasette.io/en/stable/usage.html#fragments) - * [Continuing a conversation](https://llm.datasette.io/en/stable/usage.html#continuing-a-conversation) - * [Tips for using LLM with Bash or Zsh](https://llm.datasette.io/en/stable/usage.html#tips-for-using-llm-with-bash-or-zsh) - * [Completion prompts](https://llm.datasette.io/en/stable/usage.html#completion-prompts) - * [Starting an interactive chat](https://llm.datasette.io/en/stable/usage.html#starting-an-interactive-chat) - * [Listing available models](https://llm.datasette.io/en/stable/usage.html#listing-available-models) - * [Setting default options for models](https://llm.datasette.io/en/stable/usage.html#setting-default-options-for-models) -* [OpenAI models](https://llm.datasette.io/en/stable/openai-models.html) - * [Configuration](https://llm.datasette.io/en/stable/openai-models.html#configuration) - * [OpenAI language models](https://llm.datasette.io/en/stable/openai-models.html#openai-language-models) - * [Model features](https://llm.datasette.io/en/stable/openai-models.html#model-features) - * [OpenAI embedding models](https://llm.datasette.io/en/stable/openai-models.html#openai-embedding-models) - * [OpenAI completion models](https://llm.datasette.io/en/stable/openai-models.html#openai-completion-models) - * [Adding more OpenAI models](https://llm.datasette.io/en/stable/openai-models.html#adding-more-openai-models) -* [Other models](https://llm.datasette.io/en/stable/other-models.html) - * [Installing and using a local model](https://llm.datasette.io/en/stable/other-models.html#installing-and-using-a-local-model) - * [OpenAI-compatible models](https://llm.datasette.io/en/stable/other-models.html#openai-compatible-models) - * [Extra HTTP headers](https://llm.datasette.io/en/stable/other-models.html#extra-http-headers) -* [Tools](https://llm.datasette.io/en/stable/tools.html) - * [How tools work](https://llm.datasette.io/en/stable/tools.html#how-tools-work) - * [Trying out tools](https://llm.datasette.io/en/stable/tools.html#trying-out-tools) - * [LLM’s implementation of tools](https://llm.datasette.io/en/stable/tools.html#llm-s-implementation-of-tools) - * [Default tools](https://llm.datasette.io/en/stable/tools.html#default-tools) - * [Tips for implementing tools](https://llm.datasette.io/en/stable/tools.html#tips-for-implementing-tools) -* [Schemas](https://llm.datasette.io/en/stable/schemas.html) - * [Schemas tutorial](https://llm.datasette.io/en/stable/schemas.html#schemas-tutorial) - * [Getting started with dogs](https://llm.datasette.io/en/stable/schemas.html#getting-started-with-dogs) - * [Extracting people from a news articles](https://llm.datasette.io/en/stable/schemas.html#extracting-people-from-a-news-articles) - * [Using JSON schemas](https://llm.datasette.io/en/stable/schemas.html#using-json-schemas) - * [Ways to specify a schema](https://llm.datasette.io/en/stable/schemas.html#ways-to-specify-a-schema) - * [Concise LLM schema syntax](https://llm.datasette.io/en/stable/schemas.html#concise-llm-schema-syntax) - * [Saving reusable schemas in templates](https://llm.datasette.io/en/stable/schemas.html#saving-reusable-schemas-in-templates) - * [Browsing logged JSON objects created using schemas](https://llm.datasette.io/en/stable/schemas.html#browsing-logged-json-objects-created-using-schemas) -* [Templates](https://llm.datasette.io/en/stable/templates.html) - * [Getting started with –save](https://llm.datasette.io/en/stable/templates.html#getting-started-with-save) - * [Using a template](https://llm.datasette.io/en/stable/templates.html#using-a-template) - * [Listing available templates](https://llm.datasette.io/en/stable/templates.html#listing-available-templates) - * [Templates as YAML files](https://llm.datasette.io/en/stable/templates.html#templates-as-yaml-files) - * [System prompts](https://llm.datasette.io/en/stable/templates.html#system-prompts) - * [Fragments](https://llm.datasette.io/en/stable/templates.html#fragments) - * [Options](https://llm.datasette.io/en/stable/templates.html#options) - * [Tools](https://llm.datasette.io/en/stable/templates.html#tools) - * [Schemas](https://llm.datasette.io/en/stable/templates.html#schemas) - * [Additional template variables](https://llm.datasette.io/en/stable/templates.html#additional-template-variables) - * [Specifying default parameters](https://llm.datasette.io/en/stable/templates.html#specifying-default-parameters) - * [Configuring code extraction](https://llm.datasette.io/en/stable/templates.html#configuring-code-extraction) - * [Setting a default model for a template](https://llm.datasette.io/en/stable/templates.html#setting-a-default-model-for-a-template) - * [Template loaders from plugins](https://llm.datasette.io/en/stable/templates.html#template-loaders-from-plugins) -* [Fragments](https://llm.datasette.io/en/stable/fragments.html) - * [Using fragments in a prompt](https://llm.datasette.io/en/stable/fragments.html#using-fragments-in-a-prompt) - * [Using fragments in chat](https://llm.datasette.io/en/stable/fragments.html#using-fragments-in-chat) - * [Browsing fragments](https://llm.datasette.io/en/stable/fragments.html#browsing-fragments) - * [Setting aliases for fragments](https://llm.datasette.io/en/stable/fragments.html#setting-aliases-for-fragments) - * [Viewing fragments in your logs](https://llm.datasette.io/en/stable/fragments.html#viewing-fragments-in-your-logs) - * [Using fragments from plugins](https://llm.datasette.io/en/stable/fragments.html#using-fragments-from-plugins) - * [Listing available fragment prefixes](https://llm.datasette.io/en/stable/fragments.html#listing-available-fragment-prefixes) -* [Model aliases](https://llm.datasette.io/en/stable/aliases.html) - * [Listing aliases](https://llm.datasette.io/en/stable/aliases.html#listing-aliases) - * [Adding a new alias](https://llm.datasette.io/en/stable/aliases.html#adding-a-new-alias) - * [Removing an alias](https://llm.datasette.io/en/stable/aliases.html#removing-an-alias) - * [Viewing the aliases file](https://llm.datasette.io/en/stable/aliases.html#viewing-the-aliases-file) -* [Embeddings](https://llm.datasette.io/en/stable/embeddings/index.html) - * [Embedding with the CLI](https://llm.datasette.io/en/stable/embeddings/cli.html) +* [设置](https://llm.datasette.io/en/stable/setup.html) + * [安装](https://llm.datasette.io/en/stable/setup.html#installation) + * [升级到最新版本](https://llm.datasette.io/en/stable/setup.html#upgrading-to-the-latest-version) + * [使用 uvx](https://llm.datasette.io/en/stable/setup.html#using-uvx) + * [关于 Homebrew 和 PyTorch 的说明](https://llm.datasette.io/en/stable/setup.html#a-note-about-homebrew-and-pytorch) + * [安装插件](https://llm.datasette.io/en/stable/setup.html#installing-plugins) + * [API 密钥管理](https://llm.datasette.io/en/stable/setup.html#api-key-management) + * [保存和使用已存储的密钥](https://llm.datasette.io/en/stable/setup.html#saving-and-using-stored-keys) + * [使用 –key 选项传递密钥](https://llm.datasette.io/en/stable/setup.html#passing-keys-using-the-key-option) + * [环境变量中的密钥](https://llm.datasette.io/en/stable/setup.html#keys-in-environment-variables) + * [配置](https://llm.datasette.io/en/stable/setup.html#configuration) + * [设置自定义默认模型](https://llm.datasette.io/en/stable/setup.html#setting-a-custom-default-model) + * [设置自定义目录位置](https://llm.datasette.io/en/stable/setup.html#setting-a-custom-directory-location) + * [开启和关闭 SQLite 日志记录](https://llm.datasette.io/en/stable/setup.html#turning-sqlite-logging-on-and-off) +* [用法](https://llm.datasette.io/en/stable/usage.html) + * [执行提示词](https://llm.datasette.io/en/stable/usage.html#executing-a-prompt) + * [模型选项](https://llm.datasette.io/en/stable/usage.html#model-options) + * [附件](https://llm.datasette.io/en/stable/usage.html#attachments) + * [系统提示词](https://llm.datasette.io/en/stable/usage.html#system-prompts) + * [工具](https://llm.datasette.io/en/stable/usage.html#tools) + * [提取围栏代码块](https://llm.datasette.io/en/stable/usage.html#extracting-fenced-code-blocks) + * [模式(Schema)](https://llm.datasette.io/en/stable/usage.html#schemas) + * [片段(Fragment)](https://llm.datasette.io/en/stable/usage.html#fragments) + * [继续对话](https://llm.datasette.io/en/stable/usage.html#continuing-a-conversation) + * [在 Bash 或 Zsh 中使用 LLM 的技巧](https://llm.datasette.io/en/stable/usage.html#tips-for-using-llm-with-bash-or-zsh) + * [补全提示词](https://llm.datasette.io/en/stable/usage.html#completion-prompts) + * [启动交互式聊天](https://llm.datasette.io/en/stable/usage.html#starting-an-interactive-chat) + * [列出可用模型](https://llm.datasette.io/en/stable/usage.html#listing-available-models) + * [为模型设置默认选项](https://llm.datasette.io/en/stable/usage.html#setting-default-options-for-models) +* [OpenAI 模型](https://llm.datasette.io/en/stable/openai-models.html) + * [配置](https://llm.datasette.io/en/stable/openai-models.html#configuration) + * [OpenAI 语言模型](https://llm.datasette.io/en/stable/openai-models.html#openai-language-models) + * [模型特性](https://llm.datasette.io/en/stable/openai-models.html#model-features) + * [OpenAI 嵌入模型](https://llm.datasette.io/en/stable/openai-models.html#openai-embedding-models) + * [OpenAI 补全模型](https://llm.datasette.io/en/stable/openai-models.html#openai-completion-models) + * [添加更多 OpenAI 模型](https://llm.datasette.io/en/stable/openai-models.html#adding-more-openai-models) +* [其他模型](https://llm.datasette.io/en/stable/other-models.html) + * [安装和使用本地模型](https://llm.datasette.io/en/stable/other-models.html#installing-and-using-a-local-model) + * [兼容 OpenAI 的模型](https://llm.datasette.io/en/stable/other-models.html#openai-compatible-models) + * [额外的 HTTP 标头](https://llm.datasette.io/en/stable/other-models.html#extra-http-headers) +* [工具](https://llm.datasette.io/en/stable/tools.html) + * [工具的工作原理](https://llm.datasette.io/en/stable/tools.html#how-tools-work) + * [试用工具](https://llm.datasette.io/en/stable/tools.html#trying-out-tools) + * [LLM 的工具实现](https://llm.datasette.io/en/stable/tools.html#llm-s-implementation-of-tools) + * [默认工具](https://llm.datasette.io/en/stable/tools.html#default-tools) + * [实现工具的技巧](https://llm.datasette.io/en/stable/tools.html#tips-for-implementing-tools) +* [模式(Schema)](https://llm.datasette.io/en/stable/schemas.html) + * [模式教程](https://llm.datasette.io/en/stable/schemas.html#schemas-tutorial) + * [从狗(dogs)示例入门](https://llm.datasette.io/en/stable/schemas.html#getting-started-with-dogs) + * [从新闻文章中提取人物](https://llm.datasette.io/en/stable/schemas.html#extracting-people-from-a-news-articles) + * [使用 JSON 模式](https://llm.datasette.io/en/stable/schemas.html#using-json-schemas) + * [指定模式的方式](https://llm.datasette.io/en/stable/schemas.html#ways-to-specify-a-schema) + * [简洁的 LLM 模式语法](https://llm.datasette.io/en/stable/schemas.html#concise-llm-schema-syntax) + * [在模板中保存可复用的模式](https://llm.datasette.io/en/stable/schemas.html#saving-reusable-schemas-in-templates) + * [浏览使用模式创建的已记录 JSON 对象](https://llm.datasette.io/en/stable/schemas.html#browsing-logged-json-objects-created-using-schemas) +* [模板](https://llm.datasette.io/en/stable/templates.html) + * [–save 入门](https://llm.datasette.io/en/stable/templates.html#getting-started-with-save) + * [使用模板](https://llm.datasette.io/en/stable/templates.html#using-a-template) + * [列出可用模板](https://llm.datasette.io/en/stable/templates.html#listing-available-templates) + * [作为 YAML 文件的模板](https://llm.datasette.io/en/stable/templates.html#templates-as-yaml-files) + * [系统提示词](https://llm.datasette.io/en/stable/templates.html#system-prompts) + * [片段](https://llm.datasette.io/en/stable/templates.html#fragments) + * [选项](https://llm.datasette.io/en/stable/templates.html#options) + * [工具](https://llm.datasette.io/en/stable/templates.html#tools) + * [模式](https://llm.datasette.io/en/stable/templates.html#schemas) + * [额外的模板变量](https://llm.datasette.io/en/stable/templates.html#additional-template-variables) + * [指定默认参数](https://llm.datasette.io/en/stable/templates.html#specifying-default-parameters) + * [配置代码提取](https://llm.datasette.io/en/stable/templates.html#configuring-code-extraction) + * [为模板设置默认模型](https://llm.datasette.io/en/stable/templates.html#setting-a-default-model-for-a-template) + * [来自插件的模板加载器](https://llm.datasette.io/en/stable/templates.html#template-loaders-from-plugins) +* [片段](https://llm.datasette.io/en/stable/fragments.html) + * [在提示词中使用片段](https://llm.datasette.io/en/stable/fragments.html#using-fragments-in-a-prompt) + * [在聊天中使用片段](https://llm.datasette.io/en/stable/fragments.html#using-fragments-in-chat) + * [浏览片段](https://llm.datasette.io/en/stable/fragments.html#browsing-fragments) + * [为片段设置别名](https://llm.datasette.io/en/stable/fragments.html#setting-aliases-for-fragments) + * [在日志中查看片段](https://llm.datasette.io/en/stable/fragments.html#viewing-fragments-in-your-logs) + * [使用来自插件的片段](https://llm.datasette.io/en/stable/fragments.html#using-fragments-from-plugins) + * [列出可用的片段前缀](https://llm.datasette.io/en/stable/fragments.html#listing-available-fragment-prefixes) +* [模型别名](https://llm.datasette.io/en/stable/aliases.html) + * [列出别名](https://llm.datasette.io/en/stable/aliases.html#listing-aliases) + * [添加新别名](https://llm.datasette.io/en/stable/aliases.html#adding-a-new-alias) + * [删除别名](https://llm.datasette.io/en/stable/aliases.html#removing-an-alias) + * [查看别名文件](https://llm.datasette.io/en/stable/aliases.html#viewing-the-aliases-file) +* [嵌入向量(Embeddings)](https://llm.datasette.io/en/stable/embeddings/index.html) + * [使用 CLI 生成嵌入](https://llm.datasette.io/en/stable/embeddings/cli.html) * [llm embed](https://llm.datasette.io/en/stable/embeddings/cli.html#llm-embed) * [llm embed-multi](https://llm.datasette.io/en/stable/embeddings/cli.html#llm-embed-multi) * [llm similar](https://llm.datasette.io/en/stable/embeddings/cli.html#llm-similar) * [llm embed-models](https://llm.datasette.io/en/stable/embeddings/cli.html#llm-embed-models) * [llm collections list](https://llm.datasette.io/en/stable/embeddings/cli.html#llm-collections-list) * [llm collections delete](https://llm.datasette.io/en/stable/embeddings/cli.html#llm-collections-delete) - * [Using embeddings from Python](https://llm.datasette.io/en/stable/embeddings/python-api.html) - * [Working with collections](https://llm.datasette.io/en/stable/embeddings/python-api.html#working-with-collections) - * [Retrieving similar items](https://llm.datasette.io/en/stable/embeddings/python-api.html#retrieving-similar-items) - * [SQL schema](https://llm.datasette.io/en/stable/embeddings/python-api.html#sql-schema) - * [Writing plugins to add new embedding models](https://llm.datasette.io/en/stable/embeddings/writing-plugins.html) + * [从 Python 使用嵌入向量](https://llm.datasette.io/en/stable/embeddings/python-api.html) + * [使用集合](https://llm.datasette.io/en/stable/embeddings/python-api.html#working-with-collections) + * [检索相似项](https://llm.datasette.io/en/stable/embeddings/python-api.html#retrieving-similar-items) + * [SQL 模式](https://llm.datasette.io/en/stable/embeddings/python-api.html#sql-schema) + * [编写插件以添加新的嵌入模型](https://llm.datasette.io/en/stable/embeddings/writing-plugins.html) * [`EmbeddingModel`](https://llm.datasette.io/en/stable/embeddings/writing-plugins.html#llm.EmbeddingModel) - * [Embedding binary content](https://llm.datasette.io/en/stable/embeddings/writing-plugins.html#embedding-binary-content) - * [Embedding storage format](https://llm.datasette.io/en/stable/embeddings/storage.html) -* [Plugins](https://llm.datasette.io/en/stable/plugins/index.html) - * [Installing plugins](https://llm.datasette.io/en/stable/plugins/installing-plugins.html) - * [Listing installed plugins](https://llm.datasette.io/en/stable/plugins/installing-plugins.html#listing-installed-plugins) - * [Running with a subset of plugins](https://llm.datasette.io/en/stable/plugins/installing-plugins.html#running-with-a-subset-of-plugins) - * [Plugin directory](https://llm.datasette.io/en/stable/plugins/directory.html) - * [Local models](https://llm.datasette.io/en/stable/plugins/directory.html#local-models) - * [Remote APIs](https://llm.datasette.io/en/stable/plugins/directory.html#remote-apis) - * [Tools](https://llm.datasette.io/en/stable/plugins/directory.html#tools) - * [Fragments and template loaders](https://llm.datasette.io/en/stable/plugins/directory.html#fragments-and-template-loaders) - * [Embedding models](https://llm.datasette.io/en/stable/plugins/directory.html#embedding-models) - * [Extra commands](https://llm.datasette.io/en/stable/plugins/directory.html#extra-commands) - * [Just for fun](https://llm.datasette.io/en/stable/plugins/directory.html#just-for-fun) - * [Plugin hooks](https://llm.datasette.io/en/stable/plugins/plugin-hooks.html) + * [嵌入二进制内容](https://llm.datasette.io/en/stable/embeddings/writing-plugins.html#embedding-binary-content) + * [嵌入存储格式](https://llm.datasette.io/en/stable/embeddings/storage.html) +* [插件](https://llm.datasette.io/en/stable/plugins/index.html) + * [安装插件](https://llm.datasette.io/en/stable/plugins/installing-plugins.html) + * [列出已安装的插件](https://llm.datasette.io/en/stable/plugins/installing-plugins.html#listing-installed-plugins) + * [使用部分插件运行](https://llm.datasette.io/en/stable/plugins/installing-plugins.html#running-with-a-subset-of-plugins) + * [插件目录](https://llm.datasette.io/en/stable/plugins/directory.html) + * [本地模型](https://llm.datasette.io/en/stable/plugins/directory.html#local-models) + * [远程 API](https://llm.datasette.io/en/stable/plugins/directory.html#remote-apis) + * [工具](https://llm.datasette.io/en/stable/plugins/directory.html#tools) + * [片段和模板加载器](https://llm.datasette.io/en/stable/plugins/directory.html#fragments-and-template-loaders) + * [嵌入模型](https://llm.datasette.io/en/stable/plugins/directory.html#embedding-models) + * [额外命令](https://llm.datasette.io/en/stable/plugins/directory.html#extra-commands) + * [仅供娱乐](https://llm.datasette.io/en/stable/plugins/directory.html#just-for-fun) + * [插件钩子](https://llm.datasette.io/en/stable/plugins/plugin-hooks.html) * [register_commands(cli)](https://llm.datasette.io/en/stable/plugins/plugin-hooks.html#register-commands-cli) * [register_models(register, model_aliases)](https://llm.datasette.io/en/stable/plugins/plugin-hooks.html#register-models-register-model-aliases) * [register_embedding_models(register)](https://llm.datasette.io/en/stable/plugins/plugin-hooks.html#register-embedding-models-register) * [register_tools(register)](https://llm.datasette.io/en/stable/plugins/plugin-hooks.html#register-tools-register) * [register_template_loaders(register)](https://llm.datasette.io/en/stable/plugins/plugin-hooks.html#register-template-loaders-register) * [register_fragment_loaders(register)](https://llm.datasette.io/en/stable/plugins/plugin-hooks.html#register-fragment-loaders-register) - * [Developing a model plugin](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html) - * [The initial structure of the plugin](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#the-initial-structure-of-the-plugin) - * [Installing your plugin to try it out](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#installing-your-plugin-to-try-it-out) - * [Building the Markov chain](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#building-the-markov-chain) - * [Executing the Markov chain](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#executing-the-markov-chain) - * [Adding that to the plugin](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#adding-that-to-the-plugin) - * [Understanding execute()](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#understanding-execute) - * [Prompts and responses are logged to the database](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#prompts-and-responses-are-logged-to-the-database) - * [Adding options](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#adding-options) - * [Distributing your plugin](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#distributing-your-plugin) - * [GitHub repositories](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#github-repositories) - * [Publishing plugins to PyPI](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#publishing-plugins-to-pypi) - * [Adding metadata](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#adding-metadata) - * [What to do if it breaks](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#what-to-do-if-it-breaks) - * [Advanced model plugins](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html) - * [Tip: lazily load expensive dependencies](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#tip-lazily-load-expensive-dependencies) - * [Models that accept API keys](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#models-that-accept-api-keys) - * [Async models](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#async-models) - * [Supporting schemas](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#supporting-schemas) - * [Supporting tools](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#supporting-tools) - * [Attachments for multi-modal models](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#attachments-for-multi-modal-models) - * [Structured messages and streaming events](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#structured-messages-and-streaming-events) - * [Consuming prompt.messages in build_messages](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#consuming-prompt-messages-in-build-messages) - * [Restoring opaque metadata on subsequent requests](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#restoring-opaque-metadata-on-subsequent-requests) - * [Tracking token usage](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#tracking-token-usage) - * [Tracking resolved model names](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#tracking-resolved-model-names) + * [开发模型插件](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html) + * [插件的初始结构](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#the-initial-structure-of-the-plugin) + * [安装你的插件进行试用](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#installing-your-plugin-to-try-it-out) + * [构建马尔可夫链](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#building-the-markov-chain) + * [执行马尔可夫链](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#executing-the-markov-chain) + * [将其添加到插件中](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#adding-that-to-the-plugin) + * [理解 execute()](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#understanding-execute) + * [提示词和响应会记录到数据库](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#prompts-and-responses-are-logged-to-the-database) + * [添加选项](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#adding-options) + * [分发你的插件](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#distributing-your-plugin) + * [GitHub 仓库](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#github-repositories) + * [将插件发布到 PyPI](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#publishing-plugins-to-pypi) + * [添加元数据](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#adding-metadata) + * [如果出现问题该怎么办](https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html#what-to-do-if-it-breaks) + * [高级模型插件](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html) + * [技巧:懒加载昂贵的依赖项](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#tip-lazily-load-expensive-dependencies) + * [接受 API 密钥的模型](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#models-that-accept-api-keys) + * [异步模型](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#async-models) + * [支持模式](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#supporting-schemas) + * [支持工具](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#supporting-tools) + * [多模态模型的附件](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#attachments-for-multi-modal-models) + * [结构化消息和流式事件](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#structured-messages-and-streaming-events) + * [在 build_messages 中使用 prompt.messages](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#consuming-prompt-messages-in-build-messages) + * [在后续请求中恢复不透明元数据](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#restoring-opaque-metadata-on-subsequent-requests) + * [跟踪 token 使用量](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#tracking-token-usage) + * [跟踪解析后的模型名称](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#tracking-resolved-model-names) * [LLM_RAISE_ERRORS](https://llm.datasette.io/en/stable/plugins/advanced-model-plugins.html#llm-raise-errors) - * [Utility functions for plugins](https://llm.datasette.io/en/stable/plugins/plugin-utilities.html) + * [插件的实用函数](https://llm.datasette.io/en/stable/plugins/plugin-utilities.html) * [llm.get_key()](https://llm.datasette.io/en/stable/plugins/plugin-utilities.html#llm-get-key) * [llm.user_dir()](https://llm.datasette.io/en/stable/plugins/plugin-utilities.html#llm-user-dir) * [llm.ModelError](https://llm.datasette.io/en/stable/plugins/plugin-utilities.html#llm-modelerror) * [Response.fake()](https://llm.datasette.io/en/stable/plugins/plugin-utilities.html#response-fake) * [Python API](https://llm.datasette.io/en/stable/python-api.html) - * [Basic prompt execution](https://llm.datasette.io/en/stable/python-api.html#basic-prompt-execution) - * [System prompts](https://llm.datasette.io/en/stable/python-api.html#system-prompts) - * [Attachments](https://llm.datasette.io/en/stable/python-api.html#attachments) - * [Tools](https://llm.datasette.io/en/stable/python-api.html#tools) - * [Schemas](https://llm.datasette.io/en/stable/python-api.html#schemas) - * [Fragments](https://llm.datasette.io/en/stable/python-api.html#fragments) - * [Model options](https://llm.datasette.io/en/stable/python-api.html#model-options) - * [Passing an API key](https://llm.datasette.io/en/stable/python-api.html#passing-an-api-key) - * [Models from plugins](https://llm.datasette.io/en/stable/python-api.html#models-from-plugins) - * [Accessing the underlying JSON](https://llm.datasette.io/en/stable/python-api.html#accessing-the-underlying-json) - * [Token usage](https://llm.datasette.io/en/stable/python-api.html#token-usage) - * [Streaming responses](https://llm.datasette.io/en/stable/python-api.html#streaming-responses) - * [Structured messages and streaming events](https://llm.datasette.io/en/stable/python-api.html#structured-messages-and-streaming-events) - * [Async models](https://llm.datasette.io/en/stable/python-api.html#async-models) + * [基本提示词执行](https://llm.datasette.io/en/stable/python-api.html#basic-prompt-execution) + * [系统提示词](https://llm.datasette.io/en/stable/python-api.html#system-prompts) + * [附件](https://llm.datasette.io/en/stable/python-api.html#attachments) + * [工具](https://llm.datasette.io/en/stable/python-api.html#tools) + * [模式](https://llm.datasette.io/en/stable/python-api.html#schemas) + * [片段](https://llm.datasette.io/en/stable/python-api.html#fragments) + * [模型选项](https://llm.datasette.io/en/stable/python-api.html#model-options) + * [传递 API 密钥](https://llm.datasette.io/en/stable/python-api.html#passing-an-api-key) + * [来自插件的模型](https://llm.datasette.io/en/stable/python-api.html#models-from-plugins) + * [访问底层 JSON](https://llm.datasette.io/en/stable/python-api.html#accessing-the-underlying-json) + * [Token 使用量](https://llm.datasette.io/en/stable/python-api.html#token-usage) + * [流式响应](https://llm.datasette.io/en/stable/python-api.html#streaming-responses) + * [结构化消息和流式事件](https://llm.datasette.io/en/stable/python-api.html#structured-messages-and-streaming-events) + * [异步模型](https://llm.datasette.io/en/stable/python-api.html#async-models) * [`AsyncResponse`](https://llm.datasette.io/en/stable/python-api.html#llm.AsyncResponse) - * [Tool functions can be sync or async](https://llm.datasette.io/en/stable/python-api.html#tool-functions-can-be-sync-or-async) - * [Tool use for async models](https://llm.datasette.io/en/stable/python-api.html#tool-use-for-async-models) - * [Conversations](https://llm.datasette.io/en/stable/python-api.html#conversations) - * [Conversations using tools](https://llm.datasette.io/en/stable/python-api.html#conversations-using-tools) - * [Listing models](https://llm.datasette.io/en/stable/python-api.html#listing-models) - * [Running code when a response has completed](https://llm.datasette.io/en/stable/python-api.html#running-code-when-a-response-has-completed) - * [Other functions](https://llm.datasette.io/en/stable/python-api.html#other-functions) + * [工具函数可以是同步或异步的](https://llm.datasette.io/en/stable/python-api.html#tool-functions-can-be-sync-or-async) + * [异步模型的工具使用](https://llm.datasette.io/en/stable/python-api.html#tool-use-for-async-models) + * [对话](https://llm.datasette.io/en/stable/python-api.html#conversations) + * [使用工具的对话](https://llm.datasette.io/en/stable/python-api.html#conversations-using-tools) + * [列出模型](https://llm.datasette.io/en/stable/python-api.html#listing-models) + * [在响应完成时运行代码](https://llm.datasette.io/en/stable/python-api.html#running-code-when-a-response-has-completed) + * [其他函数](https://llm.datasette.io/en/stable/python-api.html#other-functions) * [set_alias(alias, model_id)](https://llm.datasette.io/en/stable/python-api.html#set-alias-alias-model-id) * [remove_alias(alias)](https://llm.datasette.io/en/stable/python-api.html#remove-alias-alias) * [set_default_model(alias)](https://llm.datasette.io/en/stable/python-api.html#set-default-model-alias) * [get_default_model()](https://llm.datasette.io/en/stable/python-api.html#get-default-model) * [set_default_embedding_model(alias) and get_default_embedding_model()](https://llm.datasette.io/en/stable/python-api.html#set-default-embedding-model-alias-and-get-default-embedding-model) -* [Logging to SQLite](https://llm.datasette.io/en/stable/logging.html) - * [Viewing the logs](https://llm.datasette.io/en/stable/logging.html#viewing-the-logs) - * [-s/–short mode](https://llm.datasette.io/en/stable/logging.html#s-short-mode) - * [Logs for a conversation](https://llm.datasette.io/en/stable/logging.html#logs-for-a-conversation) - * [Searching the logs](https://llm.datasette.io/en/stable/logging.html#searching-the-logs) - * [Filtering past a specific ID](https://llm.datasette.io/en/stable/logging.html#filtering-past-a-specific-id) - * [Filtering by model](https://llm.datasette.io/en/stable/logging.html#filtering-by-model) - * [Filtering by prompts that used specific fragments](https://llm.datasette.io/en/stable/logging.html#filtering-by-prompts-that-used-specific-fragments) - * [Filtering by prompts that used specific tools](https://llm.datasette.io/en/stable/logging.html#filtering-by-prompts-that-used-specific-tools) - * [Browsing data collected using schemas](https://llm.datasette.io/en/stable/logging.html#browsing-data-collected-using-schemas) - * [Browsing logs using Datasette](https://llm.datasette.io/en/stable/logging.html#browsing-logs-using-datasette) - * [Backing up your database](https://llm.datasette.io/en/stable/logging.html#backing-up-your-database) - * [SQL schema](https://llm.datasette.io/en/stable/logging.html#sql-schema) -* [Related tools](https://llm.datasette.io/en/stable/related-tools.html) +* [记录到 SQLite](https://llm.datasette.io/en/stable/logging.html) + * [查看日志](https://llm.datasette.io/en/stable/logging.html#viewing-the-logs) + * [-s/–short 模式](https://llm.datasette.io/en/stable/logging.html#s-short-mode) + * [对话日志](https://llm.datasette.io/en/stable/logging.html#logs-for-a-conversation) + * [搜索日志](https://llm.datasette.io/en/stable/logging.html#searching-the-logs) + * [按特定 ID 之后的记录过滤](https://llm.datasette.io/en/stable/logging.html#filtering-past-a-specific-id) + * [按模型过滤](https://llm.datasette.io/en/stable/logging.html#filtering-by-model) + * [按使用了特定片段的提示词过滤](https://llm.datasette.io/en/stable/logging.html#filtering-by-prompts-that-used-specific-fragments) + * [按使用了特定工具的提示词过滤](https://llm.datasette.io/en/stable/logging.html#filtering-by-prompts-that-used-specific-tools) + * [浏览使用模式收集的数据](https://llm.datasette.io/en/stable/logging.html#browsing-data-collected-using-schemas) + * [使用 Datasette 浏览日志](https://llm.datasette.io/en/stable/logging.html#browsing-logs-using-datasette) + * [备份数据库](https://llm.datasette.io/en/stable/logging.html#backing-up-your-database) + * [SQL 模式](https://llm.datasette.io/en/stable/logging.html#sql-schema) +* [相关工具](https://llm.datasette.io/en/stable/related-tools.html) * [strip-tags](https://llm.datasette.io/en/stable/related-tools.html#strip-tags) * [ttok](https://llm.datasette.io/en/stable/related-tools.html#ttok) * [Symbex](https://llm.datasette.io/en/stable/related-tools.html#symbex) -* [CLI reference](https://llm.datasette.io/en/stable/help.html) +* [CLI 参考](https://llm.datasette.io/en/stable/help.html) * [llm –help](https://llm.datasette.io/en/stable/help.html#llm-help) * [llm prompt –help](https://llm.datasette.io/en/stable/help.html#llm-prompt-help) * [llm chat –help](https://llm.datasette.io/en/stable/help.html#llm-chat-help) @@ -358,11 +364,11 @@ See also [the llm tag](https://simonwillison.net/tags/llm/) on my blog. * [llm embed-models –help](https://llm.datasette.io/en/stable/help.html#llm-embed-models-help) * [llm collections –help](https://llm.datasette.io/en/stable/help.html#llm-collections-help) * [llm openai –help](https://llm.datasette.io/en/stable/help.html#llm-openai-help) -* [Contributing](https://llm.datasette.io/en/stable/contributing.html) - * [Updating recorded HTTP API interactions and associated snapshots](https://llm.datasette.io/en/stable/contributing.html#updating-recorded-http-api-interactions-and-associated-snapshots) - * [Debugging tricks](https://llm.datasette.io/en/stable/contributing.html#debugging-tricks) - * [Documentation](https://llm.datasette.io/en/stable/contributing.html#documentation) - * [Release process](https://llm.datasette.io/en/stable/contributing.html#release-process) +* [贡献](https://llm.datasette.io/en/stable/contributing.html) + * [更新已记录的 HTTP API 交互及相关快照](https://llm.datasette.io/en/stable/contributing.html#updating-recorded-http-api-interactions-and-associated-snapshots) + * [调试技巧](https://llm.datasette.io/en/stable/contributing.html#debugging-tricks) + * [文档](https://llm.datasette.io/en/stable/contributing.html#documentation) + * [发布流程](https://llm.datasette.io/en/stable/contributing.html#release-process) -* [Changelog](https://llm.datasette.io/en/stable/changelog.html) +* [更新日志](https://llm.datasette.io/en/stable/changelog.html)