SQLAlchemy セッション
SQLAlchemySession は SQLAlchemy を使用して本番環境向けのセッション実装を提供し、SQLAlchemy がサポートする任意のデータベース(PostgreSQL、MySQL、SQLite など)をセッションストレージとして使用できます。
インストール
SQLAlchemy セッションにはsqlalchemy の extra が必要です:
クイックスタート
データベース URL の使用
最も簡単な始め方:
importasynciofromagentsimportAgent,Runnerfromagents.extensions.memoryimportSQLAlchemySessionasyncdefmain():agent=Agent("Assistant")# Create session using database URLsession=SQLAlchemySession.from_url("user-123",url="sqlite+aiosqlite:///:memory:",create_tables=True)result=awaitRunner.run(agent,"Hello",session=session)print(result.final_output)if__name__=="__main__":asyncio.run(main())既存のエンジンの使用
既存の SQLAlchemy エンジンを持つアプリケーション向け:
importasynciofromagentsimportAgent,Runnerfromagents.extensions.memoryimportSQLAlchemySessionfromsqlalchemy.ext.asyncioimportcreate_async_engineasyncdefmain():# Create your database engineengine=create_async_engine("postgresql+asyncpg://user:pass@localhost/db")agent=Agent("Assistant")session=SQLAlchemySession("user-456",engine=engine,create_tables=True)result=awaitRunner.run(agent,"Hello",session=session)print(result.final_output)# Clean upawaitengine.dispose()if__name__=="__main__":asyncio.run(main())API リファレンス
SQLAlchemySession- メインクラスSession- ベースセッションプロトコル