carbon_ruby_sdk 0.2.8 → 0.2.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7e24c4f7481d52cd0901f996fa2918d220818ff71e03f3466fe588a0a721048a
4
- data.tar.gz: b4b4f44995b7b14d370897734d98b16d1e8f05d6d12be08890e2a1486c768f8f
3
+ metadata.gz: fda5b1ec1c730f2f9a580a276304ac423b05d02cd9ed4f14696d0c49bd67b0c0
4
+ data.tar.gz: ab62de83823f3bea5defd1d30500f92e36241a679d3df90a0fcfc73f67143981
5
5
  SHA512:
6
- metadata.gz: b4c1aa6d3423c0a32fbd51eeccf1059e1f2e5b3c44124bfdf3b3abec834e7bb5f564f0a4ed6c40ca265bc387b334881d3f8f4955301388e7d6439636828aec75
7
- data.tar.gz: 5c8eee9e089f459a6da9b5242f8843ee53dcd21ef80b3b4361ac45c040a3d50c61e8c158d5759d3d24f9106e8aa52bfee3df1c78a9d27b87cffe9d6c54dac4d9
6
+ metadata.gz: c3c676f58227aee9663ac184703f8da022ad568055233a99db2c700e00d687b82f7392ed2957f98b36cb3b2c9896c7ccb48641e4f8ca9131c0df34c1c65c7d79
7
+ data.tar.gz: 7463c9e146c1350f304bb2610756c1d78ee9790a942edb6566c1df62ab8bd929e383532c362c0bdf64a3a3f54b4e278ba085ba914f3e866b6ba3ee34358ec9db
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- carbon_ruby_sdk (0.2.8)
4
+ carbon_ruby_sdk (0.2.9)
5
5
  faraday (>= 1.0.1, < 3.0)
6
6
  faraday-multipart (~> 1.0, >= 1.0.4)
7
7
 
data/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  Connect external data to LLMs, no matter the source.
8
8
 
9
- [![npm](https://img.shields.io/badge/gem-v0.2.8-blue)](https://rubygems.org/gems/carbon_ruby_sdk/versions/0.2.8)
9
+ [![npm](https://img.shields.io/badge/gem-v0.2.9-blue)](https://rubygems.org/gems/carbon_ruby_sdk/versions/0.2.9)
10
10
 
11
11
  </div>
12
12
 
@@ -24,6 +24,7 @@ Connect external data to LLMs, no matter the source.
24
24
  * [`carbon.data_sources.revoke_access_token`](#carbondata_sourcesrevoke_access_token)
25
25
  * [`carbon.embeddings.get_documents`](#carbonembeddingsget_documents)
26
26
  * [`carbon.embeddings.get_embeddings_and_chunks`](#carbonembeddingsget_embeddings_and_chunks)
27
+ * [`carbon.embeddings.list`](#carbonembeddingslist)
27
28
  * [`carbon.embeddings.upload_chunks_and_embeddings`](#carbonembeddingsupload_chunks_and_embeddings)
28
29
  * [`carbon.files.create_user_file_tags`](#carbonfilescreate_user_file_tags)
29
30
  * [`carbon.files.delete`](#carbonfilesdelete)
@@ -89,7 +90,7 @@ Connect external data to LLMs, no matter the source.
89
90
  Add to Gemfile:
90
91
 
91
92
  ```ruby
92
- gem 'carbon_ruby_sdk', '~> 0.2.8'
93
+ gem 'carbon_ruby_sdk', '~> 0.2.9'
93
94
  ```
94
95
 
95
96
  ## Getting Started<a id="getting-started"></a>
@@ -487,6 +488,49 @@ p result
487
488
  ---
488
489
 
489
490
 
491
+ ### `carbon.embeddings.list`<a id="carbonembeddingslist"></a>
492
+
493
+ Retrieve Embeddings And Content V2
494
+
495
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
496
+
497
+ ```ruby
498
+ result = carbon.embeddings.list(
499
+ filters: {
500
+ "include_all_children" => false,
501
+ "non_synced_only" => false,
502
+ },
503
+ pagination: {
504
+ "limit" => 10,
505
+ "offset" => 0,
506
+ },
507
+ order_by: "created_at",
508
+ order_dir: "desc",
509
+ include_vectors: false,
510
+ )
511
+ p result
512
+ ```
513
+
514
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
515
+
516
+ ##### filters: [`OrganizationUserFilesToSyncFilters`](./lib/carbon_ruby_sdk/models/organization_user_files_to_sync_filters.rb)<a id="filters-organizationuserfilestosyncfilterslibcarbon_ruby_sdkmodelsorganization_user_files_to_sync_filtersrb"></a>
517
+ ##### pagination: [`Pagination`](./lib/carbon_ruby_sdk/models/pagination.rb)<a id="pagination-paginationlibcarbon_ruby_sdkmodelspaginationrb"></a>
518
+ ##### order_by: [`OrganizationUserFilesToSyncOrderByTypes`](./lib/carbon_ruby_sdk/models/organization_user_files_to_sync_order_by_types.rb)<a id="order_by-organizationuserfilestosyncorderbytypeslibcarbon_ruby_sdkmodelsorganization_user_files_to_sync_order_by_typesrb"></a>
519
+ ##### order_dir: [`OrderDir`](./lib/carbon_ruby_sdk/models/order_dir.rb)<a id="order_dir-orderdirlibcarbon_ruby_sdkmodelsorder_dirrb"></a>
520
+ ##### include_vectors: `Boolean`<a id="include_vectors-boolean"></a>
521
+ #### 🔄 Return<a id="🔄-return"></a>
522
+
523
+ [EmbeddingsAndChunksResponse](./lib/carbon_ruby_sdk/models/embeddings_and_chunks_response.rb)
524
+
525
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
526
+
527
+ `/list_chunks_and_embeddings` `POST`
528
+
529
+ [🔙 **Back to Table of Contents**](#table-of-contents)
530
+
531
+ ---
532
+
533
+
490
534
  ### `carbon.embeddings.upload_chunks_and_embeddings`<a id="carbonembeddingsupload_chunks_and_embeddings"></a>
491
535
 
492
536
  Upload Chunks And Embeddings
@@ -1230,7 +1274,7 @@ result = carbon.integrations.connect_data_source(
1230
1274
  "prepend_filename_to_chunks" => false,
1231
1275
  "sync_files_on_connection" => true,
1232
1276
  "set_page_as_boundary" => false,
1233
- "request_id" => "9e41dd01-0592-477a-97b3-df618acf082b",
1277
+ "request_id" => "ae8cd936-69c9-42cd-affb-87f3bea6d8eb",
1234
1278
  "enable_file_picker" => true,
1235
1279
  "sync_source_items" => true,
1236
1280
  "incremental_sync" => false,
@@ -1450,7 +1494,7 @@ result = carbon.integrations.get_oauth_url(
1450
1494
  set_page_as_boundary: false,
1451
1495
  data_source_id: 1,
1452
1496
  connecting_new_account: false,
1453
- request_id: "1855375f-faa1-4965-99a1-03d1cab8000b",
1497
+ request_id: "6c38b4bb-1536-46c9-ade7-72fabf05b3bb",
1454
1498
  use_ocr: false,
1455
1499
  parse_pdf_tables_with_ocr: false,
1456
1500
  enable_file_picker: true,
@@ -1511,7 +1555,7 @@ Enable OCR for files that support it. Supported formats: pdf
1511
1555
  ##### parse_pdf_tables_with_ocr: `Boolean`<a id="parse_pdf_tables_with_ocr-boolean"></a>
1512
1556
  ##### enable_file_picker: `Boolean`<a id="enable_file_picker-boolean"></a>
1513
1557
  Enable integration's file picker for sources that support it. Supported sources:
1514
- SHAREPOINT, GOOGLE_DRIVE, ONEDRIVE, BOX, DROPBOX
1558
+ ONEDRIVE, GOOGLE_DRIVE, DROPBOX, BOX, SHAREPOINT
1515
1559
 
1516
1560
  ##### sync_source_items: `Boolean`<a id="sync_source_items-boolean"></a>
1517
1561
  Enabling this flag will fetch all available content from the source to be listed
@@ -1810,7 +1854,7 @@ result = carbon.integrations.sync_confluence(
1810
1854
  prepend_filename_to_chunks: false,
1811
1855
  max_items_per_chunk: 1,
1812
1856
  set_page_as_boundary: false,
1813
- request_id: "9e2d7dc0-7a78-49fa-9f68-a411cfa13267",
1857
+ request_id: "bcd3ae91-8bae-4d50-9046-94dc62b2078f",
1814
1858
  use_ocr: false,
1815
1859
  parse_pdf_tables_with_ocr: false,
1816
1860
  incremental_sync: false,
@@ -1914,7 +1958,7 @@ result = carbon.integrations.sync_files(
1914
1958
  prepend_filename_to_chunks: false,
1915
1959
  max_items_per_chunk: 1,
1916
1960
  set_page_as_boundary: false,
1917
- request_id: "9e2d7dc0-7a78-49fa-9f68-a411cfa13267",
1961
+ request_id: "bcd3ae91-8bae-4d50-9046-94dc62b2078f",
1918
1962
  use_ocr: false,
1919
1963
  parse_pdf_tables_with_ocr: false,
1920
1964
  incremental_sync: false,
@@ -464,6 +464,114 @@ module Carbon
464
464
  end
465
465
 
466
466
 
467
+ # Retrieve Embeddings And Content V2
468
+ #
469
+ # @param filters [OrganizationUserFilesToSyncFilters]
470
+ # @param pagination [Pagination]
471
+ # @param order_by [OrganizationUserFilesToSyncOrderByTypes]
472
+ # @param order_dir [OrderDir]
473
+ # @param include_vectors [Boolean]
474
+ # @param body [EmbeddingsAndChunksQueryInputV2]
475
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
476
+ def list(filters:, pagination: SENTINEL, order_by: 'updated_at', order_dir: 'asc', include_vectors: false, extra: {})
477
+ _body = {}
478
+ _body[:pagination] = pagination if pagination != SENTINEL
479
+ _body[:order_by] = order_by if order_by != SENTINEL
480
+ _body[:order_dir] = order_dir if order_dir != SENTINEL
481
+ _body[:filters] = filters if filters != SENTINEL
482
+ _body[:include_vectors] = include_vectors if include_vectors != SENTINEL
483
+ embeddings_and_chunks_query_input_v2 = _body
484
+ api_response = list_with_http_info_impl(embeddings_and_chunks_query_input_v2, extra)
485
+ api_response.data
486
+ end
487
+
488
+ # Retrieve Embeddings And Content V2
489
+ #
490
+ # @param filters [OrganizationUserFilesToSyncFilters]
491
+ # @param pagination [Pagination]
492
+ # @param order_by [OrganizationUserFilesToSyncOrderByTypes]
493
+ # @param order_dir [OrderDir]
494
+ # @param include_vectors [Boolean]
495
+ # @param body [EmbeddingsAndChunksQueryInputV2]
496
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
497
+ def list_with_http_info(filters:, pagination: SENTINEL, order_by: 'updated_at', order_dir: 'asc', include_vectors: false, extra: {})
498
+ _body = {}
499
+ _body[:pagination] = pagination if pagination != SENTINEL
500
+ _body[:order_by] = order_by if order_by != SENTINEL
501
+ _body[:order_dir] = order_dir if order_dir != SENTINEL
502
+ _body[:filters] = filters if filters != SENTINEL
503
+ _body[:include_vectors] = include_vectors if include_vectors != SENTINEL
504
+ embeddings_and_chunks_query_input_v2 = _body
505
+ list_with_http_info_impl(embeddings_and_chunks_query_input_v2, extra)
506
+ end
507
+
508
+ # Retrieve Embeddings And Content V2
509
+ # @param embeddings_and_chunks_query_input_v2 [EmbeddingsAndChunksQueryInputV2]
510
+ # @param [Hash] opts the optional parameters
511
+ # @return [EmbeddingsAndChunksResponse]
512
+ private def list_impl(embeddings_and_chunks_query_input_v2, opts = {})
513
+ data, _status_code, _headers = list_with_http_info(embeddings_and_chunks_query_input_v2, opts)
514
+ data
515
+ end
516
+
517
+ # Retrieve Embeddings And Content V2
518
+ # @param embeddings_and_chunks_query_input_v2 [EmbeddingsAndChunksQueryInputV2]
519
+ # @param [Hash] opts the optional parameters
520
+ # @return [APIResponse] data is EmbeddingsAndChunksResponse, status code, headers and response
521
+ private def list_with_http_info_impl(embeddings_and_chunks_query_input_v2, opts = {})
522
+ if @api_client.config.debugging
523
+ @api_client.config.logger.debug 'Calling API: EmbeddingsApi.list ...'
524
+ end
525
+ # verify the required parameter 'embeddings_and_chunks_query_input_v2' is set
526
+ if @api_client.config.client_side_validation && embeddings_and_chunks_query_input_v2.nil?
527
+ fail ArgumentError, "Missing the required parameter 'embeddings_and_chunks_query_input_v2' when calling EmbeddingsApi.list"
528
+ end
529
+ # resource path
530
+ local_var_path = '/list_chunks_and_embeddings'
531
+
532
+ # query parameters
533
+ query_params = opts[:query_params] || {}
534
+
535
+ # header parameters
536
+ header_params = opts[:header_params] || {}
537
+ # HTTP header 'Accept' (if needed)
538
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
539
+ # HTTP header 'Content-Type'
540
+ content_type = @api_client.select_header_content_type(['application/json'])
541
+ if !content_type.nil?
542
+ header_params['Content-Type'] = content_type
543
+ end
544
+
545
+ # form parameters
546
+ form_params = opts[:form_params] || {}
547
+
548
+ # http body (model)
549
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(embeddings_and_chunks_query_input_v2)
550
+
551
+ # return_type
552
+ return_type = opts[:debug_return_type] || 'EmbeddingsAndChunksResponse'
553
+
554
+ # auth_names
555
+ auth_names = opts[:debug_auth_names] || ['accessToken', 'apiKey', 'customerId']
556
+
557
+ new_options = opts.merge(
558
+ :operation => :"EmbeddingsApi.list",
559
+ :header_params => header_params,
560
+ :query_params => query_params,
561
+ :form_params => form_params,
562
+ :body => post_body,
563
+ :auth_names => auth_names,
564
+ :return_type => return_type
565
+ )
566
+
567
+ data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
568
+ if @api_client.config.debugging
569
+ @api_client.config.logger.debug "API called: EmbeddingsApi#list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
570
+ end
571
+ APIResponse::new(data, status_code, headers, response)
572
+ end
573
+
574
+
467
575
  # Upload Chunks And Embeddings
468
576
  #
469
577
  # @param embedding_model [EmbeddingGenerators]
@@ -653,13 +653,13 @@ module Carbon
653
653
  # @param request_id [String] This request id will be added to all files that get synced using the generated OAuth URL
654
654
  # @param use_ocr [Boolean] Enable OCR for files that support it. Supported formats: pdf
655
655
  # @param parse_pdf_tables_with_ocr [Boolean]
656
- # @param enable_file_picker [Boolean] Enable integration's file picker for sources that support it. Supported sources: SHAREPOINT, GOOGLE_DRIVE, ONEDRIVE, BOX, DROPBOX
656
+ # @param enable_file_picker [Boolean] Enable integration's file picker for sources that support it. Supported sources: ONEDRIVE, GOOGLE_DRIVE, DROPBOX, BOX, SHAREPOINT
657
657
  # @param sync_source_items [Boolean] Enabling this flag will fetch all available content from the source to be listed via list items endpoint
658
658
  # @param incremental_sync [Boolean] Only sync files if they have not already been synced or if the embedding properties have changed. This flag is currently supported by ONEDRIVE, GOOGLE_DRIVE, BOX, DROPBOX. It will be ignored for other data sources.
659
659
  # @param file_sync_config [FileSyncConfigNullable]
660
660
  # @param body [OAuthURLRequest]
661
661
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
662
- def get_oauth_url(service:, tags: SENTINEL, scope: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', zendesk_subdomain: SENTINEL, microsoft_tenant: SENTINEL, sharepoint_site_name: SENTINEL, confluence_subdomain: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, salesforce_domain: SENTINEL, sync_files_on_connection: true, set_page_as_boundary: false, data_source_id: SENTINEL, connecting_new_account: false, request_id: '1855375f-faa1-4965-99a1-03d1cab8000b', use_ocr: false, parse_pdf_tables_with_ocr: false, enable_file_picker: true, sync_source_items: true, incremental_sync: false, file_sync_config: SENTINEL, extra: {})
662
+ def get_oauth_url(service:, tags: SENTINEL, scope: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', zendesk_subdomain: SENTINEL, microsoft_tenant: SENTINEL, sharepoint_site_name: SENTINEL, confluence_subdomain: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, salesforce_domain: SENTINEL, sync_files_on_connection: true, set_page_as_boundary: false, data_source_id: SENTINEL, connecting_new_account: false, request_id: '6c38b4bb-1536-46c9-ade7-72fabf05b3bb', use_ocr: false, parse_pdf_tables_with_ocr: false, enable_file_picker: true, sync_source_items: true, incremental_sync: false, file_sync_config: SENTINEL, extra: {})
663
663
  _body = {}
664
664
  _body[:tags] = tags if tags != SENTINEL
665
665
  _body[:scope] = scope if scope != SENTINEL
@@ -721,13 +721,13 @@ module Carbon
721
721
  # @param request_id [String] This request id will be added to all files that get synced using the generated OAuth URL
722
722
  # @param use_ocr [Boolean] Enable OCR for files that support it. Supported formats: pdf
723
723
  # @param parse_pdf_tables_with_ocr [Boolean]
724
- # @param enable_file_picker [Boolean] Enable integration's file picker for sources that support it. Supported sources: SHAREPOINT, GOOGLE_DRIVE, ONEDRIVE, BOX, DROPBOX
724
+ # @param enable_file_picker [Boolean] Enable integration's file picker for sources that support it. Supported sources: ONEDRIVE, GOOGLE_DRIVE, DROPBOX, BOX, SHAREPOINT
725
725
  # @param sync_source_items [Boolean] Enabling this flag will fetch all available content from the source to be listed via list items endpoint
726
726
  # @param incremental_sync [Boolean] Only sync files if they have not already been synced or if the embedding properties have changed. This flag is currently supported by ONEDRIVE, GOOGLE_DRIVE, BOX, DROPBOX. It will be ignored for other data sources.
727
727
  # @param file_sync_config [FileSyncConfigNullable]
728
728
  # @param body [OAuthURLRequest]
729
729
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
730
- def get_oauth_url_with_http_info(service:, tags: SENTINEL, scope: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', zendesk_subdomain: SENTINEL, microsoft_tenant: SENTINEL, sharepoint_site_name: SENTINEL, confluence_subdomain: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, salesforce_domain: SENTINEL, sync_files_on_connection: true, set_page_as_boundary: false, data_source_id: SENTINEL, connecting_new_account: false, request_id: '1855375f-faa1-4965-99a1-03d1cab8000b', use_ocr: false, parse_pdf_tables_with_ocr: false, enable_file_picker: true, sync_source_items: true, incremental_sync: false, file_sync_config: SENTINEL, extra: {})
730
+ def get_oauth_url_with_http_info(service:, tags: SENTINEL, scope: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', zendesk_subdomain: SENTINEL, microsoft_tenant: SENTINEL, sharepoint_site_name: SENTINEL, confluence_subdomain: SENTINEL, generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, salesforce_domain: SENTINEL, sync_files_on_connection: true, set_page_as_boundary: false, data_source_id: SENTINEL, connecting_new_account: false, request_id: '6c38b4bb-1536-46c9-ade7-72fabf05b3bb', use_ocr: false, parse_pdf_tables_with_ocr: false, enable_file_picker: true, sync_source_items: true, incremental_sync: false, file_sync_config: SENTINEL, extra: {})
731
731
  _body = {}
732
732
  _body[:tags] = tags if tags != SENTINEL
733
733
  _body[:scope] = scope if scope != SENTINEL
@@ -1640,7 +1640,7 @@ module Carbon
1640
1640
  # @param file_sync_config [FileSyncConfigNullable]
1641
1641
  # @param body [SyncFilesRequest]
1642
1642
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
1643
- def sync_confluence(data_source_id:, ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, request_id: '9e2d7dc0-7a78-49fa-9f68-a411cfa13267', use_ocr: false, parse_pdf_tables_with_ocr: false, incremental_sync: false, file_sync_config: SENTINEL, extra: {})
1643
+ def sync_confluence(data_source_id:, ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, request_id: 'bcd3ae91-8bae-4d50-9046-94dc62b2078f', use_ocr: false, parse_pdf_tables_with_ocr: false, incremental_sync: false, file_sync_config: SENTINEL, extra: {})
1644
1644
  _body = {}
1645
1645
  _body[:tags] = tags if tags != SENTINEL
1646
1646
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
@@ -1688,7 +1688,7 @@ module Carbon
1688
1688
  # @param file_sync_config [FileSyncConfigNullable]
1689
1689
  # @param body [SyncFilesRequest]
1690
1690
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
1691
- def sync_confluence_with_http_info(data_source_id:, ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, request_id: '9e2d7dc0-7a78-49fa-9f68-a411cfa13267', use_ocr: false, parse_pdf_tables_with_ocr: false, incremental_sync: false, file_sync_config: SENTINEL, extra: {})
1691
+ def sync_confluence_with_http_info(data_source_id:, ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, request_id: 'bcd3ae91-8bae-4d50-9046-94dc62b2078f', use_ocr: false, parse_pdf_tables_with_ocr: false, incremental_sync: false, file_sync_config: SENTINEL, extra: {})
1692
1692
  _body = {}
1693
1693
  _body[:tags] = tags if tags != SENTINEL
1694
1694
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
@@ -1896,7 +1896,7 @@ module Carbon
1896
1896
  # @param file_sync_config [FileSyncConfigNullable]
1897
1897
  # @param body [SyncFilesRequest]
1898
1898
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
1899
- def sync_files(data_source_id:, ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, request_id: '9e2d7dc0-7a78-49fa-9f68-a411cfa13267', use_ocr: false, parse_pdf_tables_with_ocr: false, incremental_sync: false, file_sync_config: SENTINEL, extra: {})
1899
+ def sync_files(data_source_id:, ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, request_id: 'bcd3ae91-8bae-4d50-9046-94dc62b2078f', use_ocr: false, parse_pdf_tables_with_ocr: false, incremental_sync: false, file_sync_config: SENTINEL, extra: {})
1900
1900
  _body = {}
1901
1901
  _body[:tags] = tags if tags != SENTINEL
1902
1902
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
@@ -1944,7 +1944,7 @@ module Carbon
1944
1944
  # @param file_sync_config [FileSyncConfigNullable]
1945
1945
  # @param body [SyncFilesRequest]
1946
1946
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
1947
- def sync_files_with_http_info(data_source_id:, ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, request_id: '9e2d7dc0-7a78-49fa-9f68-a411cfa13267', use_ocr: false, parse_pdf_tables_with_ocr: false, incremental_sync: false, file_sync_config: SENTINEL, extra: {})
1947
+ def sync_files_with_http_info(data_source_id:, ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, request_id: 'bcd3ae91-8bae-4d50-9046-94dc62b2078f', use_ocr: false, parse_pdf_tables_with_ocr: false, incremental_sync: false, file_sync_config: SENTINEL, extra: {})
1948
1948
  _body = {}
1949
1949
  _body[:tags] = tags if tags != SENTINEL
1950
1950
  _body[:data_source_id] = data_source_id if data_source_id != SENTINEL
@@ -0,0 +1,262 @@
1
+ =begin
2
+ #Carbon
3
+
4
+ #Connect external data to LLMs, no matter the source.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ =end
8
+
9
+ require 'date'
10
+ require 'time'
11
+
12
+ module Carbon
13
+ class EmbeddingsAndChunksQueryInputV2
14
+ attr_accessor :pagination
15
+
16
+ attr_accessor :order_by
17
+
18
+ attr_accessor :order_dir
19
+
20
+ attr_accessor :filters
21
+
22
+ attr_accessor :include_vectors
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'pagination' => :'pagination',
28
+ :'order_by' => :'order_by',
29
+ :'order_dir' => :'order_dir',
30
+ :'filters' => :'filters',
31
+ :'include_vectors' => :'include_vectors'
32
+ }
33
+ end
34
+
35
+ # Returns all the JSON keys this model knows about
36
+ def self.acceptable_attributes
37
+ attribute_map.values
38
+ end
39
+
40
+ # Attribute type mapping.
41
+ def self.openapi_types
42
+ {
43
+ :'pagination' => :'Pagination',
44
+ :'order_by' => :'OrganizationUserFilesToSyncOrderByTypes',
45
+ :'order_dir' => :'OrderDir',
46
+ :'filters' => :'OrganizationUserFilesToSyncFilters',
47
+ :'include_vectors' => :'Boolean'
48
+ }
49
+ end
50
+
51
+ # List of attributes with nullable: true
52
+ def self.openapi_nullable
53
+ Set.new([
54
+ ])
55
+ end
56
+
57
+ # Initializes the object
58
+ # @param [Hash] attributes Model attributes in the form of hash
59
+ def initialize(attributes = {})
60
+ if (!attributes.is_a?(Hash))
61
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Carbon::EmbeddingsAndChunksQueryInputV2` initialize method"
62
+ end
63
+
64
+ # check to see if the attribute exists and convert string to symbol for hash key
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!self.class.attribute_map.key?(k.to_sym))
67
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Carbon::EmbeddingsAndChunksQueryInputV2`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
68
+ end
69
+ h[k.to_sym] = v
70
+ }
71
+
72
+ if attributes.key?(:'pagination')
73
+ self.pagination = attributes[:'pagination']
74
+ end
75
+
76
+ if attributes.key?(:'order_by')
77
+ self.order_by = attributes[:'order_by']
78
+ else
79
+ self.order_by = 'updated_at'
80
+ end
81
+
82
+ if attributes.key?(:'order_dir')
83
+ self.order_dir = attributes[:'order_dir']
84
+ else
85
+ self.order_dir = 'asc'
86
+ end
87
+
88
+ if attributes.key?(:'filters')
89
+ self.filters = attributes[:'filters']
90
+ end
91
+
92
+ if attributes.key?(:'include_vectors')
93
+ self.include_vectors = attributes[:'include_vectors']
94
+ else
95
+ self.include_vectors = false
96
+ end
97
+ end
98
+
99
+ # Show invalid properties with the reasons. Usually used together with valid?
100
+ # @return Array for valid properties with the reasons
101
+ def list_invalid_properties
102
+ invalid_properties = Array.new
103
+ if @filters.nil?
104
+ invalid_properties.push('invalid value for "filters", filters cannot be nil.')
105
+ end
106
+
107
+ invalid_properties
108
+ end
109
+
110
+ # Check to see if the all the properties in the model are valid
111
+ # @return true if the model is valid
112
+ def valid?
113
+ return false if @filters.nil?
114
+ true
115
+ end
116
+
117
+ # Checks equality by comparing each attribute.
118
+ # @param [Object] Object to be compared
119
+ def ==(o)
120
+ return true if self.equal?(o)
121
+ self.class == o.class &&
122
+ pagination == o.pagination &&
123
+ order_by == o.order_by &&
124
+ order_dir == o.order_dir &&
125
+ filters == o.filters &&
126
+ include_vectors == o.include_vectors
127
+ end
128
+
129
+ # @see the `==` method
130
+ # @param [Object] Object to be compared
131
+ def eql?(o)
132
+ self == o
133
+ end
134
+
135
+ # Calculates hash code according to all attributes.
136
+ # @return [Integer] Hash code
137
+ def hash
138
+ [pagination, order_by, order_dir, filters, include_vectors].hash
139
+ end
140
+
141
+ # Builds the object from hash
142
+ # @param [Hash] attributes Model attributes in the form of hash
143
+ # @return [Object] Returns the model itself
144
+ def self.build_from_hash(attributes)
145
+ new.build_from_hash(attributes)
146
+ end
147
+
148
+ # Builds the object from hash
149
+ # @param [Hash] attributes Model attributes in the form of hash
150
+ # @return [Object] Returns the model itself
151
+ def build_from_hash(attributes)
152
+ return nil unless attributes.is_a?(Hash)
153
+ attributes = attributes.transform_keys(&:to_sym)
154
+ self.class.openapi_types.each_pair do |key, type|
155
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
156
+ self.send("#{key}=", nil)
157
+ elsif type =~ /\AArray<(.*)>/i
158
+ # check to ensure the input is an array given that the attribute
159
+ # is documented as an array but the input is not
160
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
161
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
162
+ end
163
+ elsif !attributes[self.class.attribute_map[key]].nil?
164
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
165
+ end
166
+ end
167
+
168
+ self
169
+ end
170
+
171
+ # Deserializes the data based on type
172
+ # @param string type Data type
173
+ # @param string value Value to be deserialized
174
+ # @return [Object] Deserialized data
175
+ def _deserialize(type, value)
176
+ case type.to_sym
177
+ when :Time
178
+ Time.parse(value)
179
+ when :Date
180
+ Date.parse(value)
181
+ when :String
182
+ value.to_s
183
+ when :Integer
184
+ value.to_i
185
+ when :Float
186
+ value.to_f
187
+ when :Boolean
188
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
189
+ true
190
+ else
191
+ false
192
+ end
193
+ when :Object
194
+ # generic object (usually a Hash), return directly
195
+ value
196
+ when /\AArray<(?<inner_type>.+)>\z/
197
+ inner_type = Regexp.last_match[:inner_type]
198
+ value.map { |v| _deserialize(inner_type, v) }
199
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
200
+ k_type = Regexp.last_match[:k_type]
201
+ v_type = Regexp.last_match[:v_type]
202
+ {}.tap do |hash|
203
+ value.each do |k, v|
204
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
205
+ end
206
+ end
207
+ else # model
208
+ # models (e.g. Pet) or oneOf
209
+ klass = Carbon.const_get(type)
210
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
211
+ end
212
+ end
213
+
214
+ # Returns the string representation of the object
215
+ # @return [String] String presentation of the object
216
+ def to_s
217
+ to_hash.to_s
218
+ end
219
+
220
+ # to_body is an alias to to_hash (backward compatibility)
221
+ # @return [Hash] Returns the object in the form of hash
222
+ def to_body
223
+ to_hash
224
+ end
225
+
226
+ # Returns the object in the form of hash
227
+ # @return [Hash] Returns the object in the form of hash
228
+ def to_hash
229
+ hash = {}
230
+ self.class.attribute_map.each_pair do |attr, param|
231
+ value = self.send(attr)
232
+ if value.nil?
233
+ is_nullable = self.class.openapi_nullable.include?(attr)
234
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
235
+ end
236
+
237
+ hash[param] = _to_hash(value)
238
+ end
239
+ hash
240
+ end
241
+
242
+ # Outputs non-array value in the form of hash
243
+ # For object, use to_hash. Otherwise, just return the value
244
+ # @param [Object] value Any valid value
245
+ # @return [Hash] Returns the value in the form of hash
246
+ def _to_hash(value)
247
+ if value.is_a?(Array)
248
+ value.compact.map { |v| _to_hash(v) }
249
+ elsif value.is_a?(Hash)
250
+ {}.tap do |hash|
251
+ value.each { |k, v| hash[k] = _to_hash(v) }
252
+ end
253
+ elsif value.respond_to? :to_hash
254
+ value.to_hash
255
+ else
256
+ value
257
+ end
258
+ end
259
+
260
+ end
261
+
262
+ end
@@ -61,7 +61,7 @@ module Carbon
61
61
 
62
62
  attr_accessor :parse_pdf_tables_with_ocr
63
63
 
64
- # Enable integration's file picker for sources that support it. Supported sources: SHAREPOINT, GOOGLE_DRIVE, ONEDRIVE, BOX, DROPBOX
64
+ # Enable integration's file picker for sources that support it. Supported sources: ONEDRIVE, GOOGLE_DRIVE, DROPBOX, BOX, SHAREPOINT
65
65
  attr_accessor :enable_file_picker
66
66
 
67
67
  # Enabling this flag will fetch all available content from the source to be listed via list items endpoint
@@ -279,7 +279,7 @@ module Carbon
279
279
  if attributes.key?(:'request_id')
280
280
  self.request_id = attributes[:'request_id']
281
281
  else
282
- self.request_id = '1855375f-faa1-4965-99a1-03d1cab8000b'
282
+ self.request_id = '6c38b4bb-1536-46c9-ade7-72fabf05b3bb'
283
283
  end
284
284
 
285
285
  if attributes.key?(:'use_ocr')
@@ -187,7 +187,7 @@ module Carbon
187
187
  if attributes.key?(:'request_id')
188
188
  self.request_id = attributes[:'request_id']
189
189
  else
190
- self.request_id = '9e2d7dc0-7a78-49fa-9f68-a411cfa13267'
190
+ self.request_id = 'bcd3ae91-8bae-4d50-9046-94dc62b2078f'
191
191
  end
192
192
 
193
193
  if attributes.key?(:'use_ocr')
@@ -182,7 +182,7 @@ module Carbon
182
182
  if attributes.key?(:'request_id')
183
183
  self.request_id = attributes[:'request_id']
184
184
  else
185
- self.request_id = '9e41dd01-0592-477a-97b3-df618acf082b'
185
+ self.request_id = 'ae8cd936-69c9-42cd-affb-87f3bea6d8eb'
186
186
  end
187
187
 
188
188
  if attributes.key?(:'enable_file_picker')
@@ -7,5 +7,5 @@ The version of the OpenAPI document: 1.0.0
7
7
  =end
8
8
 
9
9
  module Carbon
10
- VERSION = '0.2.8'
10
+ VERSION = '0.2.9'
11
11
  end
@@ -45,6 +45,7 @@ require 'carbon_ruby_sdk/models/embedding_properties'
45
45
  require 'carbon_ruby_sdk/models/embeddings_and_chunks_filters'
46
46
  require 'carbon_ruby_sdk/models/embeddings_and_chunks_order_by_columns'
47
47
  require 'carbon_ruby_sdk/models/embeddings_and_chunks_query_input'
48
+ require 'carbon_ruby_sdk/models/embeddings_and_chunks_query_input_v2'
48
49
  require 'carbon_ruby_sdk/models/embeddings_and_chunks_response'
49
50
  require 'carbon_ruby_sdk/models/external_file_sync_statuses'
50
51
  require 'carbon_ruby_sdk/models/external_source_item'
@@ -49,6 +49,17 @@ describe 'EmbeddingsApi' do
49
49
  end
50
50
  end
51
51
 
52
+ # unit tests for list
53
+ # Retrieve Embeddings And Content V2
54
+ # @param embeddings_and_chunks_query_input_v2
55
+ # @param [Hash] opts the optional parameters
56
+ # @return [EmbeddingsAndChunksResponse]
57
+ describe 'list test' do
58
+ it 'should work' do
59
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
60
+ end
61
+ end
62
+
52
63
  # unit tests for upload_chunks_and_embeddings
53
64
  # Upload Chunks And Embeddings
54
65
  # @param chunks_and_embeddings_upload_input
@@ -0,0 +1,52 @@
1
+ =begin
2
+ #Carbon
3
+
4
+ #Connect external data to LLMs, no matter the source.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ =end
8
+
9
+ require 'spec_helper'
10
+ require 'json'
11
+ require 'date'
12
+
13
+ # Unit tests for Carbon::EmbeddingsAndChunksQueryInputV2
14
+ describe Carbon::EmbeddingsAndChunksQueryInputV2 do
15
+ let(:instance) { Carbon::EmbeddingsAndChunksQueryInputV2.new }
16
+
17
+ describe 'test an instance of EmbeddingsAndChunksQueryInputV2' do
18
+ it 'should create an instance of EmbeddingsAndChunksQueryInputV2' do
19
+ expect(instance).to be_instance_of(Carbon::EmbeddingsAndChunksQueryInputV2)
20
+ end
21
+ end
22
+ describe 'test attribute "pagination"' do
23
+ it 'should work' do
24
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
25
+ end
26
+ end
27
+
28
+ describe 'test attribute "order_by"' do
29
+ it 'should work' do
30
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
31
+ end
32
+ end
33
+
34
+ describe 'test attribute "order_dir"' do
35
+ it 'should work' do
36
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
37
+ end
38
+ end
39
+
40
+ describe 'test attribute "filters"' do
41
+ it 'should work' do
42
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
43
+ end
44
+ end
45
+
46
+ describe 'test attribute "include_vectors"' do
47
+ it 'should work' do
48
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
49
+ end
50
+ end
51
+
52
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carbon_ruby_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.8
4
+ version: 0.2.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Konfig
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-24 00:00:00.000000000 Z
11
+ date: 2024-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -127,6 +127,7 @@ files:
127
127
  - lib/carbon_ruby_sdk/models/embeddings_and_chunks_filters.rb
128
128
  - lib/carbon_ruby_sdk/models/embeddings_and_chunks_order_by_columns.rb
129
129
  - lib/carbon_ruby_sdk/models/embeddings_and_chunks_query_input.rb
130
+ - lib/carbon_ruby_sdk/models/embeddings_and_chunks_query_input_v2.rb
130
131
  - lib/carbon_ruby_sdk/models/embeddings_and_chunks_response.rb
131
132
  - lib/carbon_ruby_sdk/models/external_file_sync_statuses.rb
132
133
  - lib/carbon_ruby_sdk/models/external_source_item.rb
@@ -279,6 +280,7 @@ files:
279
280
  - spec/models/embeddings_and_chunks_filters_spec.rb
280
281
  - spec/models/embeddings_and_chunks_order_by_columns_spec.rb
281
282
  - spec/models/embeddings_and_chunks_query_input_spec.rb
283
+ - spec/models/embeddings_and_chunks_query_input_v2_spec.rb
282
284
  - spec/models/embeddings_and_chunks_response_spec.rb
283
285
  - spec/models/external_file_sync_statuses_spec.rb
284
286
  - spec/models/external_source_item_spec.rb
@@ -484,6 +486,7 @@ test_files:
484
486
  - spec/models/user_web_pages_request_spec.rb
485
487
  - spec/models/webhook_order_by_columns_spec.rb
486
488
  - spec/models/user_files_v2_spec.rb
489
+ - spec/models/embeddings_and_chunks_query_input_v2_spec.rb
487
490
  - spec/models/organization_user_files_to_sync_filters_spec.rb
488
491
  - spec/models/s3_auth_request_spec.rb
489
492
  - spec/models/sharepoint_authentication_spec.rb