Description
Pretrained AutoGGUFModel model, adapted from Hugging Face and curated to provide scalability and production-readiness using Spark NLP.phi_3.1_mini_4k_instruct_iq3_m is a English model prepared by lmstudio-community.
How to use
             
document = DocumentAssembler() \
       .setInputCol("text") \
       .setOutputCol("document")
    
autoGGUFModel = AutoGGUFModel.pretrained("phi_3.1_mini_4k_instruct_iq3_m","en") \
    .setInputCols(["document"]) \
    .setOutputCol("completions") \
    .setBatchSize(4) \
    .setNPredict(20) \
    .setNGpuLayers(99) \
    .setTemperature(0.4) \
    .setTopK(40) \
    .setTopP(0.9) \
    .setPenalizeNl(True)
pipeline = Pipeline().setStages([document, autoGGUFModel])
data = spark.createDataFrame([["Hello, I am a"]]).toDF("text")
result = pipeline.fit(data).transform(data)
result.select("completions").show(truncate = False)
val document = new DocumentAssembler()
     .setInputCol("text")
     .setOutputCol("document")
    
val autoGGUFModel = AutoGGUFModel.pretrained("phi_3.1_mini_4k_instruct_iq3_m", "en")
  .setInputCols("document")
  .setOutputCol("completions")
  .setBatchSize(4)
  .setNPredict(20)
  .setNGpuLayers(99)
  .setTemperature(0.4f)
  .setTopK(40)
  .setTopP(0.9f)
  .setPenalizeNl(true)
                                                                       
val pipeline = new Pipeline().setStages(Array(document, autoGGUFModel))
                                                                       
val data = Seq("Hello, I am a").toDF("text")
val result = pipeline.fit(data).transform(data)
result.select("completions").show(truncate = false)
Model Information
| Model Name: | phi_3.1_mini_4k_instruct_iq3_m | 
| Compatibility: | Spark NLP 5.5.1+ | 
| License: | Open Source | 
| Edition: | Official | 
| Input Labels: | [document] | 
| Output Labels: | [completions] | 
| Language: | en | 
| Size: | 1.8 GB | 
References
https://huggingface.co/lmstudio-community/Phi-3.1-mini-4k-instruct-GGUF