Skip to content

Latest commit

 

History

History
145 lines (100 loc) · 11.8 KB

File metadata and controls

145 lines (100 loc) · 11.8 KB

Configurar o Seu Ambiente de Desenvolvimento

Configurámos este repositório e curso com um contentor de desenvolvimento que possui um runtime Universal capaz de suportar desenvolvimento em Python3, .NET, Node.js e Java. A configuração relacionada está definida no ficheiro devcontainer.json localizado na pasta .devcontainer/ na raiz deste repositório.

Para ativar o contentor de desenvolvimento, inicie-o no GitHub Codespaces (para um runtime alojado na cloud) ou no Docker Desktop (para um runtime alojado localmente). Leia esta documentação para mais detalhes sobre como funcionam os contentores de desenvolvimento no VS Code.

Tip

Recomendamos usar o GitHub Codespaces para um início rápido com esforço mínimo. Ele oferece uma generosa quota de uso gratuita para contas pessoais. Configure timeouts para parar ou eliminar codespaces inativos e assim maximizar a utilização da sua quota.

1. Execução de Trabalhos

Cada aula terá trabalhos opcionais que podem ser fornecidos numa ou mais linguagens de programação, incluindo: Python, .NET/C#, Java e JavaScript/TypeScript. Esta secção fornece orientações gerais relacionadas com a execução desses trabalhos.

1.1 Trabalhos em Python

Os trabalhos em Python são fornecidos como aplicações (.py) ou notebooks Jupyter (.ipynb).

  • Para executar o notebook, abra-o no Visual Studio Code, clique em Select Kernel (no canto superior direito) e selecione a opção padrão Python 3 apresentada. Pode agora clicar em Run All para executar o notebook.
  • Para executar aplicações Python a partir da linha de comandos, siga as instruções específicas do trabalho para garantir que seleciona os ficheiros corretos e fornece os argumentos necessários.

2. Configuração dos Fornecedores

Os trabalhos podem também estar configurados para funcionar com uma ou mais implementações de Large Language Models (LLM) através de um fornecedor de serviços suportado como OpenAI, Azure ou Hugging Face. Estes fornecem um endpoint alojado (API) que podemos aceder programaticamente com as credenciais corretas (chave API ou token). Neste curso, abordamos estes fornecedores:

  • OpenAI com diversos modelos, incluindo a série principal GPT.
  • Azure OpenAI para modelos OpenAI com foco em prontidão empresarial
  • Hugging Face para modelos open-source e servidor de inferência

Vai precisar de usar as suas próprias contas para estes exercícios. Os trabalhos são opcionais, por isso pode escolher configurar um, todos - ou nenhum - dos fornecedores conforme os seus interesses. Algumas orientações para registo:

Registo Custo Chave API Playground Comentários
OpenAI Preços Baseado em projeto Sem código, Web Vários Modelos Disponíveis
Azure Preços Início rápido SDK Início rápido Studio É necessário solicitar acesso antecipadamente
Hugging Face Preços Tokens de Acesso Hugging Chat Hugging Chat tem modelos limitados

Siga as instruções abaixo para configurar este repositório para uso com diferentes fornecedores. Os trabalhos que requerem um fornecedor específico terão uma destas etiquetas no nome do ficheiro:

  • aoai - requer endpoint e chave Azure OpenAI
  • oai - requer endpoint e chave OpenAI
  • hf - requer token Hugging Face

Pode configurar um, nenhum ou todos os fornecedores. Os trabalhos relacionados simplesmente apresentarão erro se faltarem credenciais.

2.1. Criar ficheiro .env

Assumimos que já leu as orientações acima, registou-se no fornecedor relevante e obteve as credenciais de autenticação necessárias (API_KEY ou token). No caso do Azure OpenAI, assumimos também que tem uma implementação válida de um Serviço Azure OpenAI (endpoint) com pelo menos um modelo GPT implementado para chat completion.

O próximo passo é configurar as suas variáveis de ambiente locais da seguinte forma:

  1. Procure na pasta raiz um ficheiro .env.copy que deverá ter um conteúdo semelhante a este:

    # OpenAI Provider
    OPENAI_API_KEY='<add your OpenAI API key here>'
    
    ## Azure OpenAI
    AZURE_OPENAI_API_VERSION='2024-02-01' # Default is set!
    AZURE_OPENAI_API_KEY='<add your AOAI key here>'
    AZURE_OPENAI_ENDPOINT='<add your AOIA service endpoint here>'
    AZURE_OPENAI_DEPLOYMENT='<add your chat completion model name here>' 
    AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='<add your embeddings model name here>'
    
    ## Hugging Face
    HUGGING_FACE_API_KEY='<add your HuggingFace API or token here>'
  2. Copie esse ficheiro para .env usando o comando abaixo. Este ficheiro está gitignore-d, mantendo os segredos seguros.

    cp .env.copy .env
  3. Preencha os valores (substitua os espaços reservados à direita do =) conforme descrito na secção seguinte.

  4. (Opcional) Se usar GitHub Codespaces, tem a opção de guardar as variáveis de ambiente como segredos do Codespaces associados a este repositório. Nesse caso, não precisará de configurar um ficheiro .env local. No entanto, note que esta opção funciona apenas se usar GitHub Codespaces. Ainda precisará de configurar o ficheiro .env se usar Docker Desktop.

2.2. Preencher o ficheiro .env

Vamos dar uma vista rápida aos nomes das variáveis para entender o que representam:

Variável Descrição
HUGGING_FACE_API_KEY Este é o token de acesso do utilizador que configurou no seu perfil
OPENAI_API_KEY Esta é a chave de autorização para usar o serviço para endpoints OpenAI não Azure
AZURE_OPENAI_API_KEY Esta é a chave de autorização para usar esse serviço
AZURE_OPENAI_ENDPOINT Este é o endpoint implementado para um recurso Azure OpenAI
AZURE_OPENAI_DEPLOYMENT Este é o endpoint de implementação do modelo de geração de texto
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT Este é o endpoint de implementação do modelo de embeddings de texto

Nota: As duas últimas variáveis do Azure OpenAI refletem um modelo padrão para chat completion (geração de texto) e pesquisa vetorial (embeddings), respetivamente. As instruções para configurá-las serão definidas nos trabalhos relevantes.

2.3 Configurar Azure: Pelo Portal

Os valores do endpoint e da chave Azure OpenAI serão encontrados no Portal Azure, por isso vamos começar por aí.

  1. Aceda ao Portal Azure
  2. Clique na opção Keys and Endpoint na barra lateral (menu à esquerda).
  3. Clique em Show Keys - deverá ver o seguinte: KEY 1, KEY 2 e Endpoint.
  4. Use o valor de KEY 1 para AZURE_OPENAI_API_KEY
  5. Use o valor do Endpoint para AZURE_OPENAI_ENDPOINT

De seguida, precisamos dos endpoints para os modelos específicos que implementámos.

  1. Clique na opção Model deployments na barra lateral (menu à esquerda) do recurso Azure OpenAI.
  2. Na página de destino, clique em Manage Deployments

Isto levará ao website Azure OpenAI Studio, onde encontraremos os outros valores conforme descrito abaixo.

2.4 Configurar Azure: Pelo Studio

  1. Navegue para o Azure OpenAI Studio a partir do seu recurso conforme descrito acima.
  2. Clique no separador Deployments (barra lateral, à esquerda) para ver os modelos atualmente implementados.
  3. Se o modelo desejado não estiver implementado, use Create new deployment para o implementar.
  4. Vai precisar de um modelo de text-generation - recomendamos: gpt-35-turbo
  5. Vai precisar de um modelo de text-embedding - recomendamos text-embedding-ada-002

Agora atualize as variáveis de ambiente para refletir o nome da implementação usado. Normalmente será o mesmo nome do modelo, a menos que o tenha alterado explicitamente. Por exemplo, poderá ter:

AZURE_OPENAI_DEPLOYMENT='gpt-35-turbo'
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='text-embedding-ada-002'

Não se esqueça de guardar o ficheiro .env quando terminar. Pode agora sair do ficheiro e voltar às instruções para executar o notebook.

2.5 Configurar OpenAI: Pelo Perfil

A sua chave API OpenAI pode ser encontrada na sua conta OpenAI. Se não tiver uma, pode criar uma conta e gerar uma chave API. Depois de obter a chave, pode usá-la para preencher a variável OPENAI_API_KEY no ficheiro .env.

2.6 Configurar Hugging Face: Pelo Perfil

O seu token Hugging Face pode ser encontrado no seu perfil em Access Tokens. Não publique nem partilhe estes publicamente. Em vez disso, crie um novo token para uso neste projeto e copie-o para o ficheiro .env na variável HUGGING_FACE_API_KEY. Nota: Tecnicamente, isto não é uma chave API, mas é usado para autenticação, por isso mantemos esta convenção de nomes para consistência.

Aviso Legal:
Este documento foi traduzido utilizando o serviço de tradução automática Co-op Translator. Embora nos esforcemos pela precisão, por favor tenha em conta que traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autorizada. Para informações críticas, recomenda-se tradução profissional humana. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes da utilização desta tradução.