Galera, beleza? Tô tentando usar o CLI crewai train pra treinar meu agente médico, mas tá dando um erro chato que não consigo resolver. O comando que eu uso é:
crewai train -f medical_agent_train.py -n 3
Mas toda vez aparece:
Training the Crew for 3 iterations
An unexpected error occurred: The filename must not end with .pkl
O arquivo medical_agent_train.py é um script Python válido, não é .pkl, então não entendo por que o CLI tá rejeitando. Já tentei várias variações do comando:
crewai train -f medical_agent_train -n 3
crewai train -f “C:\Users\jaian\Desktop\cla\medical_agent_train.py” -n 3
Renomeei pra train_medico.py e testei crewai train -f train_medico -n 3
Usei python -m crewai.cli train -f C:\Users\jaian\Desktop\cla\medical_agent_train.py -n 3
Mas o erro persiste. O --help mostra que -f e -n são opções válidas:
Usage: crewai train [OPTIONS]
Options:
-n, --n_iterations INTEGER Number of iterations to train the crew
-f, --filename TEXT Path to a custom file for training
–help Show this message and exit.
Parece um bug no CLI, porque o arquivo é .py, não .pkl. A doc (Training - CrewAI) diz que crewai train -n <n_iterations> deveria funcionar com um script Python, mas não tá rolando. Alguém já passou por isso ou sabe como corrigir?
import os
from dotenv import load_dotenv
from crewai import Agent, Task, Crew
Carregar o arquivo .env
load_dotenv()
print(“Chave OpenAI API carregada:”, os.getenv(“OPENAI_API_KEY”))
Definir o agente médico
medical_agent = Agent(
role=“Especialista Médico”,
goal=“Ajudar pacientes com dúvidas médicas e fornecer orientações precisas”,
backstory=“Você é um médico experiente com anos de prática, especializado em diagnóstico e tratamento. Use um tom profissional, empático e claro.”,
verbose=True,
llm=“gpt-4o”,
memory=False,
allow_delegation=False
)
Definir a tarefa pra treino
task = Task(
description=“Responda à dúvida do paciente: ‘Tenho dor no peito leve’. Forneça uma resposta médica precisa e útil.”,
agent=medical_agent,
expected_output=“Uma resposta clara e profissional para o paciente”
)
Configurar o Crew
crew = Crew(
agents=[medical_agent],
tasks=[task],
verbose=True
)
if name == “main”:
pass