Интеграции¶
Готовые интеграции AegisAI с популярными фреймворками ИИ-агентов.
LangChain¶
Middleware¶
Автоматически регистрирует агента и логирует каждый вызов инструмента:
from aegisai.integrations.langchain.middleware import AegisAIMiddleware
from aegisai.sdk import AegisAIClient
client = AegisAIClient(api_key="...", agent_name="LangChain Agent")
await client.register()
middleware = AegisAIMiddleware(client)
# Подключите middleware к вашему LangChain agent executor
Callback Handler¶
Логирует LLM-вызовы (prompts, completions) в аудит:
from aegisai.integrations.langchain.callback import AegisAICallbackHandler
handler = AegisAICallbackHandler(
client=client,
log_prompts=True,
log_completions=True,
)
# Передайте в LangChain chain
result = await chain.ainvoke(
{"input": "Analyze sales data"},
config={"callbacks": [handler]},
)
Проверка статуса¶
Полный пример¶
OpenAI¶
Client Wrapper¶
Обёртка над OpenAI client с автоматическим аудитом:
from aegisai.integrations.openai.client import AegisOpenAIClient
from aegisai.sdk import AegisAIClient
aegis = AegisAIClient(api_key="...", agent_name="OpenAI Agent")
await aegis.register()
client = AegisOpenAIClient(
aegis_client=aegis,
openai_api_key="sk-...",
)
response = await client.chat_completion(
messages=[{"role": "user", "content": "Hello"}],
model="gpt-4",
)
# Автоматически логируется в аудит с reasoning
Проверка статуса¶
Полный пример¶
Сравнение интеграций¶
| Интеграция | Модуль | Аудит | Политики | HITL |
|---|---|---|---|---|
| LangChain Middleware | aegisai.integrations.langchain |
✅ | ✅ (через SDK) | ✅ |
| LangChain Callback | aegisai.integrations.langchain |
✅ (LLM calls) | ❌ | ❌ |
| OpenAI Client | aegisai.integrations.openai |
✅ | ✅ (через SDK) | ✅ |
| Webhooks | aegisai.integrations.webhook |
✅ | ❌ | ❌ |
| Python SDK | aegisai.sdk |
✅ | ✅ | ✅ |
Создание собственной интеграции¶
Шаблон¶
from aegisai.sdk import AegisAIClient
class MyFrameworkIntegration:
def __init__(self, api_key: str, agent_name: str):
self.client = AegisAIClient(api_key=api_key, agent_name=agent_name)
async def setup(self):
await self.client.register()
async def on_action(self, action: str, resource: str, **kwargs):
# 1. Проверить политику
decision = await self.client.check_policy(action, resource, kwargs.get("context"))
if not decision.allowed:
raise PermissionError(decision.reason)
# 2. Выполнить с наблюдением
async with self.client.observe(action, resource) as ctx:
result = await self._execute(action, resource, **kwargs)
ctx.set_output(result)
return result
async def _execute(self, action, resource, **kwargs):
# Ваша бизнес-логика
...
Рекомендации¶
- Всегда вызывайте
register()перед первым действием - Используйте
observe()для автоматического аудита - Проверяйте политики перед критическими операциями
- Отправляйте heartbeat для мониторинга активности
- Обрабатывайте
PolicyDeniedErrorи запрашивайте HITL при необходимости
Пакет интеграций
Все модули находятся в aegisai/integrations/. Импортируйте только нужные компоненты.