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.
- checksums.yaml +7 -0
- data/Gemfile +9 -0
- data/README.md +510 -0
- data/Rakefile +8 -0
- data/docs/APIKeysApi.md +334 -0
- data/docs/AnyOfChatCompletionRequestMessagesItems.md +6 -0
- data/docs/AnyOfChatCompletionRequestStop.md +6 -0
- data/docs/AnyOfChatCompletionRequestToolChoice.md +6 -0
- data/docs/AnyOfCreateEmbeddingRequestSchemaInput.md +6 -0
- data/docs/AnyOfCreateEmbeddingRequestSchemaModel.md +6 -0
- data/docs/AnyOfModelResponseModelSpecConstraints.md +6 -0
- data/docs/AnyOfModelResponseModelSpecPricing.md +6 -0
- data/docs/AnyOfUpscaleImageRequestEnhance.md +6 -0
- data/docs/AnyOfUpscaleImageRequestImage.md +6 -0
- data/docs/AnyOfapiKeysBodyExpiresAt.md +6 -0
- data/docs/AnyOfapiKeysConsumptionLimitUsd.md +6 -0
- data/docs/AnyOfapiKeysConsumptionLimitVcu.md +6 -0
- data/docs/AnyOfapiKeysGenerateWeb3KeyBodyExpiresAt.md +6 -0
- data/docs/AnyOfinlineResponse2002DataItems.md +6 -0
- data/docs/AnyOfinlineResponse2004Type.md +6 -0
- data/docs/AnyOfinlineResponse2005Type.md +6 -0
- data/docs/AnyOfinlineResponse2006Type.md +6 -0
- data/docs/AnyOfinlineResponse200ChoicesMessage.md +6 -0
- data/docs/AnyOfinlineResponse200PromptLogprobs.md +6 -0
- data/docs/ApiKeysBody.md +10 -0
- data/docs/ApiKeysConsumptionLimit.md +8 -0
- data/docs/ApiKeysGenerateWeb3KeyBody.md +13 -0
- data/docs/AudioApi.md +58 -0
- data/docs/BillingApi.md +70 -0
- data/docs/BillingUsageRequest.md +12 -0
- data/docs/BillingUsageResponse.md +8 -0
- data/docs/BillingUsageResponseData.md +14 -0
- data/docs/BillingUsageResponseInferenceDetails.md +10 -0
- data/docs/BillingUsageResponsePagination.md +10 -0
- data/docs/CharactersApi.md +52 -0
- data/docs/ChatApi.md +60 -0
- data/docs/ChatCompletionRequest.md +32 -0
- data/docs/ChatCompletionRequestFunction.md +9 -0
- data/docs/ChatCompletionRequestStreamOptions.md +7 -0
- data/docs/ChatCompletionRequestVeniceParameters.md +12 -0
- data/docs/CreateEmbeddingRequestSchema.md +11 -0
- data/docs/CreateSpeechRequestSchema.md +12 -0
- data/docs/EmbeddingsApi.md +60 -0
- data/docs/GenerateImageRequest.md +22 -0
- data/docs/ImageApi.md +270 -0
- data/docs/InlineResponse200.md +14 -0
- data/docs/InlineResponse2001.md +10 -0
- data/docs/InlineResponse20010.md +7 -0
- data/docs/InlineResponse20010Data.md +12 -0
- data/docs/InlineResponse20010DataApiTier.md +8 -0
- data/docs/InlineResponse20010DataBalances.md +8 -0
- data/docs/InlineResponse20010DataRateLimits.md +8 -0
- data/docs/InlineResponse20010DataRateLimits1.md +8 -0
- data/docs/InlineResponse20011.md +8 -0
- data/docs/InlineResponse20011Data.md +11 -0
- data/docs/InlineResponse20012.md +8 -0
- data/docs/InlineResponse20012Data.md +7 -0
- data/docs/InlineResponse20013.md +8 -0
- data/docs/InlineResponse20013Data.md +16 -0
- data/docs/InlineResponse20013Stats.md +7 -0
- data/docs/InlineResponse20014.md +10 -0
- data/docs/InlineResponse20014Data.md +9 -0
- data/docs/InlineResponse20014Usage.md +8 -0
- data/docs/InlineResponse20015.md +8 -0
- data/docs/InlineResponse2001Timing.md +10 -0
- data/docs/InlineResponse2002.md +8 -0
- data/docs/InlineResponse2003.md +8 -0
- data/docs/InlineResponse2004.md +9 -0
- data/docs/InlineResponse2005.md +9 -0
- data/docs/InlineResponse2006.md +9 -0
- data/docs/InlineResponse2007.md +8 -0
- data/docs/InlineResponse2007Data.md +15 -0
- data/docs/InlineResponse2007Usage.md +7 -0
- data/docs/InlineResponse2007UsageTrailingSevenDays.md +8 -0
- data/docs/InlineResponse2008.md +8 -0
- data/docs/InlineResponse2008Data.md +12 -0
- data/docs/InlineResponse2009.md +7 -0
- data/docs/InlineResponse200Choices.md +11 -0
- data/docs/InlineResponse200Logprobs.md +10 -0
- data/docs/InlineResponse200LogprobsTopLogprobs.md +9 -0
- data/docs/InlineResponse200Usage.md +10 -0
- data/docs/InlineResponse200VeniceParameters.md +13 -0
- data/docs/InlineResponse200VeniceParametersWebSearchCitations.md +10 -0
- data/docs/InlineResponse400.md +8 -0
- data/docs/InlineResponse401.md +7 -0
- data/docs/InlineResponse402.md +7 -0
- data/docs/InlineResponse403.md +7 -0
- data/docs/InlineResponse415.md +7 -0
- data/docs/InlineResponse429.md +7 -0
- data/docs/InlineResponse500.md +7 -0
- data/docs/InlineResponse5001.md +7 -0
- data/docs/InlineResponse503.md +7 -0
- data/docs/ModelCompatibilitySchema.md +6 -0
- data/docs/ModelResponse.md +12 -0
- data/docs/ModelResponseModelSpec.md +15 -0
- data/docs/ModelResponseModelSpecCapabilities.md +14 -0
- data/docs/ModelTraitSchema.md +6 -0
- data/docs/ModelsApi.md +160 -0
- data/docs/OneOfChatCompletionRequestResponseFormat.md +6 -0
- data/docs/PreviewApi.md +52 -0
- data/docs/SimpleGenerateImageRequest.md +18 -0
- data/docs/SpeechApi.md +58 -0
- data/docs/ToolCall.md +9 -0
- data/docs/Type.md +6 -0
- data/docs/UpscaleImageRequest.md +12 -0
- data/git_push.sh +55 -0
- data/lib/venice_client/api/api_keys_api.rb +381 -0
- data/lib/venice_client/api/audio_api.rb +74 -0
- data/lib/venice_client/api/billing_api.rb +97 -0
- data/lib/venice_client/api/characters_api.rb +70 -0
- data/lib/venice_client/api/chat_api.rb +77 -0
- data/lib/venice_client/api/embeddings_api.rb +81 -0
- data/lib/venice_client/api/image_api.rb +314 -0
- data/lib/venice_client/api/models_api.rb +185 -0
- data/lib/venice_client/api/preview_api.rb +70 -0
- data/lib/venice_client/api/speech_api.rb +74 -0
- data/lib/venice_client/api_client.rb +388 -0
- data/lib/venice_client/api_error.rb +56 -0
- data/lib/venice_client/configuration.rb +204 -0
- data/lib/venice_client/models/any_of_chat_completion_request_messages_items.rb +197 -0
- data/lib/venice_client/models/any_of_chat_completion_request_stop.rb +197 -0
- data/lib/venice_client/models/any_of_chat_completion_request_tool_choice.rb +197 -0
- data/lib/venice_client/models/any_of_create_embedding_request_schema_input.rb +197 -0
- data/lib/venice_client/models/any_of_create_embedding_request_schema_model.rb +197 -0
- data/lib/venice_client/models/any_of_model_response_model_spec_constraints.rb +197 -0
- data/lib/venice_client/models/any_of_model_response_model_spec_pricing.rb +197 -0
- data/lib/venice_client/models/any_of_upscale_image_request_enhance.rb +197 -0
- data/lib/venice_client/models/any_of_upscale_image_request_image.rb +197 -0
- data/lib/venice_client/models/any_ofapi_keys_body_expires_at.rb +197 -0
- data/lib/venice_client/models/any_ofapi_keys_consumption_limit_usd.rb +197 -0
- data/lib/venice_client/models/any_ofapi_keys_consumption_limit_vcu.rb +195 -0
- data/lib/venice_client/models/any_ofapi_keys_generate_web3_key_body_expires_at.rb +197 -0
- data/lib/venice_client/models/any_ofinline_response_200_2_data_items.rb +197 -0
- data/lib/venice_client/models/any_ofinline_response_200_4_type.rb +197 -0
- data/lib/venice_client/models/any_ofinline_response_200_5_type.rb +197 -0
- data/lib/venice_client/models/any_ofinline_response_200_6_type.rb +197 -0
- data/lib/venice_client/models/any_ofinline_response_200_choices_message.rb +197 -0
- data/lib/venice_client/models/any_ofinline_response_200_prompt_logprobs.rb +197 -0
- data/lib/venice_client/models/api_keys_body.rb +281 -0
- data/lib/venice_client/models/api_keys_consumption_limit.rb +228 -0
- data/lib/venice_client/models/api_keys_generate_web3_key_body.rb +322 -0
- data/lib/venice_client/models/billing_usage_request.rb +309 -0
- data/lib/venice_client/models/billing_usage_response.rb +228 -0
- data/lib/venice_client/models/billing_usage_response_data.rb +350 -0
- data/lib/venice_client/models/billing_usage_response_inference_details.rb +262 -0
- data/lib/venice_client/models/billing_usage_response_pagination.rb +253 -0
- data/lib/venice_client/models/chat_completion_request.rb +483 -0
- data/lib/venice_client/models/chat_completion_request_function.rb +231 -0
- data/lib/venice_client/models/chat_completion_request_stream_options.rb +207 -0
- data/lib/venice_client/models/chat_completion_request_venice_parameters.rb +302 -0
- data/lib/venice_client/models/create_embedding_request_schema.rb +294 -0
- data/lib/venice_client/models/create_speech_request_schema.rb +331 -0
- data/lib/venice_client/models/generate_image_request.rb +420 -0
- data/lib/venice_client/models/inline_response_200.rb +341 -0
- data/lib/venice_client/models/inline_response_200_1.rb +254 -0
- data/lib/venice_client/models/inline_response_200_10.rb +211 -0
- data/lib/venice_client/models/inline_response_200_10_data.rb +287 -0
- data/lib/venice_client/models/inline_response_200_10_data_api_tier.rb +227 -0
- data/lib/venice_client/models/inline_response_200_10_data_balances.rb +217 -0
- data/lib/venice_client/models/inline_response_200_10_data_rate_limits.rb +227 -0
- data/lib/venice_client/models/inline_response_200_10_data_rate_limits_1.rb +223 -0
- data/lib/venice_client/models/inline_response_200_11.rb +262 -0
- data/lib/venice_client/models/inline_response_200_11_data.rb +274 -0
- data/lib/venice_client/models/inline_response_200_12.rb +225 -0
- data/lib/venice_client/models/inline_response_200_12_data.rb +212 -0
- data/lib/venice_client/models/inline_response_200_13.rb +261 -0
- data/lib/venice_client/models/inline_response_200_13_data.rb +350 -0
- data/lib/venice_client/models/inline_response_200_13_stats.rb +212 -0
- data/lib/venice_client/models/inline_response_200_14.rb +292 -0
- data/lib/venice_client/models/inline_response_200_14_data.rb +278 -0
- data/lib/venice_client/models/inline_response_200_14_usage.rb +228 -0
- data/lib/venice_client/models/inline_response_200_15.rb +228 -0
- data/lib/venice_client/models/inline_response_200_1_timing.rb +257 -0
- data/lib/venice_client/models/inline_response_200_2.rb +228 -0
- data/lib/venice_client/models/inline_response_200_3.rb +262 -0
- data/lib/venice_client/models/inline_response_200_4.rb +277 -0
- data/lib/venice_client/models/inline_response_200_5.rb +274 -0
- data/lib/venice_client/models/inline_response_200_6.rb +274 -0
- data/lib/venice_client/models/inline_response_200_7.rb +262 -0
- data/lib/venice_client/models/inline_response_200_7_data.rb +357 -0
- data/lib/venice_client/models/inline_response_200_7_usage.rb +211 -0
- data/lib/venice_client/models/inline_response_200_7_usage_trailing_seven_days.rb +227 -0
- data/lib/venice_client/models/inline_response_200_8.rb +225 -0
- data/lib/venice_client/models/inline_response_200_8_data.rb +316 -0
- data/lib/venice_client/models/inline_response_200_9.rb +211 -0
- data/lib/venice_client/models/inline_response_200_choices.rb +312 -0
- data/lib/venice_client/models/inline_response_200_logprobs.rb +251 -0
- data/lib/venice_client/models/inline_response_200_logprobs_top_logprobs.rb +236 -0
- data/lib/venice_client/models/inline_response_200_usage.rb +253 -0
- data/lib/venice_client/models/inline_response_200_venice_parameters.rb +329 -0
- data/lib/venice_client/models/inline_response_200_venice_parameters_web_search_citations.rb +243 -0
- data/lib/venice_client/models/inline_response_400.rb +222 -0
- data/lib/venice_client/models/inline_response_401.rb +212 -0
- data/lib/venice_client/models/inline_response_402.rb +212 -0
- data/lib/venice_client/models/inline_response_403.rb +212 -0
- data/lib/venice_client/models/inline_response_415.rb +212 -0
- data/lib/venice_client/models/inline_response_429.rb +212 -0
- data/lib/venice_client/models/inline_response_500.rb +212 -0
- data/lib/venice_client/models/inline_response_500_1.rb +212 -0
- data/lib/venice_client/models/inline_response_503.rb +212 -0
- data/lib/venice_client/models/model_compatibility_schema.rb +202 -0
- data/lib/venice_client/models/model_response.rb +340 -0
- data/lib/venice_client/models/model_response_model_spec.rb +292 -0
- data/lib/venice_client/models/model_response_model_spec_capabilities.rb +352 -0
- data/lib/venice_client/models/model_trait_schema.rb +200 -0
- data/lib/venice_client/models/one_of_chat_completion_request_response_format.rb +197 -0
- data/lib/venice_client/models/simple_generate_image_request.rb +456 -0
- data/lib/venice_client/models/tool_call.rb +230 -0
- data/lib/venice_client/models/type.rb +198 -0
- data/lib/venice_client/models/upscale_image_request.rb +270 -0
- data/lib/venice_client/version.rb +14 -0
- data/lib/venice_client.rb +139 -0
- data/spec/api/api_keys_api_spec.rb +113 -0
- data/spec/api/audio_api_spec.rb +45 -0
- data/spec/api/billing_api_spec.rb +51 -0
- data/spec/api/characters_api_spec.rb +44 -0
- data/spec/api/chat_api_spec.rb +46 -0
- data/spec/api/embeddings_api_spec.rb +46 -0
- data/spec/api/image_api_spec.rb +99 -0
- data/spec/api/models_api_spec.rb +69 -0
- data/spec/api/preview_api_spec.rb +44 -0
- data/spec/api/speech_api_spec.rb +45 -0
- data/spec/api_client_spec.rb +225 -0
- data/spec/base_object_spec.rb +109 -0
- data/spec/configuration_spec.rb +41 -0
- data/spec/models/any_of_chat_completion_request_messages_items_spec.rb +34 -0
- data/spec/models/any_of_chat_completion_request_stop_spec.rb +34 -0
- data/spec/models/any_of_chat_completion_request_tool_choice_spec.rb +34 -0
- data/spec/models/any_of_create_embedding_request_schema_input_spec.rb +34 -0
- data/spec/models/any_of_create_embedding_request_schema_model_spec.rb +34 -0
- data/spec/models/any_of_model_response_model_spec_constraints_spec.rb +34 -0
- data/spec/models/any_of_model_response_model_spec_pricing_spec.rb +34 -0
- data/spec/models/any_of_upscale_image_request_enhance_spec.rb +34 -0
- data/spec/models/any_of_upscale_image_request_image_spec.rb +34 -0
- data/spec/models/any_ofapi_keys_body_expires_at_spec.rb +34 -0
- data/spec/models/any_ofapi_keys_consumption_limit_usd_spec.rb +34 -0
- data/spec/models/any_ofapi_keys_consumption_limit_vcu_spec.rb +34 -0
- data/spec/models/any_ofapi_keys_generate_web3_key_body_expires_at_spec.rb +34 -0
- data/spec/models/any_ofinline_response_200_2_data_items_spec.rb +34 -0
- data/spec/models/any_ofinline_response_200_4_type_spec.rb +34 -0
- data/spec/models/any_ofinline_response_200_5_type_spec.rb +34 -0
- data/spec/models/any_ofinline_response_200_6_type_spec.rb +34 -0
- data/spec/models/any_ofinline_response_200_choices_message_spec.rb +34 -0
- data/spec/models/any_ofinline_response_200_prompt_logprobs_spec.rb +34 -0
- data/spec/models/api_keys_body_spec.rb +61 -0
- data/spec/models/api_keys_consumption_limit_spec.rb +46 -0
- data/spec/models/api_keys_generate_web3_key_body_spec.rb +80 -0
- data/spec/models/billing_usage_request_spec.rb +78 -0
- data/spec/models/billing_usage_response_data_spec.rb +86 -0
- data/spec/models/billing_usage_response_inference_details_spec.rb +57 -0
- data/spec/models/billing_usage_response_pagination_spec.rb +58 -0
- data/spec/models/billing_usage_response_spec.rb +46 -0
- data/spec/models/chat_completion_request_function_spec.rb +52 -0
- data/spec/models/chat_completion_request_spec.rb +189 -0
- data/spec/models/chat_completion_request_stream_options_spec.rb +40 -0
- data/spec/models/chat_completion_request_venice_parameters_spec.rb +73 -0
- data/spec/models/create_embedding_request_schema_spec.rb +68 -0
- data/spec/models/create_speech_request_schema_spec.rb +81 -0
- data/spec/models/generate_image_request_spec.rb +134 -0
- data/spec/models/inline_response_200_10_data_api_tier_spec.rb +45 -0
- data/spec/models/inline_response_200_10_data_balances_spec.rb +45 -0
- data/spec/models/inline_response_200_10_data_rate_limits_1_spec.rb +45 -0
- data/spec/models/inline_response_200_10_data_rate_limits_spec.rb +46 -0
- data/spec/models/inline_response_200_10_data_spec.rb +69 -0
- data/spec/models/inline_response_200_10_spec.rb +40 -0
- data/spec/models/inline_response_200_11_data_spec.rb +64 -0
- data/spec/models/inline_response_200_11_spec.rb +50 -0
- data/spec/models/inline_response_200_12_data_spec.rb +39 -0
- data/spec/models/inline_response_200_12_spec.rb +46 -0
- data/spec/models/inline_response_200_13_data_spec.rb +93 -0
- data/spec/models/inline_response_200_13_spec.rb +49 -0
- data/spec/models/inline_response_200_13_stats_spec.rb +40 -0
- data/spec/models/inline_response_200_14_data_spec.rb +55 -0
- data/spec/models/inline_response_200_14_spec.rb +61 -0
- data/spec/models/inline_response_200_14_usage_spec.rb +45 -0
- data/spec/models/inline_response_200_15_spec.rb +45 -0
- data/spec/models/inline_response_200_1_spec.rb +57 -0
- data/spec/models/inline_response_200_1_timing_spec.rb +58 -0
- data/spec/models/inline_response_200_2_spec.rb +46 -0
- data/spec/models/inline_response_200_3_spec.rb +50 -0
- data/spec/models/inline_response_200_4_spec.rb +55 -0
- data/spec/models/inline_response_200_5_spec.rb +55 -0
- data/spec/models/inline_response_200_6_spec.rb +55 -0
- data/spec/models/inline_response_200_7_data_spec.rb +91 -0
- data/spec/models/inline_response_200_7_spec.rb +50 -0
- data/spec/models/inline_response_200_7_usage_spec.rb +39 -0
- data/spec/models/inline_response_200_7_usage_trailing_seven_days_spec.rb +45 -0
- data/spec/models/inline_response_200_8_data_spec.rb +73 -0
- data/spec/models/inline_response_200_8_spec.rb +45 -0
- data/spec/models/inline_response_200_9_spec.rb +39 -0
- data/spec/models/inline_response_200_choices_spec.rb +72 -0
- data/spec/models/inline_response_200_logprobs_spec.rb +57 -0
- data/spec/models/inline_response_200_logprobs_top_logprobs_spec.rb +51 -0
- data/spec/models/inline_response_200_spec.rb +85 -0
- data/spec/models/inline_response_200_usage_spec.rb +57 -0
- data/spec/models/inline_response_200_venice_parameters_spec.rb +80 -0
- data/spec/models/inline_response_200_venice_parameters_web_search_citations_spec.rb +57 -0
- data/spec/models/inline_response_400_spec.rb +45 -0
- data/spec/models/inline_response_401_spec.rb +39 -0
- data/spec/models/inline_response_402_spec.rb +39 -0
- data/spec/models/inline_response_403_spec.rb +40 -0
- data/spec/models/inline_response_415_spec.rb +40 -0
- data/spec/models/inline_response_429_spec.rb +39 -0
- data/spec/models/inline_response_500_1_spec.rb +40 -0
- data/spec/models/inline_response_500_spec.rb +39 -0
- data/spec/models/inline_response_503_spec.rb +40 -0
- data/spec/models/model_compatibility_schema_spec.rb +34 -0
- data/spec/models/model_response_model_spec_capabilities_spec.rb +85 -0
- data/spec/models/model_response_model_spec_spec.rb +87 -0
- data/spec/models/model_response_spec.rb +81 -0
- data/spec/models/model_trait_schema_spec.rb +34 -0
- data/spec/models/one_of_chat_completion_request_response_format_spec.rb +34 -0
- data/spec/models/simple_generate_image_request_spec.rb +134 -0
- data/spec/models/tool_call_spec.rb +51 -0
- data/spec/models/type_spec.rb +34 -0
- data/spec/models/upscale_image_request_spec.rb +69 -0
- data/spec/spec_helper.rb +110 -0
- data/venice_client.gemspec +38 -0
- 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
|