AI-orkestrering

uppdrag Server-åtgärd

Skapa ett uppdrag för server-åtgärd

Ge uppdraget ett namn, ett mål och initierings-metoden Server åtgärd.

Knyt uppdraget till en modell, i detta fall avdelning.

Uppdraget i detta fall är att skriva en text med mål och ansvar för en avdelning. Tanken är att när man står på avdelningen eller kryssat avdelningen kan begära server-åtgärden med samma namn som uppdraget som då författar och skriver in texten på avdelningen.

Resultatet är helt beroende av uppgiftens målbeskrivning, agentens utformning och val av språkmodell på agenten.


Definiera uppdragets kontext

Uppdraget får ett sammanhang välj bolags-information för uppdrag där bolaget är viktigt för uppdragets genomförande.
Språk för uppdragets resultat kan vara knutet till den användare som startar server-åtgärden. Använd användarens språk innebär att resultatet får det språk som användaren har ställt in i sitt gränssnitt och troligen förväntar sig.


Skriv ett mål för uppdraget

Beskrivningen av uppdraget är också målet. Skriv ett utförligt mål för uppdraget, var tydlig med vad som skall göras, ramar för uppdraget och hur resultatet skall presenteras. Är det en text brukar de flesta språkmodeller använda Markdown för att berika texten. Eftersom vi i detta fall är en server-åtgärd kan vi använda uppgifter från aktuell post i målbeskrivningen, skriv fält-namnet inom mjuka klamrar {name}.  

Eftersom det är ett Python-program som tar emot resultatet kan det ibland vara bekvämt att begära en json. I de fall lägg in hur den skall se ut med klamrar och attribut och data. Det är inte nödvändigt i vårt exempel eftersom vi vill ha en text.


Skriv din programkod

Skriv det python-program som genomför uppdraget, bygger en kedja av agenterna eller en supervisor som använder agenter efter eget huvud.

Uppdraget finns i variabeln "quest". Metoden "build" instansierar uppdraget och metoden "invoke({})". Det är viktigt att skicka med sessionen i build. Det är också viktigt att skicka in aktuell avdelning. Attributen på avdelningen används i uppdragets mål.

 Koden skall också omfatta vad som skall ske med resultatet av agenternas arbete. Metoden invoke returnerar en lista med vad agenten / agenterna gjort. 
quest.get_last_ai_message_content(result) returnerar sista meddelandet / slutsatsen. Meddelandet / svaret är för de flesta språkmodeller formatterat med Markdown, quest.markdown2html(answer) gör om svaret till HTML.

I detta fall kan slutanvändaren kryssa en eller flera avdelningar och uppdraget skall genomföras för varje avdelning.

 department.write({'goals_responsibilities':quest.markdown2html(answer)})

Skriver svaret på attributet goals_responsibilites på avdelningen.
 


Välj en agent för Quest

En quest kan arbeta med en eller flera agenter. Välj en agent - i detta fall en agent som är specialist på organisationer.  Agenten måste ha en språkmodell knuten till sig.

Quest har en agent, agenten har en språkmodell

Quest bygger en kedja av agenter som tillsammans tar sig an uppgiften. I de fall det är flera agenter så kan arbetet antingen ske i en sekvens eller ledas av en arbetsledare. I detta enkla exempel bygger quest en kejda av en agent.

Det viktiga med status. För att en quest skall fungera är det viktigt att språkmodellen är bekräftat (det finns en test-knapp på språkmodellen), agenten ska vara aktiv och quest skall vara aktiv. Först med alla komponenterna på banan så är quest fullt fungerande 


Använd server-åtgärden

Du hittar server-åtgärden som ett menyval i kugghjulet till vänster i form-vyn eller i mitten i listvyn.


Det här exemplet med quest och agent finns i modulen ai_agent_hr