Перейти до вмісту

Штучний інтелект

ШІ — необов’язковий. Якщо постачальника не налаштовано, нічого нікуди не надсилається. basedb уміє працювати з OpenAI, Anthropic і Mistral з вашим власним ключем — і з будь-яким сервером, що розмовляє API OpenAI: Azure, корпоративним шлюзом, моделлю, яку ви розгортаєте у себе.

Налаштування постачальника

Section titled “Налаштування постачальника”

Доки в інтерфейсі не збережено жодних налаштувань, API читає своє середовище:

Fenêtre de terminal
BASEDB_AI_PROVIDER=mistral # openai, anthropic, mistral або openai_compatible
BASEDB_AI_MODEL=mistral-small-latest
MISTRAL_API_KEY=… # або BASEDB_AI_API_KEY

Ключ читається з BASEDB_AI_API_KEY або, якщо його немає, зі змінної зі звичною для постачальника назвою (OPENAI_API_KEY, ANTHROPIC_API_KEY, MISTRAL_API_KEY).

Azure, шлюз, локальна модель

Section titled “Azure, шлюз, локальна модель”

BASEDB_AI_PROVIDER=openai_compatible надсилає виклики у форматі OpenAI на адресу з BASEDB_AI_BASE_URL: усе, що передує /chat/completions, разом із параметрами. BASEDB_AI_HEADERS додає до кожного виклику заголовки, яких вимагає цей сервер, у вигляді JSON-об’єкта.

Fenêtre de terminal
# Azure OpenAI: назва розгортання як модель, ключ у заголовку api-key
BASEDB_AI_PROVIDER=openai_compatible
BASEDB_AI_MODEL=mon-deploiement
BASEDB_AI_BASE_URL=https://ma-ressource.openai.azure.com/openai/v1
BASEDB_AI_HEADERS='{"api-key":"…"}'
# Стара форма Azure, на кожне розгортання: параметр лишається після шляху
BASEDB_AI_BASE_URL=https://ma-ressource.openai.azure.com/openai/deployments/mon-deploiement?api-version=2024-10-21
# Модель, яку обслуговує Ollama, без ключа
BASEDB_AI_PROVIDER=openai_compatible
BASEDB_AI_MODEL=llama3.1
BASEDB_AI_BASE_URL=http://ollama:11434/v1

З openai_compatible ключ необов’язковий: якщо BASEDB_AI_API_KEY задано, він іде в Authorization: Bearer. Заголовок із BASEDB_AI_HEADERS замінює заголовок ключа — наприклад, для шлюзу, якому потрібен власний Authorization.

BASEDB_AI_BASE_URL і BASEDB_AI_HEADERS обслуговують також трьох інших постачальників, до яких звертаються через шлюз: для anthropic адреса — це все, що передує /messages. Ці дві змінні супроводжують постачальника із середовища, і лише його: робочий простір, який обрав іншого, не отримує ні адреси, ні заголовків, ні ключа. Під час запуску API записує обраного постачальника й повідомляє про недійсну адресу або JSON-об’єкт.

Внутрішній шлюз із самопідписаним сертифікатом TLS або корпоративний проксі, що підписує трафік заново, призводить до помилок у викликах: BASEDB_AI_PROVIDER_SSL_VERIFY=false припиняє перевіряти сертифікат лише цього постачальника — усі інші вихідні виклики екземпляра та постачальник, якого міг обрати робочий простір, і далі перевіряються. Запуск повідомляє про це. Оскільки ключ іде в кожному виклику, залишайте цей параметр лише для мережі, яку ви контролюєте.

ШІ — це не тип поля, а опція: перемикач ШІ у формі поля — текст, довгий текст, URL, число, одиночний вибір, логічне значення, дата — доручає його заповнення моделі за інструкцією, яка посилається на інші стовпці:

Résume {{Notes}} en une phrase.
Catégorie de {{Description}} parmi les choix de la liste.
  • Поле обчислюється, щойно рядок з’являється, а потім щоразу, коли змінюється стовпець, на який воно посилається, — і, за бажанням, за розкладом (не частіше ніж раз на 15 хвилин).
  • Стовпець зберігає свій тип: відповідь, у якій нічого не читається в цьому типі (число не знайдено, варіанта вибору не існує), відхиляється, а не записується.
  • Вимкнення опції знову робить поле доступним для ручного редагування, значення зберігаються.
  • Значення, на які посилається інструкція, надсилаються постачальнику: увімкнення потребує явної згоди.

BASEDB_AI_FIELD_QUOTA обмежує ці обчислення на годину для кожного робочого простору (типово 300).

Автоматизація може запитати ШІ на одному зі своїх кроків: інструкція, що посилається на рядок і попередні кроки, і відповідь, прочитана у вибраному типі, яку наступні кроки записують, надсилають або на яку посилаються. Ті самі правила, що й для поля: згода під час збереження, надсилається лише те, на що посилається інструкція, кожен виклик журналюється й враховується в BASEDB_AI_FIELD_QUOTA.

  • Чернетки: описати таблицю чи формулу одним реченням і отримати пропозицію для перегляду. Надсилаються лише підписи, типи та введене речення — жодних значень клітинок.
  • Шаблони: описати цілу базу — «облік скарг моїх клієнтів» — і отримати таблиці, рядки з прикладами, подання, інформаційну панель та автоматизації, які можна доопрацювати, а потім створити. Надсилається лише речення. Див. Шаблони баз.
  • Copilot: розмова про відкриту базу. Можна попросити фільтр, запит, стовпці, таблицю, тестовий набір даних; кожна пропозиція надходить у вигляді картки й застосовується одним клацанням — тими самими маршрутами, що й форми.

Типово постачальнику надсилається лише структура. Прапорець «Дозволити читання даних» дає Copilot змогу в межах розмови читати рядки (не більше 50 за одне читання) і відповідати на їхній основі — кожне читання наводиться під його відповіддю.

Copilot інформаційних панелей

Section titled “Copilot інформаційних панелей”

У розділі Інформаційні панелі Copilot пропонує запитання, зміни панелі та значення для її фільтрів, які застосовуються одним клацанням. Ті самі правила: без згоди надсилається лише структура — таблиці та поля, панелі та запитання бази, визначення карток відкритої панелі (їхні запитання, їхні тексти), — але ніколи не результати чи значення, вибрані у фільтрах. Прапорець «Дозволити читання даних» додає ці значення та результати карток за показаними фільтрами, не більше 50 рядків за одне читання, кожне з яких наводиться під відповіддю.

У розділі Автоматизації Copilot пропонує цілу автоматизацію — ту, що на екрані, змінену, або нову, — і накладає її на потік редактора, ніколи її не зберігаючи: ви переглядаєте її, а потім зберігаєте. Ті самі правила: без згоди надсилається лише структура — таблиці та поля, автоматизації бази, та, що на екрані, її останні запуски без жодних значень, люди й канали Slack під умовними позначками, — а прапорець «Дозволити читання даних» додає прочитані рядки, не більше 50 за одне читання.

BASEDB_AI_QUOTA обмежує інтерактивні виклики на годину для кожного робочого простору (типово 120).

basedb — вільне програмне забезпечення від Eodia, студії ШІ-орієнтованого програмного забезпечення.