Skip to content

Commit cbd4eae

Browse files
committed
.
1 parent 2a63493 commit cbd4eae

File tree

14 files changed

+901
-1
lines changed

14 files changed

+901
-1
lines changed

.devcontainer/Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
COPY ./app /app

.devcontainer/devcontainer.json

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
2+
// README at: https://github.com/devcontainers/templates/tree/main/src/python
3+
{
4+
"name": "Python 3",
5+
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
6+
"image": "mcr.microsoft.com/devcontainers/python:1-3.12-bullseye",
7+
// "dockerComposeFile": "docker-compose.yml", // Aponta para o arquivo de composição Docker
8+
9+
10+
// Features to add to the dev container. More info: https://containers.dev/features.
11+
// "features": {},
12+
13+
// Use 'forwardPorts' to make a list of ports inside the container available locally.
14+
// "forwardPorts": [],
15+
16+
// Use 'postCreateCommand' to run commands after the container is created.
17+
"postCreateCommand": "pip3 install --user -r requirements.txt"
18+
19+
// Configure tool-specific properties.
20+
// "customizations": {},
21+
22+
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
23+
// "remoteUser": "root"
24+
}

.env-EXAMPLE

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
GOOGLE_API_KEY=YOUR_GOOGLE_API_KEY
2+
MISTRAL_API_KEY=YOUR_MISTRAL_API_KEYs

.gitignore

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Arquivos de bytecode
2+
*.pyc
3+
*.pyo
4+
*.pyod
5+
__pycache__/*
6+
7+
# Configuração e logs
8+
*.log
9+
*.tmp
10+
settings.cfg
11+
12+
# Cache
13+
*.cache
14+
.DS_Store
15+
.env
16+

.vscode/settings.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"python.analysis.extraPaths": [
3+
"./app"
4+
]
5+
}

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Lyndon Tavares
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 74 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,74 @@
1-
# poc-fastapi-llm-csv-back
1+
## Instale
2+
3+
```
4+
pip install -r requirements.txt
5+
```
6+
7+
## Execute
8+
9+
```
10+
uvicorn main:app --reload --port 8000
11+
fastapi run main.py --port 8000
12+
```
13+
14+
## Swagger
15+
16+
```
17+
http://127.0.0.1:8000/docs
18+
19+
<div align="center">
20+
21+
![](assets/tela0.PNG)
22+
23+
</div>
24+
25+
```
26+
27+
## Teste
28+
29+
<div align="center">
30+
31+
![](assets/tela1.PNG)
32+
33+
</div>
34+
35+
## Objetivo da Atividade:
36+
37+
A atividade tem por objetivo criar um ou mais agentes que tornem possível a um usuário realizar perguntas
38+
sobre os arquivos CSV disponibilizados.
39+
40+
Por exemplo:
41+
Qual é o fornecedor que teve maior montante recebido? Qual item teve maior volume entregue
42+
(em quantidade)? E assim por diante.
43+
44+
## O que deve ser feito:
45+
46+
A solução entregue deverá ter uma interface onde o usuário irá informar sua pergunta e o agente irá gerar a
47+
resposta desejada.
48+
Para tanto, o agente deverá descompactar os arquivos, selecionar o arquivo desejado, carregar os dados e
49+
fazer as queries e gerar a resposta para o usuário.
50+
Para construir seus agentes, vocês podem optar por escrever programas em Python ou utilizar ferramentas
51+
NoCode/LowCode.
52+
53+
Sugerimos os seguintes frameworks/ferramentas:
54+
https://autogenhub.github.io/autogen/
55+
https://ai.pydantic.dev/
56+
https://www.langchain.com/
57+
https://www.llamaindex.ai/
58+
https://www.crewai.com/
59+
https://n8n.io/
60+
https://www.langflow.org/
61+
62+
Vocês devem usar pelo menos 1 dos frameworks/ferramentas sugeridos.
63+
Ao final de suas atividades, vocês devem gerar um relatório descrevendo:
64+
65+
1. A framework escolhida
66+
2. Como a solução foi estruturada
67+
3. Pelo menos 4 perguntas com as respectivas respostas.
68+
4. Link para a pasta do Github contendo os códigos fonte ou um link para acessar seu agente.
69+
5. Não se esqueçam de ocultar chaves utilizadas nos softwares.
70+
71+
## Importante!
72+
73+
Não queremos que vocês obtenham as respostas de forma manual utilizando alguma LLM como o ChatGPT.
74+
Queremos que o(s) seu(s) agente(s) executem esta tarefa.

app/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)