Esta postagem do blog foi co-escrita com Tuana Çelik do deepset.
A pesquisa empresarial é um componente crítico da eficiência organizacional por meio da digitalização de documentos e do gerenciamento do conhecimento. A pesquisa corporativa abrange o armazenamento de documentos, como arquivos digitais, a indexação dos documentos para pesquisa e o fornecimento de resultados relevantes com base nas consultas do usuário. Com o advento dos grandes modelos de linguagem (LLMs), podemos implementar experiências conversacionais no fornecimento dos resultados aos usuários. No entanto, precisamos de garantir que os LLM limitam as respostas aos dados da empresa, mitigando assim as alucinações dos modelos.
Nesta postagem, mostramos como construir um aplicativo de IA generativo de ponta a ponta para pesquisa corporativa com Retrieval Augmented Generation (RAG) usando pipelines Haystack e o modelo Falcon-40b-instruct de JumpStart do Amazon SageMaker e Serviço Amazon OpenSearch. O código-fonte do exemplo apresentado nesta postagem está disponível no Repositório GitHub
Visão geral da solução
Para restringir as respostas generativas do aplicativo de IA apenas aos dados da empresa, precisamos usar uma técnica chamada Retrieval Augmented Generation (RAG). Um aplicativo que usa a abordagem RAG recupera as informações mais relevantes para a solicitação do usuário da base de conhecimento ou conteúdo da empresa, agrupa-as como contexto junto com a solicitação do usuário como um prompt e, em seguida, envia-as ao LLM para obter uma resposta. Os LLMs têm limitações em relação à contagem máxima de palavras para os prompts de entrada, portanto, escolher as passagens corretas entre milhares ou milhões de documentos na empresa tem um impacto direto na precisão do LLM.
A técnica RAG tornou-se cada vez mais importante na pesquisa empresarial. Nesta postagem, mostramos um fluxo de trabalho que aproveita o SageMaker JumpStart para implantar um modelo de instrução Falcon-40b e usa o Haystack para projetar e executar um pipeline de resposta a perguntas aumentadas de recuperação. O fluxo de trabalho final de aumento de recuperação abrange as seguintes etapas de alto nível:
- A consulta do usuário é usada para um componente recuperador, que faz uma pesquisa vetorial, para recuperar o contexto mais relevante de nosso banco de dados.
- Esse contexto é incorporado em um prompt projetado para instruir um LLM a gerar uma resposta somente a partir do contexto fornecido.
- O LLM gera uma resposta à consulta original considerando apenas o contexto incorporado no prompt recebido.
SageMaker JumpStart
O SageMaker JumpStart serve como um hub de modelo que encapsula uma ampla gama de modelos de aprendizagem profunda para casos de uso de texto, visão, áudio e incorporação. Com mais de 500 modelos, seu hub de modelos inclui modelos públicos e proprietários de parceiros da AWS, como AI21, Stability AI, Cohere e LightOn. Ele também hospeda modelos básicos desenvolvidos exclusivamente pela Amazon, como AlexaTM. Alguns dos modelos oferecem recursos para você ajustá-los com seus próprios dados. O SageMaker JumpStart também fornece modelos de solução que configuram a infraestrutura para casos de uso comuns e notebooks de exemplo executáveis para aprendizado de máquina (ML) com SageMaker.
Palheiro
Palheiro é uma estrutura de código aberto da deepset que permite aos desenvolvedores orquestrar aplicativos LLM compostos de diferentes componentes, como modelos, bancos de dados vetoriais, conversores de arquivos e inúmeros outros módulos. Palheiro fornece dutos e Agentes, duas estruturas poderosas para projetar aplicativos LLM para vários casos de uso, incluindo pesquisa, resposta a perguntas e IA de conversação. Com grande foco em métodos de recuperação de última geração e métricas de avaliação sólidas, ele fornece tudo o que você precisa para enviar um aplicativo confiável e confiável. Você pode serializar pipelines para Arquivos YAML, exponha-os através de um API RESTe escaloná-los de forma flexível com suas cargas de trabalho, facilitando a migração de seu aplicativo do estágio de protótipo para a produção.
Amazon OpenSearch
O OpenSearch Service é um serviço totalmente gerenciado que simplifica a implantação, a escala e a operação do OpenSearch na Nuvem AWS. OpenSearch é um pacote de software de código aberto escalonável, flexível e extensível para aplicativos de pesquisa, análise, monitoramento de segurança e observabilidade, licenciado sob a licença Apache 2.0.
Nos últimos anos, as técnicas de ML tornaram-se cada vez mais populares para aprimorar a pesquisa. Entre eles estão o uso de incorporação de modelos, um tipo de modelo que pode codificar um grande corpo de dados em um espaço n-dimensional onde cada entidade é codificada em um vetor, um ponto de dados nesse espaço e organizado de forma que entidades semelhantes fiquem mais próximas. Um banco de dados vetorial fornece pesquisa eficiente de similaridade vetorial, fornecendo índices especializados, como índices k-NN.
Com os recursos de banco de dados vetorial do OpenSearch Service, você pode implementar pesquisa semântica, RAG com LLMs, mecanismos de recomendação e pesquisa em rich media. Nesta postagem, usamos RAG para nos permitir complementar LLMs generativos com uma base de conhecimento externa que normalmente é construída usando um banco de dados vetorial hidratado com artigos de conhecimento codificados em vetores.
Visão geral do aplicativo
O diagrama a seguir descreve a estrutura do aplicativo final.
Nesta aplicação, usamos o Haystack Indexing Pipeline para gerenciar documentos carregados e indexar documentos e o Haystack Query Pipeline para realizar a recuperação de conhecimento de documentos indexados.
O Haystack Indexing Pipeline inclui as seguintes etapas de alto nível:
- Carregar um documento.
- Inicializar
DocumentStore
e indexar documentos.
Usamos o OpenSearch como nosso Loja de documentos e um palheiro pipeline de indexação para pré-processar e indexar nossos arquivos no OpenSearch. Palheiro Conversores de arquivos e Pré-processador permitem que você limpe e prepare seus arquivos brutos para que estejam em um formato e formato que seu pipeline de processamento de linguagem natural (PNL) e modelo de linguagem de sua escolha possam lidar. O pipeline de indexação que usamos aqui também usa sentence-transformers/all-MiniLM-L12-v2
para criar embeddings para cada documento, que usamos para uma recuperação eficiente.
O Haystack Query Pipeline inclui as seguintes etapas de alto nível:
- Enviamos uma consulta ao pipeline RAG.
- An IncorporaçãoRetriever componente atua como um filtro que recupera os mais relevantes
top_k
documentos de nossos documentos indexados no OpenSearch. Usamos nossa escolha de modelo de incorporação para incorporar a consulta e os documentos (na indexação) para conseguir isso. - Os documentos recuperados são incorporados em nosso prompt para o modelo Falcon-40b-instruct.
- O LLM retorna com uma resposta baseada nos documentos recuperados.
Para implantação de modelos, usamos o SageMaker JumpStart, que simplifica a implantação de modelos com o simples apertar de um botão. Embora tenhamos usado e testado o Falcon-40b-instruct para este exemplo, você pode usar qualquer modelo Hugging Face disponível no SageMaker.
A solução final está disponível no site fazedor de palheiro repositório e usa o site e a documentação do OpenSearch (para OpenSearch 2.7) como nossos dados de exemplo para realizar a recuperação aumentada de respostas a perguntas.
Pré-requisitos
A primeira coisa a fazer antes de podermos usar qualquer serviço AWS é certificar-se de que nos inscrevemos e criamos uma conta AWS. Então você deve criar um usuário e grupo administrativo. Para obter instruções sobre ambas as etapas, consulte Configurar os pré-requisitos do Amazon SageMaker.
Para poder usar o Haystack, você terá que instalar o farm-haystack
pacote com as dependências necessárias. Para fazer isso, use o requirements.txt
arquivo no Repositório GitHub Correndo pip install requirements.txt
.
Indexar documentos para OpenSearch
Haystack oferece vários conectores para bancos de dados, que são chamados DocumentStores
. Para este fluxo de trabalho RAG, usamos o OpenSearchDocumentStore
. O exemplo repositório inclui um pipeline de indexação e Formação da Nuvem AWS modelo para configurar um OpenSearchDocumentStore
com documentos rastreados do site OpenSearch e páginas de documentação.
Muitas vezes, para fazer um aplicativo de PNL funcionar em casos de uso de produção, acabamos tendo que pensar na preparação e limpeza de dados. Isto é coberto com Pipelines de indexação Haystack, que permite projetar suas próprias etapas de preparação de dados, que, em última análise, gravam seus documentos no banco de dados de sua escolha.
Um pipeline de indexação também pode incluir uma etapa para criar incorporações para seus documentos. Isto é muito importante para a etapa de recuperação. Em nosso exemplo, usamos transformadores de sentença/all-MiniLM-L12-v2 como nosso modelo de incorporação. Este modelo é usado para criar embeddings para todos os nossos documentos indexados, mas também para a consulta do usuário no momento da consulta.
Para indexar documentos no OpenSearchDocumentStore
, fornecemos duas opções com instruções detalhadas no README do repositório de exemplo. Aqui, percorremos as etapas de indexação para um serviço OpenSearch implantado na AWS.
Inicie um serviço OpenSearch
Use o fornecido Modelo CloudFormation para configurar um serviço OpenSearch na AWS. Ao executar o comando a seguir, você terá um serviço OpenSearch vazio. Você pode então optar por indexar os dados de exemplo que fornecemos ou usar seus próprios dados, que você pode limpar e pré-processar usando o Pipeline de indexação Haystack. Observe que isso cria uma instância aberta à Internet, o que não é recomendado para uso em produção.
Aguarde aproximadamente 30 minutos para que a inicialização da pilha seja concluída. Você pode verificar seu progresso no console do AWS CloudFormation navegando até o Pilhas página e procurando pela pilha chamada HaystackOpensearch
.
Indexar documentos no OpenSearch
Agora que temos um serviço OpenSearch em execução, podemos usar a classe OpenSearchDocumentStore para conectar-se a ele e gravar nossos documentos nele.
Para obter o nome do host do OpenSearch, execute o seguinte comando:
Primeiro, exporte o seguinte:
Então, você pode usar o opensearch_indexing_pipeline.py
script para pré-processar e indexar os dados de demonstração fornecidos.
Se você quiser usar seus próprios dados, modifique o pipeline de indexação em opensearch_indexing_pipeline.py
para incluir o Conversor de arquivos e Pré-processador etapas de configuração necessárias.
Implementar o pipeline de resposta a perguntas aumentadas de recuperação
Agora que indexamos os dados no OpenSearch, podemos responder perguntas sobre esses documentos. Para este pipeline RAG, usamos o modelo Falcon-40b-instruct que implantamos no SageMaker JumpStart.
Você também tem a opção de implantar o modelo programaticamente a partir de um notebook Jupyter. Para obter instruções, consulte o GitHub repo.
- Procure o modelo de instrução Falcon-40b no SageMaker JumpStart.
- Implante seu modelo no SageMaker JumpStart e anote o nome do endpoint.
- Exporte os seguintes valores:
- Execute
python rag_pipeline.py
.
Isso iniciará um utilitário de linha de comando que aguarda a pergunta do usuário. Por exemplo, vamos perguntar “Como posso instalar o OpenSearch cli?”
Este resultado é alcançado porque definimos nosso prompt no arquivo Modelo de prompt do palheiro ser o seguinte:
Personalizações adicionais
Você pode fazer personalizações adicionais em diferentes elementos da solução, como os seguintes:
- Os dados – Fornecemos o OpenSearch documentação e site do Network Development Group dados como dados de exemplo. Lembre-se de modificar o
opensearch_indexing_pipeline.py
script para atender às suas necessidades se você optar por usar seus próprios dados. - O modelo – Neste exemplo, usamos o modelo Falcon-40b-instruct. Você é livre para implantar e usar qualquer outro modelo Hugging Face no SageMaker. Observe que alterar um modelo provavelmente significará que você deverá adaptar seu prompt a algo para o qual ele foi projetado.
- O prompt – Para este post, criamos o nosso próprio
PromptTemplate
que instrui o modelo a responder perguntas com base no contexto fornecido e responder “Não sei” se o contexto não incluir informações relevantes. Você pode alterar este prompt para experimentar diferentes prompts com o Falcon-40b-instruct. Você também pode simplesmente obter alguns de nossos prompts do PromptHub. - O modelo de incorporação – Para a etapa de recuperação, usamos um modelo de incorporação leve: transformadores de sentença/all-MiniLM-L12-v2. No entanto, você também pode alterar isso de acordo com suas necessidades. Lembre-se de modificar as dimensões de incorporação esperadas em seu
DocumentStore
adequadamente. - O número de documentos recuperados – Você também pode optar por brincar com o número de documentos solicitados ao
EmbeddingRetriever
recuperar para cada consulta. Em nossa configuração, isso está definido para topo_k=5. Você pode experimentar alterar esse número para ver se fornecer mais contexto melhora a precisão dos seus resultados.
Prontidão de produção
A solução proposta nesta postagem pode acelerar o tempo de obtenção de valor do processo de desenvolvimento do projeto. Você pode criar um projeto fácil de escalar com o ambiente de segurança e privacidade da Nuvem AWS.
Para segurança e privacidade, o OpenSearch Service fornece proteção de dados com gerenciamento de identidade e acesso e prevenção de proxy confuso entre serviços. Você pode empregar controle de acesso de usuário refinado para que o usuário possa acessar apenas os dados aos quais está autorizado. Além disso, o SageMaker fornece configurações de segurança configuráveis para controle de acesso, protecção de dados e registro e monitoramento. Você pode proteger seus dados em repouso e em trânsito com Serviço de gerenciamento de chaves AWS (AWS KMS). Você também pode rastrear o log de implantação do modelo SageMaker ou acesso ao endpoint usando Amazon CloudWatch. Para obter mais informações, consulte Monitore o Amazon SageMaker com o Amazon CloudWatch.
Para alta escalabilidade no OpenSearch Service, você pode ajustá-la dimensionando seus domínios do OpenSearch Service e empregando melhores práticas operacionais. Você também pode aproveitar o escalonamento automático do seu endpoint SageMaker - você pode dimensionar automaticamente modelos SageMaker para ajustar o endpoint quando o tráfego aumenta ou os recursos não estão sendo usados.
limpar
Para economizar custos, exclua todos os recursos que você implantou como parte desta postagem. Se você iniciou a pilha do CloudFormation, poderá excluí-la por meio do console do AWS CloudFormation. Da mesma forma, você pode excluir quaisquer endpoints do SageMaker que possa ter criado por meio do console do SageMaker.
Conclusão
Nesta postagem, mostramos como construir um aplicativo de IA generativo de ponta a ponta para pesquisa corporativa com RAG usando pipelines Haystack e o modelo Falcon-40b-instruct do SageMaker JumpStart e OpenSearch Service. A abordagem RAG é crítica na pesquisa empresarial porque garante que as respostas geradas estejam no domínio e, portanto, mitigam as alucinações. Ao usar pipelines Haystack, somos capazes de orquestrar aplicativos LLM compostos de diferentes componentes, como modelos e bancos de dados vetoriais. O SageMaker JumpStart nos fornece uma solução de um clique para implantação de LLMs, e usamos o OpenSearch Service como banco de dados vetorial para nossos dados indexados. Você pode começar a experimentar e criar provas de conceito RAG para seus aplicativos corporativos de IA generativos, usando as etapas descritas nesta postagem e o código-fonte disponível no Repositório GitHub.
Sobre os autores
Tuana Celik é defensora líder do desenvolvedor na deepset, onde se concentra na comunidade de código aberto do Haystack. Ela lidera a função de relações com desenvolvedores e fala regularmente em eventos sobre PNL e cria materiais de aprendizagem para a comunidade.
Roy Alela é arquiteto de soluções especialista sênior em IA/ML na AWS, com sede em Munique, Alemanha. Roy ajuda os clientes da AWS, desde pequenas startups até grandes empresas, a treinar e implantar grandes modelos de linguagem com eficiência na AWS. Roy é apaixonado por problemas de otimização computacional e por melhorar o desempenho de cargas de trabalho de IA.
Mia Chang é arquiteto de soluções especialista em ML da Amazon Web Services. Ela trabalha com clientes na EMEA e compartilha práticas recomendadas para executar cargas de trabalho de IA/ML na nuvem com sua experiência em matemática aplicada, ciência da computação e IA/ML. Ela se concentra em cargas de trabalho específicas de PNL e compartilha sua experiência como palestrante em conferências e autora de livros. Em seu tempo livre, ela gosta de fazer caminhadas, jogos de tabuleiro e preparar café.
Inaam Syed é arquiteto de soluções de startups na AWS, com forte foco em ajudar startups B2B e SaaS a escalar e alcançar o crescimento. Ele possui uma profunda paixão por arquiteturas sem servidor e IA/ML. Nos momentos de lazer, Inaam desfruta de momentos de qualidade com a família e entrega-se ao amor pelo ciclismo e pelo badminton.
David Tippett é o defensor do desenvolvedor sênior que trabalha em OpenSearch de código aberto na AWS. Seu trabalho envolve todas as áreas do OpenSearch, desde pesquisa e relevância até observabilidade e análise de segurança.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoData.Network Gerativa Vertical Ai. Capacite-se. Acesse aqui.
- PlatoAiStream. Inteligência Web3. Conhecimento Amplificado. Acesse aqui.
- PlatãoESG. Automotivo / EVs, Carbono Tecnologia Limpa, Energia, Ambiente, Solar, Gestão de resíduos. Acesse aqui.
- PlatoHealth. Inteligência em Biotecnologia e Ensaios Clínicos. Acesse aqui.
- ChartPrime. Eleve seu jogo de negociação com ChartPrime. Acesse aqui.
- BlockOffsets. Modernizando a Propriedade de Compensação Ambiental. Acesse aqui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/build-production-ready-generative-ai-applications-for-enterprise-search-using-haystack-pipelines-and-amazon-sagemaker-jumpstart-with-llms/
- :tem
- :é
- :não
- :onde
- $UP
- 100
- 12
- 13
- 30
- 500
- 7
- 8
- a
- Capaz
- Sobre
- acelerar
- Acesso
- realizar
- conformemente
- Conta
- precisão
- Alcançar
- alcançado
- alcançar
- atos
- adaptar
- Adicional
- Adicionalmente
- administrativo
- Vantagem
- advento
- advogado
- AI
- AI / ML
- Todos os Produtos
- permitir
- permite
- juntamente
- tb
- Apesar
- Amazon
- Amazon Sage Maker
- JumpStart do Amazon SageMaker
- Amazon Web Services
- entre
- an
- analítica
- e
- responder
- qualquer
- apache
- Aplicação
- aplicações
- aplicado
- abordagem
- aproximadamente
- SOMOS
- áreas
- por aí
- Ordem
- Arte
- artigos
- AS
- ajudando
- At
- auditivo
- aumentado
- autor
- autorizado
- auto
- disponível
- AWS
- Formação da Nuvem AWS
- B2B
- fundo
- base
- baseado
- BE
- Porque
- tornam-se
- antes
- ser
- abaixo
- MELHOR
- melhores práticas
- Grande
- Blog
- borda
- Board Games
- corpo
- livro
- ambos
- amplo
- construir
- Prédio
- construído
- Pacotes
- mas a
- botão
- by
- chamado
- CAN
- capacidades
- casos
- alterar
- mudança
- verificar
- escolha
- Escolha
- escolha
- escolheu
- classe
- Limpeza
- mais próximo
- Na nuvem
- código
- Café
- comum
- comunidade
- Empresa
- Complemento
- completar
- componente
- componentes
- compreende
- computador
- Ciência da Computação
- conceito
- Conferência
- confuso
- Contato
- considerando
- cônsul
- contida
- conteúdo
- contexto
- ao controle
- conversação
- IA conversacional
- custos
- coberto
- Covers
- crio
- criado
- cria
- crítico
- Clientes
- dados,
- Preparação de dados
- protecção de dados
- banco de dados
- bases de dados
- DBS
- acordo
- profundo
- deep learning
- definido
- demonstração
- dependências
- implantar
- implantado
- Implantação
- desenvolvimento
- Design
- projetado
- concepção
- detalhado
- desenvolvido
- Developer
- desenvolvedores
- Desenvolvimento
- diferente
- digital
- digitalização
- dimensões
- diretamente
- do
- documento
- documentação
- INSTITUCIONAIS
- parece
- Não faz
- don
- não
- cada
- fácil
- eficiência
- eficiente
- eficientemente
- ou
- elementos
- embutir
- incorporado
- embutindo
- EMEA
- permitir
- final
- end-to-end
- Ponto final
- Motores
- aumentar
- garantir
- garante
- Empreendimento
- entidades
- entidade
- Meio Ambiente
- avaliação
- eventos
- tudo
- exemplo
- esperado
- vasta experiência
- Experiências
- experimentar
- exportar
- externo
- Rosto
- família
- Figura
- Envie o
- Arquivos
- filtro
- final
- Primeiro nome
- caber
- flexível
- flexivelmente
- Foco
- concentra-se
- seguinte
- Escolha
- formato
- Foundation
- Quadro
- Gratuito
- da
- totalmente
- função
- Games
- gerar
- gerado
- gera
- geração
- generativo
- IA generativa
- Alemanha
- ter
- dado
- Grupo
- Growth
- manipular
- Ter
- ter
- he
- ajuda
- sua experiência
- SUA PARTICIPAÇÃO FAZ A DIFERENÇA
- Alta
- de alto nível
- altamente
- sua
- anfitriões
- Como funciona o dobrador de carta de canal
- Como Negociar
- Contudo
- HTML
- http
- HTTPS
- Hub
- i
- Identidade
- if
- Impacto
- executar
- importante
- melhorar
- in
- incluir
- inclui
- Incluindo
- aumentou
- cada vez mais
- índice
- indexado
- índices
- INFORMAÇÕES
- Infraestrutura
- entrada
- instalar
- instância
- instruções
- Internet
- para dentro
- IT
- ESTÁ
- jpg
- Chave
- chaves
- Saber
- Conhecimento
- Gestão do Conhecimento
- língua
- grande
- lançamento
- lançado
- conduzir
- Leads
- aprendizagem
- Licença
- Licenciado
- leve
- como
- Provável
- LIMITE
- limitações
- Line
- LLM
- log
- logging
- procurando
- gosta,
- máquina
- aprendizado de máquina
- moldadas
- fazer
- FAZ
- Fazendo
- gerencia
- gerenciados
- de grupos
- materiais
- matemática
- máximo
- Posso..
- significar
- Mídia
- métodos
- Métrica
- milhões
- Minutos
- mitigando
- ML
- modelo
- modelos
- modificar
- Módulos
- momentos
- monitoração
- mais
- a maioria
- mover
- nome
- Nomeado
- natural
- Processamento de linguagem natural
- navegação
- você merece...
- Cria
- PNL
- caderno
- número
- of
- oferecer
- Oferece
- on
- só
- aberto
- open source
- Software livre
- operar
- otimização
- Opção
- Opções
- or
- organizacional
- Organizado
- original
- Outros
- A Nossa
- delineado
- Acima de
- próprio
- pacote
- página
- páginas
- parte
- Parceiros
- paixão
- apaixonado
- Realizar
- atuação
- oleoduto
- platão
- Inteligência de Dados Platão
- PlatãoData
- Jogar
- por favor
- ponto
- Popular
- Publique
- poderoso
- práticas
- preparação
- Preparar
- política de privacidade
- problemas
- processo
- em processamento
- Produção
- Progresso
- projeto
- provas
- proposto
- proprietário
- proteger
- proteção
- protótipo
- fornecer
- fornecido
- fornece
- fornecendo
- procuração
- público
- Empurrar
- qualidade
- consultas
- questão
- Frequentes
- Cru
- recebido
- recentemente
- Recomendação
- Recomenda
- regularmente
- relações
- relevância
- relevante
- confiável
- lembrar
- repositório
- solicitar
- requerer
- requeridos
- Requisitos
- Recursos
- resposta
- respostas
- DESCANSO
- restringir
- resultar
- Resultados
- Retorna
- Rico
- certo
- roy
- Execute
- corrida
- SaaS
- sábio
- Salvar
- dizer
- AMPLIAR
- escalável
- Escala
- dimensionamento
- Ciência
- Pesquisar
- segurança
- Vejo
- enviar
- envia
- senior
- Serverless
- serve
- serviço
- Serviços
- conjunto
- Configurações
- instalação
- Shape
- ações
- ela
- NAVIO
- rede de apoio social
- mostrar
- mostrar
- mostrada
- assinado
- semelhante
- Similarmente
- simples
- simplesmente
- pequeno
- So
- Software
- unicamente
- sólido
- solução
- Soluções
- alguns
- algo
- fonte
- código fonte
- Espaço
- Palestrantes
- fala
- especialista
- especializado
- Estabilidade
- pilha
- Etapa
- começo
- inicialização
- Startups
- Passo
- Passos
- armazenar
- mais forte,
- estrutura
- tal
- suíte
- certo
- Tire
- toma
- técnicas
- modelos
- testado
- que
- A
- A fonte
- Eles
- então
- assim
- assim sendo
- Este
- deles
- coisa
- think
- isto
- milhares
- Através da
- tempo
- para
- juntos
- pista
- tráfego
- trânsito
- digno de confiança
- dois
- tipo
- tipicamente
- Em última análise
- para
- carregado
- us
- usar
- usava
- Utilizador
- usuários
- usos
- utilização
- utilidade
- valor
- Valores
- vário
- via
- visão
- espera
- we
- web
- serviços web
- Site
- quando
- qual
- precisarão
- de
- dentro
- Word
- Atividades:
- de gestão de documentos
- trabalhar
- trabalho
- seria
- escrever
- yaml
- anos
- Vocês
- investimentos
- zefirnet