Cookies

Com a sua autorização, usamos cookies do Google Analytics para medir as visitas e melhorar o site. Os cookies necessários ficam sempre ativos. Pode mudar a escolha ou retirar o consentimento quando quiser, no rodapé, em Definições de cookies. Política de Cookies

Saltar para o conteúdo
PTEN
Começar

Conversar com os teus Dados ·Fácil

Chatbot de IA em Streaming

Sobre esta app

Um exemplo mínimo que demonstra streaming de IA em tempo real e gestão do estado da conversa utilizando o framework Motia.

  • Código aberto completo
  • Explicado em português

Ficha técnica

Categoria
Conversar com os teus Dados
Dificuldade
Fácil
Modelos
OpenAI
Frameworks
-
Corre local?
Precisa de APIs cloud
Chaves necessárias
AZURE_OPENAI_API_KEYOPENAI_API_KEY

Licença Apache-2.0 · conteúdo curado, traduzido e mantido pelo Doutor AI.

Tutorial completo

Um exemplo mínimo que demonstra streaming de IA em tempo real e gestão do estado da conversa utilizando o framework Motia.

streaming-ai-chatbot

🚀 Funcionalidades

  • Streaming de IA em Tempo Real: Geração de respostas token a token utilizando a API de streaming da OpenAI
  • Gestão de Estado em Tempo Real: Atualizações do estado da conversa em tempo real com histórico de mensagens
  • Arquitetura Baseada em Eventos: Fluxo limpo de API → Evento → Resposta de Streaming
  • Complexidade Mínima: Máximo impacto com apenas 3 ficheiros principais

📁 Arquitetura

streaming-ai-chatbot/
├── steps/
│   ├── conversation.stream.ts    # Real-time conversation state
│   ├── chat-api.step.ts         # Simple chat API endpoint  
│   └── ai-response.step.ts      # Streaming AI response handler
├── package.json                 # Dependencies
├── .env.example                 # Configuration template
└── README.md                    # This file

🛠️ Configuração

Instalação e Configuração

# Clone the repository
git clone https://github.com/Shubhamsaboo/awesome-llm-apps.git
cd advanced_llm_apps/chat_with_X_tutorials/chat_with_llms

# Install dependencies
npm install

# Start the development server
npm run dev

Configura a API do OpenAI

Para configurar a API do OpenAI, segue os passos abaixo:

  1. Cria uma conta: Visita o site do OpenAI e cria uma conta se ainda não tiveres uma.
  2. Obtém a chave da API: Após criares a conta, navega até à secção da API e gera uma nova chave da API.
  3. Instala a biblioteca: Se ainda não o fizeste, instala a biblioteca necessária utilizando o seguinte comando:

```bash

pip install openai

```

  1. Configura a variável de ambiente: Define a variável de ambiente OPENAI_API_KEY com a chave da API que obtiveste. No terminal, executa:

```bash

export OPENAI_API_KEY='sua-chave-da-api'

```

  1. Faz uma chamada à API: Agora que tudo está configurado, podes fazer uma chamada à API. Aqui está um exemplo de código em Python:

```python

import openai

openai.api_key = os.getenv("OPENAI_API_KEY")

response = openai.ChatCompletion.create(

model="gpt-3.5-turbo",

messages=[

{"role": "user", "content": "Olá, como estás?"}

]

)

print(response.choices[0].message['content'])

```

Seguindo estes passos, estarás pronto para utilizar a API do OpenAI nas tuas aplicações.

   cp .env.example .env
   # Edit .env and add your OpenAI API key

Open Motia Workbench:

Navega até http://localhost:3000 para interagir com o chatbot

🔧 Utilização

Enviar uma Mensagem de Chat

POST /chat

{
  "message": "Hello, how are you?",
  "conversationId": "optional-conversation-id"  // Optional: If not provided, a new conversation will be created
}

Guia de Instalação do Projeto

Pré-requisitos

Antes de começares, assegura-te de que tens os seguintes pré-requisitos instalados:

  • Node.js (versão 14 ou superior)
  • npm (geralmente instalado com o Node.js)

Instalação

  1. Clona o repositório:
git clone https://github.com/usuario/projeto.git
  1. Navega até à pasta do projeto:
cd projeto
  1. Instala as dependências:
npm install

Execução

Para executar o projeto, utiliza o seguinte comando:

npm start

O projeto estará disponível em http://localhost:3000.

Testes

Para executar os testes, utiliza o seguinte comando:

npm test

Contribuição

Se desejas contribuir para este projeto, segue os passos abaixo:

  1. Cria um fork do repositório.
  2. Cria uma nova branch:
git checkout -b minha-nova-feature
  1. Faz as tuas alterações e commit:
git commit -m "Adiciona nova feature"
  1. Faz push para a branch:
git push origin minha-nova-feature
  1. Abre um Pull Request.

Licença

Este projeto está licenciado sob a Licença MIT. Consulta o ficheiro [LICENSE](LICENSE) para mais informações.

{
  "conversationId": "uuid-v4",
  "message": "Message received, AI is responding...",
  "status": "streaming"
}

🎯 Conceitos Chave Demonstrados

1. Integração com API de Streaming

const stream = await openai.chat.completions.create({
  model: 'gpt-4o-mini',
  messages: [...],
  stream: true, // Enable streaming
})

for await (const chunk of stream) {
  // Update state with each token
  await streams.conversation.set(conversationId, messageId, {
    message: fullResponse,
    status: 'streaming',
    // ...
  })
}

2. Gestão de Estado em Tempo Real

export const config: StateStreamConfig = {
  name: 'conversation',
  schema: z.object({
    message: z.string(),
    from: z.enum(['user', 'assistant']),
    status: z.enum(['created', 'streaming', 'completed']),
    timestamp: z.string(),
  }),
  baseConfig: { storageType: 'state' },
}

3. Fluxo baseado em eventos

// API emits event
await emit({
  topic: 'chat-message',
  data: { message, conversationId, assistantMessageId },
})

// Event handler subscribes and processes
export const config: EventConfig = {
  subscribes: ['chat-message'],
  // ...
}

🌟 Porque Este Exemplo É Importante

Este exemplo demonstra o poder do Motia em apenas 3 ficheiros:

  • Streaming sem esforço: Respostas de IA em tempo real com atualizações de estado automáticas
  • Eventos seguros em tipo: Segurança de tipo de ponta a ponta desde a API até aos manipuladores de eventos
  • Gestão de estado integrada: Não são necessárias bibliotecas de estado externas
  • Arquitetura escalável: Design orientado a eventos que cresce com as tuas necessidades

Perfeito para demonstrar como o Motia torna aplicações complexas em tempo real simples e mantidas.

🔑 Variáveis de Ambiente

  • OPENAI_API_KEY: A tua chave de API da OpenAI (obrigatória)

Da mesma categoria

Conversar com os teus DadosFácil

Conversar Com o Github

Aplicação LLM com RAG para conversar com um repositório do GitHub em apenas 30 linhas de código Python. A aplicação utiliza Retrieval Augmented Genera…

  • OpenAI
  • Llama
  • local
Conversar com os teus DadosFácil

Conversar com Gmail

Aplicação LLM com RAG para conversar com o Gmail em apenas 30 linhas de código Python. A aplicação utiliza Geração Aumentada por Recuperação (RAG) par…

  • OpenAI
Conversar com os teus DadosFácil

Conversar com PDF

Aplicação LLM com RAG para conversar com PDF em apenas 30 linhas de código Python. A aplicação utiliza Geração Aumentada por Recuperação (RAG) para fo…

  • OpenAI
  • Llama
  • local

Precisa de uma solução à medida?

Não sabe por onde começar a usar IA no seu negócio? Receba uma avaliação gratuita e um plano à medida - sem compromisso.

Poupe horas todas as semanas com IA, sem complicações

O Doutor AI dá-lhe 1859 prompts de IA prontos a copiar, por indústria e em português simples - mais uma biblioteca técnica completa para quem quer ir mais longe.

Ver planos