O modo de código do LangStudio permite criar aplicações de Agent com Python e oferece suporte completo para desenvolvimento, depuração e implantação na nuvem. Este guia ensina a construir um Agent com chamada de ferramentas, habilidades e saída em streaming em menos de 5 minutos.
Pré-requisitos
Antes de começar, verifique se você tem:
Uma conta Alibaba Cloud com o PAI ativado
Uma chave de API do Alibaba Cloud Model Studio
Etapa 1: Criar uma aplicação
Faça login no PAI console. Na barra de navegação superior, selecione uma região, como China (Hangzhou).
No painel de navegação à esquerda, escolha Model Application > Application Development (LangStudio).
Na aba Applications, clique em Create Application e selecione Code Mode na lista suspensa.
-
Na página Create Application, configure os seguintes parâmetros:
Parâmetro
Descrição
Creation method
Selecione Create from Template e escolha LLM Basic.
Name
Insira um nome para a aplicação, como AI Chat Agent.
Select runtime
O runtime é o ambiente de computação para executar e depurar seu código. Selecione um runtime existente na lista suspensa. Se nenhum estiver disponível, clique em New Runtime para criar um com as configurações padrão. Várias aplicações podem compartilhar o mesmo runtime.
Working path
Caminho do bucket do OSS para armazenar configurações de workflow, logs e arquivos temporários. Preenchido automaticamente após a seleção de um runtime.
Description
(Opcional) Uma breve descrição da aplicação.
Clique em Confirm. O LangStudio redireciona você para a página de desenvolvimento.
Etapa 2: Configurar variáveis de ambiente
O modelo LLM Basic usa o Alibaba Cloud Model Studio como provedor de LLM. Crie um arquivo .env no diretório raiz do projeto com sua chave de API:
DASHSCOPE_API_KEY=your-api-key-here
O runtime carrega esse arquivo automaticamente durante a inicialização.

Se você usar uma conta internacional, abra o arquivo agent_loop.py e atualize o base_url na linha 118:
# Change from:
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
# To:
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
Usar uma chave de API internacional com o endpoint da China continental causa falhas de conexão.
Etapa 3: Entender a estrutura do projeto
O modelo LLM Basic fornece um projeto de Agent funcional pronto para uso:
project/
├── agent.py # Entry file: defines the FastAPI app and API endpoints
├── agent_loop.py # Core logic: handles LLM calls and the tool execution loop
├── agui.py # AG-UI Protocol event stream transformation
├── skills.py # Skill system: discovers, loads, and executes skills
├── skills/ # Skills directory
│ ├── get-current-time/
│ └── create-plan/
├── requirements.txt # Python dependencies
├── .env # Environment variable file (create this manually)
└── README.md # Detailed documentation
O arquivo agent.py é o ponto de entrada padrão e deve expor um objeto global FastAPI chamado app. O LangStudio detecta e carrega esse objeto para iniciar o serviço.
Consulte o arquivo README.md para obter detalhes sobre como estender o modelo.
Etapa 4: Depurar o Agent
Clique em Run no canto superior direito da página de desenvolvimento. O LangStudio inicia o runtime e carrega seu código. Quando estiver pronto, o painel de depuração aparecerá à direita.
Testar com depuração de API
Na aba API Debugging, selecione o endpoint de API a ser testado (por exemplo, POST /), insira os parâmetros da solicitação e envie a requisição.
Exemplo de solicitação:
{
"question": "What is the weather like in Beijing today?"
}
Resposta esperada:
{
"answer": "The weather in Beijing today is sunny, with temperatures between 10°C and 20°C."
}

Testar com o painel de chat
Acesse a página Chat e envie uma mensagem diretamente para iniciar uma sessão de múltiplas interações.
O painel de chat usa o protocolo AG-UI, que exige suporte ao endpoint /ag-ui no serviço.

Visualizar análise de rastreamento
Todas as solicitações são rastreadas automaticamente, independentemente do método de teste. O rastreamento inclui:
Duração da solicitação: tempo gasto em cada etapa
Detalhes da chamada de LLM: parâmetros do modelo e uso de tokens
Registros de chamada de ferramentas: ferramentas invocadas e resultados retornados
Mensagens de erro: stack traces detalhados quando ocorrem erros

Se seu código gerar uma exceção, verifique o log do worker na página Run.
Etapa 5: Implantar o serviço
Após a depuração, implante a aplicação como um serviço online escalável.
Clique em Confirm no canto superior direito da página de desenvolvimento.
-
Na caixa de diálogo, configure os recursos de implantação, o nome do serviço, a Virtual Private Cloud (VPC) e o vSwitch. O LangStudio empacota sua aplicação FastAPI em um serviço PAI-EAS.
ImportanteO serviço de LLM requer acesso à internet pública, mas os serviços PAI-EAS não têm acesso de saída à internet por padrão. Associe um NAT Gateway à sua VPC e ao vSwitch para habilitar esse acesso. Sem essa configuração, todas as chamadas de LLM falharão. Consulte Acessar recursos de rede públicos ou privados a partir do EAS para obter instruções de configuração.
Na página Deployment Flow, verifique o conteúdo da implantação e clique em Submit deployment.
A implantação leva de 5 a 10 minutos. Após a conclusão, clique em Go to EAS no canto superior direito.
Na aba Overview, vá até a seção Basic Information e clique em View Endpoint Information para obter a URL do endpoint e o token de autenticação.
Testar o serviço implantado:
# Replace <EAS_ENDPOINT> and <EAS_TOKEN> with your endpoint URL and authentication token.
curl -X POST '<EAS_ENDPOINT>' \
-H 'Authorization: Bearer <EAS_TOKEN>' \
-H "Content-Type: application/json" \
-d '{"question": "What is the weather like in Beijing today?"}'
Use os recursos de monitoramento e rastreamento na página de serviço do EAS para acompanhar métricas de desempenho e inspecionar rastreamentos de solicitações em tempo real.
Etapa 6: Personalizar seu Agent
O modelo LLM Basic serve como ponto de partida. Veja abaixo as formas mais comuns de estendê-lo.
Modificar o prompt do sistema
Edite o método to_messages() no arquivo agent.py para definir a função e o comportamento do Agent:
def to_messages(self) -> list:
return [
{"role": "system", "content": "You are a professional travel planning assistant. Your answers should be concise, actionable, and presented as a checklist."},
{"role": "user", "content": self.question},
]
Adicionar uma ferramenta personalizada
Defina uma função Python padrão no arquivo agent.py. O nome da função torna-se o nome da ferramenta, e as anotações de tipo geram o esquema da ferramenta automaticamente. Há suporte tanto para funções síncronas quanto para async def.
def geocode(city: str) -> str:
"""Get the geographical coordinates of a city."""
# Replace with an actual API call
return '{"lat": 39.9042, "lng": 116.4074}'
Passe a lista de ferramentas para o agent_loop no seu endpoint de API:
@app.post("/")
async def query(req: QueryRequest) -> QueryResponse:
tools = [get_weather, geocode]
async for chunk in agent_loop(req.to_messages(), tools=tools):
# ...
Adicionar uma habilidade
As habilidades organizam instruções complexas e scripts para uso pelo Agent.
-
Crie um subdiretório dentro de
skills/para sua habilidade, por exemplomy-skill. O diretório deve incluir um arquivoSKILL.md:skills/ └── my-skill/ ├── SKILL.md # Required: skill definition file └── scripts/ # Optional: scripts executed by this skill └── run.py -
Escreva a definição da habilidade no arquivo
SKILL.md:--- name: my-skill description: Use this skill when the user needs to perform a specific task. --- # My Skill ## Goal Describe what the skill does in one sentence. ## Instructions Detailed operation instructions...
O Agent descobre automaticamente as habilidades disponíveis por meio do prompt do sistema e usa as ferramentas integradas load_skill_file e execute_script para executá-las.