O agente Python do ARMS é compatível com versões específicas do Python, componentes de terceiros e frameworks.
Versões compatíveis do Python
Versões compatíveis do Protobuf
O agente Python usa o Protobuf para codificação e envio de dados. Isso pode causar conflitos com a versão do Protobuf usada pela sua aplicação. O agente Python é compatível com as seguintes versões do Protobuf:
"protobuf>=3.20.0, < 7.0"
A integração do agente pode alterar as versões de algumas dependências, como o Protobuf. Para evitar erros inesperados causados por mudanças nas versões das dependências, use um dos seguintes métodos:
Caso já tenha instalado uma dependência, como o Protobuf, execute o comando a seguir para aumentar a prioridade dela:
# 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
Se o Método 1 não resolver o problema, instale manualmente o agente Python. Depois de integrar o agente, execute o comando a seguir para forçar uma versão específica da dependência:
pip3 install xx==${your_original_dependency_version} --force-reinstall
Versões compatíveis da API do OpenTelemetry
O agente Python é desenvolvido com base na especificação da API do OpenTelemetry. Como diferentes versões da API do OpenTelemetry podem ter pequenas diferenças, o agente Python é compatível com o seguinte intervalo de versões:
"opentelemetry-api <= 1.40.0"
Compatibilidade com frameworks Python
Verifique estes requisitos específicos de cada framework antes de prosseguir.
uvicorn
Caso sua aplicação seja iniciada com o uvicorn, escolha uma das seguintes abordagens:
Abordagem A: Importe o agente no código. Adicione esta instrução de importação na primeira linha do arquivo de entrada do uvicorn:
from aliyun.opentelemetry.instrumentation.auto_instrumentation import sitecustomize
**Abordagem B: Mude para o gunicorn com o prefixo aliyun-instrument.** Substitua o comando do 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
O prefixo aliyun-instrument é responsável pela inicialização e pela instrumentação não intrusiva do agente Python do ARMS.
uWSGI
Caso sua aplicação seja iniciada com o uWSGI, consulte Instale o agente Python para um projeto Django ou Flask que inicia com o uWSGI.
gevent
Caso utilize corrotinas do gevent, defina a variável de ambiente GEVENT_ENABLE como true.
Por exemplo, se seu código contiver:
from gevent import monkey
monkey.patch_all()
Defina a seguinte variável de ambiente em sua implantação:
GEVENT_ENABLE=true
Versões compatíveis de plug-ins
Aplicações de LLM (modelo de linguagem grande)
|
Componente |
Endereço do repositório PyPI/GitHub |
Versão mínima |
Versões 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 |
Sem limite |
|
|
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 |
Sem limite |
Sem limite |
|
|
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 |
Sem limite |
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 |
Serviços de LLM (modelo de linguagem grande)
Componente | Endereço do repositório PyPI/GitHub | Versões anteriores | Versões posteriores |
SGLang | v0.4.6 | v0.5.20 | |
vLLM V0 | v0.5.0 | v0.8.4 | |
vLLM V1 | V0.8.2 | v0.29.0 |
Frameworks HTTP/RPC
|
Componente |
Endereço do repositório PyPI/GitHub |
Versões anteriores |
Versões posteriores |
|
aiohttp |
v3.0 |
Sem limite |
|
|
asgiref |
v3.0 |
Sem limite |
|
|
BlackSheep |
v1.2.0 |
Sem limite |
|
|
Click |
v8.1.3 |
< 9.0.0 |
|
|
Django |
v1.10 |
Sem limite |
|
|
Falcon |
v1.4.1 |
< 5.0.0 |
|
|
FastAPI |
v0.92 |
Sem limite |
|
|
Flask |
v1.0 |
Sem limite |
|
|
gRPC |
v1.42.0 |
Sem limite |
|
|
HTTPX |
v0.18.0 |
Sem limite |
|
|
Jinja2 |
v2.7 |
< 4.0 |
|
|
Pyramid |
v1.7 |
Sem limite |
|
|
Requests |
v2.0 |
Sem limite |
|
|
Starlette |
v0.13 |
Sem limite |
|
|
Tornado |
v5.1.1 |
Sem limite |
|
|
urllib |
Sem dependência específica |
Sem requisito de versão específica |
Sem limite |
|
urllib3 |
v1.0.0 |
< 3.0.0 |
|
|
WSGI |
Nenhum |
Sem limite |
Sem limite |
Bancos de dados vetoriais
|
Componente |
Endereço do repositório PyPI/GitHub |
Versão mínima |
Versões posteriores |
|
milvus |
v2.4.1 |
Sem limite |
Frameworks de memória
|
Componente |
Endereço do repositório PyPI/GitHub |
Versão mínima |
Versões posteriores |
|
mem0 |
v1.0.0 |
v1.0.2 |
Frameworks de banco de dados
|
Componente |
Endereço do repositório PyPI/GitHub |
Versão anterior |
Versões posteriores |
|
aiopg |
v0.13.0 |
< 2.0.0 |
|
|
AsyncPG |
v0.12.0 |
Sem limite |
|
|
DBAPI |
Sem dependência específica |
Sem requisito de versão específica |
Sem limite |
|
MySQL |
v8.0 |
< 10.0 |
|
|
MySQLClient |
Sem requisito de versão específica |
< 3 |
|
|
psycopg |
v3.1.0 |
Sem limite |
|
|
psycopg2 |
v2.7.3.1 |
Sem limite |
|
|
Pydantic |
v1.10.2 |
Sem limite |
|
|
PyMongo |
v3.1 |
< 5.0 |
|
|
PyMSSQL |
v2.1.5 |
< 3 |
|
|
PyMySQL |
Sem requisito de versão específica |
< 2 |
|
|
SQLAlchemy |
v1.0.0 |
< 2.1.0 |
|
|
SQLite3 |
Sem dependência específica |
Sem requisito de versão específica |
Sem limite |
|
TortoiseORM |
v0.17.0 |
Sem limite |
Plug-ins de cache
|
Componente |
Endereço do repositório PyPI/GitHub |
Versão anterior |
Versões posteriores |
|
Cassandra |
v3.25 |
Sem limite |
|
|
Elasticsearch |
v6.0 |
Sem limite |
|
|
PyMemcache |
v1.3.5 |
< 5 |
|
|
Redis |
v2.6 |
Sem limite |
|
|
Scylla |
v3.25 |
Sem limite |
Plug-in de fila de mensagens
|
Componente |
Endereço do repositório PyPI/GitHub |
Versões anteriores |
Versões posteriores |
|
aio-pika |
Sem requisito de versão específica |
Sem limite |
|
|
aiokafka |
Sem requisito de versão específica |
Sem limite |
|
|
Celery |
v4.0 |
< 6.0 |
|
|
Confluent Kafka |
v1.8.2 |
v2.7.0 |
|
|
Kafka Python |
Sem requisito de versão específica |
Sem limite |
|
|
Pika |
Sem requisito de versão específica |
Sem limite |
|
|
Remoulade |
v0.50 |
Sem limite |
Outros plug-ins
|
Componente |
Endereço do repositório PyPI/GitHub |
Versões anteriores |
Versões posteriores |
|
asyncio |
Sem dependência específica |
Sem requisito de versão específica |
Sem limite |
|
Logging |
Sem dependência específica |
Sem requisito de versão específica |
Sem limite |
|
Loguru |
v0.5.0 |
v1.0 |
|
|
Threading |
Sem dependência específica |
Sem requisito de versão específica |
Sem limite |