Acceso a IA con métodos de pago

10. Acceso a IA con métodos de pago#

A lo largo de la mayor parte de los apartados que se desarrollan en todos los apartados mostrados en este trabajo, los procedimientos se han desarrollado de tal manera que no se procediera a ningún tipo de gasto.

No obstante existen en el mercado diferentes plataformas que por supuesto ofrecen mejores prestaciones que el trabajo en el ordenador local y que para ello se requiere hacer frente a algún tipo de gasto. En este apartado se va a mostrar cómo pode hacer estos en dos de las más usadas en el actual mercado:

  • OpenAI

  • DeepSeek

10.1. OpenAI.#

Esta plataforma es una de las pioneras en el sector y para poder operar con ella se debe obtener en primer lugar la denominada api-key en la siguiente dirección web (una vez que el usuario se ha logueado en el sistema):

https://platform.openai.com/settings/organization/api-keys

La api-key que se obtiene debe guardarse en un fichero del ordenador personal, ya que posteriormente no se puede ver.

Esta apí key es la que se utilizará posteriormente cuando se llame al trabajo correspondiente de inteligencia artificial. Dado que esta clave es individual, conviene que la misma no sea visible en el código, y para ello existen diferentes procedimientos:

  • Guardarla en un fichero de texto y después en el código leer ese fichero y la clave correspondiente.

  • Crear un fichero con extensión .py (fichero de código python) y allí crear una variable que contenga la api-key para después importar ese fichero .py desde nuestro fichero de código y así poder entresacar el api-key sin que nadie que lea el código pueda así conocer esa clave

  • Guardar la clave en una variable de entorno, y después desde el código poder leer esa variable de entorno.

Nosotros y para este trabajo, vamos a proceder según lo indicado en el primer apartado, y para ello creamos el fichero denominado clave_openai.txt y dentro de ese fichero introducimos la api-key obtenida.

Ahora que ya tenemos todo dispuesto de esta manera, nos podemos conectar con OpenAI con el siguiente código:

from langchain_openai import ChatOpenAI

Ahora obtenemos el api-key de la siguiente manera, de tal forma que como puede verse es totalmente trasparente para el usuario final.

f = open('claves/clave_openai.txt')
api_key = f.read()
# Ahora ya nos podemos conectar a OpenAI
llm = ChatOpenAI(openai_api_key=api_key, model="gpt-4o",
    temperature=0,
    max_tokens=None)

Los diferentes modelos los podemos ver en este enlace:

https://platform.openai.com/settings/organization/limits

messages = [
    (
        "system",
        "You are a helpful assistant that translates English to French. Translate the user sentence.",
    ),
    ("human", "I love programming."),
]
ai_msg = llm.invoke(messages)
ai_msg
AIMessage(content="J'adore la programmation.", additional_kwargs={'refusal': None}, response_metadata={'token_usage': {'completion_tokens': 6, 'prompt_tokens': 31, 'total_tokens': 37, 'completion_tokens_details': {'accepted_prediction_tokens': 0, 'audio_tokens': 0, 'reasoning_tokens': 0, 'rejected_prediction_tokens': 0}, 'prompt_tokens_details': {'audio_tokens': 0, 'cached_tokens': 0}}, 'model_name': 'gpt-4o-2024-08-06', 'system_fingerprint': 'fp_ff092ab25e', 'finish_reason': 'stop', 'logprobs': None}, id='run-297a3bf5-0c5d-4e8f-9f47-4a9e480aeb60-0', usage_metadata={'input_tokens': 31, 'output_tokens': 6, 'total_tokens': 37, 'input_token_details': {'audio': 0, 'cache_read': 0}, 'output_token_details': {'audio': 0, 'reasoning': 0}})

Listo, de esta manera ya tendremos listo el operativo con OpenAi.

También existe en LangChain un componente que nos va a permitir saber el coste que supone una llamada cualquiera

from langchain_community.callbacks import get_openai_callback

with get_openai_callback() as cb:
    result = llm.invoke("Traduce la siguiente expresión : Hace mucho calor, al inglés")
    print(cb)
Tokens Used: 25
	Prompt Tokens: 20
		Prompt Tokens Cached: 0
	Completion Tokens: 5
		Reasoning Tokens: 0
Successful Requests: 1
Total Cost (USD): $0.0001
result
AIMessage(content="It's very hot.", additional_kwargs={'refusal': None}, response_metadata={'token_usage': {'completion_tokens': 5, 'prompt_tokens': 20, 'total_tokens': 25, 'completion_tokens_details': {'accepted_prediction_tokens': 0, 'audio_tokens': 0, 'reasoning_tokens': 0, 'rejected_prediction_tokens': 0}, 'prompt_tokens_details': {'audio_tokens': 0, 'cached_tokens': 0}}, 'model_name': 'gpt-4o-2024-08-06', 'system_fingerprint': 'fp_f9f4fb6dbf', 'finish_reason': 'stop', 'logprobs': None}, id='run-d7f1b390-297d-413e-ad5a-14a85afc709e-0', usage_metadata={'input_tokens': 20, 'output_tokens': 5, 'total_tokens': 25, 'input_token_details': {'audio': 0, 'cache_read': 0}, 'output_token_details': {'audio': 0, 'reasoning': 0}})
result.content
"It's very hot."

10.2. DeepSeek#

Para ver las ventajas que ofrece este LLM, se puede ver el vídeo que se indica en el siguiente enlace:

https://www.youtube.com/watch?v=0wrrMkXQnYk

Deepseek utiliza el SDK de openai lo que hace fácil y familiar desarrollar proyectos de inteligencia artificial. Como en el caso que hemos visto en el apartado anterior, también para el uso de esta herramienta se necesita tener una api-key y tener un saldo en al cuenta de Deepsek.

A continuación se muestra un ejemplo de cómo poder entrar y utilizar esa LLM

#leenos la clave de un ficehro externo para así no exponerla en el códigp
f2 = open('claves/clave_deepseek.txt')
api_key2 = f2.read()
from openai import OpenAI

client = OpenAI(api_key=api_key2, base_url="https://api.deepseek.com")

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "system", "content": "Eres un asitente sobre ciertas preguntas interesantes"},
        {"role": "user", "content": "Bueos días"},
    ],
    stream=False
)

print(response.choices[0].message.content)
¡Buenos días! 😊 ¿En qué puedo ayudarte hoy? ¿Tienes alguna pregunta interesante en mente o algo en lo que necesites asistencia?