Um exemplo simples de chat que demonstra como usar o OpenAI SDK com o Microsoft Foundry Local para inferência de IA local.
Este exemplo mostra como:
- Utilizar o OpenAI Python SDK com Foundry Local
- Gerir configurações tanto do Azure OpenAI como do Foundry Local
- Implementar tratamento de erros adequado e estratégias de fallback
- Usar o FoundryLocalManager para gestão de serviços
- Foundry Local: Instalado e disponível no PATH
- Python: Versão 3.8 ou superior
- Modelo: Um modelo carregado no Foundry Local (ex.:
phi-4-mini)
-
Configurar o ambiente Python:
cd Module08 py -m venv .venv .venv\Scripts\activate -
Instalar dependências:
pip install -r requirements.txt
-
Iniciar o serviço Foundry Local e carregar um modelo:
foundry model run phi-4-mini
# Using FoundryLocalManager (recommended)
python samples\01\chat_quickstart.py "Explain what Foundry Local is"
# Using manual configuration
set BASE_URL=http://localhost:8000
set MODEL=phi-4-mini
set API_KEY=
python samples\01\chat_quickstart.py "Write a welcome message"set AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com
set AZURE_OPENAI_API_KEY=your-api-key
set AZURE_OPENAI_API_VERSION=2024-08-01-preview
set MODEL=your-deployment-name
python samples\01\chat_quickstart.py "Hello from Azure OpenAI"O exemplo utiliza o SDK oficial do Foundry Local para uma gestão adequada de serviços:
from foundry_local import FoundryLocalManager
from openai import OpenAI
# Initialize Foundry Local
manager = FoundryLocalManager(alias)
model_info = manager.get_model_info(alias)
# Configure OpenAI client
client = OpenAI(
base_url=manager.endpoint,
api_key=manager.api_key
)Tratamento de erros robusto com fallback para configuração manual:
- Descoberta automática de serviços
- Degradação graciosa caso o SDK não esteja disponível
- Mensagens de erro claras para resolução de problemas
| Variável | Descrição | Padrão | Obrigatório |
|---|---|---|---|
MODEL |
Alias ou nome do modelo | phi-4-mini |
Não |
BASE_URL |
URL base do Foundry Local | http://localhost:8000 |
Não |
API_KEY |
Chave API (geralmente não necessária para local) | "" |
Não |
AZURE_OPENAI_ENDPOINT |
Endpoint do Azure OpenAI | - | Para Azure |
AZURE_OPENAI_API_KEY |
Chave API do Azure OpenAI | - | Para Azure |
AZURE_OPENAI_API_VERSION |
Versão da API do Azure | 2024-08-01-preview |
Não |
-
Aviso "Não foi possível usar o Foundry SDK":
- Instalar o foundry-local-sdk:
pip install foundry-local-sdk - Ou configurar variáveis de ambiente manualmente
- Instalar o foundry-local-sdk:
-
Conexão recusada:
- Certifique-se de que o Foundry Local está em execução:
foundry service status - Verifique se um modelo está carregado:
foundry service ps
- Certifique-se de que o Foundry Local está em execução:
-
Modelo não encontrado:
- Listar modelos disponíveis:
foundry model list - Carregar um modelo:
foundry model run phi-4-mini
- Listar modelos disponíveis:
# Check Foundry Local status
foundry service status
# List loaded models
foundry service ps
# Test API endpoint
curl http://localhost:8000/v1/models- Documentação do Foundry Local
- OpenAI Python SDK
- GitHub do Foundry Local
- Referência de API compatível com OpenAI