File size: 3,117 Bytes
85c4eb7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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()