Metadata-Version: 2.4 Name: ProtoLLM Version: 0.1.7 Summary: A library with which to prototype LLM-based applications quickly and easily. License-Expression: BSD-3-Clause License-File: LICENSE Author: aimclub Author-email: aim.club@itmo.ru Requires-Python: >=3.10,<4.0 Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 Classifier: Programming Language :: Python :: 3.13 Classifier: Programming Language :: Python :: 3.14 Requires-Dist: aioredis (>=2.0.1,<3.0.0) Requires-Dist: celery (>=5.4.0,<6.0.0) Requires-Dist: chardet (>=5.2.0) Requires-Dist: chromadb (>=1.0.0) Requires-Dist: click (>=8.2.0) Requires-Dist: deepeval (>=3.4.0) Requires-Dist: fastapi (>=0.119.0) Requires-Dist: flower (>=2.0.1,<3.0.0) Requires-Dist: ftfy (>=6.3.1) Requires-Dist: httpx (>=0.28.1) Requires-Dist: kombu (>=5.3.7,<6.0.0) Requires-Dist: langchain (>=0.3.6,<1.0.0) Requires-Dist: langchain-chroma (>=0.2.0,<1.0.0) Requires-Dist: langchain-community (>=0.3.10,<0.4.0) Requires-Dist: langchain-core (>=0.3.50,<1.0.0) Requires-Dist: langchain-elasticsearch (>=0.3.2) Requires-Dist: langchain-gigachat (>=0.3.12) Requires-Dist: langchain-ollama (>=0.3.0,<1.0.0) Requires-Dist: langchain-openai (>=0.3.10,<1.0.0) Requires-Dist: langchain-text-splitters (>=0.3.3,<1.0.0) Requires-Dist: langgraph (>=1.0.0) Requires-Dist: numpy (>=2.1.0) Requires-Dist: openai (>=1.65.2,<3.0.0) Requires-Dist: pandas (>=2.2.3,<3.0.0) Requires-Dist: pdf2image (>=1.17.0) Requires-Dist: pdfminer.six (>=20231228) Requires-Dist: pdfplumber (>=0.11.5) Requires-Dist: pika (>=1.3.2,<2.0.0) Requires-Dist: pillow (>=11.1.0) Requires-Dist: pydantic (>=2.12.0) Requires-Dist: pydantic-core (>=2.41.0) Requires-Dist: pydantic-settings (>=2.10.0) Requires-Dist: pypdf2 (>=3.0.1) Requires-Dist: pytesseract (>=0.3.13) Requires-Dist: python-docx (>=1.1.2) Requires-Dist: python-dotenv (>=1.0.1) Requires-Dist: pyyaml (>=6.0.2) Requires-Dist: redis (>=6.4.0) Requires-Dist: requests (>=2.32.3) Requires-Dist: spacy (>=3.8.0) Requires-Dist: tabulate (>=0.9.0) Requires-Dist: tornado (>=6.4.1,<7.0.0) Requires-Dist: tqdm (>=4.67.1) Requires-Dist: transformers (>=4.57.1) Requires-Dist: urllib3 (>=2.2.2) Requires-Dist: uuid (>=1.30) Requires-Dist: websockets (>=14.1) Project-URL: Homepage, https://github.com/aimclub/ProtoLLM Project-URL: Issues, https://github.com/aimclub/ProtoLLM/issues Description-Content-Type: text/x-rst **ProtoLLM** .. start-badges .. list-table:: :stub-columns: 1 * - license - | |license| * - support - | |tg| * - languages - | |eng| |rus| * - mirror - | |gitlab| * - funding - | |ITMO| |SAI| .. end-badges Intro ##### **Proto-LLM** is an open-source framework for fast protyping of LLM-based applications. Proto LLM features ================== - Rapid prototyping of information retrieval systems based on LLM using RAG: Implementations of architectural patterns for interacting with different databases and web service interfaces; Methods for optimising RAG pipelines to eliminate redundancy. - Development and integration of applications with LLM with connection of external services and models through plugin system: Integration with AutoML solutions for predictive tasks; Providing structured output generation and validation; - Implementation of ensemble methods and multi-agent approaches to improve the efficiency of LLMs: Possibility of combining arbitrary LLMs into ensembles to improve generation quality, automatic selection of ensemble composition; Work with model-agents and ensemble pipelines; - Generation of complex synthetic data for further training and improvement of LLM: Generating examples from existing models and data sets; Evolutionary optimisation to increase the diversity of examples; Integration with Label Studio; - Providing interoperability with various LLM providers: Support for native models (GigaChat, YandexGPT, vsegpt, openrouter, etc.). Interaction with open-source models deployed locally. Project Structure ================= The latest stable release of ProtoLLM is in the `main branch `__. The repository includes the following directories: * Package `protollm `__ contains the main modules. It is the *core* of the ProtoLLM framework; * Package `protollm_tools `__ contains side tools with specific dependensied; * Package `examples `__ includes several *how-to-use-cases* where you can start to discover how ProtoLLM works; * All *unit and integration tests* can be observed in the `test `__ directory; * The sources of the documentation are in the `docs `__ directory. Packages `protollm-api `__ and `protollm-sdk `__ are available in external repositories. Installation ============ - The simplest way to install ProtoLLM is using ``pip``: .. code-block:: $ pip install protollm A standard installation of ProtoLLM includes the main package with dependencies. - Modules with tools can be installed separately: .. code-block:: $ pip install protollm-api $ pip install protollm-sdk Contribution Guide ================== - The contribution guide is available in this `repository `__. Acknowledgments =============== We acknowledge the contributors for their important impact and the participants of the numerous scientific conferences and workshops for their valuable advice and suggestions. Supported by ============ The study is supported by the Research `Center Strong Artificial Intelligence in Industry `_ of `ITMO University `_ as part of the plan of the center's program "Framework for rapid application prototyping based on large language models". Contacts ======== - `AI Institute, ITMO `_ - `Anna Kalyuzhnaya `_ (anna.kalyuzhnaya@itmo.ru) - `Helpdesk chat `_ Papers about ProtoLLM-based solutions: ====================================== - Kalyuzhnaya A. et al. LLM Agents for Smart City Management: Enhancing Decision Support Through Multi-Agent AI Systems //Smart Cities. – 2025. – Т. 8. – №. 1. – С. 19. - Zakharov K. et al. Forecasting Population Migration in Small Settlements Using Generative Models under Conditions of Data Scarcity //Smart Cities. – 2024. – Т. 7. – №. 5. – С. 2495-2513. - Kovalchuk M. A. et al. SemConvTree: Semantic Convolutional Quadtrees for Multi-Scale Event Detection in Smart City //Smart Cities. – 2024. – Т. 7. – №. 5. – С. 2763-2780. .. |ITMO| image:: https://raw.githubusercontent.com/aimclub/open-source-ops/43bb283758b43d75ec1df0a6bb4ae3eb20066323/badges/ITMO_badge.svg :alt: Acknowledgement to ITMO :target: https://en.itmo.ru/en/ .. |SAI| image:: https://raw.githubusercontent.com/aimclub/open-source-ops/43bb283758b43d75ec1df0a6bb4ae3eb20066323/badges/SAI_badge.svg :alt: Acknowledgement to SAI :target: https://sai.itmo.ru/ .. |license| image:: https://img.shields.io/github/license/aimclub/ProtoLLM :alt: Licence for repo :target: https://github.com/aimclub/ProtoLLM/blob/master/LICENSE.md .. |tg| image:: https://img.shields.io/badge/Telegram-Group-blue.svg :target: https://t.me/protollm_helpdesk :alt: Telegram Chat .. |gitlab| image:: https://img.shields.io/badge/mirror-GitLab-orange :alt: GitLab mirror for this repository :target: https://gitlab.actcognitive.org/itmo-sai-code/ProtoLLM .. |eng| image:: https://img.shields.io/badge/lang-en-red.svg :target: /README_en.rst .. |rus| image:: https://img.shields.io/badge/lang-ru-yellow.svg :target: /README.rst