Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Important
Bu özellik Beta sürümündedir.
Yönetilen ajan oturumları, ajanlarınıza oturum durumu için dayanıklı, çerçeveden bağımsız bir depolama sağlar: bir ajan veya framework'ün bir etkileşim için sakladığı durum. Bu, çoğu durumda, bir ajanın bir turun başında okuyup işlem sırasında buna eklemeler yaptığı konuşma geçmişi; yani mesajların, araç çağrılarının ve sonuçların sıralı dökümüdür. Ayrıca, etkileşim için bir çerçevenin devam ettiği başka bir durum da olabilir, örneğin bir LangGraph grafiği. Azure Databricks bunu Lakebase'te saklıyor ve depolama alanını sizin için yönetiyor, yani veritabanını oluşturmuyor veya işletmezsiniz.
Note
Önizleme sırasında, oturumlarınızı saklayan temel Lakebase örneği için faturalandırılırsınız. Yönetilen ajan oturumları için ek ücret uygulanmaz. Önizleme ilerledikçe fiyatlandırma değişebilir.
Yönetilen oturumları istediğiniz zaman kullanın:
- Bir ajanın konuşma geçmişini, yeniden başlatmalardan sonra da korunacak ve daha sonra devam ettirilebilecek şekilde kalıcı olarak saklayın.
- Sonraki mesajda tam bağlamı (araç çağrıları ve akıl yürütme dahil) yeniden oluşturun.
- Kendi arayüzünden geçmiş konuşmaları listeleyin, özgeçmiş yapın ve dallayın.
Yönetilen oturumlar tek bir etkileşim durumunu (kısa süreli, oturum içi durum) tutar. Konuşmalar boyunca kalıcı ve uzun süreli hafıza için yönetilen ajan belleği kullanın.
Yönetilen oturumlar nasıl çalışır
Yönetilen oturumların üç seviyesi vardır:
-
Oturum deposu, bir ajanın oturumları için çalışma alanı kapsamlı konteynerdir. Bir mağaza oluşturmak, arka plandaki Lakebase depolamasını otomatik olarak hazırlar. Benzersiz bir çalışma alanı
session_store_nameseçersiniz. -
Bir oturum, bir mağaza içinde kalıcı bir etkileşimdir (genellikle bir konuşma konusu). Bir oturum şu şekilde tanımlanır:
-
actor_id(zorunlu): oturumun kime ait olduğunu, örneğin son kullanıcıya veya başka bir ajana. Tek bir konunun tüm oturumlarını gruplar, böylece bunları listeleyip filtreleyebilirsiniz. Kullanıcı başına bir uygulama geliştirdiğinizde,actor_idkullanıcının kimliğini (örneğin, uygulamanızın kimlik doğrulamasından doğrulanmış son kullanıcı kimliği) ayarlayın, böylece her kullanıcının oturumları gruplanmış kalır. Bunu güvenilir uygulama bağlamından ayarlayın, model veya kullanıcı tarafından sağlanan bir değer olarak değil. -
session_id(isteğe bağlı): etkileşim için arayan tarafından seçilmiş bir kimlik. Belirtmediğinizde hizmet bir tane oluşturur. -
parent_session_id(isteğe bağlı): bir oturumu çatallandığı oturuma bağlayarak dallanmış konuşmaları temsil eder.
-
-
Oturum öğesi, bir oturumun sıralanmış geçmişindeki bir giriştir. Her öğe, mesaj, araç çağrısı, araç sonucu veya akıl yürütme bloğu gibi opak ve JSON uyumlu
databir değer taşır. Azure Databricks her öğeyi biritem_idve bircreate_timeolarak atamakta ve içeriğini incelemez veya doğrulamaz. Öğeler eklendikten sonra değişmezdir.
Hizmet, bir oturumun öğeleri için deterministik bir sıralama tutar ve oturum deposuna karşı her işlemi yetkilendirir.
Gereksinimler
- AgentKit SDK'yı kullanmak için Python 3.10 veya üzerini yükleyin. AgentKit SDK, aşağıdaki örneklerde kullanılan ajan API'leri için Databricks Python istemcisidir. REST API'sini doğrudan herhangi bir dilden çağırabilirsiniz, Python gereksinimi olmadan.
Get started
Bu örnekler, bir destek temsilcisi için yönetilen oturumları ayarlar: bir oturum deposu oluşturur, tek bir konuşma için bir oturum başlatır, konuşmadaki mesajları ekler ve daha sonraki bir istekte geçmişi yeniden okur. Projenize uygun müşteriyi seçin.
AgentKit SDK
AgentKit SDK, paket içinde databricks-agentbricks dağıtılan ajan API'leri için Databricks Python istemcisidir. Databricks SDK'sının WorkspaceClient ile kimlik doğrulaması yapar.
AgentKit SDK'sını kurun:
pip install databricks-agentbricksBir oturum deposu oluşturun, ardından tek bir konuşma için bir oturum başlatın.
actor_idkonuşmanın kime ait olduğudur; isteğe bağlısession_idbu konuşmayı benzersiz şekilde tanımlar:from databricks.sdk import WorkspaceClient from databricks_agentkit import AgentKitClient client = AgentKitClient(WorkspaceClient()) session_store = client.session_stores.create("support-agent-sessions") session = session_store.add(actor_id="customer-123", session_id="case-456")Ajan çalışırken konuşma dönüşlerini ekleyin. Her eşya herhangi bir JSON uyumlu değerdir:
session.append_items( [ {"type": "message", "role": "user", "content": "I need help with my cluster."}, {"type": "message", "role": "assistant", "content": "Let's take a look."}, ] )Takip talebinde oturumu yeniden yükleyin ve bağlamı yeniden oluşturmak için tam geçmişini okuyun:
session = session_store.get("case-456") # Request chronological order; list_items defaults to newest-first and auto-pages. history = [item.data for item in session.list_items(order_by="create_time asc")]
REST API
İstemciler REST API'sini . /api/2.0/agents/session-storesaltında çağırır. Python dışındaki diller için bunu doğrudan çağırın.
Databricks CLI ile bir OAuth tokenı oluşturun:
databricks auth login --host ${DATABRICKS_HOST} export DATABRICKS_TOKEN=$(databricks auth token | jq -r .access_token)Temsilciniz için bir oturum mağazası oluşturun:
curl -X POST "https://${DATABRICKS_HOST}/api/2.0/agents/session-stores?session_store_name=support-agent-sessions" \ -H "Authorization: Bearer ${DATABRICKS_TOKEN}" -H "Content-Type: application/json" \ -d '{"description": "Support agent conversation history"}'Tek bir konuşma için bir oturum başlatın.
actor_idkime ait olduğudur;session_idbu konuşmayı benzersiz şekilde tanımlar:curl -X POST "https://${DATABRICKS_HOST}/api/2.0/agents/session-stores/support-agent-sessions/sessions?session_id=case-456" \ -H "Authorization: Bearer ${DATABRICKS_TOKEN}" -H "Content-Type: application/json" \ -d '{"actor_id": "customer-123"}'Ajan çalışırken bir konuşma sırası ekleyin:
curl -X POST "https://${DATABRICKS_HOST}/api/2.0/agents/session-stores/support-agent-sessions/sessions/case-456/items:append" \ -H "Authorization: Bearer ${DATABRICKS_TOKEN}" -H "Content-Type: application/json" \ -d '{"items": [{"data": {"type": "message", "role": "user", "content": "I need help with my cluster."}}]}'Bağlamı yeniden inşa etmek için tarihi kronolojik sırayla okuyun:
curl -G "https://${DATABRICKS_HOST}/api/2.0/agents/session-stores/support-agent-sessions/sessions/case-456/items" \ -H "Authorization: Bearer ${DATABRICKS_TOKEN}" --data-urlencode "order_by=create_time asc"
İstemciler ayrıca en güncel öğenin kaldırılmasını, oturumun öğelerini temizlemeyi ve konuşmayı bağımsız bir kopyaya (isteğe bağlı olarak belirli bir öğeye kadar) aktarmayı destekler. Çocuk oturumları olan bir oturumu silmek, silmeyi onlara zincirleme olarak göndermek için bir güç seçeneği gerektirir (örneğin, session.delete(force=True)).
Bir ajan çerçevesinin oturumunu yönetilen oturumlarla destekleyin
OpenAI Agent SDK ve Claude Agent SDK gibi ajan çerçeveleri, bir çalışmanın başında konuşma geçmişini okur ve sonunda yeni öğeler ekler. Oturum mağazası doğrudan bu kalıba uyum sağlıyor:
| Çerçeve operasyonu | Oturum deposu çağrısı |
|---|---|
| Tarih okuyun |
list_items kronolojik sırayla (order_by="create_time asc") |
| Sıra öğeleri ekle |
append Yeni ürünler |
| Son öğeyi geri al |
pop En Son Ürün |
| İpi temizleyin |
clear Oturumun maddeleri |
Kapsam ve erişim
Yönetilen oturumlar, oturumun öğelerini opak, JSON uyumlu değerler olarak saklar: hizmet, ajanınızın veya çerçevenizin eklediği her şeyi yorumlamadan devam eder ve geri döndürür. Çalıştırmalar, denetim noktaları veya onaylar gibi yürütme denetimi kaynaklarını birinci sınıf kavramlar olarak eklemez; ancak bu tür bir durumu serileştiren bir çerçeve, bunu öğeler olarak kalıcı hale getirebilir.
Oturum depoları çalışma alanı kapsamındadır ve erişim depo düzeyinde yetkilendirilir. ve actor_idmetadata alanları yalnızca gruplama ve filtrelemeyi destekler; erişim tanımazlar veya kısıtlamazlar.
actor_id öğesini, model veya kullanıcı tarafından sağlanan bir değer yerine güvenilir uygulama bağlamından ayarlayın.
Ajanınızın service principal'ı gibi başka bir principal'ın bir depoyu kullanmasına izin vermek için, AgentKit SDK'daki deponun izin verme işlemiyle (session_store.grant_permission(principal_id)) ona erişim izni verin.
Yönetilen oturumlar ve yönetilen bellek bağımsızdır. Bir oturum veya oturum deposunu silmek, bellek deposunda tutulan belleği silmez.