跳转到内容
搜索文档

Python SDK

最后更新 查看 MarkdownAgent 设置

本指南将引导你使用 Cloudflare Python SDK ↗ 创建 AI Search 实例、上传内容,并从 Python 应用进行查询。

前提条件

本指南使用每个账户自动存在的 default namespace。若要将实例分组到自己的 namespace,请使用 client.aisearch.namespaces.create() 创建一个。

1. 创建 API token

你需要具有 AI Search:Edit 和 AI Search:Run 权限的 API token。

  1. 在 Cloudflare 仪表板中,前往 My Profile(我的个人资料) > API Tokens(API 令牌)。

    Go to API Tokens ↗
  2. 选择 Create Token(创建令牌)。

  3. 选择 Create Custom Token(创建自定义令牌)。

  4. 输入 Token name(令牌名称),例如 AI Search Python。

  5. 在 Permissions(权限) 下,添加两项权限:

    • Account > AI Search:Edit
    • Account > AI Search:Run
  6. 选择 Continue to summary(继续到摘要),然后选择 Create Token(创建令牌)。

  7. 复制并保存 token 值。这就是你的 API_TOKEN。

2. 设置 Python 环境

创建项目目录和虚拟环境,以隔离依赖。

mkdir ai-search-python && cd ai-search-python
python3 -m venv .venv
source .venv/bin/activate

在 Windows 上,请改用 .venv\Scripts\activate 激活虚拟环境。

3. 安装 Cloudflare Python SDK

安装官方 cloudflare 包:

pip install cloudflare

4. 设置凭据

将账户 ID 和 API token 导出为环境变量。

export CLOUDFLARE_ACCOUNT_ID="<ACCOUNT_ID>"
export CLOUDFLARE_API_TOKEN="<API_TOKEN>"

5. 创建 AI Search 实例

创建名为 quickstart.py 的文件。以下代码会初始化客户端,并在 default namespace 中创建名为 my-instance 的实例。由于未指定数据源,该实例使用内置存储,因此可以直接向其上传文件。

quickstart.pypython
import os

from cloudflare import Cloudflare

client = Cloudflare(api_token=os.environ["CLOUDFLARE_API_TOKEN"])
account_id = os.environ["CLOUDFLARE_ACCOUNT_ID"]

instance = client.aisearch.namespaces.instances.create(
    name="default",
    account_id=account_id,
    id="my-instance",
)

print(f"Created instance: {instance.id}")

6. 上传内容

将以下内容添加到 quickstart.py 以上传文档。将 wait_for_completion 设为 True 会在返回前等待索引完成,以便文件可立即搜索。若索引仍在进行,item.status 可能为 running;文件会在后台继续索引,并很快变为可搜索。

quickstart.pypython
item = client.aisearch.namespaces.instances.items.upload(
    id="my-instance",
    account_id=account_id,
    name="default",
    file={
        "file": (
            "getting-started.md",
            b"AI Search indexes uploaded content for retrieval.",
            "text/markdown",
        ),
        "wait_for_completion": True,
    },
)

print(f"Uploaded item status: {item.status}")

7. 搜索实例

将以下内容添加到 quickstart.py,以对已索引内容运行查询。

quickstart.pypython
results = client.aisearch.namespaces.instances.search(
    id="my-instance",
    account_id=account_id,
    name="default",
    query="How does AI Search handle uploaded content?",
)

if results.chunks:
    print(results.chunks[0].text)
else:
    print("No results yet — your content may still be indexing. Try again in a moment.")

运行脚本:

python quickstart.py

如果搜索没有返回结果,内容可能仍在索引中。稍等片刻后再次运行搜索。

后续步骤

REST API

通过 HTTP 请求查询 AI Search。

Workers API

在 Cloudflare Worker 中查询 AI Search。

这篇文档对您有帮助吗?