ldp 0.33.0.dev0__tar.gz → 33.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. ldp-33.1/.python-version +1 -0
  2. {ldp-0.33.0.dev0 → ldp-33.1}/PKG-INFO +1 -1
  3. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/src/lmi/llms.py +45 -0
  4. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/src/lmi/types.py +3 -0
  5. ldp-33.1/packages/lmi/tests/cassettes/TestLiteLLMModel.test_call[OpenAI-model-1].yaml +234 -0
  6. ldp-0.33.0.dev0/packages/lmi/tests/cassettes/TestLiteLLMModel.test_call[OpenAI-model].yaml → ldp-33.1/packages/lmi/tests/cassettes/TestLiteLLMModel.test_call[OpenAI-model-2].yaml +47 -49
  7. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestMultipleCompletion.test_model[gpt-3.5-turbo-0125].yaml +24 -22
  8. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestMultipleCompletion.test_multiple_completion[openai].yaml +47 -43
  9. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestMultipleCompletion.test_output_schema[json-mode-base-model].yaml +24 -22
  10. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestMultipleCompletion.test_output_schema[json-mode-type-adapter].yaml +25 -23
  11. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestMultipleCompletion.test_output_schema[structured-outputs].yaml +25 -23
  12. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestMultipleCompletion.test_parameterizing_tool_from_arg_union.yaml +26 -24
  13. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestMultipleCompletion.test_single_completion[claude-3-5-haiku-20241022].yaml +32 -28
  14. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestMultipleCompletion.test_single_completion[gpt-3.5-turbo-0125].yaml +44 -41
  15. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestMultipleCompletion.test_text_image_message[gpt-4o-mini-2024-07-18].yaml +25 -23
  16. ldp-33.1/packages/lmi/tests/cassettes/TestReasoning.test_deepseek_model[deepseek-reasoner].yaml +2100 -0
  17. ldp-33.1/packages/lmi/tests/cassettes/TestReasoning.test_deepseek_model[openrouter-deepseek].yaml +967 -0
  18. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestTooling.test_multi_response_validation.yaml +22 -23
  19. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestTooling.test_tool_selection.yaml +48 -44
  20. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/test_llms.py +31 -1
  21. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/version.py +3 -3
  22. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp.egg-info/PKG-INFO +1 -1
  23. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp.egg-info/SOURCES.txt +2 -1
  24. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestAgentState.test_no_state_mutation[agent0].yaml +26 -24
  25. ldp-0.33.0.dev0/tests/cassettes/TestMemoryAgent.test_agent_grad.yaml → ldp-33.1/tests/cassettes/TestAgentState.test_no_state_mutation[agent1].yaml +26 -24
  26. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestAgentState.test_no_state_mutation[agent2].yaml +65 -62
  27. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestHTTPAgentClient.test_lifecycle.yaml +104 -96
  28. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestLLMCallOp.test_compute_logprob[0.0].yaml +29 -27
  29. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestLLMCallOp.test_compute_logprob[0.5].yaml +30 -28
  30. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestLLMCallOp.test_compute_logprob[1.0].yaml +30 -27
  31. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestLLMCallOp.test_cost_tracking.yaml +49 -45
  32. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestLLMCallOp.test_empty_tools.yaml +25 -23
  33. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestLLMCallOp.test_validation.yaml +69 -63
  34. ldp-0.33.0.dev0/tests/cassettes/test_offline_trainer[False].yaml → ldp-33.1/tests/cassettes/TestMemoryAgent.test_agent_grad.yaml +26 -24
  35. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestMemoryAgent.test_dummyenv[gpt-4o-mini-2024-07-18].yaml +28 -26
  36. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestMemoryOpt.test_lessons_memory_optimizer.yaml +111 -101
  37. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestNoToolsSimpleAgent.test_dummyenv[claude-3-5-haiku-20241022].yaml +16 -14
  38. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestNoToolsSimpleAgent.test_dummyenv[gpt-4o-mini-2024-07-18].yaml +25 -23
  39. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestParallelism.test_SimpleAgent_can_parallel_call.yaml +26 -24
  40. ldp-0.33.0.dev0/tests/cassettes/TestReActAgent.test_react_dummyenv[False-claude-3-5-haiku-20241022].yaml → ldp-33.1/tests/cassettes/TestReActAgent.test_agent_grad[False-claude-3-5-haiku-20241022].yaml +34 -30
  41. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestReActAgent.test_agent_grad[False-gpt-4o].yaml +53 -48
  42. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestReActAgent.test_agent_grad[True-claude-3-5-haiku-20241022].yaml +18 -15
  43. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestReActAgent.test_agent_grad[True-gpt-4-turbo].yaml +26 -24
  44. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestReActAgent.test_multi_step[False].yaml +157 -148
  45. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestReActAgent.test_multi_step[True].yaml +75 -69
  46. ldp-0.33.0.dev0/tests/cassettes/TestReActAgent.test_agent_grad[False-claude-3-5-haiku-20241022].yaml → ldp-33.1/tests/cassettes/TestReActAgent.test_react_dummyenv[False-claude-3-5-haiku-20241022].yaml +36 -32
  47. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestReActAgent.test_react_dummyenv[False-gpt-4o].yaml +48 -44
  48. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestReActAgent.test_react_dummyenv[True-claude-3-5-haiku-20241022].yaml +18 -15
  49. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestReActAgent.test_react_dummyenv[True-gpt-4-turbo].yaml +26 -24
  50. ldp-0.33.0.dev0/tests/cassettes/TestSimpleAgent.test_dummyenv[claude-3-5-haiku-20241022].yaml → ldp-33.1/tests/cassettes/TestSimpleAgent.test_agent_grad[claude-3-5-haiku-20241022].yaml +18 -16
  51. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestSimpleAgent.test_agent_grad[gpt-4o-mini-2024-07-18].yaml +27 -25
  52. ldp-0.33.0.dev0/tests/cassettes/TestSimpleAgent.test_agent_grad[claude-3-5-haiku-20241022].yaml → ldp-33.1/tests/cassettes/TestSimpleAgent.test_dummyenv[claude-3-5-haiku-20241022].yaml +17 -15
  53. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestSimpleAgent.test_dummyenv[gpt-4o-mini-2024-07-18].yaml +27 -25
  54. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestSimpleAgent.test_hide_old_action_content.yaml +53 -49
  55. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/TestSimpleAgent.test_hide_old_env_states.yaml +46 -42
  56. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/test_beam_search.yaml +51 -47
  57. ldp-33.1/tests/cassettes/test_llm_call_graph.yaml +295 -0
  58. ldp-0.33.0.dev0/tests/cassettes/TestAgentState.test_no_state_mutation[agent1].yaml → ldp-33.1/tests/cassettes/test_offline_trainer[False].yaml +25 -23
  59. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/test_offline_trainer[True].yaml +26 -24
  60. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/test_online_trainer[False].yaml +128 -116
  61. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/test_online_trainer[True].yaml +124 -114
  62. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/test_reflect_module.yaml +20 -18
  63. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/test_rollout[False].yaml +52 -48
  64. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/test_rollout[True].yaml +52 -48
  65. ldp-0.33.0.dev0/.python-version +0 -1
  66. ldp-0.33.0.dev0/packages/lmi/tests/cassettes/TestReasoning.test_deepseek_model[deepseek-reasoner].yaml +0 -1412
  67. ldp-0.33.0.dev0/packages/lmi/tests/cassettes/TestReasoning.test_deepseek_model[openrouter-deepseek].yaml +0 -1487
  68. ldp-0.33.0.dev0/tests/cassettes/test_llm_call_graph.yaml +0 -295
  69. {ldp-0.33.0.dev0 → ldp-33.1}/.github/renovate.json5 +0 -0
  70. {ldp-0.33.0.dev0 → ldp-33.1}/.github/workflows/docs.yml +0 -0
  71. {ldp-0.33.0.dev0 → ldp-33.1}/.github/workflows/publish.yml +0 -0
  72. {ldp-0.33.0.dev0 → ldp-33.1}/.github/workflows/tests.yml +0 -0
  73. {ldp-0.33.0.dev0 → ldp-33.1}/.gitignore +0 -0
  74. {ldp-0.33.0.dev0 → ldp-33.1}/.mailmap +0 -0
  75. {ldp-0.33.0.dev0 → ldp-33.1}/.pre-commit-config.yaml +0 -0
  76. {ldp-0.33.0.dev0 → ldp-33.1}/.secrets.allowlist +0 -0
  77. {ldp-0.33.0.dev0 → ldp-33.1}/CITATION.cff +0 -0
  78. {ldp-0.33.0.dev0 → ldp-33.1}/LICENSE +0 -0
  79. {ldp-0.33.0.dev0 → ldp-33.1}/README.md +0 -0
  80. {ldp-0.33.0.dev0 → ldp-33.1}/citation.bib +0 -0
  81. {ldp-0.33.0.dev0 → ldp-33.1}/docs/assets/Aviary.png +0 -0
  82. {ldp-0.33.0.dev0 → ldp-33.1}/docs/assets/ldp_chessboard.png +0 -0
  83. {ldp-0.33.0.dev0 → ldp-33.1}/docs/assets/ldp_definition.png +0 -0
  84. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/LICENSE +0 -0
  85. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/README.md +0 -0
  86. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/pyproject.toml +0 -0
  87. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/src/lmi/__init__.py +0 -0
  88. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/src/lmi/constants.py +0 -0
  89. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/src/lmi/cost_tracker.py +0 -0
  90. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/src/lmi/embeddings.py +0 -0
  91. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/src/lmi/exceptions.py +0 -0
  92. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/src/lmi/py.typed +0 -0
  93. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/src/lmi/rate_limiter.py +0 -0
  94. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/src/lmi/utils.py +0 -0
  95. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/__init__.py +0 -0
  96. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestLiteLLMEmbeddingModel.test_caching.yaml +0 -0
  97. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestLiteLLMEmbeddingModel.test_embedding_batches.yaml +0 -0
  98. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestLiteLLMEmbeddingModel.test_router_usage[with-router].yaml +0 -0
  99. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestLiteLLMEmbeddingModel.test_router_usage[without-router].yaml +0 -0
  100. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestLiteLLMModel.test_call[Anthropic-model].yaml +0 -0
  101. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestLiteLLMModel.test_call_single[with-router].yaml +0 -0
  102. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestLiteLLMModel.test_call_single[without-router].yaml +0 -0
  103. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestLiteLLMModel.test_call_w_multiple_models[multiple-models].yaml +0 -0
  104. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestLiteLLMModel.test_cost_call[Anthropic-model].yaml +0 -0
  105. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestLiteLLMModel.test_cost_call[OpenAI-model].yaml +0 -0
  106. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestLiteLLMModel.test_cost_call_single[with-router].yaml +0 -0
  107. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestLiteLLMModel.test_cost_call_single[without-router].yaml +0 -0
  108. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestLiteLLMModel.test_max_token_truncation[with-router].yaml +0 -0
  109. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestLiteLLMModel.test_max_token_truncation[without-router].yaml +0 -0
  110. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestReasoning.test_anthropic_model.yaml +0 -0
  111. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestTooling.test_empty_tools[Anthropic-empty-tools].yaml +0 -0
  112. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestTooling.test_empty_tools[Anthropic-no-tools].yaml +0 -0
  113. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestTooling.test_empty_tools[OpenAI-empty-tools].yaml +0 -0
  114. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/cassettes/TestTooling.test_empty_tools[OpenAI-no-tools].yaml +0 -0
  115. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/conftest.py +0 -0
  116. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/test_cost_tracking.py +0 -0
  117. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/test_embeddings.py +0 -0
  118. {ldp-0.33.0.dev0 → ldp-33.1}/packages/lmi/tests/test_rate_limiter.py +0 -0
  119. {ldp-0.33.0.dev0 → ldp-33.1}/pyproject.toml +0 -0
  120. {ldp-0.33.0.dev0 → ldp-33.1}/setup.cfg +0 -0
  121. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/__init__.py +0 -0
  122. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/agent/__init__.py +0 -0
  123. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/agent/agent.py +0 -0
  124. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/agent/agent_client.py +0 -0
  125. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/agent/interactive_agent.py +0 -0
  126. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/agent/memory_agent.py +0 -0
  127. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/agent/react_agent.py +0 -0
  128. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/agent/simple_agent.py +0 -0
  129. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/agent/tree_of_thoughts_agent.py +0 -0
  130. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/alg/__init__.py +0 -0
  131. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/alg/algorithms.py +0 -0
  132. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/alg/beam_search.py +0 -0
  133. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/alg/callbacks.py +0 -0
  134. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/alg/datasets.py +0 -0
  135. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/alg/optimizer/__init__.py +0 -0
  136. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/alg/optimizer/ape.py +0 -0
  137. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/alg/optimizer/memory.py +0 -0
  138. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/alg/optimizer/opt.py +0 -0
  139. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/alg/optimizer/replay_buffers.py +0 -0
  140. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/alg/rollout.py +0 -0
  141. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/alg/runners.py +0 -0
  142. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/alg/tree_search.py +0 -0
  143. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/data_structures.py +0 -0
  144. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/graph/__init__.py +0 -0
  145. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/graph/async_torch.py +0 -0
  146. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/graph/common_ops.py +0 -0
  147. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/graph/gradient_estimators.py +0 -0
  148. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/graph/loss_ops.py +0 -0
  149. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/graph/memory.py +0 -0
  150. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/graph/modules/__init__.py +0 -0
  151. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/graph/modules/llm_call.py +0 -0
  152. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/graph/modules/react.py +0 -0
  153. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/graph/modules/reflect.py +0 -0
  154. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/graph/modules/thought.py +0 -0
  155. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/graph/op_utils.py +0 -0
  156. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/graph/ops.py +0 -0
  157. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/graph/torch_ops.py +0 -0
  158. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/llms/__init__.py +0 -0
  159. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/llms/prompts.py +0 -0
  160. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/main.py +0 -0
  161. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/nn/__init__.py +0 -0
  162. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/nn/agent/simple_local_agent.py +0 -0
  163. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/nn/chat_templates/README.md +0 -0
  164. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/nn/chat_templates/llama2_chat_template_ori.jinja +0 -0
  165. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/nn/chat_templates/llama3.1_chat_template_hf.jinja +0 -0
  166. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/nn/chat_templates/llama3.1_chat_template_nothought.jinja +0 -0
  167. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/nn/chat_templates/llama3.1_chat_template_thought.jinja +0 -0
  168. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/nn/chat_templates/llama3.1_chat_template_vllm.jinja +0 -0
  169. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/nn/chat_templates/llama3_chat_template_ori.jinja +0 -0
  170. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/nn/generation/__init__.py +0 -0
  171. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/nn/generation/base.py +0 -0
  172. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/nn/graph/llm_call_op.py +0 -0
  173. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/nn/handlers/chunking.py +0 -0
  174. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/nn/handlers/module_handler.py +0 -0
  175. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/nn/handlers/transformer_handler.py +0 -0
  176. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/nn/lm_config.py +0 -0
  177. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/nn/utils.py +0 -0
  178. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/py.typed +0 -0
  179. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/shims.py +0 -0
  180. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp/utils.py +0 -0
  181. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp.egg-info/dependency_links.txt +0 -0
  182. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp.egg-info/requires.txt +0 -0
  183. {ldp-0.33.0.dev0 → ldp-33.1}/src/ldp.egg-info/top_level.txt +0 -0
  184. {ldp-0.33.0.dev0 → ldp-33.1}/tests/.gitignore +0 -0
  185. {ldp-0.33.0.dev0 → ldp-33.1}/tests/__init__.py +0 -0
  186. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/test_embedding_op[text-embedding-3-large-0-256].yaml +0 -0
  187. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/test_embedding_op[text-embedding-3-large-0-512].yaml +0 -0
  188. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/test_embedding_op[text-embedding-3-large-32-256].yaml +0 -0
  189. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/test_embedding_op[text-embedding-3-large-32-512].yaml +0 -0
  190. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/test_embedding_op[text-embedding-3-large-64-256].yaml +0 -0
  191. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/test_embedding_op[text-embedding-3-large-64-512].yaml +0 -0
  192. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/test_embedding_op[text-embedding-3-small-0-256].yaml +0 -0
  193. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/test_embedding_op[text-embedding-3-small-0-512].yaml +0 -0
  194. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/test_embedding_op[text-embedding-3-small-32-256].yaml +0 -0
  195. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/test_embedding_op[text-embedding-3-small-32-512].yaml +0 -0
  196. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/test_embedding_op[text-embedding-3-small-64-256].yaml +0 -0
  197. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/test_embedding_op[text-embedding-3-small-64-512].yaml +0 -0
  198. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/test_fallbacks_working[False].yaml +0 -0
  199. {ldp-0.33.0.dev0 → ldp-33.1}/tests/cassettes/test_fallbacks_working[True].yaml +0 -0
  200. {ldp-0.33.0.dev0 → ldp-33.1}/tests/conftest.py +0 -0
  201. {ldp-0.33.0.dev0 → ldp-33.1}/tests/test_agents.py +0 -0
  202. {ldp-0.33.0.dev0 → ldp-33.1}/tests/test_algorithms.py +0 -0
  203. {ldp-0.33.0.dev0 → ldp-33.1}/tests/test_buffers.py +0 -0
  204. {ldp-0.33.0.dev0 → ldp-33.1}/tests/test_context_managers.py +0 -0
  205. {ldp-0.33.0.dev0 → ldp-33.1}/tests/test_data_structures.py +0 -0
  206. {ldp-0.33.0.dev0 → ldp-33.1}/tests/test_envs.py +0 -0
  207. {ldp-0.33.0.dev0 → ldp-33.1}/tests/test_gradients.py +0 -0
  208. {ldp-0.33.0.dev0 → ldp-33.1}/tests/test_loss_ops.py +0 -0
  209. {ldp-0.33.0.dev0 → ldp-33.1}/tests/test_memory.py +0 -0
  210. {ldp-0.33.0.dev0 → ldp-33.1}/tests/test_modules.py +0 -0
  211. {ldp-0.33.0.dev0 → ldp-33.1}/tests/test_nn_models.py +0 -0
  212. {ldp-0.33.0.dev0 → ldp-33.1}/tests/test_nn_ops.py +0 -0
  213. {ldp-0.33.0.dev0 → ldp-33.1}/tests/test_ops.py +0 -0
  214. {ldp-0.33.0.dev0 → ldp-33.1}/tests/test_optimizer.py +0 -0
  215. {ldp-0.33.0.dev0 → ldp-33.1}/tests/test_prompts.py +0 -0
  216. {ldp-0.33.0.dev0 → ldp-33.1}/tests/test_readme.py +0 -0
  217. {ldp-0.33.0.dev0 → ldp-33.1}/tests/test_rollouts.py +0 -0
  218. {ldp-0.33.0.dev0 → ldp-33.1}/tests/test_runners.py +0 -0
  219. {ldp-0.33.0.dev0 → ldp-33.1}/tests/test_shims.py +0 -0
  220. {ldp-0.33.0.dev0 → ldp-33.1}/tests/test_torch_ops.py +0 -0
  221. {ldp-0.33.0.dev0 → ldp-33.1}/tests/test_utils.py +0 -0
  222. {ldp-0.33.0.dev0 → ldp-33.1}/tutorials/creating_a_language_agent.ipynb +0 -0
  223. {ldp-0.33.0.dev0 → ldp-33.1}/tutorials/evaluating_a_llama_agent.ipynb +0 -0
  224. {ldp-0.33.0.dev0 → ldp-33.1}/uv.lock +0 -0
@@ -0,0 +1 @@
1
+ 3.12
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ldp
3
- Version: 0.33.0.dev0
3
+ Version: 33.1
4
4
  Summary: Agent framework for constructing language model agents and training on constructive tasks.
5
5
  Author-email: FutureHouse technical staff <hello@futurehouse.org>
6
6
  License: Apache License
@@ -3,6 +3,7 @@ __all__ = [
3
3
  "LLMModel",
4
4
  "LiteLLMModel",
5
5
  "PassThroughRouter",
6
+ "extract_top_logprobs",
6
7
  "rate_limited",
7
8
  "request_limited",
8
9
  "sum_logprobs",
@@ -75,6 +76,8 @@ class CommonLLMNames(StrEnum):
75
76
  """When you don't want to think about models, just use one from here."""
76
77
 
77
78
  # Use these to avoid thinking about exact versions
79
+ GPT_5 = "gpt-5-2025-08-07"
80
+ GPT_5_MINI = "gpt-5-mini-2025-08-07"
78
81
  GPT_4O = "gpt-4o-2024-11-20"
79
82
  GPT_35_TURBO = "gpt-3.5-turbo-0125"
80
83
  CLAUDE_35_SONNET = "claude-3-5-sonnet-20241022"
@@ -116,6 +119,24 @@ def sum_logprobs(choice: litellm.utils.Choices | list[float]) -> float | None:
116
119
  return None
117
120
 
118
121
 
122
+ def extract_top_logprobs(
123
+ completion: litellm.utils.Choices,
124
+ ) -> list[list[tuple[str, float]]] | None:
125
+ """Extract the top logprobs from an litellm completion."""
126
+ logprobs_obj = getattr(completion, "logprobs", None)
127
+ if logprobs_obj is None:
128
+ return None
129
+
130
+ content = getattr(logprobs_obj, "content", None)
131
+ if not content or not isinstance(content, list):
132
+ return None
133
+
134
+ return [
135
+ [(t.token, float(t.logprob)) for t in (getattr(pos, "top_logprobs", []) or [])]
136
+ for pos in content
137
+ ]
138
+
139
+
119
140
  def validate_json_completion(
120
141
  completion: litellm.ModelResponse,
121
142
  output_type: type[BaseModel] | TypeAdapter | JSONSchema,
@@ -566,6 +587,15 @@ class LiteLLMModel(LLMModel):
566
587
  if "name" not in data:
567
588
  data["name"] = data["config"].get("name", cls.model_fields["name"].default)
568
589
  if "model_list" not in data["config"]:
590
+ is_openai_model = "openai" in litellm.get_llm_provider(data["name"])
591
+ max_tokens = data["config"].get("max_tokens")
592
+ if (
593
+ "logprobs" in data["config"] or "top_logprobs" in data["config"]
594
+ ) and not is_openai_model:
595
+ logger.warning(
596
+ "Ignoring token logprobs for non-OpenAI model %s, as they are not supported.",
597
+ data["name"],
598
+ )
569
599
  data["config"] = {
570
600
  "model_list": [
571
601
  {
@@ -582,6 +612,19 @@ class LiteLLMModel(LLMModel):
582
612
  if "gemini" not in data["name"]
583
613
  else {"safety_settings": DEFAULT_VERTEX_SAFETY_SETTINGS}
584
614
  )
615
+ | ({} if max_tokens else {"max_tokens": max_tokens})
616
+ | (
617
+ {}
618
+ if "logprobs" not in data["config"]
619
+ or not is_openai_model
620
+ else {"logprobs": data["config"]["logprobs"]}
621
+ )
622
+ | (
623
+ {}
624
+ if "top_logprobs" not in data["config"]
625
+ or not is_openai_model
626
+ else {"top_logprobs": data["config"]["top_logprobs"]}
627
+ )
585
628
  ),
586
629
  }
587
630
  ],
@@ -706,6 +749,7 @@ class LiteLLMModel(LLMModel):
706
749
  prompt=messages,
707
750
  messages=output_messages,
708
751
  logprob=sum_logprobs(completion),
752
+ top_logprobs=extract_top_logprobs(completion),
709
753
  prompt_count=completions.usage.prompt_tokens, # type: ignore[attr-defined]
710
754
  completion_count=completions.usage.completion_tokens, # type: ignore[attr-defined]
711
755
  system_fingerprint=completions.system_fingerprint,
@@ -765,6 +809,7 @@ class LiteLLMModel(LLMModel):
765
809
  prompt=messages,
766
810
  messages=[Message(role=role, content=text)],
767
811
  logprob=sum_logprobs(logprobs),
812
+ top_logprobs=extract_top_logprobs(completion),
768
813
  reasoning_content="".join(reasoning_content),
769
814
  )
770
815
 
@@ -79,6 +79,9 @@ class LLMResult(BaseModel):
79
79
  logprob: float | None = Field(
80
80
  default=None, description="Sum of logprobs in the completion."
81
81
  )
82
+ top_logprobs: list[list[tuple[str, float]]] | None = Field(
83
+ default=None, description="Top logprobs for each position in the completion."
84
+ )
82
85
  reasoning_content: str | None = Field(
83
86
  default=None, description="Reasoning content from LLMs such as DeepSeek-R1."
84
87
  )
@@ -0,0 +1,234 @@
1
+ interactions:
2
+ - request:
3
+ body:
4
+ '{"messages":[{"role":"system","content":"Respond with single words."},{"role":"user","content":"What
5
+ is the meaning of the universe?"}],"model":"gpt-4o-mini-2024-07-18","logprobs":true,"max_tokens":56,"temperature":0,"top_logprobs":5}'
6
+ headers:
7
+ accept:
8
+ - application/json
9
+ accept-encoding:
10
+ - gzip, deflate
11
+ connection:
12
+ - keep-alive
13
+ content-length:
14
+ - "234"
15
+ content-type:
16
+ - application/json
17
+ host:
18
+ - api.openai.com
19
+ user-agent:
20
+ - AsyncOpenAI/Python 1.97.0
21
+ x-stainless-arch:
22
+ - arm64
23
+ x-stainless-async:
24
+ - async:asyncio
25
+ x-stainless-lang:
26
+ - python
27
+ x-stainless-os:
28
+ - MacOS
29
+ x-stainless-package-version:
30
+ - 1.97.0
31
+ x-stainless-raw-response:
32
+ - "true"
33
+ x-stainless-read-timeout:
34
+ - "60.0"
35
+ x-stainless-retry-count:
36
+ - "0"
37
+ x-stainless-runtime:
38
+ - CPython
39
+ x-stainless-runtime-version:
40
+ - 3.12.8
41
+ method: POST
42
+ uri: https://api.openai.com/v1/chat/completions
43
+ response:
44
+ body:
45
+ string: !!binary |
46
+ H4sIAAAAAAAAA8SXXW+bMBSG7/srLK4B+Rh/5nJZpU3TpmnVpE5VNRHitWwEo+BIaav+9wnappSY
47
+ EBLa5iJSXtvkvA/nA+5OEPLSuTdBXnId22RRZMFU/NRn5yv665Z8mn2+Tc8+/tDwZb2cnX8QxPOr
48
+ E2b2Vyf26VSYmEWRaZua/GE5WerY6uqqIBhTmADj9cLCzHVWHbsqbEBNsEjzNCCY0ACLAOTj6WuT
49
+ Jrr0JujiBCGE7urvKs58rtfeBGH/SVnosoyvtDfZbELIW5qsUry4LNPSxrn1/OfFxORW53Xop+u0
50
+ tDpPdNjcsNR/VmVcBZmvsqyxEOe5sXFlsg7t8nHlfhNMZq6KpZmVL6N5/sOLjYgaG+pN1vzT+Sam
51
+ RjjNC3sTFOAQKDBOIikiKgiBSLQ2z25sg93zhyu/pQDBWxJmWxI4JP5CufTbborfDRjtSO5av/v8
52
+ D2awk4ObRQePDiYdXFxsaj4t5d4fQOT7almYUvcwiULBOeOEcpAswkREA5FIt3cQbpm6ZeKWYQhA
53
+ DOMCPFs9NKs+gFLBUQCjAQCVdFvnHUSc11Bvkn9fb3oLkj4W5IbdQHTCnWQE3rPupvVMW/daj9Qx
54
+ 1rkYUjFYDSk7LAdkExDcz++ka/UF2a7ZVo3anaMNY4xBYSKEAqpYBJIRtud4c9gC2Opp2zXTbjcj
55
+ zjKH34M89yZR1y0FPKBvjN12dW7TOOvxDziUglUAREQlj4h8VesAfMCEV6KjrMYFdfptetqHSYTs
56
+ IU8OxOR+4BHOBuFuSVyNnR5JGvfYJhBGb5gdXYXRkRzj8kj36BYEjq4W5r9n/zhufoR9w4NhrghR
57
+ DKRSlEu15+igr/Y2E+7T/ndH3XtP6YHPPf8BAAD//6yY4WrDIBDHv+ct5gOEptbYwNheZCCiZyuk
58
+ RtQMCu27D5NsJmuzjKafT4/f/xJP7z/H/HoBIy9vC+Q0L7eEbMo9pfuqKv569sQxeg3Q+1JzLPIi
59
+ slBMdhQ/0hzxcyv4sgSMVwLjJwPnH2YZmcQ/9WHk3czFu6ZnZHdO7C/75sajUdpof2QOuG867T40
60
+ FmXf+bpMqJ14Ssi65mQD68oV9W2H4Rcl2ysFhykQhSbwerRnOCHTZExC4LoeO0ZIcHEEmXYms4u3
61
+ UjejQDaSdstyL3cvW5vDf9KngBBgA0hmHUgtpnrTMgdxzJ5b9lPiDhh5cJ9aAAsaXPwMEhRv637Q
62
+ RP7sA5yY0uYAzjrd23XKMlJuuCqBkApl1+wLAAD//wMA9BG5mrwUAAA=
63
+ headers:
64
+ CF-RAY:
65
+ - 9735d8a06a1c2516-SJC
66
+ Connection:
67
+ - keep-alive
68
+ Content-Encoding:
69
+ - gzip
70
+ Content-Type:
71
+ - application/json
72
+ Date:
73
+ - Fri, 22 Aug 2025 22:35:57 GMT
74
+ Server:
75
+ - cloudflare
76
+ Set-Cookie:
77
+ - __cf_bm=F1EEk8xHpNUkBZOLP7NN.vChOhhegbVd30KuceXOewk-1755902157-1.0.1.1-cEfH_bT0vBdqHLZDTnORZ82yHEHM61nkhA0Fo6rgMtbC4ZTXQAQz_sncplP97nwx59uuv77tfKTZc3x_WT3Rqk5ieVkDFFiwaacthznxRzg;
78
+ path=/; expires=Fri, 22-Aug-25 23:05:57 GMT; domain=.api.openai.com; HttpOnly;
79
+ Secure; SameSite=None
80
+ - _cfuvid=_lWMCKhbpPVnYK4J0BA5Xt6KSwh6FlXnrRJKyDSK9Ok-1755902157514-0.0.1.1-604800000;
81
+ path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
82
+ Strict-Transport-Security:
83
+ - max-age=31536000; includeSubDomains; preload
84
+ Transfer-Encoding:
85
+ - chunked
86
+ X-Content-Type-Options:
87
+ - nosniff
88
+ access-control-expose-headers:
89
+ - X-Request-ID
90
+ alt-svc:
91
+ - h3=":443"; ma=86400
92
+ cf-cache-status:
93
+ - DYNAMIC
94
+ openai-organization:
95
+ - future-house-xr4tdh
96
+ openai-processing-ms:
97
+ - "555"
98
+ openai-project:
99
+ - proj_RpeV6PrPclPHBb5GlExPXSBj
100
+ openai-version:
101
+ - "2020-10-01"
102
+ x-envoy-upstream-service-time:
103
+ - "586"
104
+ x-ratelimit-limit-requests:
105
+ - "30000"
106
+ x-ratelimit-limit-tokens:
107
+ - "150000000"
108
+ x-ratelimit-remaining-requests:
109
+ - "29999"
110
+ x-ratelimit-remaining-tokens:
111
+ - "149999980"
112
+ x-ratelimit-reset-requests:
113
+ - 2ms
114
+ x-ratelimit-reset-tokens:
115
+ - 0s
116
+ x-request-id:
117
+ - req_2aa0c6890bd5442f9f269b85d1b7552c
118
+ status:
119
+ code: 200
120
+ message: OK
121
+ - request:
122
+ body:
123
+ '{"messages":[{"role":"system","content":"Respond with single words."},{"role":"user","content":"What
124
+ is the meaning of the universe?"}],"model":"gpt-4o-mini-2024-07-18","logprobs":true,"max_tokens":56,"n":1,"temperature":0,"top_logprobs":5}'
125
+ headers:
126
+ accept:
127
+ - application/json
128
+ accept-encoding:
129
+ - gzip, deflate
130
+ connection:
131
+ - keep-alive
132
+ content-length:
133
+ - "240"
134
+ content-type:
135
+ - application/json
136
+ host:
137
+ - api.openai.com
138
+ user-agent:
139
+ - AsyncOpenAI/Python 1.97.0
140
+ x-stainless-arch:
141
+ - arm64
142
+ x-stainless-async:
143
+ - async:asyncio
144
+ x-stainless-lang:
145
+ - python
146
+ x-stainless-os:
147
+ - MacOS
148
+ x-stainless-package-version:
149
+ - 1.97.0
150
+ x-stainless-raw-response:
151
+ - "true"
152
+ x-stainless-read-timeout:
153
+ - "60.0"
154
+ x-stainless-retry-count:
155
+ - "0"
156
+ x-stainless-runtime:
157
+ - CPython
158
+ x-stainless-runtime-version:
159
+ - 3.12.8
160
+ method: POST
161
+ uri: https://api.openai.com/v1/chat/completions
162
+ response:
163
+ body:
164
+ string: !!binary |
165
+ H4sIAAAAAAAAA8SXXW+bMBSG7/srLK4B+dj4K5fNql1M+5C6StOqanKJ17ARHAVnalX1v0+QNKHE
166
+ lNCkbS4i5bVNzvtwPuD+BKEgmwQjFKRT7dLZPI/G4sJ81/rjKTMp/Tr98fPT8vT0w8W5dtN/Ogir
167
+ E/b6j0nd46k4tbN5blxmi9VyujDameqqIBhTmAAT9cLMTkxeHbuZuyix0SwrsohgkkRYRCDXp6c2
168
+ S00ZjNDlCUII3dffVZzFxNwGI4TDR2VmylLfmGC02YRQsLB5pQS6LLPS6cIF4XYxtYUzRR362W1W
169
+ OlOkJm5uWJjfy1JXQRbLPG8s6KKwTlcm69Cu1isPm2ByezNf2OvyaTTbP7zciKixod7k7F9TbGJq
170
+ hNO8cDBCEY4hAcYJlYImghCgorX5+s412G0/XIUtBQjekTDbkcAj8SfKVdh2M//VgNGO5L71u8//
171
+ YAbPcvCz6ODRwaSDi49NzaelPIQDiHxbLua2ND1MaCw4Z5wkHCSjmAg6EIn0ewfhlxO/TPwyDAGI
172
+ 4bgAz5erZtUHUCo4CCAdAFBJv3XeQcR7DfUm+ff5rrcgk3VBbtgNRCf8SUbgPetuXM+0217rVB1i
173
+ nYshFYPVkLLDckA2AcH9/E66Vp+Q7Zpt1ah9drRhjDEoTIRQkChGQTLC9hxvHlsAOz1tt2ba7eaI
174
+ s8zj90Wee5Oo65YCHtA3jt12TeEynff4BxxLwSoAgiaSUyJf1ToAHzDhlegoq+OCOvsyPuvDJGK2
175
+ ypMXYvI/8Ahvg/C3JK6OnR5ppntsE4jpG2ZHV2F0JMdxeWR7dAsCB1cLC9+zfxw2P+K+4cEwV4Qo
176
+ BlKphEu15+hIXu1tJt6n/T8fde89TV743PMfAAD//6yY4WrDIBDHv+ct5gOEptbYwNheZCCiZyuk
177
+ RtQMCu27D5NsJmuzjKafT4/f/xJP7z/H/HoBIy9vC+Q0L7eEbMo9pfuqKv569sQxeg3Q+1JzLPIi
178
+ slBMdhQ/0hzxcyv4sgSMVwLjJwPnH2YZmcQ/9WHk3czFu6ZnZHdO7C/75sajUdpof2QOuG867T40
179
+ FmXf+bpMqJ14Ssi65mQD68oV9W2H4Rcl2ysFhykQhSbwerRnOCHTZExC4LoeO0ZIcHEEmXYms4u3
180
+ UjejQDaSdstyL3cvW5vDf9KngBBgA0hmHUgtpnrTMgdxzJ5b9lPiDhh5cJ9aAAsaXPwMEhRv637Q
181
+ RP7sA5yY0uYAzjrd23XKMlJuuCqBkApl1+wLAAD//wMAhN0oyrwUAAA=
182
+ headers:
183
+ CF-RAY:
184
+ - 9735d8a49f822516-SJC
185
+ Connection:
186
+ - keep-alive
187
+ Content-Encoding:
188
+ - gzip
189
+ Content-Type:
190
+ - application/json
191
+ Date:
192
+ - Fri, 22 Aug 2025 22:35:58 GMT
193
+ Server:
194
+ - cloudflare
195
+ Strict-Transport-Security:
196
+ - max-age=31536000; includeSubDomains; preload
197
+ Transfer-Encoding:
198
+ - chunked
199
+ X-Content-Type-Options:
200
+ - nosniff
201
+ access-control-expose-headers:
202
+ - X-Request-ID
203
+ alt-svc:
204
+ - h3=":443"; ma=86400
205
+ cf-cache-status:
206
+ - DYNAMIC
207
+ openai-organization:
208
+ - future-house-xr4tdh
209
+ openai-processing-ms:
210
+ - "1374"
211
+ openai-project:
212
+ - proj_RpeV6PrPclPHBb5GlExPXSBj
213
+ openai-version:
214
+ - "2020-10-01"
215
+ x-envoy-upstream-service-time:
216
+ - "1385"
217
+ x-ratelimit-limit-requests:
218
+ - "30000"
219
+ x-ratelimit-limit-tokens:
220
+ - "150000000"
221
+ x-ratelimit-remaining-requests:
222
+ - "29999"
223
+ x-ratelimit-remaining-tokens:
224
+ - "149999982"
225
+ x-ratelimit-reset-requests:
226
+ - 2ms
227
+ x-ratelimit-reset-tokens:
228
+ - 0s
229
+ x-request-id:
230
+ - req_a71b086dd5464ff482e7d1a41c1d969f
231
+ status:
232
+ code: 200
233
+ message: OK
234
+ version: 1
@@ -2,7 +2,7 @@ interactions:
2
2
  - request:
3
3
  body:
4
4
  '{"messages":[{"role":"system","content":"Respond with single words."},{"role":"user","content":"What
5
- is the meaning of the universe?"}],"model":"gpt-4o-mini-2024-07-18","logprobs":true,"max_tokens":56,"temperature":0}'
5
+ is the meaning of the universe?"}],"model":"gpt-5-mini-2025-08-07","n":1,"temperature":1.0}'
6
6
  headers:
7
7
  accept:
8
8
  - application/json
@@ -11,13 +11,13 @@ interactions:
11
11
  connection:
12
12
  - keep-alive
13
13
  content-length:
14
- - "217"
14
+ - "192"
15
15
  content-type:
16
16
  - application/json
17
17
  host:
18
18
  - api.openai.com
19
19
  user-agent:
20
- - AsyncOpenAI/Python 1.86.0
20
+ - AsyncOpenAI/Python 1.97.0
21
21
  x-stainless-arch:
22
22
  - arm64
23
23
  x-stainless-async:
@@ -27,7 +27,7 @@ interactions:
27
27
  x-stainless-os:
28
28
  - MacOS
29
29
  x-stainless-package-version:
30
- - 1.86.0
30
+ - 1.97.0
31
31
  x-stainless-raw-response:
32
32
  - "true"
33
33
  x-stainless-read-timeout:
@@ -43,19 +43,16 @@ interactions:
43
43
  response:
44
44
  body:
45
45
  string: !!binary |
46
- H4sIAAAAAAAAA7RUTW+cMBS88yssn5eVDQaWPUaqIkVNeuwhipDXPFinYLvYtNlG+e8V7IaPZZuu
47
- VJUDhzfvDTNj/F49hLDM8RZhsedO1Kbyb+TNV/25IK26Le8Pd19234ufxd3Dw6/n+v4Wr7oJvXsG
48
- 4d6n1kLXpgIntTrCogHuoGOlCUs3CWEs7oFa51B1Y6VxPtN+LZX0AxIwnyQ+3Zym91oKsHiLHj2E
49
- EHrt351OlcML3iKyeq/UYC0vAW+HJoRwo6uugrm10jquHF6NoNDKgeqlf3qR1oESsJ42NFC0lnci
50
- VVtVE4ArpR3vTPbSnk7I2yCm0qVp9M7O1YwffByKaNLQNzn9DdSgaSJnSoy3yCdrGtCEJGGUsDgO
51
- ArKJz5p3BzfJbnzidHVWoQFZlEi0KNELpXhWeVqduzHZJIwhqllcH6XQHcqHIRBCSECjkJJ4EzIa
52
- JWFyZQyU0KWdRQ7pMixC/6/n9d8Mh2nMkpikG0pCxjZJdKVj9g+H5V2YOrshi2tQSCXtPmuAW907
53
- s04b7L3z9Uy4nV1bbBpdG5f1YXQqAnakw+NmGcHwhDnteDWZOf0Cc7IsB8dlNb2UWHCxh3ycHPcJ
54
- b3OpJ4A3sbbUcon7aFuq8hr6ERACjIM8Mw3kUsz9jm0NdGv3T21DxL1gbKH5IQVkTkLTHUMOBW+r
55
- 43LB9mAd1FkhVQmNaeRxIxYmCxmPGIc0FNh7834DAAD//wMA9YZqvx8GAAA=
46
+ H4sIAAAAAAAAA3SSMU/DMBCF9/wKy3OD0kBS2hUhBmCiYiiqImNfEoNjW/YFKFX/O7JbmlTQJYO/
47
+ u5d3726bEEKloAtCecuQd1alN+XDrX5a9p/18uZ5meHd6rv5WrHPdn4Pl3QSOszrG3D87brgprMK
48
+ UBq9x9wBQwiq01lRlPmsvJpG0BkBKrQ1FtMi7aSWaZ7lRZpdp9ns0NwaycHTBXlJCCFkG7/Bphbw
49
+ RRckm/y+dOA9a4AujkWEUGdUeKHMe+mRaaSTAXKjEXR0/rjxCG4zpg7q3rNgUPdKjQDT2iALA0Zf
50
+ 6wPZHZ3UUkvfVg6YNzqoezSWRrpLCFnHyfoTs9Q601ms0LxDlM0v93J0iHMEy9mBokGmRmB+yONU
51
+ rxKATCo/yoZyxlsQQ+sQJOuFNCOQjKb7a+c/7f3kUjcjZ0V59gcD4BwsgqisAyH56dBDmYNwcOfK
52
+ jjlHy9SD+5AcKpTgwi4E1KxX+zugPqy9q2qpG3DWyXgMYd3JLvkBAAD//wMAi9uPlg4DAAA=
56
53
  headers:
57
54
  CF-RAY:
58
- - 94f69e1329be1949-SJC
55
+ - 971baa96fe3515d6-SJC
59
56
  Connection:
60
57
  - keep-alive
61
58
  Content-Encoding:
@@ -63,15 +60,17 @@ interactions:
63
60
  Content-Type:
64
61
  - application/json
65
62
  Date:
66
- - Sat, 14 Jun 2025 03:07:26 GMT
63
+ - Tue, 19 Aug 2025 18:20:45 GMT
67
64
  Server:
68
65
  - cloudflare
69
66
  Set-Cookie:
70
- - __cf_bm=JBROutHtRLcqxQImyFIcqfUN5lUbvdxOwtl_iWj4yS8-1749870446-1.0.1.1-X2DtqQAhLy9icEfEZkrQ9TMr2E8.sN2mrrMtA5JDhRFgpjgaqx6OdFN4_47goFtUNxdekaJgfxIIXj8wPHZdLxr3uNKWpkieqUNeJu.UsdQ;
71
- path=/; expires=Sat, 14-Jun-25 03:37:26 GMT; domain=.api.openai.com; HttpOnly;
67
+ - __cf_bm=BiL4CWRmYY.Nx0J0OAmyVqp29WlTKiZg5wKmqYOiofw-1755627645-1.0.1.1-iAODe8oKBFIV9q86KPOXc2eAqh3DeP7mDiROW86AQMDjQBnwqTYC664ntAZ86sCvTQF6bYmMartD1lSmcfZd.UfRfQCknUfCsAoPSzbyga4;
68
+ path=/; expires=Tue, 19-Aug-25 18:50:45 GMT; domain=.api.openai.com; HttpOnly;
72
69
  Secure; SameSite=None
73
- - _cfuvid=cyWmoDQ4498ASbNTu2LiBbznTQuTEb4stwF9ZjXBdPg-1749870446874-0.0.1.1-604800000;
70
+ - _cfuvid=k5.SapkR00HiwUpEGYMI2GTCYrSXRu3RYWl4clzpAiY-1755627645995-0.0.1.1-604800000;
74
71
  path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
72
+ Strict-Transport-Security:
73
+ - max-age=31536000; includeSubDomains; preload
75
74
  Transfer-Encoding:
76
75
  - chunked
77
76
  X-Content-Type-Options:
@@ -85,34 +84,34 @@ interactions:
85
84
  openai-organization:
86
85
  - future-house-xr4tdh
87
86
  openai-processing-ms:
88
- - "181"
87
+ - "4468"
88
+ openai-project:
89
+ - proj_RpeV6PrPclPHBb5GlExPXSBj
89
90
  openai-version:
90
91
  - "2020-10-01"
91
- strict-transport-security:
92
- - max-age=31536000; includeSubDomains; preload
93
92
  x-envoy-upstream-service-time:
94
- - "188"
93
+ - "4490"
95
94
  x-ratelimit-limit-requests:
96
95
  - "30000"
97
96
  x-ratelimit-limit-tokens:
98
- - "150000000"
97
+ - "180000000"
99
98
  x-ratelimit-remaining-requests:
100
99
  - "29999"
101
100
  x-ratelimit-remaining-tokens:
102
- - "149999981"
101
+ - "179999982"
103
102
  x-ratelimit-reset-requests:
104
103
  - 2ms
105
104
  x-ratelimit-reset-tokens:
106
105
  - 0s
107
106
  x-request-id:
108
- - req_f5c78363dda486853691de19df6cf3b2
107
+ - req_4f277ef6e17b48a69407e3d6fa1daf1a
109
108
  status:
110
109
  code: 200
111
110
  message: OK
112
111
  - request:
113
112
  body:
114
113
  '{"messages":[{"role":"system","content":"Respond with single words."},{"role":"user","content":"What
115
- is the meaning of the universe?"}],"model":"gpt-4o-mini-2024-07-18","logprobs":true,"max_tokens":56,"n":1,"temperature":0}'
114
+ is the meaning of the universe?"}],"model":"gpt-5-mini-2025-08-07","n":1,"temperature":1.0}'
116
115
  headers:
117
116
  accept:
118
117
  - application/json
@@ -121,13 +120,13 @@ interactions:
121
120
  connection:
122
121
  - keep-alive
123
122
  content-length:
124
- - "223"
123
+ - "192"
125
124
  content-type:
126
125
  - application/json
127
126
  host:
128
127
  - api.openai.com
129
128
  user-agent:
130
- - AsyncOpenAI/Python 1.86.0
129
+ - AsyncOpenAI/Python 1.97.0
131
130
  x-stainless-arch:
132
131
  - arm64
133
132
  x-stainless-async:
@@ -137,7 +136,7 @@ interactions:
137
136
  x-stainless-os:
138
137
  - MacOS
139
138
  x-stainless-package-version:
140
- - 1.86.0
139
+ - 1.97.0
141
140
  x-stainless-raw-response:
142
141
  - "true"
143
142
  x-stainless-read-timeout:
@@ -153,19 +152,16 @@ interactions:
153
152
  response:
154
153
  body:
155
154
  string: !!binary |
156
- H4sIAAAAAAAAA7RUwYrbMBC9+yuEznaQbNmKc1xoeywslNJdFqPIk0StLQlJXjYs++/FTjZ24nQb
157
- KM0hh/dmxu89MfMaIYRVjVcIy50IsrVNcqfuvtv7L8/ia7hfqx/dt32xTpktHvLdw2cc9x1m/RNk
158
- eO9aSNPaBoIy+kBLByJAP5VyVi45YYwPRGtqaPq2rQ0JM0mrtEpSkrKE8IQuj907oyR4vEKPEUII
159
- vQ7/vU5dwwteIRK/Iy14L7aAV6cihLAzTY9g4b3yQeiA45GURgfQg/RPL8oH0BIW0wIHm86LXqTu
160
- mmZCCK1NEL3JQdrTkXk7iWnM1jqz9udqxg8+nkA0KRiKgvkF+qRpImc6GK9QQhY0pZzwLOesKNKU
161
- LIuL4vU+TLIbf0UZXyA0JTOI5DOIXoGKM+QpvnRjq0kYp6jO4voohf5RPgyBEEJoSVLOS8rKPKPL
162
- PM1vDIISOjc0S6Kcx0Xo/3W9+JvlrCyyvCgpLynn6ZLdaJj9w2tFV7ouVmS2Bxulld9VDoQ3gzEf
163
- jMXR+7xhEu7O9hZbZ1obqiGLXkV6NIfH0zKS2ZELJohm0sPjK8OqGoJQzXQrsRRyB/XYOR4U0dXK
164
- TIhoYm2u5drsg22lt7eMHwkpwQaoK+ugVvLc71jmoL+7fyo7RTwIxh7cs5JQBQWuf4YaNqJrDtcF
165
- +70P0FYbpbfgrFOHk7ixVcZEzgSUmcTRW/QbAAD//wMA3JYzvyAGAAA=
155
+ H4sIAAAAAAAAA3SSy27CMBBF9/kKy2tShRSSwhaVqlIr9bGoqgpFrj2AqWNb9qQqRfx7ZfNIUGGT
156
+ hc/cmzuPTUIIlYKOCeVLhry2Kp0UD7f+Sd29vmR88lxO6/fRCn/vp35g3xTtBYX5XAHHg+qKm9oq
157
+ QGn0DnMHDCG49svhsMjLYlBEUBsBKsgWFtNhWkst0zzLh2l2k2blXrw0koOnY/KREELIJn5DTC3g
158
+ h45J1ju81OA9WwAdH4sIoc6o8EKZ99Ij00h7LeRGI+iY/HHtEdy6Sx3MG89CQN0o1QFMa4MsNBhz
159
+ zfZke0wyl1r6ZeWAeaODu0djaaTbhJBZ7Kw5CUutM7XFCs0XRNv8emdH23F2YHagaJCpDsiL3hm/
160
+ SgAyqXxnNpQzvgTRSttBskZI0wFJp7v/cc557zqXetG69Ef5xR+0gHOwCKKyDoTkp023ZQ7CwV0q
161
+ O845RqYe3LfkUKEEF3YhYM4atbsD6sPa62ou9QKcdTIeQ1h3sk3+AAAA//8DADSZWw4OAwAA
166
162
  headers:
167
163
  CF-RAY:
168
- - 94f69e15184f1949-SJC
164
+ - 971baab42f5b15d6-SJC
169
165
  Connection:
170
166
  - keep-alive
171
167
  Content-Encoding:
@@ -173,9 +169,11 @@ interactions:
173
169
  Content-Type:
174
170
  - application/json
175
171
  Date:
176
- - Sat, 14 Jun 2025 03:07:27 GMT
172
+ - Tue, 19 Aug 2025 18:20:50 GMT
177
173
  Server:
178
174
  - cloudflare
175
+ Strict-Transport-Security:
176
+ - max-age=31536000; includeSubDomains; preload
179
177
  Transfer-Encoding:
180
178
  - chunked
181
179
  X-Content-Type-Options:
@@ -189,27 +187,27 @@ interactions:
189
187
  openai-organization:
190
188
  - future-house-xr4tdh
191
189
  openai-processing-ms:
192
- - "283"
190
+ - "3826"
191
+ openai-project:
192
+ - proj_RpeV6PrPclPHBb5GlExPXSBj
193
193
  openai-version:
194
194
  - "2020-10-01"
195
- strict-transport-security:
196
- - max-age=31536000; includeSubDomains; preload
197
195
  x-envoy-upstream-service-time:
198
- - "286"
196
+ - "3868"
199
197
  x-ratelimit-limit-requests:
200
198
  - "30000"
201
199
  x-ratelimit-limit-tokens:
202
- - "150000000"
200
+ - "180000000"
203
201
  x-ratelimit-remaining-requests:
204
202
  - "29999"
205
203
  x-ratelimit-remaining-tokens:
206
- - "149999981"
204
+ - "179999982"
207
205
  x-ratelimit-reset-requests:
208
206
  - 2ms
209
207
  x-ratelimit-reset-tokens:
210
208
  - 0s
211
209
  x-request-id:
212
- - req_b22e5ef349fcd5ea593ee2c9b105b620
210
+ - req_8e94e7d585154cb3af801d9a3e27a247
213
211
  status:
214
212
  code: 200
215
213
  message: OK