ETAPA
- Arquivo.env
Crie um arquivo chamado .envna raiz do projeto:
OPENAI_API_KEY="sua_chave_aqui"
- Arquivo.gitignore
.env
venv/
pycache/
Isso impede que sua chave vá para o GitHub.
- Arquivorequirements.txt
(versões
openai
python-dotenv
langchain
langchain-openai
Instalar:
pip install -r requirements.txt
ETAPA 2 — Implementação com OpenAI (Sem LangChain)
Arquivo:main.py
from openai import OpenAI
from dotenv import load_dotenv
import os
# Carrega variáveis do .env
load_dotenv()
api_key = os.getenv("OPENAI_API_KEY")
if not api_key:
raise ValueError("A chave da API não foi encontrada no .env")
# Criando cliente OpenAI
cliente = OpenAI(api_key=api_key)
# Variáveis dinâmicas
numero_dias = 5
numero_criancas = 2
atividade = "praia"
prompt = f"""
Crie um roteiro de viagem de {numero_dias} dias
para uma família com {numero_criancas} crianças
que gostam de {atividade}.
"""
# Requisição via chat completion
resposta = cliente.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "Você é um assistente de roteiros de viagem."},
{"role": "user", "content": prompt}
],
temperature=0.5
)
# Extraindo apenas o texto
print("\nResposta via OpenAI direta:\n")
print(resposta.choices[0].message.content)
ETAPA 3 — Migrand
from langchain_openai import ChatOpenAI
from dotenv import load_dotenv
import os
load_dotenv()
api_key = os.getenv("OPENAI_API_KEY")
if not api_key:
raise ValueError("A chave da API não foi encontrada no .env")
numero_dias = 5
numero_criancas = 2
atividade = "praia"
prompt = f"""
Crie um roteiro de viagem de {numero_dias} dias
para uma família com {numero_criancas} crianças
que gostam de {atividade}.
# Criando modelo LangChain
modelo = ChatOpenAI(
model="gpt-4o-mini",
temperature=0.5,
api_key=api_key
)
resposta = modelo.invoke(prompt)
print("\nResposta via LangChain:\n")
print(resposta.content)
ETAPA 4 — Implementando PromptTemplate
Agora vamos deixar o código profissional e modular.
Código Final Completo (API + LangChain +
from langchain_openai import ChatOpenAI
from langchain.prompts import PromptTemplate
from dotenv import load_dotenv
import os
# Carrega .env
load_dotenv()
api_key = os.getenv("OPENAI_API_KEY")
if not api_key:
raise ValueError("A chave da API não foi encontrada no .env")
# Variáveis dinâmicas
numero_dias = 7
numero_criancas = 2
atividade = "praia"
# Criando template modular
modelo_de_prompt = PromptTemplate(
template="""
Crie um roteiro de viagem de {dias} dias,
para uma família com {numero_criancas} crianças,
que gostam de atividades relacionadas a {atividade}.
"""
)
# Formatando template
prompt = modelo_de_prompt.format(
dias=numero_dias,
numero_criancas=numero_criancas,
atividade=atividade
)
# Criando modelo
modelo = ChatOpenAI(
model="gpt-4o-mini",
temperature=0.5,
api_key=api_key
)
# Chamando LLM
resposta = modelo.invoke(prompt)
print("\nPrompt Utilizado:\n")
print(prompt)
print("\nResposta Final:\n")
print(resposta.content)