Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Python Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° LiteLLM, ΠΊΠΎΡΡΠΎ ΠΈΠΌΠ° 95 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½ΠΈΡ Π½Π° ΠΌΠ΅ΡΠ΅Ρ ΠΈ 3.5 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ 24 ΡΠ°ΡΠ°, ΠΎΠ±ΡΠ²ΠΈΡ Π° Π·Π° ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ°ΠΏΠ°Π΄Π°ΡΠ΅Π»ΠΈΡΠ΅ ΡΡΠΏΠ΅Π»ΠΈ Π΄Π° ΠΏΡΠΈΡ Π²Π°Π½Π°Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠΈΡ Π΅ΠΊΠΈΠΏ ΠΈ Π΄Π° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Ρ Π² PyPI Π΄Π²Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ ΡΠ΅Π»ΠΈΠ·Π° β 1.82.7 ΠΈ 1.82.8, ΡΡΠ΄ΡΡΠΆΠ°ΡΠΈ ΠΊΠΎΠ΄ Π·Π° ΠΊΡΠ°ΠΆΠ±Π° Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΈ ΠΏΠ°ΡΠΎΠ»ΠΈ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΠ° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ ΠΎΡ PyPI, Π° ΠΏΡΠΎΠ΅ΠΊΡΡΡ Π΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΏΡΡΠ½ Π΄ΠΎ ΠΊΡΠ°Ρ Π½Π° ΡΠ°Π·ΡΠ»Π΅Π΄Π²Π°Π½Π΅ΡΠΎ.
Π’ΠΎΠΊΠ΅Π½ΡΡ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π°ΠΊΠ°ΡΠ½ΡΠ° LiteLLM Π² PyPI Π΅ ΠΏΠΎΠΏΠ°Π΄Π½Π°Π» Π² ΡΡΡΠ΅ΡΠ΅ Π½Π° Π½Π°ΠΏΠ°Π΄Π°ΡΠ΅Π»ΠΈΡΠ΅ Π·Π°ΡΠ°Π΄ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΊΠ΅Π½Π΅Ρ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ trivvy Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ. ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π°, Π² ΠΊΡΠ°Ρ Π½Π° ΡΠ΅Π²ΡΡΠ°ΡΠΈ, Π½Π°ΠΏΠ°Π΄Π°ΡΠ΅Π»ΠΈΡΠ΅ ΡΡΠΏΠ΅Π»ΠΈ Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Trivy, ΠΊΠ°ΡΠΎ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠΈΡΠ°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° pull_request_target, ΡΡΠ°ΡΡΠΈΡΠ°Π½ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Trivy. Π‘Π»Π΅Π΄ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π°ΠΏΠ°Π΄Π°ΡΠ΅Π»ΠΈΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Ρ Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° Trivy 0.69-0.69, ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡ Π° GitHub Action ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° trivy-action ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΈΡ Π° ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ Docker ΠΎΠ±ΡΠ°Π· Ρ Trivy.
ΠΠ° 24 ΠΌΠ°ΡΡ Π² 11:30 (MSK) ΠΏΡΠΈΡ Π²Π°Π½Π°ΡΠΈΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠΈΡ LiteLLM (krrishdholakia) Π±ΡΡ Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° ΠΏΡΡΠΊΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ ΡΠ΅Π»ΠΈΠ·ΠΈ LiteLLM 1.82.7 ΠΈ 1.82.8 Π² PyPI, Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠΉΠΊΠΈ ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΈ GitHub CI/CD. Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² GitHub Π½Π΅ ΠΏΠΎΡΡΡΠ°Π΄Π° β Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½Π°ΡΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ Π±Π΅ΡΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°Π½Π° ΡΠ°ΠΌΠΎ Π² PyPI. Π ΡΠ΅Π»ΠΈΠ·Π° LiteLLM 1.82.7 Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π±Π΅ΡΠ΅ Π²Π³ΡΠ°Π΄Π΅Π½ Π²ΡΠ² ΡΠ°ΠΉΠ»Π° litellm/proxy/proxy_server.py ΠΈ ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° litellm.proxy. Π ΡΠ΅Π»ΠΈΠ·Π° 1.82.8 Π±Π΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ ΡΠ°ΠΉΠ» site-packages/litellm_init.pth, Π° Π²ΡΠ² ΡΠ°ΠΉΠ»Π° proxy_server.py Π±Π΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½ Π² base64 ΡΠΎΡΠΌΠ°Ρ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΏΡΠΈ Π²ΡΡΠΊΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅.
ΠΠΎΠ±Π°Π²Π΅Π½ΠΈΡΡ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ ΠΊΠΎΠ΄ ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠ΅ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠ·ΠΏΡΠ°ΡΠ°Ρ Π° ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° SSH ΠΈ SSL/TLS ΠΊΠ»ΡΡΠΎΠ²Π΅, ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° AWS, GCP, Azure ΠΈ K8s, ΠΊΠ»ΡΡΠΎΠ²Π΅ Π·Π° ΠΊΡΠΈΠΏΡΠΎΠΊΠΎΡΠ΅Π»ΡΠΊΠΈ, ΠΏΠ°ΡΠΎΠ»ΠΈ Π·Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΈΡΡΠΎΡΠΈΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ Git, CI/CD, ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠΈ ΠΈ Docker. ΠΡΠΊΡΠΈΡΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π±ΡΡ Π° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠΈ Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ AES-256-CBC + RSA-4096 ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½ΠΈ Ρ HTTP POST Π·Π°ΡΠ²ΠΊΠ° Π½Π° ΡΠ°ΠΉΡΠ° "https://models.litellm.cloud/" (Π΄ΠΎΠΌΠ΅Π½ litellm.cloud Π±Π΅ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°ΡΠ° ΠΏΡΠ΅Π΄ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ ΡΠ΅Π»ΠΈΠ·ΠΈ).
ΠΠ° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° LiteLLM ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΡ Π·Π° Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠ»Π° litellm_init.pth Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° site-packages, Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ Π²ΡΠΈΡΠΊΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΈ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π²Π΅ΡΡΠΈΠΈ 1.82.7 ΠΈΠ»ΠΈ 1.82.8, Π΄Π° ΡΠΈΠΊΡΠΈΡΠ°Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° LiteLLM Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΡ Π½Π° LiteLLM Ρ ΠΊΠΎΠ΄Π° Π½Π° ΠΈΠ·Π΄Π°Π½ΠΈΡΡΠ° Π² GitHub.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
