Vai al contenuto

Creare agenti AI di intelligenza artificiale/Scelta LLM

Wikibooks, manuali e libri di testo liberi.
Indice del libro

Uno dei componenti fondamentali degli agenti AI è la capacità di interfacciarsi con i Large Language Models LLM (ChatGPT OpenAI, Claude Anthropic, Google Gemini, ecc.). Tramite la libreria open-source Litellm ci si può connettere a diversi provider di LLM senza dover riscrivere continuamente il codice.

In alternativa a Google Gemini scriviamo il codice per interfacciarsi ad altri provider LLM. In ogni caso qualunque LLM si scelga, bisogna creare un'API KEY, per cui aprendo il notebook di Google Colab che conterrà il codice dell'agente, si clicca sull'immagine della chiave nella barra laterale di sinistra e si inserisce l'API KEY dell'LLM abilitandola.

Google Gemini

[modifica | modifica sorgente]
import os
from google.colab import userdata
api_key = userdata.get('GOOGLE_API_KEY')
os.environ['GOOGLE_API_KEY'] = api_key

Poi bisogna creare una funzione python per richiamare Google Gemini e ottenere la risposta tramite prompt programmatici:

from litellm import completion

def generate_response(messages: str) -> str:
    """Call LLM to get response"""
    response = completion(
        model="gemini/gemini-2.0-flash",
        messages=messages,
        max_tokens=1024
    )
    return response.choices[0].message.content


OpenAI ChatGpt

[modifica | modifica sorgente]
import os
from google.colab import userdata
api_key = userdata.get('OPENAI_API_KEY')
os.environ['OPENAI_API_KEY'] = api_key

Usa i nomi modello OpenAI (es. gpt-4o, gpt-3.5-turbo).

from litellm import completion

def generate_response(messages: str) -> str:
    """Call LLM to get response"""
    response = completion(
        model="gpt-3.5-turbo",
        messages=messages,
        max_tokens=1024
    )
    return response.choices[0].message.content

Claude Anthropic

[modifica | modifica sorgente]
import os
from google.colab import userdata
api_key = userdata.get('ANTHROPIC_API_KEY')
os.environ['ANTHROPIC_API_KEY'] = api_key
from litellm import completion

def generate_response(messages: str) -> str:
    """Call LLM to get response"""
    response = completion(
        model="claude-3.5-sonnet",
        messages=messages,
        max_tokens=1024
    )
    return response.choices[0].message.content
import os
from google.colab import userdata
api_key = userdata.get('PERPLEXITYAI_API_KEY')
os.environ['PERPLEXITYAI_API_KEY'] = api_key
from litellm import completion

def generate_response(messages: str) -> str:
    """Call LLM to get response"""
    response = completion(
        model="perplexity/sonar-pro",
        messages=messages,
        max_tokens=1024
    )
    return response.choices[0].message.content
import os
from google.colab import userdata
api_key = userdata.get('HUGGINGFACE_API_KEY')
os.environ['HUGGINGFACE_API_KEY'] = api_key
from litellm import completion

def generate_response(messages: str) -> str:
    """Call LLM to get response"""
    response = completion(
        model="huggingface/inference/huggingface/<org>/<model-id>",
        messages=messages,
        max_tokens=1024
    )
    return response.choices[0].message.content