You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Este projeto de chat mostra como criar um Assistente de Chat usando os Modelos do GitHub.
12
+
Este projeto de chat mostra como construir um Assistente de Chat usando GitHub Models.
13
13
14
14
Aqui está como o projeto finalizado se parece:
15
15
16
-
<div>
17
-
<imgsrc="./assets/screenshot.png"alt="Aplicativo de Chat"width="600">
18
-
</div>
16
+

19
17
20
18
Um pouco de contexto: construir assistentes de chat usando IA generativa é uma ótima maneira de começar a aprender sobre IA. O que você aprenderá aqui é como integrar IA generativa em um aplicativo web ao longo desta lição. Vamos começar.
21
19
22
-
## Conectando à IA generativa
20
+
## Conectando-se à IA generativa
23
21
24
-
Para o backend, estamos usando os Modelos do GitHub. É um ótimo serviço que permite usar IA gratuitamente. Acesse o playground e copie o código correspondente à linguagem de backend escolhida. Veja como ele se parece no [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground).
22
+
Para o backend, estamos usando GitHub Models. É um ótimo serviço que permite usar IA gratuitamente. Acesse o playground e copie o código que corresponde à linguagem de backend escolhida. Aqui está como ele se parece no [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground)
25
23
26
-
<div>
27
-
<imgsrc="./assets/playground.png"alt="Playground de IA dos Modelos do GitHub"width="600">
28
-
</div>
24
+

29
25
30
26
Como mencionado, selecione a aba "Code" e o runtime escolhido.
31
27
32
-
<div>
33
-
<imgsrc="./assets/playground-choice.png"alt="Escolha no playground"width="600">
34
-
</div>
28
+

Com esta função `call_llm`, agora podemos passar um prompt e um system prompt, e a função retorna o resultado.
93
+
Com esta função `call_llm`, agora podemos passar um prompt e um prompt de sistema, e a função retorna o resultado.
100
94
101
95
### Personalizar o Assistente de IA
102
96
103
-
Se você quiser personalizar o assistente de IA, pode especificar como deseja que ele se comporte preenchendo o system prompt assim:
97
+
Se você quiser personalizar o assistente de IA, pode especificar como deseja que ele se comporte preenchendo o prompt de sistema assim:
104
98
105
99
```python
106
100
call_llm("Tell me about you", "You're Albert Einstein, you only know of things in the time you were alive")
107
101
```
108
102
109
-
## Exponha-o via uma API Web
103
+
## Exponha via uma API Web
110
104
111
-
Ótimo, já concluímos a parte de IA. Agora, vamos ver como podemos integrá-la em uma API Web. Para a API Web, escolhemos usar Flask, mas qualquer framework web deve funcionar. Vamos ver o código:
105
+
Ótimo, já concluímos a parte de IA. Agora vamos ver como podemos integrar isso em uma API Web. Para a API Web, escolhemos usar Flask, mas qualquer framework web deve funcionar. Vamos ver o código:
112
106
113
107
### Usando Python
114
108
@@ -141,7 +135,7 @@ if __name__ == "__main__":
141
135
app.run(host="0.0.0.0", port=5000)
142
136
```
143
137
144
-
Aqui, criamos uma API Flask e definimos uma rota padrão "/" e "/chat". Esta última é destinada a ser usada pelo nosso frontend para enviar perguntas.
138
+
Aqui, criamos uma API Flask e definimos uma rota padrão "/" e "/chat". Esta última é destinada a ser usada pelo frontend para enviar perguntas.
145
139
146
140
Para integrar o *llm.py*, aqui está o que precisamos fazer:
147
141
@@ -182,7 +176,7 @@ Para integrar o *llm.py*, aqui está o que precisamos fazer:
182
176
183
177
## Configurar Cors
184
178
185
-
Devemos destacar que configuramos algo como CORS, compartilhamento de recursos entre origens. Isso significa que, como nosso backend e frontend serão executados em portas diferentes, precisamos permitir que o frontend se comunique com o backend.
179
+
Devemos mencionar que configuramos algo como CORS, compartilhamento de recursos entre origens. Isso significa que, como nosso backend e frontend rodarão em portas diferentes, precisamos permitir que o frontend chame o backend.
186
180
187
181
### Usando Python
188
182
@@ -195,15 +189,15 @@ app = Flask(__name__)
195
189
CORS(app) # * example.com
196
190
```
197
191
198
-
Atualmente, está configurado para permitir "*" (todas as origens), o que é um pouco inseguro. Devemos restringi-lo quando formos para produção.
192
+
No momento, está configurado para permitir "*" (todas as origens), o que é um pouco inseguro. Devemos restringir isso quando formos para produção.
199
193
200
194
## Execute seu projeto
201
195
202
196
Para executar seu projeto, você precisa iniciar primeiro o backend e depois o frontend.
203
197
204
198
### Usando Python
205
199
206
-
Ok, temos *llm.py* e *api.py*. Como podemos fazer isso funcionar com um backend? Bem, há duas coisas que precisamos fazer:
200
+
Ok, então temos *llm.py* e *api.py*. Como podemos fazer isso funcionar com um backend? Bem, há duas coisas que precisamos fazer:
207
201
208
202
- Instalar dependências:
209
203
@@ -221,11 +215,11 @@ Ok, temos *llm.py* e *api.py*. Como podemos fazer isso funcionar com um backend?
221
215
python api.py
222
216
```
223
217
224
-
Se você estiver usando Codespaces, vá para Ports na parte inferior do editor, clique com o botão direito sobre ele, selecione "Port Visibility" e escolha "Public".
218
+
Se você estiver usando Codespaces, precisa ir até Ports na parte inferior do editor, clicar com o botão direito sobre ele, selecionar "Port Visibility" e escolher "Public".
225
219
226
-
### Trabalhar em um frontend
220
+
### Trabalhar no frontend
227
221
228
-
Agora que temos uma API em funcionamento, vamos criar um frontend para isso. Um frontend mínimo que melhoraremos passo a passo. Em uma pasta *frontend*, crie o seguinte:
222
+
Agora que temos uma API funcionando, vamos criar um frontend para isso. Um frontend mínimo que iremos melhorar gradualmente. Na pasta *frontend*, crie o seguinte:
229
223
230
224
```text
231
225
backend/
@@ -253,7 +247,7 @@ Vamos começar com **index.html**:
253
247
</html>
254
248
```
255
249
256
-
O código acima é o mínimo necessário para suportar uma janela de chat, consistindo em uma área de texto onde as mensagens serão exibidas, um campo de entrada para digitar a mensagem e um botão para enviar sua mensagem ao backend. Vamos olhar o JavaScript em *app.js*.
250
+
O código acima é o mínimo necessário para suportar uma janela de chat, consistindo em uma área de texto onde as mensagens serão exibidas, um campo de entrada para digitar a mensagem e um botão para enviar sua mensagem ao backend. Vamos olhar o JavaScript em seguida, no arquivo *app.js*.
257
251
258
252
**app.js**
259
253
@@ -312,12 +306,12 @@ O código acima é o mínimo necessário para suportar uma janela de chat, consi
312
306
313
307
Vamos analisar o código por seção:
314
308
315
-
- 1) Aqui obtemos uma referência a todos os elementos que usaremos mais tarde no código.
309
+
- 1) Aqui obtemos uma referência a todos os elementos que usaremos no código.
316
310
- 2) Nesta seção, criamos uma função que usa o método embutido `fetch` para chamar nosso backend.
317
-
- 3) `appendMessage` ajuda a adicionar respostas, bem como o que você digita como usuário.
311
+
- 3) `appendMessage` ajuda a adicionar respostas, bem como o que você, como usuário, digita.
318
312
- 4) Aqui ouvimos o evento de envio, lemos o campo de entrada, colocamos a mensagem do usuário na área de texto, chamamos a API e renderizamos a resposta na área de texto.
319
313
320
-
Agora vamos olhar o estilo. Aqui você pode ser criativo e personalizar como quiser, mas aqui estão algumas sugestões:
314
+
Agora vamos olhar o estilo. Aqui você pode ser criativo e fazer com que pareça como quiser, mas aqui estão algumas sugestões:
321
315
322
316
**styles.css**
323
317
@@ -338,18 +332,18 @@ Agora vamos olhar o estilo. Aqui você pode ser criativo e personalizar como qui
338
332
}
339
333
```
340
334
341
-
Com essas três classes, você estilizará as mensagens de forma diferente dependendo de sua origem: do assistente ou do usuário. Se quiser se inspirar, confira a pasta `solution/frontend/styles.css`.
335
+
Com essas três classes, você estilizará as mensagens de forma diferente dependendo de onde elas vêm: do assistente ou de você como usuário. Se quiser se inspirar, confira a pasta `solution/frontend/styles.css`.
342
336
343
-
### Alterar a Base Url
337
+
### Alterar Base Url
344
338
345
-
Há algo que não configuramos: `BASE_URL`. Isso não é conhecido até que seu backend seja iniciado. Para configurá-lo:
339
+
Há uma coisa que não configuramos aqui: `BASE_URL`. Isso não é conhecido até que seu backend seja iniciado. Para configurá-lo:
346
340
347
-
- Se você executar a API localmente, deve ser algo como `http://localhost:5000`.
341
+
- Se você executar a API localmente, deve configurá-lo como algo como `http://localhost:5000`.
348
342
- Se estiver usando Codespaces, deve ser algo como "[nome]app.github.dev".
349
343
350
344
## Tarefa
351
345
352
-
Crie sua própria pasta *project* com o seguinte conteúdo:
346
+
Crie sua própria pasta *project* com o conteúdo como descrito:
353
347
354
348
```text
355
349
project/
@@ -361,7 +355,7 @@ project/
361
355
...
362
356
```
363
357
364
-
Copie o conteúdodas instruções acima, mas sinta-se à vontade para personalizar como preferir.
358
+
Copie o conteúdodo que foi instruído acima, mas sinta-se à vontade para personalizar como preferir.
365
359
366
360
## Solução
367
361
@@ -385,22 +379,22 @@ Altere também o CSS e o texto como preferir, fazendo mudanças em *index.html*
385
379
386
380
## Resumo
387
381
388
-
Ótimo, você aprendeu do zero como criar um assistente pessoal usando IA. Fizemos isso usando os Modelos doGitHub, um backend em Python e um frontend em HTML, CSS e JavaScript.
382
+
Ótimo, você aprendeu do zero como criar um assistente pessoal usando IA. Fizemos isso usando GitHub Models, um backend em Python e um frontend em HTML, CSS e JavaScript.
389
383
390
384
## Configuração com Codespaces
391
385
392
386
- Navegue até: [Repositório Web Dev For Beginners](https://github.com/microsoft/Web-Dev-For-Beginners)
393
387
- Crie a partir de um template (certifique-se de estar logado no GitHub) no canto superior direito:
394
388
395
-

389
+

Isso deve iniciar um ambiente com o qual você pode trabalhar agora.
395
+
Isso deve iniciar um ambiente no qual você pode trabalhar agora.
402
396
403
397
---
404
398
405
399
**Aviso Legal**:
406
-
Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automáticas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte oficial. Para informações críticas, recomenda-se a tradução profissional feita por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução.
400
+
Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automatizadas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autoritativa. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações equivocadas decorrentes do uso desta tradução.
0 commit comments