spark-nlp 6.0.1rc1__py2.py3-none-any.whl → 6.0.3__py2.py3-none-any.whl

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.

Potentially problematic release.


This version of spark-nlp might be problematic. Click here for more details.

Files changed (39) hide show
  1. {spark_nlp-6.0.1rc1.dist-info → spark_nlp-6.0.3.dist-info}/METADATA +13 -6
  2. {spark_nlp-6.0.1rc1.dist-info → spark_nlp-6.0.3.dist-info}/RECORD +39 -32
  3. {spark_nlp-6.0.1rc1.dist-info → spark_nlp-6.0.3.dist-info}/WHEEL +1 -1
  4. sparknlp/__init__.py +4 -2
  5. sparknlp/annotator/cv/__init__.py +2 -0
  6. sparknlp/annotator/cv/florence2_transformer.py +180 -0
  7. sparknlp/annotator/cv/gemma3_for_multimodal.py +5 -10
  8. sparknlp/annotator/cv/internvl_for_multimodal.py +280 -0
  9. sparknlp/annotator/cv/janus_for_multimodal.py +8 -13
  10. sparknlp/annotator/cv/llava_for_multimodal.py +1 -1
  11. sparknlp/annotator/cv/paligemma_for_multimodal.py +7 -7
  12. sparknlp/annotator/cv/phi3_vision_for_multimodal.py +1 -1
  13. sparknlp/annotator/cv/qwen2vl_transformer.py +1 -1
  14. sparknlp/annotator/cv/smolvlm_transformer.py +7 -13
  15. sparknlp/annotator/date2_chunk.py +1 -1
  16. sparknlp/annotator/document_character_text_splitter.py +8 -8
  17. sparknlp/annotator/document_token_splitter.py +7 -7
  18. sparknlp/annotator/embeddings/__init__.py +1 -0
  19. sparknlp/annotator/embeddings/bge_embeddings.py +21 -19
  20. sparknlp/annotator/embeddings/e5v_embeddings.py +138 -0
  21. sparknlp/annotator/embeddings/snowflake_embeddings.py +15 -15
  22. sparknlp/annotator/openai/openai_completion.py +3 -4
  23. sparknlp/annotator/seq2seq/m2m100_transformer.py +1 -1
  24. sparknlp/annotator/seq2seq/mistral_transformer.py +2 -3
  25. sparknlp/annotator/seq2seq/nllb_transformer.py +1 -1
  26. sparknlp/annotator/seq2seq/qwen_transformer.py +26 -25
  27. sparknlp/annotator/spell_check/context_spell_checker.py +1 -1
  28. sparknlp/base/prompt_assembler.py +1 -1
  29. sparknlp/common/properties.py +7 -7
  30. sparknlp/internal/__init__.py +27 -0
  31. sparknlp/partition/__init__.py +16 -0
  32. sparknlp/partition/partition.py +244 -0
  33. sparknlp/partition/partition_properties.py +319 -0
  34. sparknlp/partition/partition_transformer.py +200 -0
  35. sparknlp/reader/pdf_to_text.py +50 -4
  36. sparknlp/reader/sparknlp_reader.py +101 -52
  37. sparknlp/training/spacy_to_annotation.py +7 -7
  38. sparknlp/util.py +26 -0
  39. {spark_nlp-6.0.1rc1.dist-info → spark_nlp-6.0.3.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: spark-nlp
3
- Version: 6.0.1rc1
3
+ Version: 6.0.3
4
4
  Summary: John Snow Labs Spark NLP is a natural language processing library built on top of Apache Spark ML. It provides simple, performant & accurate NLP annotations for machine learning pipelines, that scale easily in a distributed environment.
5
5
  Home-page: https://github.com/JohnSnowLabs/spark-nlp
6
6
  Author: John Snow Labs
@@ -29,6 +29,13 @@ Classifier: Topic :: Text Processing :: Linguistic
29
29
  Classifier: Topic :: Scientific/Engineering
30
30
  Classifier: Typing :: Typed
31
31
  Description-Content-Type: text/markdown
32
+ Dynamic: author
33
+ Dynamic: classifier
34
+ Dynamic: description
35
+ Dynamic: description-content-type
36
+ Dynamic: home-page
37
+ Dynamic: keywords
38
+ Dynamic: summary
32
39
 
33
40
  # Spark NLP: State-of-the-Art Natural Language Processing & LLMs Library
34
41
 
@@ -95,7 +102,7 @@ $ java -version
95
102
  $ conda create -n sparknlp python=3.7 -y
96
103
  $ conda activate sparknlp
97
104
  # spark-nlp by default is based on pyspark 3.x
98
- $ pip install spark-nlp==6.0.1 pyspark==3.3.1
105
+ $ pip install spark-nlp==6.0.3 pyspark==3.3.1
99
106
  ```
100
107
 
101
108
  In Python console or Jupyter `Python3` kernel:
@@ -161,7 +168,7 @@ For a quick example of using pipelines and models take a look at our official [d
161
168
 
162
169
  ### Apache Spark Support
163
170
 
164
- Spark NLP *6.0.1* has been built on top of Apache Spark 3.4 while fully supports Apache Spark 3.0.x, 3.1.x, 3.2.x, 3.3.x, 3.4.x, and 3.5.x
171
+ Spark NLP *6.0.3* has been built on top of Apache Spark 3.4 while fully supports Apache Spark 3.0.x, 3.1.x, 3.2.x, 3.3.x, 3.4.x, and 3.5.x
165
172
 
166
173
  | Spark NLP | Apache Spark 3.5.x | Apache Spark 3.4.x | Apache Spark 3.3.x | Apache Spark 3.2.x | Apache Spark 3.1.x | Apache Spark 3.0.x | Apache Spark 2.4.x | Apache Spark 2.3.x |
167
174
  |-----------|--------------------|--------------------|--------------------|--------------------|--------------------|--------------------|--------------------|--------------------|
@@ -191,7 +198,7 @@ Find out more about 4.x `SparkNLP` versions in our official [documentation](http
191
198
 
192
199
  ### Databricks Support
193
200
 
194
- Spark NLP 6.0.1 has been tested and is compatible with the following runtimes:
201
+ Spark NLP 6.0.3 has been tested and is compatible with the following runtimes:
195
202
 
196
203
  | **CPU** | **GPU** |
197
204
  |--------------------|--------------------|
@@ -208,7 +215,7 @@ We are compatible with older runtimes. For a full list check databricks support
208
215
 
209
216
  ### EMR Support
210
217
 
211
- Spark NLP 6.0.1 has been tested and is compatible with the following EMR releases:
218
+ Spark NLP 6.0.3 has been tested and is compatible with the following EMR releases:
212
219
 
213
220
  | **EMR Release** |
214
221
  |--------------------|
@@ -3,20 +3,20 @@ com/johnsnowlabs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
3
3
  com/johnsnowlabs/ml/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  com/johnsnowlabs/ml/ai/__init__.py,sha256=YQiK2M7U4d8y5irPy_HB8ae0mSpqS9583MH44pnKJXc,295
5
5
  com/johnsnowlabs/nlp/__init__.py,sha256=DPIVXtONO5xXyOk-HB0-sNiHAcco17NN13zPS_6Uw8c,294
6
- sparknlp/__init__.py,sha256=bmd2osfOpjsl6fkGAziSKpz0F5tFXASPI-9L-0GJatQ,13791
6
+ sparknlp/__init__.py,sha256=wE5XbgWtMI8X1kifJLQ43sFkaUAyfmkZj-wiBtT3YKU,13814
7
7
  sparknlp/annotation.py,sha256=I5zOxG5vV2RfPZfqN9enT1i4mo6oBcn3Lrzs37QiOiA,5635
8
8
  sparknlp/annotation_audio.py,sha256=iRV_InSVhgvAwSRe9NTbUH9v6OGvTM-FPCpSAKVu0mE,1917
9
9
  sparknlp/annotation_image.py,sha256=xhCe8Ko-77XqWVuuYHFrjKqF6zPd8Z-RY_rmZXNwCXU,2547
10
10
  sparknlp/functions.py,sha256=4cVRyBjlF1YttcMNs5z7gf9NPW7q9qzGb5KOf44Phgs,12120
11
11
  sparknlp/upload_to_hub.py,sha256=toULNLeXK3MmTpmza9dR8R8od2QJEw1eTgBDM-O9_I0,6018
12
- sparknlp/util.py,sha256=PDbD6c9y0IAtzXK5dzhBSqghouKHpXNVnXyWS2Y20UU,1276
12
+ sparknlp/util.py,sha256=2Z499Psal-NuEJ4CHQNgHnAJrS73QQNyCzKPo1MavU8,2279
13
13
  sparknlp/annotator/__init__.py,sha256=G746SY8dRM_AOf-gaoSKlh7D-2TKGpqqHhGr4XF-b2A,3534
14
14
  sparknlp/annotator/chunk2_doc.py,sha256=IJ3_vQHvzjqono90AZUzZ67QSYjwquuMYbN9_HSOVcg,3141
15
15
  sparknlp/annotator/chunker.py,sha256=8nz9B7R_mxKxcfJRfKvz2x_T29W3u4izE9k0wfYPzgE,5174
16
- sparknlp/annotator/date2_chunk.py,sha256=0Z0ofEVes8ZMxvgnXbGZX91IfGxI3CdYTRMALabsJUc,3152
17
- sparknlp/annotator/document_character_text_splitter.py,sha256=dFNhik4IM0K9o65S3vHz-Txcv8AswRCYh5o1uEZOvy8,9864
16
+ sparknlp/annotator/date2_chunk.py,sha256=tW3m_LExmhx8LMFWOGXqMyfNRXSr2dnoEHD-6DrnpXI,3153
17
+ sparknlp/annotator/document_character_text_splitter.py,sha256=oNrOKJAKO2h1wr0bEuSqYrrltIU_Y6J6cTHy70yKy6s,9877
18
18
  sparknlp/annotator/document_normalizer.py,sha256=hU2fG6vaPfdngQapoeSu-_zS_LiBZNp2tcVBGl6eTpk,10973
19
- sparknlp/annotator/document_token_splitter.py,sha256=gRpSkZQFhNTvb0c8CII6LlTYOVTLSro1u-luDzxnYps,7483
19
+ sparknlp/annotator/document_token_splitter.py,sha256=-9xbQ9pVAjcKHQQrSk6Cb7f8W1cblCLwWXTNR8kFptA,7499
20
20
  sparknlp/annotator/document_token_splitter_test.py,sha256=NWO9mwhAIUJFuxPofB3c39iUm_6vKp4pteDsBOTH8ng,2684
21
21
  sparknlp/annotator/graph_extraction.py,sha256=b4SB3B_hFgCJT4e5Jcscyxdzfbvw3ujKTa6UNgX5Lhc,14471
22
22
  sparknlp/annotator/lemmatizer.py,sha256=w1nNMln2HgM4O1DOaISo5AGyzzFHuaIDQqWFcr4JmcA,8970
@@ -82,36 +82,39 @@ sparknlp/annotator/cleaners/cleaner.py,sha256=r_0ImrtGT-S-ytOknKoP844FVSv0J9YVKQ
82
82
  sparknlp/annotator/cleaners/extractor.py,sha256=nml8mnOToZYPF5fTp9VWdDfnWTXryLDzp3RWfQoJkWY,5805
83
83
  sparknlp/annotator/coref/__init__.py,sha256=SG8MAaVxQpoYYAsyKaoOlvlHjorDzj3DHt4nnEdBWm8,53
84
84
  sparknlp/annotator/coref/spanbert_coref.py,sha256=AXWJhvVquY2uoApO_Np1fz7_KyJhxnZB4i-xk78sBfc,8407
85
- sparknlp/annotator/cv/__init__.py,sha256=ySHQ_8pumJFESLUtDqvb0X9oX6He-w_-Jw--Z3ASU5w,1473
85
+ sparknlp/annotator/cv/__init__.py,sha256=hUeHb0iTDBZCS3sDAjypgs8PzU3eMgKtBa8xDkCueWE,1591
86
86
  sparknlp/annotator/cv/blip_for_question_answering.py,sha256=At7L5pPBNDR1r-JGLKM5b3dTrq5Ecz9r0M1gToUVZTs,6551
87
87
  sparknlp/annotator/cv/clip_for_zero_shot_classification.py,sha256=_1pLc9BiFrFN10eJPCDJLJT-vdnTSG9OnB25Y_kKJIA,7528
88
88
  sparknlp/annotator/cv/convnext_for_image_classification.py,sha256=KzaAlYW5M2l73zUozzgg8_p14eGDz9k9PYVAUZLN25k,11874
89
- sparknlp/annotator/cv/gemma3_for_multimodal.py,sha256=dh0KjTJGqpD-yN7d2f2auMbKLwL5w74Rhgai5y0LeHw,13053
90
- sparknlp/annotator/cv/janus_for_multimodal.py,sha256=-TlAfeZ3A8iMJ23Q05Tx_KObgBfy9-qYAN9gAPCvjbw,14499
91
- sparknlp/annotator/cv/llava_for_multimodal.py,sha256=kzOcZs08yCnB9AgaogZG28SguGqVUw9sumijhM5YRFU,12064
89
+ sparknlp/annotator/cv/florence2_transformer.py,sha256=jyXTY0om_8J_9GwlH5Dkussb1g6ra642ATzLaqv7TSI,8525
90
+ sparknlp/annotator/cv/gemma3_for_multimodal.py,sha256=475lYkf05Naw3tsdTScTs-tnHgFkbcCab7r6UwEXzvg,13017
91
+ sparknlp/annotator/cv/internvl_for_multimodal.py,sha256=1j_lZwZw4Mt9_EucxemuPo2buq_uj5aIkniE9mbegag,10851
92
+ sparknlp/annotator/cv/janus_for_multimodal.py,sha256=BGkXGvIf-upDai216m12-WHJCUmv-NRQ9ArEW2Wt0V0,14502
93
+ sparknlp/annotator/cv/llava_for_multimodal.py,sha256=okfBIuWgPK7VhRxznZDoPXNIIxc6g_NM0l5aH4yibVY,12068
92
94
  sparknlp/annotator/cv/mllama_for_multimodal.py,sha256=e4_bOGycy-gPYrl8en0mOP3eF8p17Xt85nwE5kmez5g,13071
93
- sparknlp/annotator/cv/paligemma_for_multimodal.py,sha256=nqwGWRG4kc7FJ26DMwwhkN7FnBWGBZsTjL9H-scs69Q,11204
94
- sparknlp/annotator/cv/phi3_vision_for_multimodal.py,sha256=MPGj07Gi-QCE5Ew5l3_SqUqBIR4Tvhhi1ZVbkuX-ihU,12127
95
- sparknlp/annotator/cv/qwen2vl_transformer.py,sha256=S2jFwMfh-2iaTl7t8SndH1U1dHSpnlW6E0IQBtw_Xak,12565
96
- sparknlp/annotator/cv/smolvlm_transformer.py,sha256=JJINJfo_tUvgZ89AG3YqJQ99yjqZpUzJ5vEfISXOeh0,16963
95
+ sparknlp/annotator/cv/paligemma_for_multimodal.py,sha256=C2fRsppihEJK4YK-hoGrirGUyof4fV_r28HWOYb4Yms,11214
96
+ sparknlp/annotator/cv/phi3_vision_for_multimodal.py,sha256=94nlNbcDgJW0zX2QIjJl1cMXi1i6wqQeNG61CdoPLKA,12131
97
+ sparknlp/annotator/cv/qwen2vl_transformer.py,sha256=q2BCs1qA8fyqbMsnW4-6wbGJim4QjVUuDHOXhtMXJcY,12570
98
+ sparknlp/annotator/cv/smolvlm_transformer.py,sha256=g7eypRcMrPW4pYyTHmxBjP8tA_B_4rRwPbUCe3XHz-0,16964
97
99
  sparknlp/annotator/cv/swin_for_image_classification.py,sha256=iZ1KY0GInbQmGzkmuNbds4PGPwCheLXc-Syv2HRmqug,10694
98
100
  sparknlp/annotator/cv/vision_encoder_decoder_for_image_captioning.py,sha256=rEWJte-qN6PI6ML2cGhsZ37wAzjHUtN_WD5pcKAez7M,10167
99
101
  sparknlp/annotator/cv/vit_for_image_classification.py,sha256=D2V3pxAd3rBi1817lxVOqaVvCw4trcVyorQgIPdLNAE,9148
100
102
  sparknlp/annotator/dependency/__init__.py,sha256=eV43oXAGaYl2N1XKIEAAZJLNP8gpHm8VxuXDeDlQzR4,774
101
103
  sparknlp/annotator/dependency/dependency_parser.py,sha256=SxyvHPp8Hs1Xnm5X1nLTMi095XoQMtfL8pbys15mYAI,11212
102
104
  sparknlp/annotator/dependency/typed_dependency_parser.py,sha256=60vPdYkbFk9MPGegg3m9Uik9cMXpMZd8tBvXG39gNww,12456
103
- sparknlp/annotator/embeddings/__init__.py,sha256=KHDCHb8SMlkSGGSu69SfKneUDDUlBdMGdMzDrYp_cis,2408
105
+ sparknlp/annotator/embeddings/__init__.py,sha256=mp1Nb6xooX6YYyJt9xVpYrSPseuJrEpnNKCpp2QiFWo,2466
104
106
  sparknlp/annotator/embeddings/albert_embeddings.py,sha256=6Rd1LIn8oFIpq_ALcJh-RUjPEO7Ht8wsHY6JHSFyMkw,9995
105
107
  sparknlp/annotator/embeddings/auto_gguf_embeddings.py,sha256=IlqkPGOH2lmZvxEyDSGX-G90DtTFOe2Rvujfbg5zvlU,20185
106
108
  sparknlp/annotator/embeddings/bert_embeddings.py,sha256=HVUjkg56kBcpGZCo-fmPG5uatMDF3swW_lnbpy1SgSI,8463
107
109
  sparknlp/annotator/embeddings/bert_sentence_embeddings.py,sha256=NQy9KuXT9aKsTpYCR5RAeoFWI2YqEGorbdYrf_0KKmw,9148
108
- sparknlp/annotator/embeddings/bge_embeddings.py,sha256=Y4b6QzRJGc_Z9_R6SYq-P5NxcvI9XzJlBzwCLLHJpRo,8103
110
+ sparknlp/annotator/embeddings/bge_embeddings.py,sha256=ZGbxssjJFaSfbcgqAPV5hsu81SnC0obgCVNOoJkArDA,8105
109
111
  sparknlp/annotator/embeddings/camembert_embeddings.py,sha256=dBTXas-2Tas_JUR9Xt_GtHLcyqi_cdvT5EHRnyVrSSQ,8817
110
112
  sparknlp/annotator/embeddings/chunk_embeddings.py,sha256=WUmkJimSuFkdcLJnvcxOV0QlCLgGlhub29ZTrZb70WE,6052
111
113
  sparknlp/annotator/embeddings/deberta_embeddings.py,sha256=_b5nzLb7heFQNN-uT2oBNO6-YmM8bHmAdnGXg47HOWw,8649
112
114
  sparknlp/annotator/embeddings/distil_bert_embeddings.py,sha256=4pyMCsbvvXYeTGIMVUir9wCDKR_1f_HKtXZrTDO1Thc,9275
113
115
  sparknlp/annotator/embeddings/doc2vec.py,sha256=Xk3MdEkXatX9lRgbFbAdnIDrLgIxzUIGWFBZeo9BTq0,13226
114
116
  sparknlp/annotator/embeddings/e5_embeddings.py,sha256=Esuvrq9JlogGaSSzFVVDkOFMwgYwFwr17I62ZiCDm0k,7858
117
+ sparknlp/annotator/embeddings/e5v_embeddings.py,sha256=NFHO2nxDcgVzyKQ6yz1BWyqtjwt9QHwlkKbBXFwhsO8,5951
115
118
  sparknlp/annotator/embeddings/elmo_embeddings.py,sha256=KV-KPs0Pq_OpPaHsnqBz2k_S7VdzyFZ4632IeFNKqJ8,9858
116
119
  sparknlp/annotator/embeddings/instructor_embeddings.py,sha256=CTKmbuBOx_KBM4JM-Y1U5LyR-6rrnpoBGbgGE_axS1c,8670
117
120
  sparknlp/annotator/embeddings/longformer_embeddings.py,sha256=jS4fxB5O0-d9ta9VKv8ai-17n5YHt5rML8QxUw7K4Io,8754
@@ -121,7 +124,7 @@ sparknlp/annotator/embeddings/nomic_embeddings.py,sha256=WTllH3htx9wDD2Le8pZgKVP
121
124
  sparknlp/annotator/embeddings/roberta_embeddings.py,sha256=q_WHby2lDcPc5bVHkGc6X_GwT3qyDUBLUVz5ZW4HCSY,9229
122
125
  sparknlp/annotator/embeddings/roberta_sentence_embeddings.py,sha256=KVrD4z_tIU-sphK6dmbbnHBBt8-Y89C_BFQAkN99kZo,8181
123
126
  sparknlp/annotator/embeddings/sentence_embeddings.py,sha256=azuA1FKMtTJ9suwJqTEHeWHumT6kYdfURTe_1fsqcB8,5402
124
- sparknlp/annotator/embeddings/snowflake_embeddings.py,sha256=2k7oxSSgu2Y8U2fkfZCCneG9PQjXzmJsl41BDsD0hfE,7260
127
+ sparknlp/annotator/embeddings/snowflake_embeddings.py,sha256=QzMSzmgSTedEAk0TlpHHBMjV0pPj8efLqVAVJqKgTgs,7253
125
128
  sparknlp/annotator/embeddings/uae_embeddings.py,sha256=sqTT67vcegVxcyoATISLPJSmOnA6J_otB6iREKOb6e4,8794
126
129
  sparknlp/annotator/embeddings/universal_sentence_encoder.py,sha256=_fTo-K78RjxiIKptpsI32mpW87RFCdXM16epHv4RVQY,8571
127
130
  sparknlp/annotator/embeddings/word2vec.py,sha256=UBhA4qUczQOx1t82Eu51lxx1-wJ_RLnCb__ncowSNhk,13229
@@ -149,7 +152,7 @@ sparknlp/annotator/ner/ner_dl.py,sha256=ght1W6-ArjLRiNHCv_bKpozkyNd8HVIb8SDGhcbp
149
152
  sparknlp/annotator/ner/ner_overwriter.py,sha256=en5OxXIP46yTXokIE96YDP9kcHA9oxiRPgwXMo0otew,6798
150
153
  sparknlp/annotator/ner/zero_shot_ner_model.py,sha256=DohhnkGSG-JxjW72t8AOx3GY7R_qT-LA3I0KF9TBz-Y,7501
151
154
  sparknlp/annotator/openai/__init__.py,sha256=u6SpV_xS8UpBE95WnTl0IefOI5TrTRl7ZHuYoeTetiA,759
152
- sparknlp/annotator/openai/openai_completion.py,sha256=OqDODelDAxlS66a4mAqJqXMFlEhaeiKZD4XBzR98k-g,16859
155
+ sparknlp/annotator/openai/openai_completion.py,sha256=vetyDRGs-ge0pxMojEaNFhVy50Sf7Sm0tsh0I71i2Ss,16867
153
156
  sparknlp/annotator/openai/openai_embeddings.py,sha256=i1ABDRmK6vMzzWP1rVxFiWnvXG4zfrTGGDjq4lvWQeE,108802
154
157
  sparknlp/annotator/param/__init__.py,sha256=MKBZs6NWRKxrpeof3Jr4PVmoa75wyRSdWzSt0A9lpfY,750
155
158
  sparknlp/annotator/param/classifier_encoder.py,sha256=PDyOdUX2GOFVr6MLtB7RUPBdtDrzDNJNRe_r9bY5JpE,3005
@@ -171,20 +174,20 @@ sparknlp/annotator/seq2seq/cpm_transformer.py,sha256=0CnBFMlxMu0pD2QZMHyoGtIYgXq
171
174
  sparknlp/annotator/seq2seq/gpt2_transformer.py,sha256=Oz95R_NRR4tWHu_bW6Ak2832ZILXycp3ify7LfRSi8o,15310
172
175
  sparknlp/annotator/seq2seq/llama2_transformer.py,sha256=3LzTR0VerFdFmOizsrs2Q7HTnjELJ5WtfUgx5XnOqGM,13898
173
176
  sparknlp/annotator/seq2seq/llama3_transformer.py,sha256=wmhgWQkO__H1vIGnAMjUU14Gtit4qOcE1m9YpM6YkB4,14950
174
- sparknlp/annotator/seq2seq/m2m100_transformer.py,sha256=uIL9RZuuryTIdAy9TbJf9wbz6RekhW8S079bJhaB6i4,16116
177
+ sparknlp/annotator/seq2seq/m2m100_transformer.py,sha256=brlOWjvdbDPfycTUMWnXnQjA9qY9I8ljJJpEd1Gwq5Q,16128
175
178
  sparknlp/annotator/seq2seq/marian_transformer.py,sha256=mQ4Ylh7ZzXAOue8f-x0gqzfS3vAz3XUdD7eQ2XhcEs4,13781
176
- sparknlp/annotator/seq2seq/mistral_transformer.py,sha256=PJegrSQts_58rkt96xaHlqU1fKIaz8hxt7DTPkGS10A,14254
177
- sparknlp/annotator/seq2seq/nllb_transformer.py,sha256=hOmdJOgl_-_PxoADrV-tVYmlfFrqNwvn6Vn2RC4siZM,19534
179
+ sparknlp/annotator/seq2seq/mistral_transformer.py,sha256=6lVrhWvW8b_3DaQtpegigFL25tELThRHZQRxxNhZuAU,14250
180
+ sparknlp/annotator/seq2seq/nllb_transformer.py,sha256=1ys01yaC0nVzXETy8oD2wZHyombfLzK1cetKrVGTVyY,19546
178
181
  sparknlp/annotator/seq2seq/olmo_transformer.py,sha256=B_zhYkAfYycw5uBq1tVNPmaKuYtpJOxRC6PArit7XiE,13634
179
182
  sparknlp/annotator/seq2seq/phi2_transformer.py,sha256=WwKCUOH8qGFv62YF63HjuT7bMVldh06gHvaZH3tbSDk,13787
180
183
  sparknlp/annotator/seq2seq/phi3_transformer.py,sha256=arIcw5NDMv3ubBwWz3KYRdLMsspTiEI8vk4s00lyq1c,14293
181
- sparknlp/annotator/seq2seq/qwen_transformer.py,sha256=cOpOlz5r_apmVHZgp7uFjybSzVj2yxv8QYlYcGwFyKg,14645
184
+ sparknlp/annotator/seq2seq/qwen_transformer.py,sha256=IYxveoHGWWoiwzJ_VMLMgUBe6jr1JSHKSY0PApnTCOI,14640
182
185
  sparknlp/annotator/seq2seq/starcoder_transformer.py,sha256=BTXbSMRpXnDvrfh-6iFS5k6g6EcPV9zBl4U-SSC19wA,14293
183
186
  sparknlp/annotator/seq2seq/t5_transformer.py,sha256=wDVxNLluIU1HGZFqaKKc4YTt4l-elPlAtQ7EEa0f5tg,17308
184
187
  sparknlp/annotator/similarity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
185
188
  sparknlp/annotator/similarity/document_similarity_ranker.py,sha256=BHV2XWA18YvBn_OKOVvR0TmPPnHSgiAgpZpaPz7ar_s,15826
186
189
  sparknlp/annotator/spell_check/__init__.py,sha256=sdnPR3f3Q9mHiv-n4g_O7KpRWPRPweyATSF6Tth_Niw,830
187
- sparknlp/annotator/spell_check/context_spell_checker.py,sha256=OtjN51K3TyQpFmZrhPrvxZwCJsENFwTkeNKQYWrP-Gw,31992
190
+ sparknlp/annotator/spell_check/context_spell_checker.py,sha256=-YFymfJoMr_4yTSoiWMcrPq4JbyygaRONX-tMQXHw9k,31989
188
191
  sparknlp/annotator/spell_check/norvig_sweeting.py,sha256=6ET9KnAqXIQDJ5U9px1ixUbC6R63ln_ljruvh_oLiwA,13197
189
192
  sparknlp/annotator/spell_check/symmetric_delete.py,sha256=ms8BPrFOITqppShZmEEiqVhjE-pwVb7jI5NSCQ4XM0A,11058
190
193
  sparknlp/annotator/token/__init__.py,sha256=cu5njC9peW4_toFOvnHgYzHXsMqxlpPf1p7C4VxoDMk,861
@@ -206,7 +209,7 @@ sparknlp/base/has_recursive_transform.py,sha256=UkGNgo4LMsjQC-Coeefg4bJcg7FoPcPi
206
209
  sparknlp/base/image_assembler.py,sha256=-ylzVaDdjJBDQNkTixsCn7WvFB8cqC3_lPdvdiJu0aM,6168
207
210
  sparknlp/base/light_pipeline.py,sha256=2lOstyyK0o6L3BHPIZWQBpIKtJ7LcSz3Pvgo6eZDs5U,17023
208
211
  sparknlp/base/multi_document_assembler.py,sha256=4htET1fRAeOB6zhsNXsBq5rKZvn-LGD4vrFRjPZeqow,7070
209
- sparknlp/base/prompt_assembler.py,sha256=ysU4Vbmnuv2UBHK0JBkYrxiZiJ7_GTcVMip1-QRmheI,11570
212
+ sparknlp/base/prompt_assembler.py,sha256=_C_9MdHqsxUjSOa3TqCV-6sSfSiRyhfHBQG5m7RlqxY,11578
210
213
  sparknlp/base/recursive_pipeline.py,sha256=V9rTnu8KMwgjoceykN9pF1mKGtOkkuiC_n9v8dE3LDk,4279
211
214
  sparknlp/base/table_assembler.py,sha256=Kxu3R2fY6JgCxEc07ibsMsjip6dgcPDHLiWAZ8gC_d8,5102
212
215
  sparknlp/base/token_assembler.py,sha256=qiHry07L7mVCqeHSH6hHxLygv1AsfZIE4jy1L75L3Do,5075
@@ -217,12 +220,12 @@ sparknlp/common/annotator_properties.py,sha256=7B1os7pBUfHo6b7IPQAXQ-nir0u3tQLzD
217
220
  sparknlp/common/annotator_type.py,sha256=ash2Ip1IOOiJamPVyy_XQj8Ja_DRHm0b9Vj4Ni75oKM,1225
218
221
  sparknlp/common/coverage_result.py,sha256=No4PSh1HSs3PyRI1zC47x65tWgfirqPI290icHQoXEI,823
219
222
  sparknlp/common/match_strategy.py,sha256=kt1MUPqU1wCwk5qCdYk6jubHbU-5yfAYxb9jjAOrdnY,1678
220
- sparknlp/common/properties.py,sha256=vuvF5eUq4H2LxgIhIPsjeS8AF4JJcRDEicmLqyeRgmk,51457
223
+ sparknlp/common/properties.py,sha256=v8PUB0YqeiZRzP8mX3kXSFoQVMZOg_ips0Y5M54hUIc,51493
221
224
  sparknlp/common/read_as.py,sha256=imxPGwV7jr4Li_acbo0OAHHRGCBbYv-akzEGaBWEfcY,1226
222
225
  sparknlp/common/recursive_annotator_approach.py,sha256=vqugBw22cE3Ff7PIpRlnYFuOlchgL0nM26D8j-NdpqU,1449
223
226
  sparknlp/common/storage.py,sha256=D91H3p8EIjNspjqAYu6ephRpCUtdcAir4_PrAbkIQWE,4842
224
227
  sparknlp/common/utils.py,sha256=Yne6yYcwKxhOZC-U4qfYoDhWUP_6BIaAjI5X_P_df1E,1306
225
- sparknlp/internal/__init__.py,sha256=YtsUXuuHzv4lATbepu7BhWJEc7Vo65OtEgphxEHOa5Q,39168
228
+ sparknlp/internal/__init__.py,sha256=ALwce14xOPRxfAPFhlINH4BVH0w3Mjp4_VWV4hSxNJ8,40146
226
229
  sparknlp/internal/annotator_java_ml.py,sha256=UGPoThG0rGXUOXGSQnDzEDW81Mu1s5RPF29v7DFyE3c,1187
227
230
  sparknlp/internal/annotator_transformer.py,sha256=fXmc2IWXGybqZpbEU9obmbdBYPc798y42zvSB4tqV9U,1448
228
231
  sparknlp/internal/extended_java_wrapper.py,sha256=hwP0133-hDiDf5sBF-P3MtUsuuDj1PpQbtGZQIRwzfk,2240
@@ -230,20 +233,24 @@ sparknlp/internal/params_getters_setters.py,sha256=LtaKAzD8fEupEPy9vYOI2St7A3PcZ
230
233
  sparknlp/internal/recursive.py,sha256=YfsjOmUUccFOHxheIXf-rps8yc4PPqFCje94_7dS4iw,2756
231
234
  sparknlp/logging/__init__.py,sha256=DoROFF5KLZe4t4Q-OHxqk1nhqbw9NQ-wb64y8icNwgw,642
232
235
  sparknlp/logging/comet.py,sha256=_ZBi9-hlilCAnd4lvdYMWiq4Vqsppv8kow3k0cf-NG4,15958
236
+ sparknlp/partition/__init__.py,sha256=L0w-yv_HnnvoKlSX5MzI2GKHW3RLLfGyq8bgWYVeKjU,749
237
+ sparknlp/partition/partition.py,sha256=GXEAUvOea04Vc_JK0z112cAKFrJ4AEpjLJ8xlzZt6Kw,8551
238
+ sparknlp/partition/partition_properties.py,sha256=xhAMhlsTBg-WS6KWDyVbRPwO7IzpowVVhJNR-ZGhvdo,9520
239
+ sparknlp/partition/partition_transformer.py,sha256=lRR1h-IMlHR8M0VeB50SbU39GHHF5PgMaJ42qOriS6A,6855
233
240
  sparknlp/pretrained/__init__.py,sha256=GV-x9UBK8F2_IR6zYatrzFcVJtkSUIMbxqWsxRUePmQ,793
234
241
  sparknlp/pretrained/pretrained_pipeline.py,sha256=lquxiaABuA68Rmu7csamJPqBoRJqMUO0oNHsmEZDAIs,5740
235
242
  sparknlp/pretrained/resource_downloader.py,sha256=8_-rpvO2LsX_Lq4wMPif2ca3RlJZWEabt8pDm2xymiI,7806
236
243
  sparknlp/pretrained/utils.py,sha256=T1MrvW_DaWk_jcOjVLOea0NMFE9w8fe0ZT_5urZ_nEY,1099
237
244
  sparknlp/reader/__init__.py,sha256=-Toj3AIBki-zXPpV8ezFTI2LX1yP_rK2bhpoa8nBkTw,685
238
245
  sparknlp/reader/enums.py,sha256=MNGug9oJ1BBLM1Pbske13kAabalDzHa2kucF5xzFpHs,770
239
- sparknlp/reader/pdf_to_text.py,sha256=o2-ZqioR3-apGDo5WCb0_I0sEQr6O-CGMfMb4W4YSss,3892
240
- sparknlp/reader/sparknlp_reader.py,sha256=BEKfT9JaOWlA2ddsMNiC-pVRrM9Ad_4J4-Ur3iCNKH0,38218
246
+ sparknlp/reader/pdf_to_text.py,sha256=pI1BBQ44tXn8GIMv--_kZJ3bPP8R9Q1lYejkfhi5pMQ,5739
247
+ sparknlp/reader/sparknlp_reader.py,sha256=ybnMlwJaBOVbjDw7ng39jcrshlQzexwq98_PTwVeM8g,16779
241
248
  sparknlp/training/__init__.py,sha256=qREi9u-5Vc2VjpL6-XZsyvu5jSEIdIhowW7_kKaqMqo,852
242
249
  sparknlp/training/conll.py,sha256=wKBiSTrjc6mjsl7Nyt6B8f4yXsDJkZb-sn8iOjix9cE,6961
243
250
  sparknlp/training/conllu.py,sha256=8r3i-tmyrLsyk1DtZ9uo2mMDCWb1yw2Y5W6UsV13MkY,4953
244
251
  sparknlp/training/pos.py,sha256=YchvPWksMAYvM6XPLNzbS-Kr96CRpLMSr21qe76m1PY,4091
245
252
  sparknlp/training/pub_tator.py,sha256=2DWuNJqAl81_Izaa_qoQMHkpeqDP8sA7mhehc6vI7Gw,3331
246
- sparknlp/training/spacy_to_annotation.py,sha256=uBSu3jb1El3WDWNXEMP8EkX44FZOwb-SJbhZkuBQPHs,6798
253
+ sparknlp/training/spacy_to_annotation.py,sha256=b8WCqwr0kBRWa695ajDAxNVFg_z0yD1U1_dS3ryMY0I,6826
247
254
  sparknlp/training/tfgraphs.py,sha256=Hl3vp9VhLX_IinqOvtIH0r9Bf2BgcGrFKG5wBu3qTmc,244
248
255
  sparknlp/training/_tf_graph_builders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
249
256
  sparknlp/training/_tf_graph_builders/graph_builders.py,sha256=0WqVTRnZValftGpGm6tYJCOQmJUL_B2pjZSQu8dLqs0,10819
@@ -268,7 +275,7 @@ sparknlp/training/_tf_graph_builders_1x/ner_dl/dataset_encoder.py,sha256=R4yHFN3
268
275
  sparknlp/training/_tf_graph_builders_1x/ner_dl/ner_model.py,sha256=EoCSdcIjqQ3wv13MAuuWrKV8wyVBP0SbOEW41omHlR0,23189
269
276
  sparknlp/training/_tf_graph_builders_1x/ner_dl/ner_model_saver.py,sha256=k5CQ7gKV6HZbZMB8cKLUJuZxoZWlP_DFWdZ--aIDwsc,2356
270
277
  sparknlp/training/_tf_graph_builders_1x/ner_dl/sentence_grouper.py,sha256=pAxjWhjazSX8Vg0MFqJiuRVw1IbnQNSs-8Xp26L4nko,870
271
- spark_nlp-6.0.1rc1.dist-info/METADATA,sha256=z-li7N02SZLSg5k3RXH9w_GbQKh1ro03sRnl030YIQ8,19580
272
- spark_nlp-6.0.1rc1.dist-info/WHEEL,sha256=AHX6tWk3qWuce7vKLrj7lnulVHEdWoltgauo8bgCXgU,109
273
- spark_nlp-6.0.1rc1.dist-info/top_level.txt,sha256=uuytur4pyMRw2H_txNY2ZkaucZHUs22QF8-R03ch_-E,13
274
- spark_nlp-6.0.1rc1.dist-info/RECORD,,
278
+ spark_nlp-6.0.3.dist-info/METADATA,sha256=qMqGlXdyZgzm8D3KkC03Jl73y7S_cAh24necRw1G_Qc,19722
279
+ spark_nlp-6.0.3.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
280
+ spark_nlp-6.0.3.dist-info/top_level.txt,sha256=uuytur4pyMRw2H_txNY2ZkaucZHUs22QF8-R03ch_-E,13
281
+ spark_nlp-6.0.3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.1.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any
sparknlp/__init__.py CHANGED
@@ -66,6 +66,8 @@ sys.modules['com.johnsnowlabs.ml.ai'] = annotator
66
66
  annotators = annotator
67
67
  embeddings = annotator
68
68
 
69
+ __version__ = "6.0.3"
70
+
69
71
 
70
72
  def start(gpu=False,
71
73
  apple_silicon=False,
@@ -132,7 +134,7 @@ def start(gpu=False,
132
134
  The initiated Spark session.
133
135
 
134
136
  """
135
- current_version = "6.0.1-rc1"
137
+ current_version = __version__
136
138
 
137
139
  if params is None:
138
140
  params = {}
@@ -316,4 +318,4 @@ def version():
316
318
  str
317
319
  The current Spark NLP version.
318
320
  """
319
- return '6.0.1-rc1'
321
+ return __version__
@@ -25,3 +25,5 @@ from sparknlp.annotator.cv.phi3_vision_for_multimodal import *
25
25
  from sparknlp.annotator.cv.smolvlm_transformer import *
26
26
  from sparknlp.annotator.cv.paligemma_for_multimodal import *
27
27
  from sparknlp.annotator.cv.gemma3_for_multimodal import *
28
+ from sparknlp.annotator.cv.internvl_for_multimodal import *
29
+ from sparknlp.annotator.cv.florence2_transformer import *
@@ -0,0 +1,180 @@
1
+ # Copyright 2017-2024 John Snow Labs
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ from sparknlp.common import *
16
+
17
+ class Florence2Transformer(AnnotatorModel,
18
+ HasBatchedAnnotateImage,
19
+ HasImageFeatureProperties,
20
+ HasEngine):
21
+ """Florence2Transformer can load Florence-2 models for a variety of vision and vision-language tasks using prompt-based inference.
22
+
23
+ The model supports image captioning, object detection, segmentation, OCR, and more, using prompt tokens as described in the Florence-2 documentation.
24
+
25
+ Pretrained models can be loaded with :meth:`.pretrained` of the companion object:
26
+
27
+ >>> florence2 = Florence2Transformer.pretrained() \
28
+ ... .setInputCols(["image_assembler"]) \
29
+ ... .setOutputCol("answer")
30
+
31
+ The default model is ``"florence2_base_ft_int4"``, if no name is provided.
32
+
33
+ For available pretrained models please see the `Models Hub <https://sparknlp.org/models?task=Vision+Tasks>`__.
34
+
35
+ ====================== ======================
36
+ Input Annotation types Output Annotation type
37
+ ====================== ======================
38
+ ``IMAGE`` ``DOCUMENT``
39
+ ====================== ======================
40
+
41
+ Parameters
42
+ ----------
43
+ batchSize
44
+ Batch size. Large values allows faster processing but requires more memory, by default 2
45
+ maxOutputLength
46
+ Maximum length of output text, by default 200
47
+ minOutputLength
48
+ Minimum length of the sequence to be generated, by default 10
49
+ doSample
50
+ Whether or not to use sampling; use greedy decoding otherwise, by default False
51
+ temperature
52
+ The value used to module the next token probabilities, by default 1.0
53
+ topK
54
+ The number of highest probability vocabulary tokens to keep for top-k-filtering, by default 50
55
+ topP
56
+ If set to float < 1, only the most probable tokens with probabilities that add up to ``top_p`` or higher are kept for generation, by default 1.0
57
+ repetitionPenalty
58
+ The parameter for repetition penalty. 1.0 means no penalty, by default 1.0
59
+ noRepeatNgramSize
60
+ If set to int > 0, all ngrams of that size can only occur once, by default 3
61
+ ignoreTokenIds
62
+ A list of token ids which are ignored in the decoder's output, by default []
63
+ beamSize
64
+ The Number of beams for beam search, by default 1
65
+
66
+ Examples
67
+ --------
68
+ >>> import sparknlp
69
+ >>> from sparknlp.base import *
70
+ >>> from sparknlp.annotator import *
71
+ >>> from pyspark.ml import Pipeline
72
+ >>> image_df = spark.read.format("image").load(path=images_path)
73
+ >>> test_df = image_df.withColumn("text", lit("<OD>"))
74
+ >>> imageAssembler = ImageAssembler() \
75
+ ... .setInputCol("image") \
76
+ ... .setOutputCol("image_assembler")
77
+ >>> florence2 = Florence2Transformer.pretrained() \
78
+ ... .setInputCols(["image_assembler"]) \
79
+ ... .setOutputCol("answer")
80
+ >>> pipeline = Pipeline().setStages([
81
+ ... imageAssembler,
82
+ ... florence2
83
+ ... ])
84
+ >>> result = pipeline.fit(test_df).transform(test_df)
85
+ >>> result.select("image_assembler.origin", "answer.result").show(False)
86
+ """
87
+
88
+ name = "Florence2Transformer"
89
+
90
+ inputAnnotatorTypes = [AnnotatorType.IMAGE]
91
+ outputAnnotatorType = AnnotatorType.DOCUMENT
92
+
93
+ minOutputLength = Param(Params._dummy(), "minOutputLength", "Minimum length of the sequence to be generated", typeConverter=TypeConverters.toInt)
94
+ maxOutputLength = Param(Params._dummy(), "maxOutputLength", "Maximum length of output text", typeConverter=TypeConverters.toInt)
95
+ doSample = Param(Params._dummy(), "doSample", "Whether or not to use sampling; use greedy decoding otherwise", typeConverter=TypeConverters.toBoolean)
96
+ temperature = Param(Params._dummy(), "temperature", "The value used to module the next token probabilities", typeConverter=TypeConverters.toFloat)
97
+ topK = Param(Params._dummy(), "topK", "The number of highest probability vocabulary tokens to keep for top-k-filtering", typeConverter=TypeConverters.toInt)
98
+ topP = Param(Params._dummy(), "topP", "If set to float < 1, only the most probable tokens with probabilities that add up to top_p or higher are kept for generation", typeConverter=TypeConverters.toFloat)
99
+ repetitionPenalty = Param(Params._dummy(), "repetitionPenalty", "The parameter for repetition penalty. 1.0 means no penalty.", typeConverter=TypeConverters.toFloat)
100
+ noRepeatNgramSize = Param(Params._dummy(), "noRepeatNgramSize", "If set to int > 0, all ngrams of that size can only occur once", typeConverter=TypeConverters.toInt)
101
+ ignoreTokenIds = Param(Params._dummy(), "ignoreTokenIds", "A list of token ids which are ignored in the decoder's output", typeConverter=TypeConverters.toListInt)
102
+ beamSize = Param(Params._dummy(), "beamSize", "The Number of beams for beam search.", typeConverter=TypeConverters.toInt)
103
+ batchSize = Param(Params._dummy(), "batchSize", "Batch size. Large values allows faster processing but requires more memory", typeConverter=TypeConverters.toInt)
104
+
105
+ @keyword_only
106
+ def __init__(self, classname="com.johnsnowlabs.nlp.annotators.cv.Florence2Transformer", java_model=None):
107
+ super(Florence2Transformer, self).__init__(
108
+ classname=classname,
109
+ java_model=java_model
110
+ )
111
+ self._setDefault(
112
+ batchSize=2,
113
+ minOutputLength=10,
114
+ maxOutputLength=200,
115
+ doSample=False,
116
+ temperature=1.0,
117
+ topK=50,
118
+ topP=1.0,
119
+ repetitionPenalty=1.0,
120
+ noRepeatNgramSize=3,
121
+ ignoreTokenIds=[],
122
+ beamSize=1,
123
+ )
124
+
125
+ def setMinOutputLength(self, value):
126
+ """Sets minimum length of the sequence to be generated."""
127
+ return self._set(minOutputLength=value)
128
+
129
+ def setMaxOutputLength(self, value):
130
+ """Sets maximum length of output text."""
131
+ return self._set(maxOutputLength=value)
132
+
133
+ def setDoSample(self, value):
134
+ """Sets whether or not to use sampling; use greedy decoding otherwise."""
135
+ return self._set(doSample=value)
136
+
137
+ def setTemperature(self, value):
138
+ """Sets the value used to module the next token probabilities."""
139
+ return self._set(temperature=value)
140
+
141
+ def setTopK(self, value):
142
+ """Sets the number of highest probability vocabulary tokens to keep for top-k-filtering."""
143
+ return self._set(topK=value)
144
+
145
+ def setTopP(self, value):
146
+ """Sets the top cumulative probability for vocabulary tokens."""
147
+ return self._set(topP=value)
148
+
149
+ def setRepetitionPenalty(self, value):
150
+ """Sets the parameter for repetition penalty. 1.0 means no penalty."""
151
+ return self._set(repetitionPenalty=value)
152
+
153
+ def setNoRepeatNgramSize(self, value):
154
+ """Sets size of n-grams that can only occur once."""
155
+ return self._set(noRepeatNgramSize=value)
156
+
157
+ def setIgnoreTokenIds(self, value):
158
+ """A list of token ids which are ignored in the decoder's output."""
159
+ return self._set(ignoreTokenIds=value)
160
+
161
+ def setBeamSize(self, value):
162
+ """Sets the number of beams for beam search."""
163
+ return self._set(beamSize=value)
164
+
165
+ def setBatchSize(self, value):
166
+ """Sets the batch size."""
167
+ return self._set(batchSize=value)
168
+
169
+ @staticmethod
170
+ def loadSavedModel(folder, spark_session, use_openvino=False):
171
+ """Loads a locally saved model."""
172
+ from sparknlp.internal import _Florence2TransformerLoader
173
+ jModel = _Florence2TransformerLoader(folder, spark_session._jsparkSession, use_openvino)._java_obj
174
+ return Florence2Transformer(java_model=jModel)
175
+
176
+ @staticmethod
177
+ def pretrained(name="florence2_base_ft_int4", lang="en", remote_loc=None):
178
+ """Downloads and loads a pretrained model."""
179
+ from sparknlp.pretrained import ResourceDownloader
180
+ return ResourceDownloader.downloadModel(Florence2Transformer, name, lang, remote_loc)
@@ -83,23 +83,18 @@ class Gemma3ForMultiModal(AnnotatorModel,
83
83
  >>> from sparknlp.annotator import *
84
84
  >>> from pyspark.ml import Pipeline
85
85
  >>> from pyspark.sql.functions import lit
86
- >>>
87
86
  >>> imageDF = spark.read.format("image").load(images_path)
88
- >>> testDF = imageDF.withColumn("text", lit("<bos><start_of_turn>user\nYou are a helpful assistant.\n\n<start_of_image>Describe this image in detail.<end_of_turn>\n<start_of_turn>model\n"))
89
- >>>
90
- >>> imageAssembler = ImageAssembler() \
91
- ... .setInputCol("image") \
87
+ >>> testDF = imageDF.withColumn("text", lit("<bos><start_of_turn>user\\nYou are a helpful assistant.\\n\\n<start_of_image>Describe this image in detail.<end_of_turn>\\n<start_of_turn>model\\n"))
88
+ >>> imageAssembler = ImageAssembler() \\
89
+ ... .setInputCol("image") \\
92
90
  ... .setOutputCol("image_assembler")
93
- >>>
94
- >>> visualQA = Gemma3ForMultiModal.pretrained() \
95
- ... .setInputCols("image_assembler") \
91
+ >>> visualQA = Gemma3ForMultiModal.pretrained() \\
92
+ ... .setInputCols("image_assembler") \\
96
93
  ... .setOutputCol("answer")
97
- >>>
98
94
  >>> pipeline = Pipeline().setStages([
99
95
  ... imageAssembler,
100
96
  ... visualQA
101
97
  ... ])
102
- >>>
103
98
  >>> result = pipeline.fit(testDF).transform(testDF)
104
99
  >>> result.select("image_assembler.origin", "answer.result").show(truncate=False)
105
100
  """