Pelajari versi Python, komponen pihak ketiga, dan framework yang didukung oleh agen Python ARMS.
Versi Python yang didukung
Versi Protobuf yang didukung
Agen Python menggunakan Protobuf untuk meng-encode data pelaporan, yang dapat bentrok dengan versi Protobuf yang digunakan oleh aplikasi Anda.
"protobuf>=3.20.0, < 7.0"Integrasi agen dapat mengubah versi dependensi Anda, seperti Protobuf. Untuk mencegah error tak terduga akibat perubahan versi ini, gunakan metode berikut:
Jika Anda telah menginstal versi dependensi tertentu, seperti Protobuf, gunakan perintah berikut untuk memprioritaskan versi tersebut:
# Lihat path instalasi paket.
python3 -m site
# Output biasanya mirip dengan berikut:
sys.path = [
'/app',
'/usr/local/lib/python3.9',
'/usr/local/lib/python3.9/site-packages'
]
# Atur variabel lingkungan PYTHONPATH untuk memprioritaskan versi dependensi Anda.
# Gunakan tanda titik dua (:) untuk memisahkan path.
export PYTHONPATH=/app:/usr/local/lib/python3.9:/usr/local/lib/python3.9/site-packagesJika Metode 1 tidak menyelesaikan masalah, instal agen Python secara manual. Setelah menginstal agen, jalankan perintah berikut untuk memaksa instalasi ulang versi dependensi yang Anda butuhkan:
pip3 install <dependency_name>==<your_required_version> --force-reinstall
Versi API OpenTelemetry yang didukung
Agen Python mengikuti spesifikasi API OpenTelemetry dan mendukung rentang versi berikut untuk memastikan kompatibilitas:
"opentelemetry-api <= 1.39.0"Kompatibilitas framework Python
Tinjau persyaratan khusus framework berikut sebelum melanjutkan.
uvicorn
Jika aplikasi Anda dijalankan dengan uvicorn, pilih salah satu pendekatan berikut:
Pendekatan A: Impor agen dalam kode. Tambahkan pernyataan impor berikut pada baris pertama file entri uvicorn Anda:
from aliyun.opentelemetry.instrumentation.auto_instrumentation import sitecustomizePendekatan B: Beralih ke gunicorn dengan awalan aliyun-instrument. Ganti perintah uvicorn Anda:
# Sebelumnya
uvicorn app:app --workers 4 --port=9090 --host 0.0.0.0
# Setelah
aliyun-instrument gunicorn -w 4 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000 app:appAwalan aliyun-instrument menangani inisialisasi dan instrumentasi non-intrusif dari agen Python ARMS.
uWSGI
Jika aplikasi Anda dijalankan dengan uWSGI, lihat Instal agen Python untuk proyek Django atau Flask yang dijalankan dengan uWSGI.
gevent
Jika Anda menggunakan korutin gevent, atur variabel lingkungan GEVENT_ENABLE ke true.
Sebagai contoh, jika kode Anda berisi:
from gevent import monkey
monkey.patch_all()Atur variabel lingkungan berikut dalam penerapan Anda:
GEVENT_ENABLE=trueKerangka kerja database
Versi plugin yang didukung
Aplikasi LLM (large language model)
Komponen | Repositori | Versi minimum | Versi maksimum |
AgentScope | v1.0 | v1.0.10 | |
Claude Agent SDK | v0.1.0 | Tidak ada batasan | |
CrewAI | v0.1.0 | v1.7.2 | |
Dashscope | v1.0.0 | v1.2.1 | |
Dify | v0.12.8 | v1.11.2 | |
Dify Plugin | Tidak ada batasan | Tidak ada batasan | |
Dify React | v0.1.0 | v0.1.0 | |
Google ADK | v1.2.1 | v1.21.0 | |
LangChain | v0.1.0 | v1.2.0 | |
LangGraph | Tidak ada batasan | v1.0.5 | |
LiteLLM | v1.0.0 | v1.79.0 | |
Llama-index | v0.10.5 | v0.10.43 | |
MCP | v1.3.0 | v1.25.0 | |
OpenAI | v1.0.0 | v2.14.0 | |
OpenAI Agent | v0.3.3 | v0.6.6 | |
RagFlow | v0.14.0 | v0.21.1 |
Layanan LLM (large language model)
Komponen | Repositori | Versi minimum | Versi maksimum |
SGLang | v0.4.6 | v0.4.9.post6 | |
vLLM V0 | v0.5.0 | v0.8.4 | |
vLLM V1 | v0.8.2 | v0.16.0 |
Framework HTTP/RPC
Komponen | Repositori | Versi minimum | Versi maksimum |
aiohttp | v3.0 | Tidak ada batasan | |
asgiref | v3.0 | Tidak ada batasan | |
BlackSheep | v1.2.0 | Tidak ada batasan | |
Click | v8.1.3 | < 9.0.0 | |
Django | v1.10 | Tidak ada batasan | |
Falcon | v1.4.1 | < 5.0.0 | |
FastAPI | v0.92 | Tidak ada batasan | |
Flask | v1.0 | Tidak ada batasan | |
gRPC | v1.42.0 | Tidak ada batasan | |
httpx | v0.18.0 | Tidak ada batasan | |
Jinja2 | v2.7 | < 4.0 | |
Pyramid | v1.7 | Tidak ada batasan | |
Requests | v2.0 | Tidak ada batasan | |
Starlette | v0.13 | Tidak ada batasan | |
Tornado | v5.1.1 | Tidak ada batasan | |
urllib | N/A | Tidak ada batasan | Tidak ada batasan |
urllib3 | v1.0.0 | < 3.0.0 | |
WSGI | N/A | Tidak ada batasan | Tidak ada batasan |
Database vektor
Komponen | Repositori | Versi minimum | Versi maksimum |
Milvus | v2.4.1 | Tidak ada batasan |
Framework memori
Komponen | Repositori | Versi minimum | Versi maksimum |
mem0 | v1.0.0 | v1.0.2 |
Database dan ORM
Komponen | Repositori | Versi minimum | Versi maksimum |
aiopg | v0.13.0 | < 2.0.0 | |
AsyncPG | v0.12.0 | Tidak ada batasan | |
DBAPI | N/A | Tidak ada batasan | Tidak ada batasan |
MySQL | v8.0 | < 10.0 | |
MySQLClient | Tidak ada batasan | < 3 | |
psycopg | v3.1.0 | Tidak ada batasan | |
psycopg2 | v2.7.3.1 | Tidak ada batasan | |
Pydantic | v1.10.2 | Tidak ada batasan | |
PyMongo | v3.1 | < 5.0 | |
PyMSSQL | v2.1.5 | < 3 | |
PyMySQL | Tidak ada batasan | < 2 | |
SQLAlchemy | v1.0.0 | < 2.1.0 | |
SQLite3 | Standard Library | Tidak ada batasan | Tidak ada batasan |
TortoiseORM | v0.17.0 | Tidak ada batasan |
Caching
Komponen | Repositori | Versi minimum | Versi maksimum |
Cassandra | v3.25 | Tidak ada batasan | |
Elasticsearch | v6.0 | Tidak ada batasan | |
PyMemcache | v1.3.5 | < 5 | |
Redis | v2.6 | Tidak ada batasan | |
Scylla | v3.25 | Tidak ada batasan |
Antrian pesan
Komponen | Repositori | Versi minimum | Versi maksimum |
aio-pika | Tidak ada batasan | Tidak ada batasan | |
aiokafka | Tidak ada batasan | Tidak ada batasan | |
Celery | v4.0 | < 6.0 | |
Confluent Kafka | v1.8.2 | v2.7.0 | |
Kafka Python | Tidak ada batasan | Tidak ada batasan | |
Pika | Tidak ada batasan | Tidak ada batasan | |
Remoulade | v0.50 | Tidak ada batasan |
Pencatatan log dan operasi asinkron
Komponen | Repositori | Versi minimum | Versi maksimum |
asyncio | Standard Library | Tidak ada batasan | Tidak ada batasan |
Logging | Standard Library | Tidak ada batasan | Tidak ada batasan |
Loguru | v0.5.0 | v1.0 | |
Threading | Standard Library | Tidak ada batasan | Tidak ada batasan |