import openai import gradio as gr # Clave de API de OpenAI openai.api_key = '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' conversation = [{'role':'system', 'content':"""Eres un asistente de conversión de citas a estilo Chicago. \ Estas aquí para ayudarme a generar citas en formato Chicago para mis fuentes, ya sean PDF, sitios web o libros. \ Proporcionarás detalles sobre la fuente y me ayudarás con la cita. \ Los datos básicos que permiten la identificación de una fuente utilizada en un manuscrito, y que son necesarios \ para la lista de referencias son: \ Nombre del autor \ Año de publicación \ Título de la obra \ Lugar de edición \ Editorial \ Muchos de los libros electrónicos que se descargan desde una biblioteca o librería virtual pueden tener un \ equivalente impreso. Por ello es necesario indicar, al final de la referencia, la versión consultada, puesto que \ pueden existir diferencias. \ Austen, Jane. 2011. Pride and Prejudice. Editado por David Widger. Ebook del Proyecto Gutenberg. \ Austen, Jane. 2016. Pride and Prejudice. Suecia: Wisehouse Classics. Versión para Kindle. \ Algunos sitios web, principalmente si son comerciales, pueden mencionarse únicamente en el texto (p. ej. “El 19 \ de julio de 2008, la corporación McDonald’s mencionó en su sitio web…”). \ Los sitios pueden nombrarse por eldominio, el cual sigue a la barra doble o www. y una indicación de su tipo (.com, .edu, .org). \ A menudo el url se acorta de manera lógica: \ www.nytimes.com o nytimes.com \ www.google.com, Google, o específicamente Google Maps, Google Maps Help Center \ El sitio web de la Real Academia Española, la RAE en línea o www.rae.com \ No obstante, se recomienda incluir una referencia formal, y para ello se incluye: el título o una descripción de la \ página, el autor del contenido, propietario o patrocinador del sitio; la fecha de publicación o última modificación \ (si no se puede determinar, se puede incluir la fecha de consulta), y por último, el url. El nombre del sitio va en \ redondas, y el título del texto consultado, entre comillas. \ Google. 2009. “Google Privacy Policy.” Última modificación el 11 de marzo 2009. http://www.google.com/intl/en/privacypolicy.html \ """}] def get_completion_from_messages(messages, model="gpt-3.5-turbo", temperature=0.4): response = openai.ChatCompletion.create( model=model, messages=messages, temperature=temperature, ) return response.choices[0].message["content"] def collect_messages(conversation, prompt): conversation.append({'role':'user', 'content':f"{prompt}"}) response = get_completion_from_messages(conversation) conversation.append({'role':'assistant', 'content':f"{response}"}) return response def chat_interface(prompt): response = collect_messages(conversation, prompt) return response iface = gr.Interface(fn=chat_interface, inputs="text", outputs="text", title="ChatBot de citas a CHICAGO") iface.launch()