Skip to main content

ai-agent ai-agent — библиотека для создания асинхронных GPT-агентов с поддержкой Tool Calling, Tool Dispatching, управлением файлами, автоматическим предсказанием Tool Calls на базе ML, легко интегрируется с LangChain и FastAPI.

Установка bash Копировать Редактировать pip install ai-agent или локально из исходников:

bash Копировать Редактировать pip install -e . Основные компоненты 1️⃣ GptAgent python Копировать Редактировать from ai_agent import GptAgent

agent = GptAgent( openai_key="sk-...", instructions="Ты помощник.", name="MyAgent", model="gpt-4o" ) Методы: await create() Создание Assistant и Thread в OpenAI API.

await update_agent(new_assistant_name, new_assistant_instructions, new_assistant_model) Обновление параметров агента.

await update_memory() Создание нового Thread (обновление памяти).

await send_text_message(text: str) Отправка текстового сообщения.

await send_image_message(text: str, file_path: list[str]) Отправка изображения с текстом.

await message(text: str, file_path: Optional[list[str]]) Универсальный метод для отправки текста или изображения.

await get_image_description(image_path: str) Генерация описания изображения.

Пример: python Копировать Редактировать await agent.create() await agent.message("Привет, что ты умеешь?") 2️⃣ StorageManager python Копировать Редактировать from ai_agent.tools import StorageManager

storage = StorageManager()

await storage.start_cleanup() Методы: await save_file(user_id, assistant_id, file_name, content, expiry_hours, schema=None) Сохранение файла.

await delete_files(user_id, assistant_id, file_names) Удаление указанных файлов.

await list_files(user_id, assistant_id) Список файлов.

await delete_assistant_folder(user_id, assistant_id) Удаление папки ассистента.

await get_file_path(user_id, assistant_id, file_name) Получение пути к файлу.

await get_files_by_extension(user_id, assistant_id, extension) Получение файлов по расширению.

Пример: python Копировать Редактировать await storage.save_file("user1", "agent1", "test.txt", "Hello", 1) files = await storage.list_files("user1", "agent1") 3️⃣ ToolCallPredictor python Копировать Редактировать from ai_agent.tools import ToolCallPredictor

predictor = ToolCallPredictor() Методы: await train(data) Обучение модели.

await load_model() Загрузка модели.

await predict_tools(text) Предсказание инструментов для текста.

await predict_tools_batch(texts) Пакетное предсказание.

await generate_tool_calls(text) Генерация Tool Calls для текста.

await generate_tool_calls_batch(texts) Пакетная генерация Tool Calls.

await prepare_user_message(text) Генерация сообщения для Assistant API.

await prepare_user_messages_batch(texts) Пакетная генерация сообщений.

Пример: python Копировать Редактировать data = [ {"text": "translate", "tools": ["translator"]}, {"text": "analyze image", "tools": ["analyzer"]} ]

await predictor.train(data) await predictor.load_model() tools = await predictor.predict_tools("translate") 4️⃣ ToolManager python Копировать Редактировать from ai_agent.tools import ToolManager, ToolCallPredictor, StorageManager, ToolsCollector

manager = ToolManager( assistant_id="aid", user_id="uid", predictor=ToolCallPredictor(), storage=StorageManager(), collector=ToolsCollector() ) Методы: await generate_tool_calls(text) Генерация Tool Calls.

await generate_user_message(text) Генерация пользовательского сообщения.

await handle_tool_calls(tool_calls) Обработка Tool Calls.

get_generated_files() Получение списка сгенерированных файлов.

5️⃣ ToolDispatcher python Копировать Редактировать from ai_agent.tools import ToolDispatcher Методы: await dispatch(tool_calls) Обработка Tool Calls.

get_file_names() Получение имён файлов.

6️⃣ ToolsCollector python Копировать Редактировать from ai_agent.tools import ToolsCollector

collector = ToolsCollector() Методы: @collector.tool(schema) Декоратор для регистрации инструмента.

await get_tools() Получение схем инструментов.

await get_function(name) Получение функции по имени.

await get_all() Получение всех зарегистрированных функций.

await call_tool(name, arguments) Вызов инструмента с аргументами.

Пример: python Копировать Редактировать @collector.tool({ "function": { "name": "multiply", "parameters": { "type": "object", "properties": { "x": {"type": "integer"} }, "required": ["x"] } } }) def multiply(x): return {"result": x * 2}

tools = await collector.get_tools() result = await collector.call_tool("multiply", {"x": 5}) Лицензия MIT License.

Metadata

Release files for openai-agent-core 0.1.2

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-agent-core 0.1.2
File Size Uploaded
openai_agent_core-0.1.2.tar.gz 16.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for openai-agent-core 0.1.2
File Interpreter ABI Platform
openai_agent_core-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 32.5 kB

Release files / openai_agent_core-0.1.2.tar.gz

Download URL openai_agent_core-0.1.2.tar.gz
Size 16.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b05cbdb24eb15a0d1e94eab2e3160ed346cd2cb7d7418f8b71eacb0023c5596d
BLAKE2b-256 checksum
How to use checksums
246350610df824c05ee96aa54ea85f19e34a2bd1847091bf1048bc66c1008674
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.0rc2

Release files / openai_agent_core-0.1.2-py3-none-any.whl

Download URL openai_agent_core-0.1.2-py3-none-any.whl
Size 16.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7f803ac5daa283d3fa6b66bf787aff9d745aa8ff98471507c99da321aa266a0b
BLAKE2b-256 checksum
How to use checksums
3e87226ea38a162a6ea1dbda024e3c507da67074081ea82af6d07fcb822960eb
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.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

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