Com o Microsoft Foundry Local instalado no seu Windows, você tem um modelo de linguagem grande (LLM) rodando 100% offline — sem custo por token e sem depender de APIs externas. Mas como chamar esse LLM a partir do seu código? Neste guia você aprende a fazer requisições ao Foundry Local via Python, Power Automate Desktop (PAD), VBA e cURL, entendendo o endpoint de serviço e o formato correto da chamada HTTP.
O que é o Foundry Local e como descobrir o endpoint
O Microsoft Foundry Local é uma ferramenta que permite rodar modelos de LLM da Microsoft diretamente na sua máquina Windows via linha de comando. Após instalar e rodar um modelo, você tem um servidor HTTP local compatível com a API OpenAI — o que significa que qualquer código que chama a API da OpenAI também funciona com o Foundry Local, bastando trocar a URL base.
Para descobrir o endpoint ativo, execute no terminal:
foundry service statusO retorno mostrará algo como:
Model management service running on http://localhost:5273/A URL base para chamadas de chat é então:
http://localhost:5273/v1/chat/completionsChamar o Foundry Local com Python (usando requests)
Existem duas abordagens em Python: usar a biblioteca oficial do OpenAI (ou Foundry Local SDK) ou fazer uma requisição HTTP pura com requests. A segunda abordagem é a mais portátil — você entende exatamente o que está sendo enviado e pode replicar o mesmo padrão em qualquer linguagem.
Método 1: Chamada com a SDK do Foundry Local + OpenAI
Instale a dependência:
pip install foundry-local openaiCódigo básico:
from foundry_local import FoundryLocalManager
from openai import OpenAI
model_alias = "phi-3.5-mini" # ajuste para o modelo que você tem instalado
manager = FoundryLocalManager(model_alias)
client = OpenAI(
base_url=manager.endpoint,
api_key="local" # valor qualquer, pois é local
)
response = client.chat.completions.create(
model=manager.get_latest_model_info(model_alias).id,
messages=[
{"role": "user", "content": "Quanto é 1 + 1?"}
]
)
print(response.choices[0].message.content)Método 2: Chamada HTTP pura com requests (sem SDK)
Esta abordagem não exige nenhuma biblioteca especial além do requests, e funciona com qualquer endpoint compatível com OpenAI:
import requests
endpoint = "http://localhost:5273/v1/chat/completions"
model_id = "Phi-3.5-mini-instruct-generic-gpu" # use o ID real do seu modelo
payload = {
"model": model_id,
"messages": [
{"role": "user", "content": "Quanto é 1 + 1?"}
]
}
response = requests.post(endpoint, json=payload)
data = response.json()
print(data["choices"][0]["message"]["content"])Para descobrir o model_id exato, você pode inspecionar a resposta do FoundryLocalManager ou listar os modelos disponíveis via:
foundry model list
Chamar o Foundry Local no Power Automate Desktop (PAD)
No Power Automate Desktop, use a ação “Invoke web service” (Invocar serviço web) para fazer a chamada HTTP. Essa ação é equivalente a um requests.post em Python:
- URL:
http://localhost:5273/v1/chat/completions - Method: POST
- Custom headers:
Content-Type: application/jsonAuthorization: Bearer local(qualquer valor funciona, pois é local)
- Payload: o JSON com
modelemessages
Atenção ao encoding: Desmarque a opção “Encode request body” na ação “Invoke web service”. Caso contrário, o PAD vai codificar caracteres especiais no JSON e a chamada falhará.
Exemplo de payload a colar no campo Body:
{"model": "Phi-3.5-mini-instruct-generic-gpu", "messages": [{"role": "user", "content": "Quanto é 1 + 1?"}]}A resposta virá como texto JSON, e você precisará usar a ação “Convert JSON to custom object” ou parsear a string para extrair o campo choices[0].message.content.
Chamar o Foundry Local via cURL
Para testes rápidos no terminal, use cURL:
curl -X POST http://localhost:5273/v1/chat/completions -H "Content-Type: application/json" -d "{"model":"Phi-3.5-mini-instruct-generic-gpu","messages":[{"role":"user","content":"Quanto eh 1 mais 1?"}]}"No Windows PowerShell, ajuste as aspas:
Invoke-RestMethod -Uri "http://localhost:5273/v1/chat/completions" `
-Method POST `
-ContentType "application/json" `
-Body '{"model":"Phi-3.5-mini-instruct-generic-gpu","messages":[{"role":"user","content":"Quanto e 1 mais 1?"}]}'Por que usar HTTP puro em vez da SDK OpenAI?
A SDK do OpenAI é excelente para Python e algumas outras linguagens, mas é impraticável em ambientes como:
- VBA (Excel, Access) — sem suporte a pip install
- Power Automate Desktop — sem execução de código Python nativo no fluxo
- Linguagens legadas ou ambientes restritos
- Automações de RPA onde você quer simplicidade máxima
Ao entender que o Foundry Local expõe uma API REST padrão OpenAI, você pode integrá-lo a qualquer ferramenta que faça chamadas HTTP — o que torna o modelo local extremamente versátil.
Importante: o Foundry Local não requer Authorization
Como o serviço roda localmente na sua máquina, o header Authorization: Bearer é opcional — você pode omiti-lo completamente. A API local não valida tokens, pois não há camada de autenticação no serviço local. Isso simplifica ainda mais as chamadas em ambientes RPA e VBA.
Perguntas Frequentes
O que é o Microsoft Foundry Local?
É uma ferramenta da Microsoft que permite instalar e rodar modelos de linguagem grande (LLMs) diretamente no seu Windows, sem conexão com servidores externos. Os modelos processam localmente na sua GPU ou CPU, sem cobrança por tokens.
Como descobrir o endpoint e o model ID do Foundry Local?
Execute foundry service status no terminal para ver a URL do serviço (normalmente http://localhost:5273) e foundry model list para listar os modelos instalados com seus IDs exatos.
Preciso da SDK do OpenAI para chamar o Foundry Local?
Não. O Foundry Local expõe uma API REST compatível com o padrão OpenAI. Você pode fazer uma chamada HTTP POST simples com requests (Python), Invoke-RestMethod (PowerShell), cURL, Power Automate Desktop ou qualquer outra ferramenta que suporte chamadas HTTP.
O Foundry Local funciona sem internet?
Sim. Após baixar e instalar o modelo uma única vez, ele roda 100% offline. Nenhuma chamada é feita a servidores externos durante a inferência. Ideal para ambientes corporativos com restrições de rede ou para garantir privacidade de dados.
Posso usar o Foundry Local no Power Automate Cloud?
Não diretamente — o Power Automate Cloud não tem acesso à rede local da sua máquina. O Foundry Local só é acessível por serviços rodando na mesma máquina ou rede local. Para integração com o Power Automate Cloud, você precisaria expor o endpoint via túnel ou gateway, o que foge do propósito de uso local.
Conclusão
O Foundry Local é uma solução poderosa para quem quer rodar LLMs sem custo de tokens e sem dependência de APIs externas. Ao expor uma API REST compatível com OpenAI, ele permite integração com qualquer linguagem ou ferramenta que faça chamadas HTTP — de Python a Power Automate Desktop, de VBA a cURL.
Assista ao vídeo completo acima para ver a demonstração ao vivo de cada método. Para aprofundar em automação com Power Automate Desktop e integrações avançadas, confira a Formação VICO Power.