← Обзор / ai-search / get-started
Python SDK
Это руководство проведёт вас через создание экземпляра AI Search, загрузку контента и отправку к нему запросов из приложения на Python с помощью Cloudflare Python SDK ↗.
Предварительные требования
- Python ↗ 3.8 или новее.
- Ваш ID аккаунта.
В этом руководстве используется default пространство имён, которое существует автоматически для каждого аккаунта. Чтобы сгруппировать экземпляры в собственное пространство имён, создайте его с помощью client.aisearch.namespaces.create().
1. Создайте токен API
Вам потребуется токен API с AI Search:Edit и AI Search:Run разрешения.
-
В панели управления Cloudflare перейдите в My Profile > API-токены.
Перейдите в API-токены ↗ -
Выберите Create Token.
-
Выберите Create Custom Token.
-
Введите Имя токена, например
AI Search Python. -
В разделе Разрешения, добавьте два разрешения:
- Аккаунт > AI Search:Edit
- Аккаунт > AI Search:Run
-
Выберите Continue to summary, затем выберите Create 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 cloudflare4. Настройте учётные данные
Экспортируйте идентификатор аккаунта и токен API в переменные окружения.
export CLOUDFLARE_ACCOUNT_ID="<ACCOUNT_ID>"
export CLOUDFLARE_API_TOKEN="<API_TOKEN>"5. Создайте экземпляр AI Search
Создайте файл с именем quickstart.py. Следующий код настраивает клиента и создаёт экземпляр с именем my-instance в default пространство имён. Поскольку источник данных не указан, экземпляр использует встроенное хранилище, чтобы вы могли загружать в него файлы напрямую.
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; файл продолжает индексироваться в фоновом режиме и вскоре становится доступным для поиска.
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 и таким образом выполнять запрос к вашему проиндексированному содержимому.
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Если поиск не возвращает результатов, содержимое может ещё индексироваться. Подождите немного и повторите поиск.