Come passo i dati a un artifact?

Qualche suggerimento su come passare dati all’artefatto? Voglio incollare lo stesso artefatto in molti posti nel mio forum, usando un token JWT diverso in ogni posto. Ho provato cose come questa ma non riesco a far sì che il creatore lo utilizzi:


<div class="ai-artifact" data-jwt-token="my-jwt-token" data-ai-artifact-id="10">
</div>

Oppure, se il Creatore Web potesse capire in quale ID dell’argomento si trova, potrei lavorarci.

3 Mi Piace

Oh, questo è un caso difficile, no, al momento il framework non lo consente, è un caso d’uso molto interessante.

Mi piace la richiesta di funzionalità di passare semplicemente tutti gli attributi data nell’artefatto sandbox, è una soluzione elegante.

Un’opzione che potrebbe funzionare, tuttavia, è fare affidamento sui parametri di query, ma l’iframe sandbox non vi aveva accesso:

https://meta.discourse.org/discourse-ai/ai-bot/artifacts/166?222

@david pensi che ci siano implicazioni di sicurezza nel passare informazioni dal mondo esterno a un artefatto? (lascia la sandbox, ma immagino che si possa fare un’eco di window.location.search in qualche tipo di attributo?

3 Mi Piace

Dare all’artefatto l’accesso alla query string sembra ok. La cosa più semplice sarebbe usare Ruby per iniettarla nel documento HTML non attendibile. Magari come meta tag o qualcosa del genere.

3 Mi Piace

È stata un’idea del bot. :slight_smile:

Penserei che sia un caso d’uso molto comune per gli artefatti reali. Ho un artefatto di analisi finanziaria che voglio eseguire su molti investimenti. L’artefatto recupera i dati delle prestazioni da un’API, utilizzando il JWT per identificare quale investimento. Creare molti artefatti diversi, ognuno con un JWT codificato in modo fisso diverso, è inaccettabile.

Non per spingermi troppo oltre, ma se potessi anche ottenere l’ID utente e l’ID argomento nell’artefatto, ciò aprirebbe molte più applicazioni.

4 Mi Piace

l’ID argomento è facile da aggiungere, ma l’ID utente può diventare un po’ più complicato, poiché l’artefatto è pesantemente memorizzato nella cache, dovremmo ridurre parte della memorizzazione nella cache per farlo accadere.

Questo sarebbe in realtà meglio per la mia applicazione rispetto al passaggio di attributi di dati. Esiste una mappatura 1:1 tra argomenti e i miei JWT, quindi posso cercare il JWT, senza dover modificare il JWT in ogni post.

Probabilmente questo non gestisce altri casi d’uso.

Tecnicamente, basta passare l’URL per risolvere questo problema, poiché l’ID dell’argomento fa parte dell’URL.

Mi occuperò di questo la prossima settimana, al momento sto lavorando al supporto PDF :slight_smile:

Solo per verificare, è mai stato implementato?

Ancora no, oggi ci giocherò un po’ per vedere quanto sia complicato.

Questo risolverà il problema. Non c’è davvero scelta semplice se non usare post message qui a causa del sandboxing, quindi l’API richiede un await… funziona, il che è positivo.

7 Mi Piace

Funziona perfettamente per me!

1 Mi Piace