Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈΡΠ΅ PyPI Π±Π΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½Π° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½Π° Π²Π΅ΡΡΠΈΡ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° LiteLLM, ΠΊΠΎΡΡΠΎ ΠΈΠΌΠ° 23 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½ΠΈΡ Π½Π° ΡΠ΅Π΄ΠΌΠΈΡΠ°, Π·Π°Π΅Π΄Π½ΠΎ Ρ Π²Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ Π² ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΈΡ Docker ΠΎΠ±ΡΠ°Π· Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π’ΠΎΠ²Π° Π½Π΅ Π΅ ΠΏΡΡΠ²ΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ ΠΈΠ½ΡΠΈΠ΄Π΅Π½Ρ Ρ LiteLLM - ΠΏΡΠ΅Π· ΠΌΠ°ΡΡ ΡΠ°Π·ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π° Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡΠ΅ Π²Π΅ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Ρ Π° Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΈ Π²Π΅ΡΡΠΈΠΈ ΡΠ»Π΅Π΄ ΠΏΡΠΈΡ Π²Π°ΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ. Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΈΡ Π° Π²Π΅ΡΡΠΈΡ LiteLLM 1.107.0, Π² ΠΊΠΎΡΡΠΎ Π΅ Π²Π³ΡΠ°Π΄Π΅Π½ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π·Π° ΡΡΡΡΠ΅Π½Π΅ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ, ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ.
ΠΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΈΡΡ ΠΊΠΎΠ΄ Π±Π΅ΡΠ΅ Π²Π³ΡΠ°Π΄Π΅Π½ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π±Π΅Π· ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° git ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. Π‘Π»Π΅Π΄ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ΡΠΎ, Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΈΡΡ ΠΊΠΎΠ΄ ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΠΏΡΠ΅Π΄ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° LiteLLM ΡΡΠ΅Π· ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ cook.pth, cook.py ΠΈ sitecustomize.py Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° Π½Π° Python Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅. Π’Π΅Π·ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Ρ ΠΏΡΠΈ Π²ΡΡΠΊΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Python Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΎΡ ΡΡΡΠ°Π½Π° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ.
ΠΡΡΠ²ΠΎ Python ΡΡΠ°ΡΡΠΈΡΠ° ΡΠ°ΠΉΠ»Π° cook.pth, ΠΊΠΎΠΉΡΠΎ ΡΡΠ΄ΡΡΠΆΠ° ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ ΡΠ΅Π΄ βimport cookβ Π·Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΊΡΠΈΠΏΡΠ° cook.py, ΡΡΠ±ΠΈΡΠ°Ρ Π΄Π°Π½Π½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ° ΡΠΊΡΠΈΠΏΡΡΡ sitecustomize.py, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΡΠΎΠ½ΠΎΠ²ΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π²ΡΠ½ΡΠ΅Π½ ΠΊΠΎΠ΄ (ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΠΎΡ Π²ΡΡΠ·ΠΊΠ°ΡΠ° βraw.githubusercontent.com/letters9813/pythonclient-test/main/domain.txtβ). ΠΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΈΡΡ ΠΊΠΎΠ΄ Π² Π΄Π²Π°ΡΠ° ΡΠΊΡΠΈΠΏΡΠ° Π΅ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ Ρ zlib ΠΈ ΠΊΠΎΠ΄ΠΈΡΠ°Π½ΠΈ Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Base64. ΠΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ Π·Π° ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠ°Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° β/tmp/.pc_once_*β ΠΈ β/tmp/remote_code_loader.lockβ.
Π‘Π»Π΅Π΄ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡ, ΡΠ°ΠΉΠ»ΡΡ cook.py ΡΠΊΠ°Π½ΠΈΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Ρ ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ, Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ (AWS, Azure, Google Cloud, Kubernetes, Docker, GitHub CLI, Vault, Terraform, Packer), Π°ΠΊΠ°ΡΠ½ΡΠΈ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Ρ Git, Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° npm ΠΈ PyPI, ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°, Π·Π°ΡΠ²ΠΎΡΠ΅Π½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ Π·Π° SSH, PGP ΠΈ TLS, Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° AI ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, Π±ΡΠ°ΡΠ·ΡΡΠ½ΠΈ ΠΠ Ρ Π±ΠΈΡΠΊΠ²ΠΈΡΠΊΠΈ, ΡΡΡ
ΡΠ°Π½ΡΠ²Π°Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ ΠΈΡΡΠΎΡΠΈΡ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°. ΠΡΠΊΡΠΈΡΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΠΊΡΠΈΠΏΡΠΈΡΠ°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ AES-256-CBC + RSA-4096 ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ°ΠΉΡΠ° litellm.dev, ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΠΎΡ Π½Π°ΠΏΠ°Π΄Π°ΡΠ΅Π»ΠΈΡΠ΅.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
