Model

 

The Harness model parameter accepts either a pretrained model or pipeline from a given hub, a custom pipeline object, or a path to a locally saved model.

John Snow Labs

Pretrained Models

!pip install johnsnowlabs
from langtest import Harness
h = Harness(task='ner', model={'model': 'ner.dl', 'hub':'johnsnowlabs'}, data={'data_source':'test.conll'}, config='config.yml')

# Generate test cases, run them and view a report
h.generate().run().report()

Custom Pipelines

from johnsnowlabs import nlp
spark = nlp.start()

documentAssembler = nlp.DocumentAssembler()\
		.setInputCol("text")\
		.setOutputCol("document")

tokenizer = nlp.Tokenizer()\
		.setInputCols(["document"])\
		.setOutputCol("token")
	
embeddings = nlp.WordEmbeddingsModel.pretrained('glove_100d') \
		.setInputCols(["document", 'token']) \
		.setOutputCol("embeddings")

ner = nlp.NerDLModel.pretrained("ner_dl", 'en') \
		.setInputCols(["document", "token", "embeddings"]) \
		.setOutputCol("ner")

ner_pipeline = nlp.Pipeline().setStages([documentAssembler,
                                         tokenizer,
                                         embeddings,
                                         ner])

ner_model_pipeline = ner_pipeline.fit(spark.createDataFrame([[""]]).toDF("text"))

from langtest import Harness

# Create test Harness
h = Harness(task='ner', model={'model': ner_model_pipeline, 'hub':'johnsnowlabs'}, data={'data_source':'test.conll'}, config='config.yml')

# Generate test cases, run them and view a report
h.generate().run().report()

Locally Saved Models

from langtest import Harness

# Create test Harness
h = Harness(task='ner', model={'model': 'path/to/local_saved_model', 'hub':'johnsnowlabs'}, data={'data_source':'test.conll'}, config='config.yml')

# Generate test cases, run them and view a report
h.generate().run().report()

Hugging Face

Pretrained Models

!pip install langtest[transformers]
from langtest import Harness

# Create test Harness
h = Harness(task='ner', model={'model': 'dslim/bert-base-NER', 'hub':'huggingface'}, data={'data_source':'test.conll'}, config='config.yml')

# Generate, run and get a report on your test cases
h.generate().run().report()

Locally Saved Models

from langtest import Harness

# Create test Harness
h = Harness(task='text-classification', model={'model': 'path/to/local_saved_model', 'hub':'huggingface'}, data={'data_source':'test.conll'}, config='config.yml')

# Generate, run and get a report on your test cases
h.generate().run().report()

OpenAI

Using any large language model from the OpenAI API:

!pip install "langtest[openai]"
from langtest import Harness

# Set API keys
os.environ['OPENAI_API_KEY'] = ''

# Create test Harness
h = Harness(task="question-answering", 
            model={"model": "text-davinci-003", "hub":"openai"}, 
            data={"data_source" :"BBQ", "split":"test-tiny"},
			config='config.yml')
# Generate, run and get a report on your test cases
h.generate().run().report()

Spacy

Pretrained Models

!pip install spacy
from langtest import Harness

# Create test Harness
h = Harness(task='ner', model={'model': 'en_core_web_sm', 'hub':'spacy'}, data={'data_source':'test.conll'}, config='config.yml')

# Generate, run and get a report on your test cases
h.generate().run().report()

Locally Saved Models

from langtest import Harness

# Create test Harness
h = Harness(task='text-classification', model={'model': 'path/to/local_saved_model', 'hub':'spacy'}, data={'data_source':'test.conll'}, config='config.yml')

# Generate, run and get a report on your test cases
h.generate().run().report()

Cohere

Pretrained Models

!pip install "langtest[langchain,cohere]"
from langtest import Harness

# Set API keys
os.environ["COHERE_API_KEY"] = "<YOUR_API_KEY>"

# Create test Harness
h = Harness(task="question-answering", 
			model={"model": "command-xlarge-nightly", "hub":"cohere"}, 
			data={"data_source" :"NQ-open", "split":"test-tiny"},
			config='config.yml')

# Generate, run and get a report on your test cases
h.generate().run().report()

AI21

Pretrained Models

!pip install "langtest[langchain,ai21]"
from langtest import Harness

# Set API keys
os.environ["AI21_API_KEY"] = "<YOUR_API_KEY>"

# Create test Harness
h = Harness(task="question-answering", 
            model={"model": "j2-jumbo-instruct", "hub":"ai21"}, 
            data={"data_source" :"BBQ", "split":"test-tiny"},
			config='config.yml')


# Generate, run and get a report on your test cases
h.generate().run().report()

Azure OpenAI

Pretrained Models

!pip install "langtest[openai]"
from langtest import Harness

# Set API keys
os.environ["OPENAI_API_KEY"] = "<API_KEY>"
openai.api_type = "azure"
openai.api_base = "<ENDPOINT>"
openai.api_version = "2022-12-01"
openai.api_key = os.getenv("OPENAI_API_KEY")

# Create test Harness
h = Harness(task="question-answering", 
            model={"model": "text-davinci-003", 'hub':'azure-openai'}, 
            data={"data_source" :"BBQ", "split":"test-tiny"},
			config='config.yml')

# Generate, run and get a report on your test cases
h.generate().run().report()

Huggingface Inference-Api

Pretrained Models

!pip install "langtest[langchain,huggingface-hub]"
from langtest import Harness

# Set API keys
os.environ["HUGGINGFACEHUB_API_TOKEN"] = "<API_TOKEN>"

# Create test Harness
h = Harness(task="question-answering", 
            model={"model": "google/flan-t5-small","hub": "huggingface-inference-api"},
            data={"data_source" :"BoolQ", "split":"test-tiny"},
            config='config.yml')
			
# Generate, run and get a report on your test cases
h.generate().run().report()
Last updated