Gli LLM non sono molto bravi nell’analisi quantitativa. Advert esempio, quando ho chiesto a Chatgpt: “Quale numero è più grande, 9.9 o 9.11?” Ha risposto erroneamente con 9.11.
In un altro esempio, ho un file Excel contenente una grande quantità di dati quantitativi. Il numero massimo di parole per un singolo immediate che Chatgpt Can Fingers è di circa 4.000 parole (circa 16.000 caratteri). Se provo a interrogare questi dati, potrebbe non adattarsi alla finestra di contesto.
Posso archiviare il file in un’origine dati e formare CHATGPT per utilizzare quella fonte di dati per le question degli utenti (controlla Questo articolo Se vuoi imparare a formare CHATGPT su dati privati). Tuttavia, poiché il file contiene dati quantitativi, c’è la possibilità che io possa ricevere risposte errate per question complesse.
Come si può risolvere un story problema? La risposta probabilmente comporta una combinazione di analisi dei dati utilizzando Pitone E Llms.
Aiutiamo CHATGPT a fornire la risposta corretta a “9.9 o 9.11, quale numero è più grande”.
Una guida passo-passo
Accedi con https://ai.azure.com e fare clic su Crea progetto.
Dai un nome al progetto; Qui, l’ho chiamato Llm_pythone fatto clic su Creare.
Ora, è tempo di distribuire un LLM come Chatgpt. Fare clic su Modelli + endpoint.
Fare clic su Distribuire il modello base.
Seleziona l’LLM di tua scelta. Ho selezionato GTP-4o-Mini. Quindi, fare clic su Confermare.
Fare clic su Distribuire. Questo passaggio completa la distribuzione di LLM, che è GPT-4o-min In questo esempio.
Fare clic su Flusso rapido.
Fare clic su + Crea.
Fare clic su Crea sul flusso customary.
Aspetta un paio di minuti perché il nuovo flusso richiede del tempo per propagare. Dare UN Nome della cartella (L’ho dato Codefolder) e poi fare clic su Creare.
Il immediate è pronto ora. Per personalizzare la programmazione, fare clic sul pulsante Elimina sotto il cerchio rosso.
Fare clic su + Aggiungi enter.
Ho selezionato Domanda per Nome enter E 9.9 o 9.11 Quale numero è più grande? per il Valore. Fondamentalmente, questa è una domanda utente per Chat-4o-Mini (LLM).
Ora fai clic su + Llm e fornire il nome del nodo, ho dato il nome del nodo FirstllmCall e cliccata Aggiungere.
Seleziona i valori evidenziati secondo il tuo progetto e fornisci istruzioni all’LLM per quello che vuoi che faccia. Voglio che l’LLM estragga due numeri dall’enter dell’utente. Di seguito sono riportate le istruzioni per gpt-40-mini
(LLM):
#sistema:
Sei un assistente utile.
#utente:
Estrai i due numeri dalla seguente domanda: “{{user_query}}”.
Restituisce solo un oggetto JSON valido senza alcuna formattazione o spiegazioni aggiuntive.
Assicurati che sia adeguatamente strutturato in questo modo:
{
"num1": 19.9,
"num2": 19.11
}
Fare clic su Avvia la sessione di calcolo. Ci vorranno circa 10 minuti per essere completati.
Una volta Avvia la sessione di calcolo modifiche a Calcola la sessione in esecuzione, fare clic su Convalida e analizza l’enter.
Selezionare $ {inputs.Query} da Valore scatola. Memorizza l’enter dell’utente e lo passa a LLM.
Fare clic su + Python per scrivere codice per ottenere un valore maggiore dai numeri forniti dall’utente.
Fornire un nome nodo per Python; L’ho dato Pythoncode. Quindi, fare clic su Aggiungere.
Copia e incolla il codice Python di seguito nel Pythoncode richiesta:
import json
from promptflow import software
@software
def find_max_number(input_json: str) -> str:
"""
This operate takes a JSON string with two numbers,
finds the utmost, and returns the end result as a JSON string.
"""
# Learn extracted numbers from the earlier ChatGPT output
input_data = json.masses(input_json)
num1 = float(input_data("num1"))
num2 = float(input_data("num2"))
# Discover the utmost quantity
max_number = max(num1, num2)
# Return the end in JSON format
output_json = json.dumps({"num1": num1, "num2": num2, "max_number": max_number})
return output_json
Fare clic su Convalida e analizza l’enter.
Ora, seleziona $ FirstllmCall.output in valore.
Abbiamo bisogno di un’altra istanza di un LLM per fornire risposte alle domande dell’utente in base all’output del codice Python sopra. Fare clic su Llm Per procedere.
Ho dato al nodo il nome Rispondere allm e cliccata Aggiungere.
Seleziona i valori per Rispondere allm.
Scrivi il codice su Rispondere allm e fare clic su Convalida e analizza l’enter.
#sistema:
Sei un assistente utile.
# utente:
I numeri estratti sono {{num1}} e {{num2}}. Il numero più grande è {{max_number}}.
Dai la tua risposta solo in 1 riga.
Selezionare gli enter per il Rispondere allm.
Fare clic su + Aggiungi outputpoiché l’utente verrà fornito output da Rispondere allm.
Nel valore di risposta, seleziona $ {Rispondendoll.Output}.
Di seguito è riportato il flusso di richieste:
Fare clic su Salva poi Correre.
Ora, fai clic su Visualizza output Per verificare qual period la risposta alla domanda dell’utente.
Questa volta abbiamo ricevuto le risposte corrette.
Riepilogo
Quando abbiamo posto la domanda: “9.9 o 9.11, quale numero è più grande?” La risposta è stata del 9.11. Ciò indica che CHATGPT non è stato in grado di fornire la risposta corretta per i dati quantitativi, ma con l’aiuto di Python, Chatgpt ha fornito la risposta corretta, quindi in una situazione del genere, è meglio usare Python con LLM.