Skip to main content

IBM Watsonx API wrapper package for calling text generation and embedding requests

Project description

IBM Watsonx API wrapper package for calling text generation and embedding requests

Python


Setup a local environment or install on current:

PyPi package link: WatsonxConnector

pip install WatsonxConnector

Usage / Examples

from WatsonxConnector.connector import WatsonxConnector

example_connector_obj = WatsonxConnector(base_url=cp4d_url,
                                         user_name=user_name,
                                         api_key=api_key,
                                         model_id=model_id,
                                         project_id=project_id
                                         )

for model, model_type in example_connector_obj.get_available_models().items():
    print(f"{model}: {model_type}")

example_connector_obj.set_model_params(temperature=0.7, max_new_tokens=800)
print(example_connector_obj.get_model_params())

print(example_connector_obj.generate_text("Write an example python unittest"))

example_connector_obj.set_model_id(model_id="ibm/slate-125m-english-rtrvr")
for embed in example_connector_obj.generate_embedding(["something", "something else"]):
    print(embed)

Example output from above:

codellama/codellama-34b-instruct-hf: text_generation
ibm/granite-13b-chat-v2: text_generation
ibm/slate-125m-english-rtrvr: embedding
ibm/slate-30m-english-rtrvr: embedding
meta-llama/llama-3-70b-instruct: text_generation
{'decoding_method': 'sample', 'max_new_tokens': 800, 'temperature': 0.7, 'top_k': 20, 'top_p': 0.9, 'repetition_penalty': 1.1}
import unittest
from mymodule import my_function

class MyTest(unittest.TestCase):

    def test_my_function(self):
        result = my_function('hello world')
        self.assertEqual(result, 'Hello World')

if __name__ == '__main__':
    unittest.main()

This is an example of a simple Python unit test using the `unittest` module. 
In this case, we define a new class ...
[-0.024465775, -0.0329509, -0.00046468992, -0.017108368, ...  0.017113319, 0.01991029, -0.010878863, 0.005576967]
[-0.037240397, -0.04046932, -0.03115683, -0.034350585, ... 0.020475477, 0.05027425, 0.006514402, 0.0150749]

Documentation:

List of available class methods:

  • set_system_prompt()
  • set_model_id()
  • set_model_params()
  • set_api_version()
  • set_project_id()
  • get_model_id()
  • get_auth_token()
  • get_model_params()
  • get_available_models()
  • get_params()
  • check_model_type()
  • generate_text()
  • generate_embedding()
  • generate_auth_token()

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

watsonxconnector-0.0.8.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

WatsonxConnector-0.0.8-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file watsonxconnector-0.0.8.tar.gz.

File metadata

  • Download URL: watsonxconnector-0.0.8.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.21

File hashes

Hashes for watsonxconnector-0.0.8.tar.gz
Algorithm Hash digest
SHA256 2a4f55388e226f92ab3dd024882b9918b1f72828725d779091494270a94bd598
MD5 2f64d55ed5590ac77bcf71a3aaaa8a35
BLAKE2b-256 c73d85bb3b1755138ff43828c7dbb2a9a9fd5fff400ad0003159f863252d3ec7

See more details on using hashes here.

File details

Details for the file WatsonxConnector-0.0.8-py3-none-any.whl.

File metadata

File hashes

Hashes for WatsonxConnector-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 fec9d3dafdada5b36daa959d7762084edfe65f832b1104ed1c16029824a6bb6a
MD5 d266d8509a5cee1f55b675fe3635a8d1
BLAKE2b-256 730af1f528dceb13ef2994583e28f3673daa437a8894cd1768465f0b80796952

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page