ho creato un assistente con queste caratteristiche: “sei esperto di SQL crea sempre una query per soddisfare le richieste dell’utente ed esegui la query con la funzione eseguiSQL”
Ho aggiunto la funzione generica:
{
“name”: “eseguiSQL”,
“description”: “esegue una query sql, esempio select * from prodotti where ID = :id”,
“strict”: false,
“parameters”: {
“type”: “object”,
“properties”: {
“sql”: {
“type”: “string”,
“description”: “comando sql per esempio select * from clienti order by ragsoc”
}
},
“required”: [
“sql”
]
}
}
E ho aggiunto il Tool File search in cui ho inserito lo schema del DB che chatGPT utilizzerà per scrivere le query che soddisfano le richieste dell’utente:

I files vengono memorizzati negli Store:

Ho fatto una prova molto semplice e funziona:

Questo è il punto in cui chatGPT scrive la query:
“step_details”: {
“type”: “tool_calls”,
“tool_calls”: [
{
“id”: “call_fJ73qbHWNZI6GEO1RDXWlmWU”,
“type”: “function”,
“function”: {
“name”: “eseguiSQL”,
“arguments”: “{\n "sql": "SELECT * FROM prodotti WHERE ID = 12"\n}”,
“output”: null
}
}
]
E qui la passa alla mia funzione perché venga eseguita:
eseguiSQL: {“sql”:“SELECT * FROM prodotti WHERE ID = 12”}.
Quindi, se tutto funzionerà, per sviluppare un’applicazione basterà fornire lo schema del DB e un API WEB che esegua le query che gli vengono inviate. Quindi molto lavoro in meno.
Gli oggetti Vector Store danno allo strumento File Search la possibilità di cercare i tuoi file. L’aggiunta di un file a un vector_store analizza, suddivide, incorpora e memorizza automaticamente il file in un database vettoriale in grado di effettuare sia ricerche per parole chiave che semantiche. Ogni vector_store può contenere fino a 10.000 file. Gli store vettoriali possono essere allegati sia ad Assistenti che a Thread. Oggi, puoi allegare al massimo un store vettoriale a un assistente e al massimo un store vettoriale a un thread.
