Monitoraggio dei modelli Amazon Bedrock
Amazon Bedrock offre l'accesso a modelli di base ad alte prestazioni sviluppati dalle principali aziende del settore dell'intelligenza artificiale attraverso un' API unificata. Questa guida spiega come integrare un'applicazione che utilizza i modelli Amazon Bedrock con l' OpenLLMetry, al fine di inviare dati di telemetria a Instana.
Prerequisiti
Assicurati che siano soddisfatti i seguenti prerequisiti:
- Python 3.8 o una versione successiva è installata.
- Amazon Web Services ( AWS ) credenziali con accesso a Bedrock.
- È stato attivato un account backend di Instana con funzionalità di osservabilità dell'IA generativa.
- Consulta la sezione "Introduzione" per informazioni sulle modalità con agente e senza agente.
Implementazione della strumentazione nella tua applicazione Amazon Bedrock
Installa i pacchetti richiesti.
pip install boto3 traceloop-sdkEsporta le tue credenziali di AWS.
export AWS_ACCESS_KEY_ID="<your-access-key-id>" export AWS_SECRET_ACCESS_KEY="<your-secret-access-key>"Per creare o gestire le chiavi di acced AWS, consultare la documentazione di Amazon IAM.
Crea la tua applicazione Amazon Bedrock. Crea un file ` Python ` contenente il codice seguente.
import json import boto3 from traceloop.sdk import Traceloop from traceloop.sdk.decorators import workflow # Initialize OpenLLMetry Traceloop.init(app_name="bedrock_chat_service", disable_batch=True) # Initialize Bedrock client bedrock_runtime = boto3.client( service_name="bedrock-runtime", region_name="us-east-1" ) @workflow(name="bedrock_conversation") def ask_bedrock(question: str): """Send a question to Amazon Bedrock and get a response.""" body = json.dumps({ "inputText": question, "textGenerationConfig": { "maxTokenCount": 512, "temperature": 0.7, "topP": 0.9 } }) response = bedrock_runtime.invoke_model( body=body, modelId="amazon.titan-text-express-v1", accept="application/json", contentType="application/json" ) response_body = json.loads(response.get('body').read()) output_text = response_body.get('results')[0].get('outputText') return output_text.strip() # Example usage if __name__ == "__main__": questions = [ "What is AIOps and how does it help with IT operations?", "Explain the benefits of observability in modern applications." ] for question in questions: print(f"\nQuestion: {question}") answer = ask_bedrock(question) print(f"Answer: {answer}\n") print("-" * 80)Esegui la tua applicazione Amazon Bedrock.
python3 bedrock_app.pyL'applicazione invierà le domande ad Amazon Bedrock e visualizzerà le risposte. OpenLLMetry acquisisce automaticamente le tracce per ogni chiamata all' API e e le invia a Instana.
Visualizza i dati su Instana.
Dopo aver eseguito l'applicazione, i dati appariranno nella dashboard di osservabilità Gen AI di Instana, mostrando:
- Modello utilizzato
- Utilizzo dei token (token in entrata e in uscita)
- Latenza di risposta
- Contenuto della richiesta e della risposta
Utilizzo di diversi modelli
Amazon Bedrock supporta diversi modelli di base. Per utilizzare un modello diverso, modificare il modelId parametro:
# Using Claude 3 Sonnet
response = bedrock_runtime.invoke_model(
body=body,
modelId="anthropic.claude-3-sonnet-20240229-v1:0",
accept="application/json",
contentType="application/json"
)
# Using Llama 2
response = bedrock_runtime.invoke_model(
body=body,
modelId="meta.llama2-13b-chat-v1",
accept="application/json",
contentType="application/json"
)
Risoluzione dei problemi
Per problemi comuni, come la mancata visualizzazione delle tracce o errori di connessione, consultare la sezione Risoluzione dei problemi.
Errori di autenticazione
Se si verificano errori di autenticazione:
- Verifica che le tue credenziali AWS siano impostate correttamente
- Verifica che il tuo utente IAM disponga delle autorizzazioni Bedrock necessarie
- Assicurati che le tue credenziali non siano scadute
- Verifica che la regione AWS supporti Bedrock (ad esempio, us-east-1, us-west-2 )
Errori di accesso al modello
Se si verificano errori di accesso al modello:
- Verifica di aver richiesto l'accesso al modello nella console di Bedrock all'indirizzo AWS
- Verifica che il modello sia disponibile nella regione selezionata
- Assicurati che la tua politica IAM includa
bedrock:InvokeModell'autorizzazione - Consultare la documentazione relativa all'accesso al modello Amazon Bedrock
Errori dovuti a richieste non valide
Se ricevi messaggi di errore relativi a richieste non valide:
- Verificare che il formato del corpo della richiesta sia conforme ai requisiti del modello
- Verificare che i valori dei parametri rientrino negli intervalli consentiti
- Assicurati che l'ID del modello sia corretto e formattato correttamente
- Consulta la documentazione di Amazon Bedrock API per i requisiti specifici del modello
Passi successivi
- Scopri gli altri fornitori di LLM supportati da Instana
- Scopri come calcolare i costi relativi al tuo utilizzo di LLM
- Imposta degli avvisi relativi all'utilizzo dell' API di Amazon Bedrock
- Esamina le migliori pratiche di Amazon Bedrock