Sha256: b9b2a3251c3d1d2a163511b0d3fe7ff5f5b94432ab336aa8ff3e85fa9de7012b
Contents?: true
Size: 982 Bytes
Versions: 15
Compression:
Stored size: 982 Bytes
Contents
require_relative "../bootstrap" # link: https://github.com/openai/swarm/blob/main/examples/basic/agent_handoff.py client = OpenAISwarm.new def spanish_agent OpenAISwarm::Agent.new( name: "Spanish Agent", instructions: "You only speak Spanish.", model: "gpt-4o-mini" ) end transfer_to_spanish_agent = OpenAISwarm::FunctionDescriptor.new( target_method: :spanish_agent, description: 'Transfer spanish speaking users immediately.' ) english_agent = OpenAISwarm::Agent.new( name: "English Agent", instructions: "You only speak English.", model: "gpt-4o-mini", functions: [transfer_to_spanish_agent] ) messages = [{"role": "user", "content": "Hola. ¿Como estás?"}] response = client.run(agent: english_agent, messages: messages, debug: true) p response.messages.last # => {"role"=>"assistant", "content"=>"¡Hola! Estoy bien, gracias. ¿Y tú?", "refusal"=>nil, :sender=>"Spanish Agent"} msg = response.messages.last msg['sender'] == "Spanish Agent"
Version data entries
15 entries across 15 versions & 1 rubygems