INTEGRITY Документация

Python SDK

Это руководство проведёт вас через создание экземпляра AI Search, загрузку контента и отправку к нему запросов из приложения на Python с помощью Cloudflare Python SDK ↗.

Предварительные требования

В этом руководстве используется default пространство имён, которое существует автоматически для каждого аккаунта. Чтобы сгруппировать экземпляры в собственное пространство имён, создайте его с помощью client.aisearch.namespaces.create().

1. Создайте токен API

Вам потребуется токен API с AI Search:Edit и AI Search:Run разрешения.

  1. В панели управления Cloudflare перейдите в My Profile > API-токены.

    Перейдите в API-токены ↗
  2. Выберите Create Token.

  3. Выберите Create Custom Token.

  4. Введите Имя токена, например AI Search Python.

  5. В разделе Разрешения, добавьте два разрешения:

    • Аккаунт > AI Search:Edit
    • Аккаунт > AI Search:Run
  6. Выберите Continue to summary, затем выберите Create Token.

  7. Скопируйте и сохраните значение токена. Это ваш 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. Настройте учётные данные

Экспортируйте идентификатор аккаунта и токен API в переменные окружения.

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

5. Создайте экземпляр AI Search

Создайте файл с именем quickstart.py. Следующий код настраивает клиента и создаёт экземпляр с именем my-instance в default пространство имён. Поскольку источник данных не указан, экземпляр использует встроенное хранилище, чтобы вы могли загружать в него файлы напрямую.

quickstart.py
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.py
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.py
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

Запросы к AI Search с помощью HTTP-запросов.

API Workers

Запросы к AI Search из Cloudflare Worker.