diff --git a/Gemfile.lock b/Gemfile.lock index cf80fab..d3b3cc3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - ai (0.5.3) + ai (0.6.0) actionpack (>= 7.1.3) activesupport (>= 7.1.3) json_schemer (~> 2.4.0) diff --git a/README.md b/README.md index 00dcc3b..1d17493 100644 --- a/README.md +++ b/README.md @@ -172,7 +172,7 @@ agent = Ai::Agent.new(agent_name: 'my_agent', client: Ai::Client.new) result = agent.generate_object( messages: messages, output_class: Output, - runtime_context: { user_id: 123, session: 'abc' }, # Optional context + request_context: { user_id: 123, session: 'abc' }, # Optional context max_retries: 3, # Retry attempts (default: 2) max_steps: 10 # Max processing steps (default: 5) ) @@ -189,7 +189,7 @@ agent = Ai::Agent.new(agent_name: 'my_agent', client: Ai::Client.new) result = agent.generate_text( messages: messages, - runtime_context: {}, # Optional context + request_context: {}, # Optional context max_retries: 2, # Retry attempts (default: 2) max_steps: 5 # Max processing steps (default: 5) ) diff --git a/bin/console b/bin/console index a2694b2..56120c1 100755 --- a/bin/console +++ b/bin/console @@ -33,16 +33,16 @@ class MyAiMagicProcess sig do params( message: Ai::Message, - runtime_context: T::Hash[String, T.anything], + request_context: T::Hash[String, T.anything], max_retries: Integer, max_steps: Integer ).returns(Ai::GenerateTextResult) end - def self.generate_text(message:, runtime_context: {}, max_retries: 2, max_steps: 5) + def self.generate_text(message:, request_context: {}, max_retries: 2, max_steps: 5) Ai::Agent.generate_text( agent_name, message: message, - runtime_context: runtime_context, + request_context: request_context, max_retries: max_retries, max_steps: max_steps ) @@ -57,10 +57,10 @@ class MyAiMagicProcess def call message = Ai.user_message('hello') - response = MyAgent[Output].generate_object(message: message, runtime_context: {}) + response = MyAgent[Output].generate_object(message: message, request_context: {}) response.object.response - other_response = MyAgent.generate_text(message: message, runtime_context: {}) + other_response = MyAgent.generate_text(message: message, request_context: {}) other_response.text end end diff --git a/lib/ai/agent.rb b/lib/ai/agent.rb index 70274c4..89d2a38 100644 --- a/lib/ai/agent.rb +++ b/lib/ai/agent.rb @@ -19,7 +19,7 @@ def initialize(agent_name:, client: Ai.client) sig do params( messages: T::Array[Ai::Message], - runtime_context: T::Hash[String, T.anything], + request_context: T::Hash[String, T.anything], max_retries: Integer, max_steps: Integer, telemetry: Ai::TelemetrySettings @@ -27,13 +27,13 @@ def initialize(agent_name:, client: Ai.client) end def generate_text( messages:, - runtime_context: {}, + request_context: {}, max_retries: 2, max_steps: 5, telemetry: Ai::TelemetrySettings.new ) options = { - runtime_context: runtime_context, + request_context: request_context, max_retries: max_retries, max_steps: max_steps, telemetry: telemetry @@ -48,7 +48,7 @@ def generate_text( .params( messages: T::Array[Ai::Message], output_class: T.all(T::Class[T.type_parameter(:O)], T::Class[T::Struct]), - runtime_context: T::Hash[String, T.anything], + request_context: T::Hash[String, T.anything], max_retries: Integer, max_steps: Integer, telemetry: Ai::TelemetrySettings @@ -58,7 +58,7 @@ def generate_text( def generate_object( messages:, output_class:, - runtime_context: {}, + request_context: {}, max_retries: 2, max_steps: 5, telemetry: Ai::TelemetrySettings.new @@ -66,7 +66,7 @@ def generate_object( schema = Ai::StructToJsonSchema.convert(T.cast(output_class, T.class_of(T::Struct))) options = { - runtime_context: runtime_context, + request_context: request_context, max_retries: max_retries, max_steps: max_steps, structured_output: { diff --git a/lib/ai/version.rb b/lib/ai/version.rb index 0c104e9..d4e6d83 100644 --- a/lib/ai/version.rb +++ b/lib/ai/version.rb @@ -2,5 +2,5 @@ # frozen_string_literal: true module Ai - VERSION = '0.5.3' + VERSION = '0.6.0' end diff --git a/spec/lib/ai/agent_spec.rb b/spec/lib/ai/agent_spec.rb index ea68830..1144d14 100644 --- a/spec/lib/ai/agent_spec.rb +++ b/spec/lib/ai/agent_spec.rb @@ -17,21 +17,21 @@ expect(result.usage.total_tokens).to eq(11) end - it 'passes runtime_context to the client' do - runtime_context = { 'user_id' => '123', 'session_id' => 'abc' } + it 'passes request_context to the client' do + request_context = { 'user_id' => '123', 'session_id' => 'abc' } expect(client).to receive(:generate).with( 'test', messages: anything, options: { - runtime_context: runtime_context, + request_context: request_context, max_retries: 2, max_steps: 5, telemetry: anything } ).and_call_original - agent.generate_text(messages: [Ai.user_message('Hello')], runtime_context: runtime_context) + agent.generate_text(messages: [Ai.user_message('Hello')], request_context: request_context) end it 'passes custom max_retries and max_steps to client' do @@ -39,7 +39,7 @@ 'test', messages: anything, options: { - runtime_context: { + request_context: { }, max_retries: 5, max_steps: 10, @@ -66,7 +66,7 @@ 'test', messages: anything, options: { - runtime_context: { + request_context: { }, max_retries: 2, max_steps: 5, @@ -82,7 +82,7 @@ 'test', messages: anything, options: { - runtime_context: { + request_context: { }, max_retries: 2, max_steps: 5, @@ -140,15 +140,15 @@ expect(result.usage.cached_input_tokens).to be_nil end - it 'passes runtime_context and options to client' do - runtime_context = { 'user_id' => '456', 'context' => 'test' } + it 'passes request_context and options to client' do + request_context = { 'user_id' => '456', 'context' => 'test' } expect(client).to receive(:generate).with( 'test', messages: anything, options: hash_including( - runtime_context: runtime_context, + request_context: request_context, max_retries: 3, max_steps: 8, structured_output: hash_including(schema: anything), @@ -159,7 +159,7 @@ agent.generate_object( messages: [Ai.user_message('Create person')], output_class: schema, - runtime_context: runtime_context, + request_context: request_context, max_retries: 3, max_steps: 8 )