Skip to main content

🧠 OpenaiSimpleAgents

Асинхронная библиотека для интеграции кратковременной и долговременной памяти в OpenAI-агентов с использованием ChromaDB, SQLite, и OpenAI Embedding.


📦 Возможности

  • 🔄 Кратковременная память на основе SQLite (для последних диалогов).
  • 📚 Долговременная память на основе ChromaDB (для знаний и прошлого опыта).
  • 🧱 Поддержка адаптивного top_k, TTL, фоновой очистки, и асинхронной защиты.
  • 🛠 Интеграция с любой LLM-цепочкой reasoning (Runner, Agent).
  • 🧪 Простота тестирования, dev-зависимости и поддержка pytest-asyncio.

🛠 Установка

pip install openai-simple-agents

Для разработки и тестирования:

pip install .[dev]

📌 Когда использовать SimpleAgents

Эта библиотека предназначена для проектов, где:

  • вам нужно хранить и использовать память между запросами к агенту;
  • агент должен обучаться на прошлых взаимодействиях с пользователями;
  • необходимо гибкое управление объёмом, сроком хранения и фильтрацией памяти;
  • вы хотите минимизировать запросы к внешним базам или API;
  • вы реализуете собственную LLM-инфраструктуру без LangChain.

🧠 Архитектура

            +--------------------+
            |    Пользователь    |
            +--------------------+
                     |
                 [ввод текста]
                     v
         +-------------------------+
         |        Agent            |   ← ты вызываешь .message()
         +-------------------------+
           |                  |
        get_memory     record_interaction
           |                  |
     +-----------+     +-----------+
     | ShortMemory|     | LongMemory|
     |  (SQLite)  |     | (ChromaDB)|
     +-----------+     +-----------+

✍️ Пример использования

from SimpleAgents import Agent

agent = Agent(name="doc-bot", openai_api_key="sk-...", ttl_seconds=3600)

async def main():
    response = await agent.message("Где я остановился в прошлый раз?", user_id="user123")
    print(response.final_output)

import asyncio
asyncio.run(main())

🗂 Компоненты

Класс Назначение
Agent Основной вход, обёртка над reasoning с памятью
MemoryManager Управление слоями памяти и автоочисткой
ShortMemory История диалога в SQLite
LongMemory Постоянная память в ChromaDB с поиском по эмбеддингам
Runner Интерфейс запуска reasoning-цепочек (подключается отдельно)

🧪 Тестирование

pytest

Библиотека использует pytest-asyncio и sentence-transformers (опционально) для моков embedding-функций в тестах.


📂 Примеры использования

  • 🤖 Персональные помощники: сохранение воспоминаний о пользователях.
  • 🧑‍🏫 Образовательные агенты: помнить, что изучал ученик.
  • 📈 Бизнес-боты: запоминать прошлые обращения клиентов.
  • 🕵️‍♂️ Многоагентные системы: обмен знанием между агентами через LongMemory.

⚖️ Лицензия

MIT — см. LICENSE.


✉️ Автор

Платановский Дмитрий Алексеевич
📧 platanovskiydmitriy@gmail.com

Metadata

Release files for openai-simple-agents 0.0.45

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openai-simple-agents 0.0.45
File Size Uploaded
openai_simple_agents-0.0.45.tar.gz 14.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for openai-simple-agents 0.0.45
File Interpreter ABI Platform
openai_simple_agents-0.0.45-py3-none-any.whl Python 3 none any Details

Total release size: 29.3 kB

Release files / openai_simple_agents-0.0.45.tar.gz

Download URL openai_simple_agents-0.0.45.tar.gz
Size 14.6 kB
Tags Source
SHA-256 checksum
How to use checksums
2793a30b9d30d90da765b9a972e9b7d01dfe1a05b280f84738143154e6b58b30
BLAKE2b-256 checksum
How to use checksums
3875cce2434a3fe761e480af3750fd4573d11cf6c337763ca68f6915a64bbf83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.0rc2

Release files / openai_simple_agents-0.0.45-py3-none-any.whl

Download URL openai_simple_agents-0.0.45-py3-none-any.whl
Size 14.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
83e003c731c3aeeaeb9e4f5a0edab9e40424f62514389831bf5012cc72748380
BLAKE2b-256 checksum
How to use checksums
3ae383ca890ea98387587654b31aba0635e22f259efae39e88f618eb99b480e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.0rc2

Release history Release notifications | RSS feed

This release

0.0.45 This release

2 release files

0.0.44

2 release files

0.0.43

2 release files

0.0.42

2 release files

0.0.41

2 release files

0.0.40

2 release files

0.0.39

2 release files

0.0.38

2 release files

0.0.37

2 release files

0.0.36

2 release files

0.0.35

2 release files

0.0.34

2 release files

0.0.33

2 release files

0.0.32

2 release files

0.0.31

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page