carbon_ruby_sdk 0.2.8 → 0.2.9

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 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