import openai import os openai.api_key = os.environ["OPENAI_API_KEY"] # ChatGPT completion llm_name = "gpt-3.5-turbo" # Función para tomar pedido del usuario tools = [{ "type": "function", "function":{ "name": "enviar_pedido", "description": "construye y envía el pedido hecho en la conversación, si éste ha finalizado y el usuario no desea llevar más artículos", "parameters": { "type": "object", "properties": {"final": {"type": "string", "enum": ["S"], "description":"determina si el pedido del usuario ha terminado"}}, "required": ["final"] } } }] def get_completion_from_messages(messages, model=llm_name, temperature=0): response = openai.chat.completions.create( model=model, messages=messages, temperature=temperature, # this is the degree of randomness of the model's output tools=tools, tool_choice="auto" ) return response.choices[0] def template(context): text=f"""Responde a la entrada previa del usuario, usando el siguiente \ contexto delimitado con ###, si este contexto es útil para responder \ al usuario, si no, entonces omítelo: ###{context}### Si hay información solicitada por el usuario que no está en el contexto, \ dices que no la conoces, pero no inventas. Si el usuario está dando sus datos, \ omite el contexto. El hilo de la conversación es la prioridad. """ #No olvides usar la \ #función 'final' cuando haya terminado el pedido. return text