venice_client 1.0.0

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 (319) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +510 -0
  4. data/Rakefile +8 -0
  5. data/docs/APIKeysApi.md +334 -0
  6. data/docs/AnyOfChatCompletionRequestMessagesItems.md +6 -0
  7. data/docs/AnyOfChatCompletionRequestStop.md +6 -0
  8. data/docs/AnyOfChatCompletionRequestToolChoice.md +6 -0
  9. data/docs/AnyOfCreateEmbeddingRequestSchemaInput.md +6 -0
  10. data/docs/AnyOfCreateEmbeddingRequestSchemaModel.md +6 -0
  11. data/docs/AnyOfModelResponseModelSpecConstraints.md +6 -0
  12. data/docs/AnyOfModelResponseModelSpecPricing.md +6 -0
  13. data/docs/AnyOfUpscaleImageRequestEnhance.md +6 -0
  14. data/docs/AnyOfUpscaleImageRequestImage.md +6 -0
  15. data/docs/AnyOfapiKeysBodyExpiresAt.md +6 -0
  16. data/docs/AnyOfapiKeysConsumptionLimitUsd.md +6 -0
  17. data/docs/AnyOfapiKeysConsumptionLimitVcu.md +6 -0
  18. data/docs/AnyOfapiKeysGenerateWeb3KeyBodyExpiresAt.md +6 -0
  19. data/docs/AnyOfinlineResponse2002DataItems.md +6 -0
  20. data/docs/AnyOfinlineResponse2004Type.md +6 -0
  21. data/docs/AnyOfinlineResponse2005Type.md +6 -0
  22. data/docs/AnyOfinlineResponse2006Type.md +6 -0
  23. data/docs/AnyOfinlineResponse200ChoicesMessage.md +6 -0
  24. data/docs/AnyOfinlineResponse200PromptLogprobs.md +6 -0
  25. data/docs/ApiKeysBody.md +10 -0
  26. data/docs/ApiKeysConsumptionLimit.md +8 -0
  27. data/docs/ApiKeysGenerateWeb3KeyBody.md +13 -0
  28. data/docs/AudioApi.md +58 -0
  29. data/docs/BillingApi.md +70 -0
  30. data/docs/BillingUsageRequest.md +12 -0
  31. data/docs/BillingUsageResponse.md +8 -0
  32. data/docs/BillingUsageResponseData.md +14 -0
  33. data/docs/BillingUsageResponseInferenceDetails.md +10 -0
  34. data/docs/BillingUsageResponsePagination.md +10 -0
  35. data/docs/CharactersApi.md +52 -0
  36. data/docs/ChatApi.md +60 -0
  37. data/docs/ChatCompletionRequest.md +32 -0
  38. data/docs/ChatCompletionRequestFunction.md +9 -0
  39. data/docs/ChatCompletionRequestStreamOptions.md +7 -0
  40. data/docs/ChatCompletionRequestVeniceParameters.md +12 -0
  41. data/docs/CreateEmbeddingRequestSchema.md +11 -0
  42. data/docs/CreateSpeechRequestSchema.md +12 -0
  43. data/docs/EmbeddingsApi.md +60 -0
  44. data/docs/GenerateImageRequest.md +22 -0
  45. data/docs/ImageApi.md +270 -0
  46. data/docs/InlineResponse200.md +14 -0
  47. data/docs/InlineResponse2001.md +10 -0
  48. data/docs/InlineResponse20010.md +7 -0
  49. data/docs/InlineResponse20010Data.md +12 -0
  50. data/docs/InlineResponse20010DataApiTier.md +8 -0
  51. data/docs/InlineResponse20010DataBalances.md +8 -0
  52. data/docs/InlineResponse20010DataRateLimits.md +8 -0
  53. data/docs/InlineResponse20010DataRateLimits1.md +8 -0
  54. data/docs/InlineResponse20011.md +8 -0
  55. data/docs/InlineResponse20011Data.md +11 -0
  56. data/docs/InlineResponse20012.md +8 -0
  57. data/docs/InlineResponse20012Data.md +7 -0
  58. data/docs/InlineResponse20013.md +8 -0
  59. data/docs/InlineResponse20013Data.md +16 -0
  60. data/docs/InlineResponse20013Stats.md +7 -0
  61. data/docs/InlineResponse20014.md +10 -0
  62. data/docs/InlineResponse20014Data.md +9 -0
  63. data/docs/InlineResponse20014Usage.md +8 -0
  64. data/docs/InlineResponse20015.md +8 -0
  65. data/docs/InlineResponse2001Timing.md +10 -0
  66. data/docs/InlineResponse2002.md +8 -0
  67. data/docs/InlineResponse2003.md +8 -0
  68. data/docs/InlineResponse2004.md +9 -0
  69. data/docs/InlineResponse2005.md +9 -0
  70. data/docs/InlineResponse2006.md +9 -0
  71. data/docs/InlineResponse2007.md +8 -0
  72. data/docs/InlineResponse2007Data.md +15 -0
  73. data/docs/InlineResponse2007Usage.md +7 -0
  74. data/docs/InlineResponse2007UsageTrailingSevenDays.md +8 -0
  75. data/docs/InlineResponse2008.md +8 -0
  76. data/docs/InlineResponse2008Data.md +12 -0
  77. data/docs/InlineResponse2009.md +7 -0
  78. data/docs/InlineResponse200Choices.md +11 -0
  79. data/docs/InlineResponse200Logprobs.md +10 -0
  80. data/docs/InlineResponse200LogprobsTopLogprobs.md +9 -0
  81. data/docs/InlineResponse200Usage.md +10 -0
  82. data/docs/InlineResponse200VeniceParameters.md +13 -0
  83. data/docs/InlineResponse200VeniceParametersWebSearchCitations.md +10 -0
  84. data/docs/InlineResponse400.md +8 -0
  85. data/docs/InlineResponse401.md +7 -0
  86. data/docs/InlineResponse402.md +7 -0
  87. data/docs/InlineResponse403.md +7 -0
  88. data/docs/InlineResponse415.md +7 -0
  89. data/docs/InlineResponse429.md +7 -0
  90. data/docs/InlineResponse500.md +7 -0
  91. data/docs/InlineResponse5001.md +7 -0
  92. data/docs/InlineResponse503.md +7 -0
  93. data/docs/ModelCompatibilitySchema.md +6 -0
  94. data/docs/ModelResponse.md +12 -0
  95. data/docs/ModelResponseModelSpec.md +15 -0
  96. data/docs/ModelResponseModelSpecCapabilities.md +14 -0
  97. data/docs/ModelTraitSchema.md +6 -0
  98. data/docs/ModelsApi.md +160 -0
  99. data/docs/OneOfChatCompletionRequestResponseFormat.md +6 -0
  100. data/docs/PreviewApi.md +52 -0
  101. data/docs/SimpleGenerateImageRequest.md +18 -0
  102. data/docs/SpeechApi.md +58 -0
  103. data/docs/ToolCall.md +9 -0
  104. data/docs/Type.md +6 -0
  105. data/docs/UpscaleImageRequest.md +12 -0
  106. data/git_push.sh +55 -0
  107. data/lib/venice_client/api/api_keys_api.rb +381 -0
  108. data/lib/venice_client/api/audio_api.rb +74 -0
  109. data/lib/venice_client/api/billing_api.rb +97 -0
  110. data/lib/venice_client/api/characters_api.rb +70 -0
  111. data/lib/venice_client/api/chat_api.rb +77 -0
  112. data/lib/venice_client/api/embeddings_api.rb +81 -0
  113. data/lib/venice_client/api/image_api.rb +314 -0
  114. data/lib/venice_client/api/models_api.rb +185 -0
  115. data/lib/venice_client/api/preview_api.rb +70 -0
  116. data/lib/venice_client/api/speech_api.rb +74 -0
  117. data/lib/venice_client/api_client.rb +388 -0
  118. data/lib/venice_client/api_error.rb +56 -0
  119. data/lib/venice_client/configuration.rb +204 -0
  120. data/lib/venice_client/models/any_of_chat_completion_request_messages_items.rb +197 -0
  121. data/lib/venice_client/models/any_of_chat_completion_request_stop.rb +197 -0
  122. data/lib/venice_client/models/any_of_chat_completion_request_tool_choice.rb +197 -0
  123. data/lib/venice_client/models/any_of_create_embedding_request_schema_input.rb +197 -0
  124. data/lib/venice_client/models/any_of_create_embedding_request_schema_model.rb +197 -0
  125. data/lib/venice_client/models/any_of_model_response_model_spec_constraints.rb +197 -0
  126. data/lib/venice_client/models/any_of_model_response_model_spec_pricing.rb +197 -0
  127. data/lib/venice_client/models/any_of_upscale_image_request_enhance.rb +197 -0
  128. data/lib/venice_client/models/any_of_upscale_image_request_image.rb +197 -0
  129. data/lib/venice_client/models/any_ofapi_keys_body_expires_at.rb +197 -0
  130. data/lib/venice_client/models/any_ofapi_keys_consumption_limit_usd.rb +197 -0
  131. data/lib/venice_client/models/any_ofapi_keys_consumption_limit_vcu.rb +195 -0
  132. data/lib/venice_client/models/any_ofapi_keys_generate_web3_key_body_expires_at.rb +197 -0
  133. data/lib/venice_client/models/any_ofinline_response_200_2_data_items.rb +197 -0
  134. data/lib/venice_client/models/any_ofinline_response_200_4_type.rb +197 -0
  135. data/lib/venice_client/models/any_ofinline_response_200_5_type.rb +197 -0
  136. data/lib/venice_client/models/any_ofinline_response_200_6_type.rb +197 -0
  137. data/lib/venice_client/models/any_ofinline_response_200_choices_message.rb +197 -0
  138. data/lib/venice_client/models/any_ofinline_response_200_prompt_logprobs.rb +197 -0
  139. data/lib/venice_client/models/api_keys_body.rb +281 -0
  140. data/lib/venice_client/models/api_keys_consumption_limit.rb +228 -0
  141. data/lib/venice_client/models/api_keys_generate_web3_key_body.rb +322 -0
  142. data/lib/venice_client/models/billing_usage_request.rb +309 -0
  143. data/lib/venice_client/models/billing_usage_response.rb +228 -0
  144. data/lib/venice_client/models/billing_usage_response_data.rb +350 -0
  145. data/lib/venice_client/models/billing_usage_response_inference_details.rb +262 -0
  146. data/lib/venice_client/models/billing_usage_response_pagination.rb +253 -0
  147. data/lib/venice_client/models/chat_completion_request.rb +483 -0
  148. data/lib/venice_client/models/chat_completion_request_function.rb +231 -0
  149. data/lib/venice_client/models/chat_completion_request_stream_options.rb +207 -0
  150. data/lib/venice_client/models/chat_completion_request_venice_parameters.rb +302 -0
  151. data/lib/venice_client/models/create_embedding_request_schema.rb +294 -0
  152. data/lib/venice_client/models/create_speech_request_schema.rb +331 -0
  153. data/lib/venice_client/models/generate_image_request.rb +420 -0
  154. data/lib/venice_client/models/inline_response_200.rb +341 -0
  155. data/lib/venice_client/models/inline_response_200_1.rb +254 -0
  156. data/lib/venice_client/models/inline_response_200_10.rb +211 -0
  157. data/lib/venice_client/models/inline_response_200_10_data.rb +287 -0
  158. data/lib/venice_client/models/inline_response_200_10_data_api_tier.rb +227 -0
  159. data/lib/venice_client/models/inline_response_200_10_data_balances.rb +217 -0
  160. data/lib/venice_client/models/inline_response_200_10_data_rate_limits.rb +227 -0
  161. data/lib/venice_client/models/inline_response_200_10_data_rate_limits_1.rb +223 -0
  162. data/lib/venice_client/models/inline_response_200_11.rb +262 -0
  163. data/lib/venice_client/models/inline_response_200_11_data.rb +274 -0
  164. data/lib/venice_client/models/inline_response_200_12.rb +225 -0
  165. data/lib/venice_client/models/inline_response_200_12_data.rb +212 -0
  166. data/lib/venice_client/models/inline_response_200_13.rb +261 -0
  167. data/lib/venice_client/models/inline_response_200_13_data.rb +350 -0
  168. data/lib/venice_client/models/inline_response_200_13_stats.rb +212 -0
  169. data/lib/venice_client/models/inline_response_200_14.rb +292 -0
  170. data/lib/venice_client/models/inline_response_200_14_data.rb +278 -0
  171. data/lib/venice_client/models/inline_response_200_14_usage.rb +228 -0
  172. data/lib/venice_client/models/inline_response_200_15.rb +228 -0
  173. data/lib/venice_client/models/inline_response_200_1_timing.rb +257 -0
  174. data/lib/venice_client/models/inline_response_200_2.rb +228 -0
  175. data/lib/venice_client/models/inline_response_200_3.rb +262 -0
  176. data/lib/venice_client/models/inline_response_200_4.rb +277 -0
  177. data/lib/venice_client/models/inline_response_200_5.rb +274 -0
  178. data/lib/venice_client/models/inline_response_200_6.rb +274 -0
  179. data/lib/venice_client/models/inline_response_200_7.rb +262 -0
  180. data/lib/venice_client/models/inline_response_200_7_data.rb +357 -0
  181. data/lib/venice_client/models/inline_response_200_7_usage.rb +211 -0
  182. data/lib/venice_client/models/inline_response_200_7_usage_trailing_seven_days.rb +227 -0
  183. data/lib/venice_client/models/inline_response_200_8.rb +225 -0
  184. data/lib/venice_client/models/inline_response_200_8_data.rb +316 -0
  185. data/lib/venice_client/models/inline_response_200_9.rb +211 -0
  186. data/lib/venice_client/models/inline_response_200_choices.rb +312 -0
  187. data/lib/venice_client/models/inline_response_200_logprobs.rb +251 -0
  188. data/lib/venice_client/models/inline_response_200_logprobs_top_logprobs.rb +236 -0
  189. data/lib/venice_client/models/inline_response_200_usage.rb +253 -0
  190. data/lib/venice_client/models/inline_response_200_venice_parameters.rb +329 -0
  191. data/lib/venice_client/models/inline_response_200_venice_parameters_web_search_citations.rb +243 -0
  192. data/lib/venice_client/models/inline_response_400.rb +222 -0
  193. data/lib/venice_client/models/inline_response_401.rb +212 -0
  194. data/lib/venice_client/models/inline_response_402.rb +212 -0
  195. data/lib/venice_client/models/inline_response_403.rb +212 -0
  196. data/lib/venice_client/models/inline_response_415.rb +212 -0
  197. data/lib/venice_client/models/inline_response_429.rb +212 -0
  198. data/lib/venice_client/models/inline_response_500.rb +212 -0
  199. data/lib/venice_client/models/inline_response_500_1.rb +212 -0
  200. data/lib/venice_client/models/inline_response_503.rb +212 -0
  201. data/lib/venice_client/models/model_compatibility_schema.rb +202 -0
  202. data/lib/venice_client/models/model_response.rb +340 -0
  203. data/lib/venice_client/models/model_response_model_spec.rb +292 -0
  204. data/lib/venice_client/models/model_response_model_spec_capabilities.rb +352 -0
  205. data/lib/venice_client/models/model_trait_schema.rb +200 -0
  206. data/lib/venice_client/models/one_of_chat_completion_request_response_format.rb +197 -0
  207. data/lib/venice_client/models/simple_generate_image_request.rb +456 -0
  208. data/lib/venice_client/models/tool_call.rb +230 -0
  209. data/lib/venice_client/models/type.rb +198 -0
  210. data/lib/venice_client/models/upscale_image_request.rb +270 -0
  211. data/lib/venice_client/version.rb +14 -0
  212. data/lib/venice_client.rb +139 -0
  213. data/spec/api/api_keys_api_spec.rb +113 -0
  214. data/spec/api/audio_api_spec.rb +45 -0
  215. data/spec/api/billing_api_spec.rb +51 -0
  216. data/spec/api/characters_api_spec.rb +44 -0
  217. data/spec/api/chat_api_spec.rb +46 -0
  218. data/spec/api/embeddings_api_spec.rb +46 -0
  219. data/spec/api/image_api_spec.rb +99 -0
  220. data/spec/api/models_api_spec.rb +69 -0
  221. data/spec/api/preview_api_spec.rb +44 -0
  222. data/spec/api/speech_api_spec.rb +45 -0
  223. data/spec/api_client_spec.rb +225 -0
  224. data/spec/base_object_spec.rb +109 -0
  225. data/spec/configuration_spec.rb +41 -0
  226. data/spec/models/any_of_chat_completion_request_messages_items_spec.rb +34 -0
  227. data/spec/models/any_of_chat_completion_request_stop_spec.rb +34 -0
  228. data/spec/models/any_of_chat_completion_request_tool_choice_spec.rb +34 -0
  229. data/spec/models/any_of_create_embedding_request_schema_input_spec.rb +34 -0
  230. data/spec/models/any_of_create_embedding_request_schema_model_spec.rb +34 -0
  231. data/spec/models/any_of_model_response_model_spec_constraints_spec.rb +34 -0
  232. data/spec/models/any_of_model_response_model_spec_pricing_spec.rb +34 -0
  233. data/spec/models/any_of_upscale_image_request_enhance_spec.rb +34 -0
  234. data/spec/models/any_of_upscale_image_request_image_spec.rb +34 -0
  235. data/spec/models/any_ofapi_keys_body_expires_at_spec.rb +34 -0
  236. data/spec/models/any_ofapi_keys_consumption_limit_usd_spec.rb +34 -0
  237. data/spec/models/any_ofapi_keys_consumption_limit_vcu_spec.rb +34 -0
  238. data/spec/models/any_ofapi_keys_generate_web3_key_body_expires_at_spec.rb +34 -0
  239. data/spec/models/any_ofinline_response_200_2_data_items_spec.rb +34 -0
  240. data/spec/models/any_ofinline_response_200_4_type_spec.rb +34 -0
  241. data/spec/models/any_ofinline_response_200_5_type_spec.rb +34 -0
  242. data/spec/models/any_ofinline_response_200_6_type_spec.rb +34 -0
  243. data/spec/models/any_ofinline_response_200_choices_message_spec.rb +34 -0
  244. data/spec/models/any_ofinline_response_200_prompt_logprobs_spec.rb +34 -0
  245. data/spec/models/api_keys_body_spec.rb +61 -0
  246. data/spec/models/api_keys_consumption_limit_spec.rb +46 -0
  247. data/spec/models/api_keys_generate_web3_key_body_spec.rb +80 -0
  248. data/spec/models/billing_usage_request_spec.rb +78 -0
  249. data/spec/models/billing_usage_response_data_spec.rb +86 -0
  250. data/spec/models/billing_usage_response_inference_details_spec.rb +57 -0
  251. data/spec/models/billing_usage_response_pagination_spec.rb +58 -0
  252. data/spec/models/billing_usage_response_spec.rb +46 -0
  253. data/spec/models/chat_completion_request_function_spec.rb +52 -0
  254. data/spec/models/chat_completion_request_spec.rb +189 -0
  255. data/spec/models/chat_completion_request_stream_options_spec.rb +40 -0
  256. data/spec/models/chat_completion_request_venice_parameters_spec.rb +73 -0
  257. data/spec/models/create_embedding_request_schema_spec.rb +68 -0
  258. data/spec/models/create_speech_request_schema_spec.rb +81 -0
  259. data/spec/models/generate_image_request_spec.rb +134 -0
  260. data/spec/models/inline_response_200_10_data_api_tier_spec.rb +45 -0
  261. data/spec/models/inline_response_200_10_data_balances_spec.rb +45 -0
  262. data/spec/models/inline_response_200_10_data_rate_limits_1_spec.rb +45 -0
  263. data/spec/models/inline_response_200_10_data_rate_limits_spec.rb +46 -0
  264. data/spec/models/inline_response_200_10_data_spec.rb +69 -0
  265. data/spec/models/inline_response_200_10_spec.rb +40 -0
  266. data/spec/models/inline_response_200_11_data_spec.rb +64 -0
  267. data/spec/models/inline_response_200_11_spec.rb +50 -0
  268. data/spec/models/inline_response_200_12_data_spec.rb +39 -0
  269. data/spec/models/inline_response_200_12_spec.rb +46 -0
  270. data/spec/models/inline_response_200_13_data_spec.rb +93 -0
  271. data/spec/models/inline_response_200_13_spec.rb +49 -0
  272. data/spec/models/inline_response_200_13_stats_spec.rb +40 -0
  273. data/spec/models/inline_response_200_14_data_spec.rb +55 -0
  274. data/spec/models/inline_response_200_14_spec.rb +61 -0
  275. data/spec/models/inline_response_200_14_usage_spec.rb +45 -0
  276. data/spec/models/inline_response_200_15_spec.rb +45 -0
  277. data/spec/models/inline_response_200_1_spec.rb +57 -0
  278. data/spec/models/inline_response_200_1_timing_spec.rb +58 -0
  279. data/spec/models/inline_response_200_2_spec.rb +46 -0
  280. data/spec/models/inline_response_200_3_spec.rb +50 -0
  281. data/spec/models/inline_response_200_4_spec.rb +55 -0
  282. data/spec/models/inline_response_200_5_spec.rb +55 -0
  283. data/spec/models/inline_response_200_6_spec.rb +55 -0
  284. data/spec/models/inline_response_200_7_data_spec.rb +91 -0
  285. data/spec/models/inline_response_200_7_spec.rb +50 -0
  286. data/spec/models/inline_response_200_7_usage_spec.rb +39 -0
  287. data/spec/models/inline_response_200_7_usage_trailing_seven_days_spec.rb +45 -0
  288. data/spec/models/inline_response_200_8_data_spec.rb +73 -0
  289. data/spec/models/inline_response_200_8_spec.rb +45 -0
  290. data/spec/models/inline_response_200_9_spec.rb +39 -0
  291. data/spec/models/inline_response_200_choices_spec.rb +72 -0
  292. data/spec/models/inline_response_200_logprobs_spec.rb +57 -0
  293. data/spec/models/inline_response_200_logprobs_top_logprobs_spec.rb +51 -0
  294. data/spec/models/inline_response_200_spec.rb +85 -0
  295. data/spec/models/inline_response_200_usage_spec.rb +57 -0
  296. data/spec/models/inline_response_200_venice_parameters_spec.rb +80 -0
  297. data/spec/models/inline_response_200_venice_parameters_web_search_citations_spec.rb +57 -0
  298. data/spec/models/inline_response_400_spec.rb +45 -0
  299. data/spec/models/inline_response_401_spec.rb +39 -0
  300. data/spec/models/inline_response_402_spec.rb +39 -0
  301. data/spec/models/inline_response_403_spec.rb +40 -0
  302. data/spec/models/inline_response_415_spec.rb +40 -0
  303. data/spec/models/inline_response_429_spec.rb +39 -0
  304. data/spec/models/inline_response_500_1_spec.rb +40 -0
  305. data/spec/models/inline_response_500_spec.rb +39 -0
  306. data/spec/models/inline_response_503_spec.rb +40 -0
  307. data/spec/models/model_compatibility_schema_spec.rb +34 -0
  308. data/spec/models/model_response_model_spec_capabilities_spec.rb +85 -0
  309. data/spec/models/model_response_model_spec_spec.rb +87 -0
  310. data/spec/models/model_response_spec.rb +81 -0
  311. data/spec/models/model_trait_schema_spec.rb +34 -0
  312. data/spec/models/one_of_chat_completion_request_response_format_spec.rb +34 -0
  313. data/spec/models/simple_generate_image_request_spec.rb +134 -0
  314. data/spec/models/tool_call_spec.rb +51 -0
  315. data/spec/models/type_spec.rb +34 -0
  316. data/spec/models/upscale_image_request_spec.rb +69 -0
  317. data/spec/spec_helper.rb +110 -0
  318. data/venice_client.gemspec +38 -0
  319. metadata +522 -0
@@ -0,0 +1,483 @@
1
+ =begin
2
+ #Venice.ai API
3
+
4
+ #The Venice.ai API.
5
+
6
+ OpenAPI spec version: 20250521.233203
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 3.0.68
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module VeniceClient
15
+ class ChatCompletionRequest
16
+ # Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.
17
+ attr_accessor :frequency_penalty
18
+
19
+ # Whether to include log probabilities in the response. This is not supported by all models.
20
+ attr_accessor :logprobs
21
+
22
+ # An upper bound for the number of tokens that can be generated for a completion, including visible output tokens and reasoning tokens.
23
+ attr_accessor :max_completion_tokens
24
+
25
+ # Maximum temperature value for dynamic temperature scaling.
26
+ attr_accessor :max_temp
27
+
28
+ # The maximum number of tokens that can be generated in the chat completion. This value can be used to control costs for text generated via API. This value is now deprecated in favor of max_completion_tokens.
29
+ attr_accessor :max_tokens
30
+
31
+ # A list of messages comprising the conversation so far. Depending on the model you use, different message types (modalities) are supported, like text and images. For compatibility purposes, the schema supports submitting multiple image_url messages, however, only the last image_url message will be passed to and processed by the model.
32
+ attr_accessor :messages
33
+
34
+ # Sets a minimum probability threshold for token selection. Tokens with probabilities below this value are filtered out.
35
+ attr_accessor :min_p
36
+
37
+ # Minimum temperature value for dynamic temperature scaling.
38
+ attr_accessor :min_temp
39
+
40
+ # The ID of the model you wish to prompt. May also be a model trait, or a compatibility mapping. See the models endpoint for a list of models available to you. You can use feature suffixes to enable features from the venice_parameters object. Please see \"Model Feature Suffix\" documentation for more details.
41
+ attr_accessor :model
42
+
43
+ # How many chat completion choices to generate for each input message. Note that you will be charged based on the number of generated tokens across all of the choices. Keep n as 1 to minimize costs.
44
+ attr_accessor :n
45
+
46
+ # Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.
47
+ attr_accessor :presence_penalty
48
+
49
+ # The parameter for repetition penalty. 1.0 means no penalty. Values > 1.0 discourage repetition.
50
+ attr_accessor :repetition_penalty
51
+
52
+ # The random seed used to generate the response. This is useful for reproducibility.
53
+ attr_accessor :seed
54
+
55
+ # Up to 4 sequences where the API will stop generating further tokens. Defaults to null.
56
+ attr_accessor :stop
57
+
58
+ # Array of token IDs where the API will stop generating further tokens.
59
+ attr_accessor :stop_token_ids
60
+
61
+ # Whether to stream back partial progress. Defaults to false.
62
+ attr_accessor :stream
63
+
64
+ attr_accessor :stream_options
65
+
66
+ # What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or top_p but not both.
67
+ attr_accessor :temperature
68
+
69
+ # The number of highest probability vocabulary tokens to keep for top-k-filtering.
70
+ attr_accessor :top_k
71
+
72
+ # An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.
73
+ attr_accessor :top_p
74
+
75
+ # This field is discarded on the request but is supported in the Venice API for compatibility with OpenAPI clients.
76
+ attr_accessor :user
77
+
78
+ attr_accessor :venice_parameters
79
+
80
+ # Whether to enable parallel function calling during tool use.
81
+ attr_accessor :parallel_tool_calls
82
+
83
+ # Format in which the response should be returned.
84
+ attr_accessor :response_format
85
+
86
+ attr_accessor :tool_choice
87
+
88
+ # A list of tools the model may call. Currently, only functions are supported as a tool. Use this to provide a list of functions the model may generate JSON inputs for.
89
+ attr_accessor :tools
90
+
91
+ # Attribute mapping from ruby-style variable name to JSON key.
92
+ def self.attribute_map
93
+ {
94
+ :'frequency_penalty' => :'frequency_penalty',
95
+ :'logprobs' => :'logprobs',
96
+ :'max_completion_tokens' => :'max_completion_tokens',
97
+ :'max_temp' => :'max_temp',
98
+ :'max_tokens' => :'max_tokens',
99
+ :'messages' => :'messages',
100
+ :'min_p' => :'min_p',
101
+ :'min_temp' => :'min_temp',
102
+ :'model' => :'model',
103
+ :'n' => :'n',
104
+ :'presence_penalty' => :'presence_penalty',
105
+ :'repetition_penalty' => :'repetition_penalty',
106
+ :'seed' => :'seed',
107
+ :'stop' => :'stop',
108
+ :'stop_token_ids' => :'stop_token_ids',
109
+ :'stream' => :'stream',
110
+ :'stream_options' => :'stream_options',
111
+ :'temperature' => :'temperature',
112
+ :'top_k' => :'top_k',
113
+ :'top_p' => :'top_p',
114
+ :'user' => :'user',
115
+ :'venice_parameters' => :'venice_parameters',
116
+ :'parallel_tool_calls' => :'parallel_tool_calls',
117
+ :'response_format' => :'response_format',
118
+ :'tool_choice' => :'tool_choice',
119
+ :'tools' => :'tools'
120
+ }
121
+ end
122
+
123
+ # Attribute type mapping.
124
+ def self.openapi_types
125
+ {
126
+ :'frequency_penalty' => :'Object',
127
+ :'logprobs' => :'Object',
128
+ :'max_completion_tokens' => :'Object',
129
+ :'max_temp' => :'Object',
130
+ :'max_tokens' => :'Object',
131
+ :'messages' => :'Object',
132
+ :'min_p' => :'Object',
133
+ :'min_temp' => :'Object',
134
+ :'model' => :'Object',
135
+ :'n' => :'Object',
136
+ :'presence_penalty' => :'Object',
137
+ :'repetition_penalty' => :'Object',
138
+ :'seed' => :'Object',
139
+ :'stop' => :'Object',
140
+ :'stop_token_ids' => :'Object',
141
+ :'stream' => :'Object',
142
+ :'stream_options' => :'Object',
143
+ :'temperature' => :'Object',
144
+ :'top_k' => :'Object',
145
+ :'top_p' => :'Object',
146
+ :'user' => :'Object',
147
+ :'venice_parameters' => :'Object',
148
+ :'parallel_tool_calls' => :'Object',
149
+ :'response_format' => :'Object',
150
+ :'tool_choice' => :'Object',
151
+ :'tools' => :'Object'
152
+ }
153
+ end
154
+
155
+ # List of attributes with nullable: true
156
+ def self.openapi_nullable
157
+ Set.new([
158
+ :'tools'
159
+ ])
160
+ end
161
+
162
+ # Initializes the object
163
+ # @param [Hash] attributes Model attributes in the form of hash
164
+ def initialize(attributes = {})
165
+ if (!attributes.is_a?(Hash))
166
+ fail ArgumentError, "The input argument (attributes) must be a hash in `VeniceClient::ChatCompletionRequest` initialize method"
167
+ end
168
+
169
+ # check to see if the attribute exists and convert string to symbol for hash key
170
+ attributes = attributes.each_with_object({}) { |(k, v), h|
171
+ if (!self.class.attribute_map.key?(k.to_sym))
172
+ fail ArgumentError, "`#{k}` is not a valid attribute in `VeniceClient::ChatCompletionRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
173
+ end
174
+ h[k.to_sym] = v
175
+ }
176
+
177
+ if attributes.key?(:'frequency_penalty')
178
+ self.frequency_penalty = attributes[:'frequency_penalty']
179
+ else
180
+ self.frequency_penalty = 0
181
+ end
182
+
183
+ if attributes.key?(:'logprobs')
184
+ self.logprobs = attributes[:'logprobs']
185
+ end
186
+
187
+ if attributes.key?(:'max_completion_tokens')
188
+ self.max_completion_tokens = attributes[:'max_completion_tokens']
189
+ end
190
+
191
+ if attributes.key?(:'max_temp')
192
+ self.max_temp = attributes[:'max_temp']
193
+ end
194
+
195
+ if attributes.key?(:'max_tokens')
196
+ self.max_tokens = attributes[:'max_tokens']
197
+ end
198
+
199
+ if attributes.key?(:'messages')
200
+ if (value = attributes[:'messages']).is_a?(Array)
201
+ self.messages = value
202
+ end
203
+ end
204
+
205
+ if attributes.key?(:'min_p')
206
+ self.min_p = attributes[:'min_p']
207
+ end
208
+
209
+ if attributes.key?(:'min_temp')
210
+ self.min_temp = attributes[:'min_temp']
211
+ end
212
+
213
+ if attributes.key?(:'model')
214
+ self.model = attributes[:'model']
215
+ end
216
+
217
+ if attributes.key?(:'n')
218
+ self.n = attributes[:'n']
219
+ else
220
+ self.n = 1
221
+ end
222
+
223
+ if attributes.key?(:'presence_penalty')
224
+ self.presence_penalty = attributes[:'presence_penalty']
225
+ else
226
+ self.presence_penalty = 0
227
+ end
228
+
229
+ if attributes.key?(:'repetition_penalty')
230
+ self.repetition_penalty = attributes[:'repetition_penalty']
231
+ end
232
+
233
+ if attributes.key?(:'seed')
234
+ self.seed = attributes[:'seed']
235
+ end
236
+
237
+ if attributes.key?(:'stop')
238
+ self.stop = attributes[:'stop']
239
+ end
240
+
241
+ if attributes.key?(:'stop_token_ids')
242
+ if (value = attributes[:'stop_token_ids']).is_a?(Array)
243
+ self.stop_token_ids = value
244
+ end
245
+ end
246
+
247
+ if attributes.key?(:'stream')
248
+ self.stream = attributes[:'stream']
249
+ end
250
+
251
+ if attributes.key?(:'stream_options')
252
+ self.stream_options = attributes[:'stream_options']
253
+ end
254
+
255
+ if attributes.key?(:'temperature')
256
+ self.temperature = attributes[:'temperature']
257
+ else
258
+ self.temperature = 0.3
259
+ end
260
+
261
+ if attributes.key?(:'top_k')
262
+ self.top_k = attributes[:'top_k']
263
+ end
264
+
265
+ if attributes.key?(:'top_p')
266
+ self.top_p = attributes[:'top_p']
267
+ else
268
+ self.top_p = 1
269
+ end
270
+
271
+ if attributes.key?(:'user')
272
+ self.user = attributes[:'user']
273
+ end
274
+
275
+ if attributes.key?(:'venice_parameters')
276
+ self.venice_parameters = attributes[:'venice_parameters']
277
+ end
278
+
279
+ if attributes.key?(:'parallel_tool_calls')
280
+ self.parallel_tool_calls = attributes[:'parallel_tool_calls']
281
+ else
282
+ self.parallel_tool_calls = true
283
+ end
284
+
285
+ if attributes.key?(:'response_format')
286
+ self.response_format = attributes[:'response_format']
287
+ end
288
+
289
+ if attributes.key?(:'tool_choice')
290
+ self.tool_choice = attributes[:'tool_choice']
291
+ end
292
+
293
+ if attributes.key?(:'tools')
294
+ if (value = attributes[:'tools']).is_a?(Array)
295
+ self.tools = value
296
+ end
297
+ end
298
+ end
299
+
300
+ # Show invalid properties with the reasons. Usually used together with valid?
301
+ # @return Array for valid properties with the reasons
302
+ def list_invalid_properties
303
+ invalid_properties = Array.new
304
+ if @messages.nil?
305
+ invalid_properties.push('invalid value for "messages", messages cannot be nil.')
306
+ end
307
+
308
+ if @model.nil?
309
+ invalid_properties.push('invalid value for "model", model cannot be nil.')
310
+ end
311
+
312
+ invalid_properties
313
+ end
314
+
315
+ # Check to see if the all the properties in the model are valid
316
+ # @return true if the model is valid
317
+ def valid?
318
+ return false if @messages.nil?
319
+ return false if @model.nil?
320
+ true
321
+ end
322
+
323
+ # Checks equality by comparing each attribute.
324
+ # @param [Object] Object to be compared
325
+ def ==(o)
326
+ return true if self.equal?(o)
327
+ self.class == o.class &&
328
+ frequency_penalty == o.frequency_penalty &&
329
+ logprobs == o.logprobs &&
330
+ max_completion_tokens == o.max_completion_tokens &&
331
+ max_temp == o.max_temp &&
332
+ max_tokens == o.max_tokens &&
333
+ messages == o.messages &&
334
+ min_p == o.min_p &&
335
+ min_temp == o.min_temp &&
336
+ model == o.model &&
337
+ n == o.n &&
338
+ presence_penalty == o.presence_penalty &&
339
+ repetition_penalty == o.repetition_penalty &&
340
+ seed == o.seed &&
341
+ stop == o.stop &&
342
+ stop_token_ids == o.stop_token_ids &&
343
+ stream == o.stream &&
344
+ stream_options == o.stream_options &&
345
+ temperature == o.temperature &&
346
+ top_k == o.top_k &&
347
+ top_p == o.top_p &&
348
+ user == o.user &&
349
+ venice_parameters == o.venice_parameters &&
350
+ parallel_tool_calls == o.parallel_tool_calls &&
351
+ response_format == o.response_format &&
352
+ tool_choice == o.tool_choice &&
353
+ tools == o.tools
354
+ end
355
+
356
+ # @see the `==` method
357
+ # @param [Object] Object to be compared
358
+ def eql?(o)
359
+ self == o
360
+ end
361
+
362
+ # Calculates hash code according to all attributes.
363
+ # @return [Integer] Hash code
364
+ def hash
365
+ [frequency_penalty, logprobs, max_completion_tokens, max_temp, max_tokens, messages, min_p, min_temp, model, n, presence_penalty, repetition_penalty, seed, stop, stop_token_ids, stream, stream_options, temperature, top_k, top_p, user, venice_parameters, parallel_tool_calls, response_format, tool_choice, tools].hash
366
+ end
367
+
368
+ # Builds the object from hash
369
+ # @param [Hash] attributes Model attributes in the form of hash
370
+ # @return [Object] Returns the model itself
371
+ def self.build_from_hash(attributes)
372
+ new.build_from_hash(attributes)
373
+ end
374
+
375
+ # Builds the object from hash
376
+ # @param [Hash] attributes Model attributes in the form of hash
377
+ # @return [Object] Returns the model itself
378
+ def build_from_hash(attributes)
379
+ return nil unless attributes.is_a?(Hash)
380
+ self.class.openapi_types.each_pair do |key, type|
381
+ if type =~ /\AArray<(.*)>/i
382
+ # check to ensure the input is an array given that the attribute
383
+ # is documented as an array but the input is not
384
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
385
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
386
+ end
387
+ elsif !attributes[self.class.attribute_map[key]].nil?
388
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
389
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
390
+ self.send("#{key}=", nil)
391
+ end
392
+ end
393
+
394
+ self
395
+ end
396
+
397
+ # Deserializes the data based on type
398
+ # @param string type Data type
399
+ # @param string value Value to be deserialized
400
+ # @return [Object] Deserialized data
401
+ def _deserialize(type, value)
402
+ case type.to_sym
403
+ when :DateTime
404
+ DateTime.parse(value)
405
+ when :Date
406
+ Date.parse(value)
407
+ when :String
408
+ value.to_s
409
+ when :Integer
410
+ value.to_i
411
+ when :Float
412
+ value.to_f
413
+ when :Boolean
414
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
415
+ true
416
+ else
417
+ false
418
+ end
419
+ when :Object
420
+ # generic object (usually a Hash), return directly
421
+ value
422
+ when /\AArray<(?<inner_type>.+)>\z/
423
+ inner_type = Regexp.last_match[:inner_type]
424
+ value.map { |v| _deserialize(inner_type, v) }
425
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
426
+ k_type = Regexp.last_match[:k_type]
427
+ v_type = Regexp.last_match[:v_type]
428
+ {}.tap do |hash|
429
+ value.each do |k, v|
430
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
431
+ end
432
+ end
433
+ else # model
434
+ VeniceClient.const_get(type).build_from_hash(value)
435
+ end
436
+ end
437
+
438
+ # Returns the string representation of the object
439
+ # @return [String] String presentation of the object
440
+ def to_s
441
+ to_hash.to_s
442
+ end
443
+
444
+ # to_body is an alias to to_hash (backward compatibility)
445
+ # @return [Hash] Returns the object in the form of hash
446
+ def to_body
447
+ to_hash
448
+ end
449
+
450
+ # Returns the object in the form of hash
451
+ # @return [Hash] Returns the object in the form of hash
452
+ def to_hash
453
+ hash = {}
454
+ self.class.attribute_map.each_pair do |attr, param|
455
+ value = self.send(attr)
456
+ if value.nil?
457
+ is_nullable = self.class.openapi_nullable.include?(attr)
458
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
459
+ end
460
+
461
+ hash[param] = _to_hash(value)
462
+ end
463
+ hash
464
+ end
465
+
466
+ # Outputs non-array value in the form of hash
467
+ # For object, use to_hash. Otherwise, just return the value
468
+ # @param [Object] value Any valid value
469
+ # @return [Hash] Returns the value in the form of hash
470
+ def _to_hash(value)
471
+ if value.is_a?(Array)
472
+ value.compact.map { |v| _to_hash(v) }
473
+ elsif value.is_a?(Hash)
474
+ {}.tap do |hash|
475
+ value.each { |k, v| hash[k] = _to_hash(v) }
476
+ end
477
+ elsif value.respond_to? :to_hash
478
+ value.to_hash
479
+ else
480
+ value
481
+ end
482
+ end end
483
+ end