I have configured the parameters in Python as follows, but I am not sure I can change them in the future in the promp when configuring the front-end
import openai
import json
import time
Configura tu clave de API de OpenAI
from openai import OpenAI
client = OpenAI(api_key=‘sxxx’)
Define el archivo a cargar
file_path = ‘formatted_training_data.jsonl’
Sube el archivo a OpenAI utilizando la nueva API
with open(file_path, ‘rb’) as f:
response = client.files.create(file=f, purpose=‘fine-tune’)
file_id = response.id
print(f’Archivo subido con éxito. ID del archivo: {file_id}')
Inicia el fine-tuning utilizando la nueva API
fine_tune_response = client.fine_tuning.jobs.create(training_file=file_id, model=“gpt-3.5-turbo”)
fine_tune_id = fine_tune_response.id
print(f’Modelo de fine-tuning iniciado: {fine_tune_id}')
Función para verificar el estado del fine-tuning
def check_fine_tune_status(fine_tune_id):
response = client.fine_tuning.jobs.retrieve(fine_tune_id)
status = response.status
return status, response
Loop para revisar el estado del fine-tuning
while True:
status, response = check_fine_tune_status(fine_tune_id)
print(f’Status del fine-tuning: {status}')
if status in [‘succeeded’, ‘failed’]:
break
time.sleep(60) # Espera 60 segundos antes de volver a comprobar
Si el fine-tuning ha fallado, imprime los detalles del error
if status == ‘failed’:
error_message = response.error.message if response.error else “No se proporcionó un mensaje de error.”
print(f’El fine-tuning falló. Detalles del error: {error_message}‘)
fine_tuned_model = None
else:
print(f’Modelo de fine-tuning completado con éxito. ID del modelo: {response.fine_tuned_model}’)
fine_tuned_model = response.fine_tuned_model
Ejemplo de interacción con el modelo fine-tuned con límite de tokens
def interactuar_con_modelo(prompt):
if fine_tuned_model is None:
return “El fine-tuning falló, no se puede interactuar con el modelo.”
response = client.chat.completions.create(
model=fine_tuned_model,
messages=[
{"role": "system", "content": "Lorem Ipsum."},
{"role": "user", "content": prompt}
],
max_tokens=120,
temperature=0.6,
top_p=0.8
)
return response.choices[0].message.content
Ejemplo de uso
prompt = “¿Qué es la inteligencia artificial?”
respuesta = interactuar_con_modelo(prompt)
print(f’Respuesta del modelo: {respuesta}')