[ home ] [ indice ] [ b / s / x / hd / 420 ] [ aco / v / cul / yt / ck / mu / pol ]

/hd/ - Help Desk

Nome
Email 
Messaggio

File
Embed
Password

  [Vai in fondo]   [Catalogo]   [Torna]   [Archivio]

File: 644E141F-E97A-4D44-85AB-59….png (49,78 KB, 284x177)

 No.64226

Mettiamo che io voglia sviluppare una sorta di videogioco/cosa-interattiva tramite l’api di chatgpt.
Non posso scendere nei dettagli dell’idea, ma avrei bisogno di trainarmi dei bot in grado di assegnare punteggi alla produzione scritta degli utenti. Non devono rispondere, non devono avere dialoghi lunghi, devono solo assegnare punteggi relativi ai significati semantici che poi determinerebbero altre cose che programmo io.

Fino a qui niente di troppo complicato anche per un negro come me (credo).

Ora però, il limite che mi pare di intravedere è che se faccio una cosa del genere, succede che poi ogni volta che un utente manda degli input alla app che ho in mente, openai farebbe spendere dei soldi a me in base alla quantità di token. Pure supponendo che una app del genere io la faccia pagare qualche euro, cosa impedisce a un utente di spammarmela all’infinito con qualche script per prosciugarmi il conto in banca? Come faccio a limitare le interazioni? Idee?

Scusate le domande da nigeriano. So di esserlo, è solo che non sfruttare il gimmick dell’intelligenza artificiale per provare a fare due spicci in questo momento storico sarebbe un’occasione mancata, io credo.

 No.64228

micro transactions ciao

 No.64229

È molto semplice, implementi rate limiting, throttling e limiti per utente e globali nella tua applicazione.

 No.64230

>>64228
Sì, ci ho pensato, ma poi nella pratica è aggirabile? Cioè mettiamo che io venda una currency in app per le interazioni, poi Giggino Hacker Paxxo riesce comunque a prosciugarmi il conto in banca? E' una cosa che mi fa cacare sotto.

Grazie anon.

 No.64231

>>64230
Se ti fai queste domane non ci provare nemmeno

 No.64232

>>64231
Questo. Op non ha le competene tecniche per questo e non sono competenze che si fanno in tempo breve

 No.64235

>>64231
>>64232
inb4 i robot che vi rubano il lavoro e vi scopano le mogli

 No.64238

File: 67odqL3[1].png (92,16 KB, 1334x725)

Puoi impostare degli hard limit che non possono essere superati, ciao!

 No.64241

Allora, visto che sono sviluppatore e che mi informai anche io per l'utilizzo delle API di ChatGPT qualche mese fa vanno dette un paio di cose:

- prima di tutto, non capisco il problema che ti fai riguardo lo spam: sei perfettamente in grado tenere il conteggio di quanti token sta utilizzando un singolo utente, nonché di mettere un limite massimo orario/giornaliero ecc. cosa ti frena dall'implementare logiche del genere nella tua app? Tra l'altro mi sembra che espongano un endpoint per sapere quanti token consumerà un dato prompt o una roba del genere. Also >>64238
- tieni a mente che ChatGPT ha poca memoria. Più allunghi la conversazione, più si dimenticherà di quello che gli hai detto prima
- ricorda che ChatGPT è in grado di rispondere con dei JSON. Gli puoi dare in pasto un testo e, per fare un esempio, chiedergli di rispondere con un JSON che abbia un campo di nome "aboutCars" di tipo intero che rappresenti quanto, da 0 a 100, il testo che gli hai dato riguardi le automobili. Probabilmente ci metterà le sue solite frasi di circostanza del cazzo prima e dopo il JSON, ma se gli spieghi che non deve farlo le toglie e ti dà solo il JSON, tuttavia non è 100% affidabile (con 3.5, invece con la 4 non so) e anche se gli dici di non farlo, spesso le mette comunque. Con un po' di logica sulla tua app per riconoscere il JSON in mezzo alla merda comunque elimini anche questo problema.
- ricorda che se hai bisogno di fare una conversazione, l'API non consuma solo i token del prompt che gli hai dato, ma anche tutti quelli prima (sia domanda che risposta).
Esatto, hai letto bene: se domanda e risposta per un prompt sono per es. 100 token, e quello dopo sono 50 token, significa che il secondo non lo paghi 100 ma 150. Non solo: ogni volta devi allegare anche una sorta di prompt di init, che di solito è bello lungo (es: "Comportati come un analizzatore di testi. Io ti darò in pasto un testo che ha caratteristica X e voglio che tu faccia Y ecc." ecco, questa roba qua gliela devi dare in pasto OGNI volta)

 No.64242

>>64241
sempre io.
Ripensandoci, forse la 2 non è un problema ed è semplicemente un side-effect della 4 e del fatto che dalla web UI, al fine di ridurre i consumi, appena la conversazione si allunga inizino a escludere i messaggi più vecchi, dato che tutta questa cosa del dover inviare ogni volta tutta la conversazione è nascosta all'utente.

 No.64248

>>64241
Molto interessante anon, ti ringrazio.

> sei perfettamente in grado tenere il conteggio di quanti token sta utilizzando un singolo utente

Lo sono? Cioè, l'utente non sarei sempre e comunque io, quindi con un conteggio unico dei token? Magari non ho capito niente. Per ora è veramente solo brainstorming pre-studio.

Il resto della risposta mi fa intuire che stai sopravvalutando quanto avanzata dovrebbe essere la app. Anzi, visto che sei sviluppatore e utilizzi queste cose faccio un passo indietro con la domanda:

La app dovrebbe avere un funzionamento logico del tipo:

> app mostra un testo (prestabilito, non generato da chatgpt)


> utente risponde al testo scrivendo una frase


> chatgpt (o chi per lui) assegna dei punteggi su quanto il testo dell'utente sia - per fare degli esempi random - pertinente da 0 a 100, dai toni corretti da 0 a 100, grammaticalmente corretto da 0 a 100


> la app prende quei punteggi e li assegna a delle variabili, poi risponde con uno tra X testi prestabiliti a seconda del valore di quei punteggi


> repeat


Quindi in pratica chatgpt (o chi per lui) dovrebbe valutare con un valore numerico dei testi singoli di volta in volta (non c'è una conversazione, non sarebbero contestuali al testo precedente). Non dovrebbe neanche generare testo, ma proprio darmi dei numeri che valutino il testo.
Ti dico questa roba perché so che esistono alternative meno costose di chatgpt che sono specificatamente dedicate alla valutazione e classificazione del testo, però mi immagino che sia della roba utilizzata soprattutto per applicazioni tipo filtrare i commenti offensivi nei blog e simili. Non so se questa roba sia in grado, insomma, di interpretare davvero i testi e di "comprenderne" i significati. A me serve che i punteggi assegnati riguardino di volta in volta dei criteri diversi e dei contesti diversi, ovvero ogni volta il prompt sarebbe diverso.
E boh. E' che è teoricamente una roba semplicissima per come me la immagino, solo che bisogna fare in modo che chatgpt comunichi con la app in modo pulito e senza rotture di coglioni. Già con le microtransazioni entriamo in un campo che è troppo complesso.

 No.64250

>>64248
> Lo sono? Cioè, l'utente non sarei sempre e comunque io, quindi con un conteggio unico dei token? Magari non ho capito niente. Per ora è veramente solo brainstorming pre-studio.
Mi sa che ti manca qualche passaggio che ora proverò a spiegarti.
Lo scenario che immagino è una app che tu distribuirai in modo da poter essere utilizzata da N utenti.
Ora l'utente X la apre e inizia ad utilizzarla. Lato utente ovviamente non devono mai partire chiamate dirette alle API di ChatGPT: questo perché serve l'autenticazione al tuo account, quindi se lo fai te la potrebbero fottere analizzando il traffico di rete. Insomma, è una roba da negri assoluti che mi sembra anche scontatissimo dirti che non si fa mai. Quello che la tua app deve fare invece è una chiamata a un tuo server remoto, inviandogli il testo. Il tuo server prende questo testo, ne calcola i token (magari usa proprio l'endpoint per sapere quanti sono) e se lo salva in memoria (una variabile per capirci, ma probabilmente ti conviene anche mantenerlo in un DB), aggiornandolo di volta in volta. Oppure prende il conteggio dalla response dell' API, se c'è, o se invece c'è da qualche parte, nella response o chiamando un altro endpoint, il numero di token che hai disponibili prima di consumare tutto il credito. Insomma non mi ricordo come abbiano implementato questa roba ma il succo è che ti serve sapere quanto stai consumando e un modo c'è al 100%.
Appena ti arriva una chiamata da una delle app e il conteggio token supera il limite che hai deciso tu allora non fai una chiamata alle API di ChatGPT e rispondi con un errore. O se si avvicina rispondi con un codice particolare e la tua app lo gestirà per avvisare l'utente. Insomma qui ti puoi sbizzarrire su come implementare la cosa ma il punto è che ti serve un server che faccia da middleman. Se vuoi anche implementare dei limiti per singolo utente potresti fare che al momento della prima apertura viene generato e salvato (per esempio) un UUID randomico così al tuo server oltre che il testo invii anche questo e tieni traccia dei limiti anche per singolo utente.
In ogni caso, a giudicare dall'altro anon sembra esserci la possibilità di impostare un hard limit mensile, per cui magari di questo potresti anche evitare di tenere traccia e gestire la response delle loro API che sicuramente sarà diversa quando non ci sono più token.
Spero di aver passato il concetto.

Sì, il funzionamento della app che mi hai illustrato è ottimo in quanto non richiede conversazione quindi consuma sicuramente meno.

E sì, è una puttanata super easy. Non devi neanche fare le chiamate a mano. A meno che tu non abbia intenzione di scrivere in qualche linguaggio hipster del cazzo e della merda ci stanno già un bordello di librerie su GitHub pronte da utilizzare.

 No.64251

>>64250
Veramente chiarissimo anon, ti ringrazio per la pazienza.
Quello su cui rimango dubbioso è: ma questa cosa non sarebbe scorrettissima? Non potrebbe addirittura essere illegale, se non la gestisci con un contratto con l'utente scritto bene?
Mi spiego meglio, mettiamo che io voglia vendere questa app a 10 euro, che promette di fare questa e quell'altra funzione, ok. Ora l'utente si ritrova con questa cosa mongoloide che smette di funzionare proprio all'utente più entusiasta, perché io decido che l'utente mi sta facendo spendere troppi soldi.
E' una domanda del cazzo, ma chiedo per stare sicuro.

Also, librerie pronte da utilizzare per fare cosa in particolare? Cioè, quale dovrei aspettarmi come parte difficoltosa (per un negro, si intende) delle "chiamate a mano"?

 No.64252

>>64251
>E' una domanda del cazzo, ma chiedo per stare sicuro.
Mi dispiace davvero rovinarti la festa ma se ti fai queste domande e specialmente quella di sopra non credo tu abbia alcuna reale possibilità di arrivare da qualche parte.

Ovviamente i limiti del servizio vanno messi nei termini e le condizioni, devi colpire l'abuso e non l'uso.

 No.64253

>>64251
ma scusa fatti due calcoli e metti uno o più piani pro a subscription, no?
Se vogliono il free stanno alle limitazioni altrimenti pagano e il loro limite sarà molto meno ristretto rispetto agli utenti free.
Logicamente dovresti implementare account, login ecc.
Dovresti fare le cose a norma e sì, ci vorranno notaio e commercialista e l'utente dovrà accettare un contratto prima di usarla.

>Also, librerie pronte da utilizzare per fare cosa in particolare? Cioè, quale dovrei aspettarmi come parte difficoltosa (per un negro, si intende) delle "chiamate a mano"?

le "chiamate a mano" intendo usare un client http per chiamare gli endpoint di OpenAI con autenticazione, headers come vuole la loro specifica, body come vuole la loro specifica, parlare la response che ti arriva ecc.
Tutto questo lavoro qua è già stato fatto da qualcun'altro per te, quindi non ti devi preoccupare di tutta questa merda ma ti basterà fare una roba tipo (metto pseudocodice)

ChatGptClient client = new ChatGptClient("myuser","mypwd");
PromptResponse response = client.sendPrompt("ciao, come va?");
log.info("response: " + response.getText());

Guarda questo client in Node.js per esempio https://github.com/transitive-bullshit/chatgpt-api nel readme trovi degli esempi di usage

 No.64254

>>64253
*parsare

 No.64255

>>64253
Grazie anon <3



[Torna in cima] [Catalogo] [Torna][Invia una Risposta]
Elimina post [ ]
[ home ] [ indice ] [ b / s / x / hd / 420 ] [ aco / v / cul / yt / ck / mu / pol ]