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

Version Path
ruby-openai-swarm-0.4.0.1 examples/basic/agent_handoff.rb
ruby-openai-swarm-0.4.0 examples/basic/agent_handoff.rb
ruby-openai-swarm-0.3.1 examples/basic/agent_handoff.rb
ruby-openai-swarm-0.3.0.1 examples/basic/agent_handoff.rb
ruby-openai-swarm-0.3.0 examples/basic/agent_handoff.rb
ruby-openai-swarm-0.2.9 examples/basic/agent_handoff.rb
ruby-openai-swarm-0.2.8 examples/basic/agent_handoff.rb
ruby-openai-swarm-0.2.7 examples/basic/agent_handoff.rb
ruby-openai-swarm-0.2.6 examples/basic/agent_handoff.rb
ruby-openai-swarm-0.2.5 examples/basic/agent_handoff.rb
ruby-openai-swarm-0.2.4 examples/basic/agent_handoff.rb
ruby-openai-swarm-0.2.3 examples/basic/agent_handoff.rb
ruby-openai-swarm-0.2.2 examples/basic/agent_handoff.rb
ruby-openai-swarm-0.2.1 examples/basic/agent_handoff.rb
ruby-openai-swarm-0.2.0 examples/basic/agent_handoff.rb