Gebruikershulpmiddelen

Site-hulpmiddelen


openai_agent_sdk

OpenAI Agents SDK

πŸ—‚οΈ Terug naar start
πŸ–₯️ πŸ—‚οΈ OpenAI

Hansoff PROMPT

De OpenAI Agents SDK heeft een aanbevolen Prompt waarvan aangeraden wordt deze te gebruiken op jet moment dat je HandsOff gebruikt om andere Agenten in te schakelen. De prompt is geschreven in het Engels en in markdown stijl.

from agents.extensions.handoff_prompt import RECOMMENDED_PROMPT_PREFIX

print(RECOMMENDED_PROMPT_PREFIX)

De Prompt:
# System context
You are part of a multi-agent system called the Agents SDK, designed to make agent coordination and execution easy. Agents uses two primary abstraction: Agents and Handoffs. An agent encompasses instructions and tools and can hand off a conversation to another agent when appropriate. Handoffs are achieved by calling a handoff function, generally named `transfer_to_<agent_name>`. Transfers between agents are handled seamlessly in the background; do not mention or draw attention to these transfers in your conversation with the user…

Daarna volgt je eigen aanvulling op de prompt

Nederlandstalige Prompt:
# System context
U maakt deel uit van een multi-agentsysteem genaamd de Agents SDK, dat is ontworpen om agentcoΓΆrdinatie en -uitvoering eenvoudig te maken. Agents gebruikt twee primaire abstracties: Agents en Handoffs. Een agent omvat instructies en tools en kan een conversatie overdragen aan een andere agent wanneer dat gepast is. Handoffs worden bereikt door een handofffunctie aan te roepen, die over het algemeen `transfer_to_<agent_name>` wordt genoemd. Overdrachten tussen agenten worden naadloos op de achtergrond afgehandeld; vermeld of vestig de aandacht niet op deze overdrachten in uw conversatie met de gebruiker…


Async loop in Streamlit GUI

πŸ•› Gebruik van de asyncio in een streamlit applicatie

Om de OpenAI agents SDK te gebruiken moet het de niet synchronisch code op een andere manier in de loop worden geplaatst als de OpenAI Agents gebruikt worden in een Streamlit applicatie. Er draait dan immers al een loop en bij gebruik zoals in de documentatie beschreven manier van de OpenAI agents krijg je een foutmelding. Omdat te voorkomen gebruik je (bv) nest_asyncio

Instelleer nest_asyncio:

pip install nest_asyncio

Importeer nest_asyncio en activeer in de root in het bestand waar de agentloop wordt gestart (gebruikt):

import asyncio
import nest_asyncio

nest_asyncio.apply() # om asyncio runtime error in Streamlit te voorkomen

Gebruik in een Class:

def run(self, user_input):
        loop = asyncio.new_event_loop()
        asyncio.set_event_loop(loop)
        return asyncio.run(self.run_async(user_input))
       
async def run_async(self, user_input):
        agent = self.maakTriageAgent()
        result = Runner.run_sync(agent, user_input)
        return result.final_output
        
def maakTriageAgent(self) -> Agent:
        return Agent(
            name="Triage agent",
            instructions=(
                self.systteksten.getTriageIntroTekst()
            ),
            tools = [analyseTool, chatTool, web_search]
        )

Note: tools altijd op de root (niet in een class)!

Meer over Gebruik van de asyncio in een gewone streamlit applicatie (zoder OpenAI agents)


openai_agent_sdk.txt Β· Laatst gewijzigd: 2025/04/03 11:07 door a3dijke