El agente de Python de ARMS es compatible con versiones específicas de Python, componentes de terceros y frameworks.
Versiones de Python compatibles
Versiones de Protobuf compatibles
El agente de Python utiliza Protobuf para codificar y reportar datos. Esto puede generar conflictos con la versión de Protobuf que usa su aplicación. El agente de Python es compatible con las siguientes versiones de Protobuf:
"protobuf>=3.20.0, < 7.0"
La integración del agente puede modificar las versiones de algunas dependencias, como Protobuf. Para evitar errores inesperados por estos cambios, utilice uno de los siguientes métodos:
Si ya instaló una dependencia, como Protobuf, ejecute el siguiente comando para aumentar su prioridad:
# View the package installation path
python3 -m site
# The output is similar to the following
sys.path = [
'/app',
'/usr/local/lib/python3.9',
'/usr/local/lib/python3.9/site-packages'
]
# Set the PYTHONPATH environment variable to prioritize your dependency version
# Use colons (:) to separate different paths
export PYTHONPATH=/app:/usr/local/lib/python3.9:/usr/local/lib/python3.9/site-packages
Si el método 1 no resuelve el problema, manually install the Python agent. Después de integrar el agente, ejecute el siguiente comando para forzar una versión específica de la dependencia:
pip3 install xx==${your_original_dependency_version} --force-reinstall
Versiones de la API de OpenTelemetry compatibles
El agente de Python se implementó con base en la especificación de la API de OpenTelemetry. Dado que las distintas versiones de esta API pueden presentar diferencias menores, el agente de Python admite el siguiente rango de versiones:
"opentelemetry-api <= 1.40.0"
Compatibilidad con frameworks de Python
Revise los requisitos específicos de cada framework antes de continuar.
uvicorn
Si su aplicación inicia con uvicorn, elija uno de los siguientes enfoques:
Enfoque A: importar el agente en el código. Agregue esta instrucción de importación en la primera línea de su archivo de entrada de uvicorn:
from aliyun.opentelemetry.instrumentation.auto_instrumentation import sitecustomize
**Enfoque B: cambiar a gunicorn con el prefijo aliyun-instrument.** Reemplace su comando de uvicorn:
# Before
uvicorn app:app --workers 4 --port=9090 --host 0.0.0.0
# After
aliyun-instrument gunicorn -w 4 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000 app:app
El prefijo aliyun-instrument gestiona la inicialización y la instrumentación no intrusiva del agente de Python de ARMS.
uWSGI
Si su aplicación inicia con uWSGI, consulte Install the Python agent for a Django or Flask project that starts with uWSGI.
gevent
Si utiliza corrutinas de gevent, establezca la variable de entorno GEVENT_ENABLE en true.
Por ejemplo, si su código contiene lo siguiente:
from gevent import monkey
monkey.patch_all()
Establezca la siguiente variable de entorno en su despliegue:
GEVENT_ENABLE=true
Versiones de plugin compatibles
Aplicaciones de LLM (modelo de lenguaje grande)
|
Componente |
Dirección del repositorio en PyPI/GitHub |
Versión mínima |
Versiones posteriores |
|
AgentScope |
v1.0.0 |
v2.0.5 |
|
|
Anthropic SDK |
v0.16.0 |
v0.111.0 |
|
|
AutoGen |
v0.7.0 |
v0.8.0 |
|
|
Claude Agent SDK |
v0.1.0 |
Ninguna |
|
|
CrewAI |
v0.1.0 |
v1.7.2 |
|
|
Dashscope |
v1.0.0 |
v1.2.1 |
|
|
DeepAgents |
v0.6.0 |
v0.7.0 |
|
|
Dify |
v0.12.8 |
v1.11.2 |
|
|
Dify Plugin |
Ninguna |
Ninguna |
|
|
Dify React |
v0.1.0 |
v0.1.0 |
|
|
Google ADK |
v1.2.1 |
v1.21.0 |
|
|
Hermes Agent |
v0.12.0 |
v0.16.0 |
|
|
LangChain |
v0.1.0 |
v1.2.0 |
|
|
LangGraph |
Ninguna |
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 |
|
|
Microsoft Agent Framework (MAF) |
v1.0.0 |
v1.13.0 |
|
|
OpenAI |
v1.0.0 |
v2.14.0 |
|
|
OpenAI Agent |
v0.3.3 |
v0.6.6 |
|
|
Qwen-Agent |
v0.0.20 |
v0.0.34 |
|
|
QwenPaw |
v1.1.0 |
v1.1.11 |
|
|
RagFlow |
v0.14.0 |
v0.21.1 |
Servicios de LLM (modelo de lenguaje grande)
Componente | Dirección del repositorio en PyPI/GitHub | Versiones anteriores | Versiones posteriores |
SGLang | v0.4.6 | v0.4.9.post6 | |
vLLM V0 | v0.5.0 | v0.8.4 | |
vLLM V1 | V0.8.2 | V0.16.0 |
Frameworks HTTP/RPC
|
Componente |
Dirección del repositorio en PyPI/GitHub |
Versiones anteriores |
Versiones posteriores |
|
aiohttp |
v3.0 |
Ninguna |
|
|
asgiref |
v3.0 |
Ninguna |
|
|
BlackSheep |
v1.2.0 |
Ninguna |
|
|
Click |
v8.1.3 |
< 9.0.0 |
|
|
Django |
v1.10 |
Ninguna |
|
|
Falcon |
v1.4.1 |
< 5.0.0 |
|
|
FastAPI |
v0.92 |
Ninguna |
|
|
Flask |
v1.0 |
Ninguna |
|
|
gRPC |
v1.42.0 |
Ninguna |
|
|
HTTPX |
v0.18.0 |
Ninguna |
|
|
Jinja2 |
v2.7 |
< 4.0 |
|
|
Pyramid |
v1.7 |
Ninguna |
|
|
Requests |
v2.0 |
Ninguna |
|
|
Starlette |
v0.13 |
Ninguna |
|
|
Tornado |
v5.1.1 |
Ninguna |
|
|
urllib |
Sin dependencia específica |
Sin requisito de versión específico |
Ninguna |
|
urllib3 |
v1.0.0 |
< 3.0.0 |
|
|
WSGI |
Ninguna |
Ninguna |
Ninguna |
Bases de datos vectoriales
|
Componente |
Dirección del repositorio en PyPI/GitHub |
Versión mínima |
Versiones posteriores |
|
milvus |
v2.4.1 |
Ninguna |
Frameworks de memoria
|
Componente |
Dirección del repositorio en PyPI/GitHub |
Versión mínima |
Versiones posteriores |
|
mem0 |
v1.0.0 |
v1.0.2 |
Frameworks de bases de datos
|
Componente |
Dirección del repositorio en PyPI/GitHub |
Versión anterior |
Versiones posteriores |
|
aiopg |
v0.13.0 |
< 2.0.0 |
|
|
AsyncPG |
v0.12.0 |
Ninguna |
|
|
DBAPI |
Sin dependencia específica |
Sin requisito de versión específico |
Ninguna |
|
MySQL |
v8.0 |
< 10.0 |
|
|
MySQLClient |
Sin requisito de versión específico |
< 3 |
|
|
psycopg |
v3.1.0 |
Ninguna |
|
|
psycopg2 |
v2.7.3.1 |
Ninguna |
|
|
Pydantic |
v1.10.2 |
Ninguna |
|
|
PyMongo |
v3.1 |
< 5.0 |
|
|
PyMSSQL |
v2.1.5 |
< 3 |
|
|
PyMySQL |
Sin requisito de versión específico |
< 2 |
|
|
SQLAlchemy |
v1.0.0 |
< 2.1.0 |
|
|
SQLite3 |
Sin dependencia específica |
Sin requisito de versión específico |
Ninguna |
|
TortoiseORM |
v0.17.0 |
Ninguna |
Plugins de caché
|
Componente |
Dirección del repositorio en PyPI/GitHub |
Versión anterior |
Versiones posteriores |
|
Cassandra |
v3.25 |
Ninguna |
|
|
Elasticsearch |
v6.0 |
Ninguna |
|
|
PyMemcache |
v1.3.5 |
< 5 |
|
|
Redis |
v2.6 |
Ninguna |
|
|
Scylla |
v3.25 |
Ninguna |
Plugin de cola de mensajes
|
Componente |
Dirección del repositorio en PyPI/GitHub |
Versiones anteriores |
Versiones posteriores |
|
aio-pika |
Sin requisito de versión específico |
Ninguna |
|
|
aiokafka |
Sin requisito de versión específico |
Ninguna |
|
|
Celery |
v4.0 |
< 6.0 |
|
|
Confluent Kafka |
v1.8.2 |
v2.7.0 |
|
|
Kafka Python |
Sin requisito de versión específico |
Ninguna |
|
|
Pika |
Sin requisito de versión específico |
Ninguna |
|
|
Remoulade |
v0.50 |
Ninguna |
Otros plugins
|
Componente |
Dirección del repositorio en PyPI/GitHub |
Versiones anteriores |
Versiones posteriores |
|
asyncio |
Sin dependencia específica |
Sin requisito de versión específico |
Ninguna |
|
Logging |
Sin dependencia específica |
Sin requisito de versión específico |
Ninguna |
|
Loguru |
v0.5.0 |
v1.0 |
|
|
Threading |
Sin dependencia específica |
Sin requisito de versión específico |
Ninguna |