Skip to content

Latest commit

 

History

History
77 lines (58 loc) · 4.67 KB

README.md

File metadata and controls

77 lines (58 loc) · 4.67 KB

DTA Samples

Esse repositório tem como objetivo disponibilizar diferentes soluções com I.A. utilizando integração com a plataforma DTA. Os exemplos disponibilizados aqui possuem também integração com o DTA Monitor a fim de melhorar a observabilidade da sua aplicação e facilitar a sua jornada de desenvolvimento.

Para reproduzir esses exemplos, você precisará de uma chave válida no DTA. Você pode acessar o DTA aqui.

Entre em contato com o time IDeIA para mais informações ou liberação de acessos.

O que é o DTA?

O DTA - Digital Trusted Advisor - é o nome oficial da plataforma que consolida todo e qualquer projeto que envolva I.A. na TOTVS. Ele é capaz de facilitar a criação e implementação de novas iniciativas com I.A, tanto como ferramenta de produtividade, quanto como uma solução embarcada nos produtos TOTVS.

Pré-requisitos

  • Python >= 3.10.0
  • Poetry >= 1.0.0

O Poetry pode ser instalado facilmente utilizando o comando: pip install poetry

Você também precisará de uma chave válida no DTA. Acesse o DTA UI para gerar sua chave.

Recomendações

  • ASDF - para instalar e gerenciar diferentes versões do Python
  • Direnv - para gerenciar automaticamente múltiplos ambientes virtuais

Introdução

O repositório possui duas aplicações de exemplo de soluções com A.I. utilizando Python. Cada uma delas está dentro de diferentes pastas na raíz do projeto (conversation-tools e prompt).

  1. Aplicação "conversation-tools": É um cliente conversacional que é capaz de realizar chamadas à diferentes endpoints para responder determinada requisição do usuário. Esse exemplo utiliza a biblioteca LangGraph🦜🕸️, nela é possível definir endpoints de serviços externos para "resolver" um requisição que precisa de informações complementares ou executar uma ação que um modelo generativo não conseguiria sozinho. Como por exemplo: previsão de tempo, consulta de estoque de determinado produto, envio de e-mails, etc.
Screen.Recording.2024-08-01.at.16.09.15.mov
  1. Aplicação "prompt": A aplicação "prompt" é uma ferramenta que gera textos de marketing institucionais para determinado produto. Nela é possível selecionar alguns produtos de exemplo, o idioma do texto a ser gerado, a finalidade do texto (texto para um email de divulgação ou para uma postagem em alguma rede social, por exemplo) e realizar uma análise de mercado do público alvo. Esse exemplo simples utiliza prompts pré definidos para solicitar ao DTA a geração do texto com base em diferentes parâmetros. image

Instalação

  1. Clone o projeto com:
    git clone [email protected]:totvs-ai/dta-samples.git
  2. Acesse o projeto e então a pasta do app que deseja executar (conversation-tools ou prompt)
  3. Caso não esteja utilizando Direnv, ative seu ambiente virtual Python com:
    • Linux/MacOS:
      python -m venv .venv
      source .venv/bin/activate
    • Windows:
       python -m venv .venv
       source .venv/Scripts/activate
  4. Instale o Poetry, caso não possua:
    pip install poetry
  5. Instale as dependências com:
    poetry install

Execução

Para executar a aplicação após a instalação das dependências, crie um arquivo chamado .env dentro da pasta do APP e copie o conteúdo do arquivo .env-template para dentro dele. Então, adicione sua chave do DTA na variável DTA_PROXY_KEY. No arquivo .env você também pode informar a sua Secret Key e Public Key gerada no DTA Monitor para obter uma observabilidade detalhada das suas interações com os APP.

Com as dependências instaladas e o seu arquivo .env devidamente criado, rode o seguinte comando dentro da pasta do APP desejado para executá-lo:

python run.py

Esse comando iniciará uma aplicação Flask, que disponibilizará uma UI e a API. É possível executar todos os exemplos de APP simultaneamente, já que cada APP ficará disponível em portas diferentes, conforme tabela abaixo:

App Pasta Endereço
Conversation Tools ./conversation-tools http://127.0.0.1:5000
Prompts ./prompt http://127.0.0.1:5003