Dokumentacja referencyjna interfejsu API pamięci

Ta strona jest dokumentacją interfejsu API REST dla pamięci zarządzanego agenta. Obejmuje on punkty końcowe, pola żądań i pola odpowiedzi dla pamięci zarządzanej:

  • Magazyn pamięci to zabezpieczany wykaz aparatu Unity, który działa jako kontener dla wpisów pamięci. Użyj interfejsów API magazynu pamięci , aby tworzyć magazyny i zarządzać nimi.
  • Wpis pamięci to pojedynczy element zawartości przechowywany w magazynie pamięci. Interfejsy API wprowadzania pamięci umożliwiają odczytywanie i zapisywanie wpisów.
  • Konwersacja to stan konwersacji zgodny ze standardem OpenAI — komunikaty i wywołania narzędzi — wspierane przez magazyn pamięci i przypięte do zakresu. Użyj interfejsów API konwersacji , aby tworzyć konwersacje i ich elementy oraz zarządzać nimi.

Wymagania wstępne

Wygeneruj token OAuth za pomocą Databricks CLI, aby wywoływać interfejsy API:

databricks auth login --host ${DATABRICKS_HOST}
databricks auth token

Interfejsy API magazynu pamięci

Magazyn pamięci to zabezpieczany wykaz aparatu Unity, który działa jako kontener dla wpisów pamięci. Magazyny pamięci używają nazewnictwa na trzech poziomach: catalog.schema.memory_store_name.

Operation Punkt końcowy Wymagane uprawnienia
Utwórz POST /api/2.1/unity-catalog/memory-stores CREATE MEMORY STORE w schemacie nadrzędnym
Pobierz GET /api/2.1/unity-catalog/memory-stores/{full_name} READ MEMORY STORE w sklepie
Lista GET /api/2.1/unity-catalog/memory-stores USE SCHEMA w schemacie nadrzędnym
Update PATCH /api/2.1/unity-catalog/memory-stores/{full_name} MANAGE w sklepie
Delete DELETE /api/2.1/unity-catalog/memory-stores/{full_name} MANAGE w sklepie

Tworzenie magazynu pamięci

Tworzy nowy magazyn pamięci w schemacie nadrzędnym.

  • Punkt końcowy:POST /api/2.1/unity-catalog/memory-stores
  • Wymagane uprawnienia: CREATE MEMORY STORE w schemacie nadrzędnym
curl -X POST "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "agent_memory",
    "catalog_name": "main",
    "schema_name": "default",
    "description": "Memory store for customer support agents"
  }'

Pola żądania:

Pole Typ Required Description
name string Yes Krótka nazwa magazynu pamięci. Musi być zgodna [A-Za-z0-9_-]+z znakiem , od 1 do 255 znaków. Unikatowy w schemacie nadrzędnym.
catalog_name string Yes Nazwa wykazu nadrzędnego.
schema_name string Yes Nazwa schematu nadrzędnego względem wykazu.
description string No Czytelny dla człowieka opis magazynu pamięci.

Pobieranie magazynu pamięci

Pobiera magazyn pamięci przy użyciu trzyczęściowej w pełni kwalifikowanej nazwy.

  • Punkt końcowy:GET /api/2.1/unity-catalog/memory-stores/{full_name}
  • Wymagane uprawnienia: READ MEMORY STORE w sklepie
curl -X GET \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}"

Lista magazynów pamięci

Wyświetla listę magazynów pamięci w schemacie. Wyniki są filtrowane w celu przechowywania, które obiekt wywołujący może odczytać.

  • Punkt końcowy:GET /api/2.1/unity-catalog/memory-stores
  • Wymagane uprawnienia: USE SCHEMA w schemacie nadrzędnym
curl -X GET \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores?catalog_name=main&schema_name=default" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}"

Parametry zapytania:

Parametr Typ Required Description
catalog_name string Yes Nazwa katalogu nadrzędnego.
schema_name string Yes Nazwa schematu nadrzędnego.
page_token string No Token stronicowania z poprzedniej odpowiedzi.
max_results integer No Maksymalna liczba sklepów na stronę. Wartość domyślna to 100, maksymalnie 1000.

Aktualizowanie magazynu pamięci

Aktualizuje pola modyfikowalne w magazynie pamięci. Obecnie jest tylko description modyfikowalne.

  • Punkt końcowy:PATCH /api/2.1/unity-catalog/memory-stores/{full_name}
  • Wymagane uprawnienia: MANAGE w sklepie
curl -X PATCH \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "memory_store": {
      "description": "Updated description for the memory store"
    },
    "update_mask": "description"
  }'

Usuwanie magazynu pamięci

Usuwa magazyn pamięci i wszystkie jego wpisy pamięci.

  • Punkt końcowy:DELETE /api/2.1/unity-catalog/memory-stores/{full_name}
  • Wymagane uprawnienia: MANAGE w sklepie
curl -X DELETE \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}"

Pola odpowiedzi magazynu pamięci

Pole Typ Description
name string Krótka nazwa magazynu pamięci.
catalog_name string Nazwa katalogu nadrzędnego.
schema_name string Nazwa schematu nadrzędnego.
description string Czytelny dla człowieka opis.
owner string Podmiot zabezpieczeń UC, który jest właścicielem sklepu. Ustaw wartość przy tworzeniu.
full_name string Trzyczęściowa w pełni kwalifikowana nazwa: catalog.schema.name.
memory_store_id string Identyfikator UUID przypisany przez serwer.
securable_type string Zawsze MEMORY_STORE.
created_at integer Czas tworzenia w milisekundach systemu Unix.
updated_at integer Czas ostatniej aktualizacji w milisekundach systemu Unix.
created_by string Podmiot zabezpieczeń, który utworzył magazyn.

Interfejsy API wprowadzania pamięci

Wpisy pamięci to poszczególne elementy zawartości przechowywane w magazynie pamięci. Każdy wpis jest identyfikowany przez zakres i ścieżkę: scope to klucz partycji przypisywany przez obiekt wywołujący (na przykład identyfikator użytkownika końcowego) i path jest ścieżką nietrwałą w tym zakresie, który musi zaczynać się od /memories/ (na przykład /memories/preferences.md). scope jest wymagany w każdym żądaniu wprowadzania pamięci.

Operation Punkt końcowy Wymagane uprawnienia
Utwórz POST /api/2.1/unity-catalog/memory-stores/{full_name}/entries WRITE MEMORY STORE w sklepie
Pobierz GET /api/2.1/unity-catalog/memory-stores/{full_name}/entries:get READ MEMORY STORE w sklepie
Lista GET /api/2.1/unity-catalog/memory-stores/{full_name}/entries READ MEMORY STORE w sklepie
Update PATCH /api/2.1/unity-catalog/memory-stores/{full_name}/entries WRITE MEMORY STORE w sklepie
Delete DELETE /api/2.1/unity-catalog/memory-stores/{full_name}/entries WRITE MEMORY STORE w sklepie
Szukaj POST /api/2.1/unity-catalog/memory-stores/{full_name}/entries:search READ MEMORY STORE w sklepie

Tworzenie wpisu pamięci

Tworzy nowy wpis pamięci w magazynie pamięci.

  • Punkt końcowy:POST /api/2.1/unity-catalog/memory-stores/{full_name}/entries?scope=<scope>
  • Wymagane uprawnienia: WRITE MEMORY STORE w sklepie

scope jest parametrem zapytania; treść żądania jest samym wpisem.

curl -X POST \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory/entries?scope=user-42" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "path": "/memories/preferences.md",
    "contents": "The user prefers responses in English and uses formal tone.",
    "description": "User language and tone preferences"
  }'

Pola żądania:

Pole W Typ Required Description
scope kwerenda string Yes Partycja, do której należy wpis, przypisany przez obiekt wywołujący (na przykład identyfikator użytkownika końcowego).
path body string Yes Ścieżka nietrwała identyfikująca wpis w zakresie. Musi zaczynać się od /memories/. Niezmienne.
contents body string No Zawartość tekstowa wolnej pamięci.
description body string No Jednowierszowe podsumowanie wpisu pamięci. Służy jako punkt zaczepienia indeksu w odpowiedziach listy.

Pobieranie wpisu pamięci

Pobiera pojedynczy wpis pamięci według scope i path.

  • Punkt końcowy:GET /api/2.1/unity-catalog/memory-stores/{full_name}/entries:get
  • Wymagane uprawnienia: READ MEMORY STORE w sklepie
curl -X GET \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory/entries:get?scope=user-42&path=/memories/preferences.md" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}"

Wyświetlanie listy wpisów pamięci

Wyświetla listę wpisów pamięci w zakresie.

  • Punkt końcowy:GET /api/2.1/unity-catalog/memory-stores/{full_name}/entries
  • Wymagane uprawnienia: READ MEMORY STORE w sklepie
curl -X GET \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory/entries?scope=user-42" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}"

Parametry zapytania:

Parametr Typ Required Description
scope string Yes Zakres (partycja) do wyświetlania listy wpisów z.
path_prefix string No Zwracaj tylko wpisy, których ścieżka zaczyna się od tego prefiksu.
page_size integer No Maksymalna liczba wpisów na stronę. Serwer wywróci rozmiar strony.
page_token string No Token stronicowania z poprzedniej odpowiedzi.

Pomiń contents odpowiedzi (tylko metadane) i uwzględnij next_page_token , gdy pozostanie więcej stron.

Aktualizowanie wpisu pamięci

Stosuje jedną operację edycji do istniejącego wpisu contents, zidentyfikowanego przez scope i path. Podaj dokładnie jedną z wartości str_replace, insertlub replace_all. description element jest edytowalny: ustaw go, aby zamienić opis wpisu lub pominąć go, aby pozostawić opis bez zmian.

  • Punkt końcowy:PATCH /api/2.1/unity-catalog/memory-stores/{full_name}/entries
  • Wymagane uprawnienia: WRITE MEMORY STORE w sklepie
curl -X PATCH \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory/entries" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "scope": "user-42",
    "path": "/memories/preferences.md",
    "replace_all": { "contents": "The user prefers responses in Spanish and uses casual tone." }
  }'

Edytuj operacje (ustaw dokładnie jedno):

Operation Fields Behavior
replace_all contents Zastąp pełną zawartość wpisu.
str_replace old_str, new_str Zastąp pojedyncze wystąpienie elementu old_str elementem new_str (musi być dokładnie jednokrotne).
insert insert_line, insert_text Wstaw insert_text; insert_line 0 = top, pominięty = dołącz do końca.

Usuwanie wpisu pamięci

Usuwa wpis pamięci zidentyfikowany przez scope i path.

  • Punkt końcowy:DELETE /api/2.1/unity-catalog/memory-stores/{full_name}/entries
  • Wymagane uprawnienia: WRITE MEMORY STORE w sklepie
curl -X DELETE \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory/entries?scope=user-42&path=/memories/preferences.md" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}"

Przeszukiwanie wpisów pamięci

Wyszukuje wpisy pamięci według słowa kluczowego między polami ścieżki, zawartości i opisu.

  • Punkt końcowy:POST /api/2.1/unity-catalog/memory-stores/{full_name}/entries:search
  • Wymagane uprawnienia: READ MEMORY STORE w sklepie
curl -X POST \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/memory-stores/main.default.agent_memory/entries:search" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "scope": "user-42",
    "query": "language preferences"
  }'

Pola żądania: scope (wymagane), (wymagane), querypath_prefix (opcjonalne), top_k (opcjonalne; wartości domyślne to 10, maksymalnie 50).

Pola odpowiedzi wprowadzania pamięci

Pole Typ Description
path string Nietrwała ścieżka wpisu w zakresie.
contents string Tekst pamięci. Pominięto w obszarze Odpowiedzi na listę.
description string Podsumowanie jednowierszowe.
scope string Zakres (partycja), do którego należy wpis.
memory_store_name string Trzyczęściowa nazwa nadrzędnego magazynu pamięci.
has_contents boolean Czy wpis ma wartość niepustą contents (przydatną na liście).
create_time string Sygnatura czasowa tworzenia (RFC 3339).
update_time string Sygnatura czasowa ostatniej aktualizacji (RFC 3339).

Interfejsy API konwersacji

Konwersacja przechowuje stan konwersacji zgodny ze standardem OpenAI — wiadomości, wywołania narzędzi i inne elementy — w magazynie pamięci w ramach jednego zakresu. W przypadku konwersacji agent utrwala i ponownie ładuje stronę serwera stanu sesji. Każda konwersacja jest tworzona względem magazynu pamięci (nazwa trzyczęściowa) oraz scopeoperacje konwersacji , a operacje konwersacji wymagają tych samych uprawnień co bazowy magazyn pamięci.

Operation Punkt końcowy Wymagane uprawnienia
Utwórz POST /api/2.1/unity-catalog/conversations WRITE MEMORY STORE w sklepie
Pobierz GET /api/2.1/unity-catalog/conversations/{conversation_id} READ MEMORY STORE w sklepie
Update POST /api/2.1/unity-catalog/conversations/{conversation_id} WRITE MEMORY STORE w sklepie
Delete DELETE /api/2.1/unity-catalog/conversations/{conversation_id} WRITE MEMORY STORE w sklepie

Tworzenie konwersacji

Tworzy konwersację powiązaną z magazynem pamięci i zakresem.

  • Punkt końcowy:POST /api/2.1/unity-catalog/conversations
  • Wymagane uprawnienia: WRITE MEMORY STORE w sklepie
curl -X POST "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/conversations" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "memory_store": { "name": "main.default.support_agent_memory" },
    "scope": { "kind": "user", "value": "user-123" },
    "metadata": { "source": "support-chat" }
  }'

Pola żądania:

Pole Typ Required Description
memory_store object Yes Magazyn pamięci— tworzenie kopii zapasowej konwersacji.
memory_store.name string Yes Trzyczęściowa w pełni kwalifikowana nazwa magazynu pamięci: catalog.schema.memory_store.
scope object Yes Zakres konwersacji jest przypięty do.
scope.kind string Yes Rodzaj zakresu, na przykład user lub user_defined.
scope.value string Yes Wartość zakresu specyficznego dla rodzaju, na przykład identyfikator użytkownika końcowego.
metadata object No Metadane klucza kontrolowane przez obiekt wywołujący. Maksymalnie 16 kluczy; klucze do 64 znaków, wartości do 512 znaków.
items array No Początkowe elementy konwersacji OpenAI w celu zainicjowania konwersacji (do 20). Elementy bez elementu type są przechowywane jako elementy komunikatów.

Uzyskiwanie konwersacji

Pobiera konwersację według jego identyfikatora.

  • Punkt końcowy:GET /api/2.1/unity-catalog/conversations/{conversation_id}
  • Wymagane uprawnienia: READ MEMORY STORE w sklepie
curl -X GET \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/conversations/${CONVERSATION_ID}" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}"

Aktualizowanie konwersacji

Aktualizuje konwersację metadata.

  • Punkt końcowy:POST /api/2.1/unity-catalog/conversations/{conversation_id}
  • Wymagane uprawnienia: WRITE MEMORY STORE w sklepie
curl -X POST \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/conversations/${CONVERSATION_ID}" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{ "metadata": { "source": "support-chat", "resolved": "true" } }'

Usuwanie konwersacji

Usuwa konwersację i jej elementy.

  • Punkt końcowy:DELETE /api/2.1/unity-catalog/conversations/{conversation_id}
  • Wymagane uprawnienia: WRITE MEMORY STORE w sklepie
curl -X DELETE \
  "https://${DATABRICKS_HOST}/api/2.1/unity-catalog/conversations/${CONVERSATION_ID}" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}"

Pola odpowiedzi konwersacji

Pole Typ Description
id string Identyfikator konwersacji przypisanej przez serwer.
object string Zawsze conversation.
created_at integer Czas tworzenia w sekundach epoki unix.
metadata object Metadane wartości klucza dostarczone przez obiekt wywołujący.

Interfejsy API elementów konwersacji

Elementy to poszczególne wiadomości i wywołania narzędzi w konwersacji. Są one zgodne z kształtem elementów konwersacji OpenAI i używają stronicowania zgodnego z interfejsem OpenAI (after, limit, has_more).

Operation Punkt końcowy Wymagane uprawnienia
Tworzenie elementów POST /api/2.1/unity-catalog/conversations/{conversation_id}/items WRITE MEMORY STORE w sklepie
Pobierz element GET /api/2.1/unity-catalog/conversations/{conversation_id}/items/{item_id} READ MEMORY STORE w sklepie
Elementy listy GET /api/2.1/unity-catalog/conversations/{conversation_id}/items READ MEMORY STORE w sklepie
Usuń element DELETE /api/2.1/unity-catalog/conversations/{conversation_id}/items/{item_id} WRITE MEMORY STORE w sklepie