Chatbot OpenAI mínimo
Chatbot de terminal pequeno, feito com o SDK oficial Python e a Responses API. Ele mantém o contexto ligando cada resposta à anterior.
Configurar a chave incompleta
A constante CHAVE_SEM_2_ULTIMOS fica diretamente no código. Abra
src/chatbot_openai_minimo/__init__.py e substitua o marcador pela sua chave,
removendo os dois últimos caracteres. Exemplo fictício:
CHAVE_SEM_2_ULTIMOS = "sk-exemplo123"
Se a chave fictícia completa fosse sk-exemplo123XY, você digitaria XY quando o
programa pedisse os dois caracteres finais. A chave completa só é montada em memória.
Atenção: retirar somente dois caracteres não torna o restante da chave seguro para publicação. Nunca envie esse prefixo ao PyPI, GitHub ou a um ZIP público. Antes de publicar o pacote, devolva o marcador ao arquivo.
Instalar e executar localmente
No Windows PowerShell, dentro desta pasta:
py -m pip install .
chatbot-openai-minimo
No Linux ou macOS:
python3 -m pip install .
chatbot-openai-minimo
Ao iniciar, digite exatamente os dois últimos caracteres da chave. Depois, use
sair, exit ou quit para encerrar.
Preparar o nome para o PyPI
O nome de uma distribuição precisa estar disponível. No pyproject.toml, troque:
name = "chatbot-openai-minimo-seuusuario"
por um nome único, de preferência incluindo seu usuário do PyPI. O nome usado no
import continua sendo chatbot_openai_minimo.
Gerar os arquivos de distribuição
Instale as ferramentas e gere o pacote:
py -m pip install --upgrade build twine
py -m build
py -m twine check dist/*
No Linux ou macOS, substitua py por python3.
Serão criados um arquivo .whl e outro .tar.gz na pasta dist.
Testar no TestPyPI
- Crie uma conta em https://test.pypi.org/account/register/.
- Crie um token em https://test.pypi.org/manage/account/#api-tokens.
- Envie os arquivos:
py -m twine upload --repository testpypi dist/*
Quando solicitado, use __token__ como usuário e cole o token completo, incluindo
o prefixo pypi-, como senha.
Para testar a instalação, troque NOME-UNICO pelo nome definido no
pyproject.toml:
py -m pip install --index-url https://test.pypi.org/simple/ --no-deps NOME-UNICO
py -m pip install openai
Publicar no PyPI oficial
- Crie e confirme sua conta em https://pypi.org/account/register/.
- Crie um token em https://pypi.org/manage/account/token/.
- Confira mais uma vez que nenhuma chave OpenAI real está no pacote.
- Envie a versão:
py -m twine upload dist/*
Para publicar uma atualização, altere version no pyproject.toml, apague os
artefatos antigos de dist e gere novamente. O PyPI não permite reutilizar uma
versão já enviada.
Uso como biblioteca
from chatbot_openai_minimo import conversar
conversar()
Documentação de referência:
- OpenAI: https://developers.openai.com/api/docs/quickstart
- Estado de conversa: https://developers.openai.com/api/docs/guides/conversation-state
- Empacotamento e PyPI: https://packaging.python.org/en/latest/tutorials/packaging-projects/
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file testandotempo-0.1.0.tar.gz.
File metadata
- Download URL: testandotempo-0.1.0.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3fb5aa4a0140ed6412331b2be7a06d8513718b6134a64847859bf180edbf82c
|
|
| MD5 |
7b8873fbdc92aaa3fed9b736ebaa0d88
|
|
| BLAKE2b-256 |
11a16a67dd655e6b1e8a11b202e068c7b4f692ba78c07ab098d1767f4b11e080
|
File details
Details for the file testandotempo-0.1.0-py3-none-any.whl.
File metadata
- Download URL: testandotempo-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56f3e9e67a808b335449a7869647b087cb209668cc9fb439ca49d9da815d1139
|
|
| MD5 |
0007c157c03bcd0b8441944e6034a94b
|
|
| BLAKE2b-256 |
8563302190b37b534fdc41bcaa4c70a6f037b93f3151991d2df5940ee4bb601f
|