This package brings language model capabilities into the coding environment, providing a variety of functionalities.
Project description
utilityai
This package brings language model capabilities into the coding environment, providing a variety of functionalities such as:
- Message and ask anything
- Chat and have a conversation
- Chat about a function
- Chat about a numpy array
- Chat about a pandas dataframe
- Chat about a pytorch tensor
- Generate a function interactively
- Generate a function by setting data within the code
- Generate a function and provide a comment on the result for guided generation
install
pip install utilityai
quick start
Download the model once after installation:
from utilityai.model import download
download()
Message and ask anything
message("how to transpose a pytorch tensor?")
Chat and have a conversation
r1, c1 = message("why does mutable and immutable mean")
print()
print("-------------- next message --------------")
print()
message("give some examples", c1)
Chat about a function
def list_sum(numbers):
return sum(numbers)
r1, c1 = message("what does this do?", attachment=list_sum)
print()
print("-------------- next message --------------")
print()
message("return min and max of numbers too", c1)
Chat about a numpy array
import numpy as np
array = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
r1, c1 = message("each row is salaries of a person. how to get average salary of each person in an array", attachment=array)
print()
print("-------------- next message --------------")
print()
message("what about age?", c1)
Chat about a pandas dataframe
import pandas as pd
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
'Age': [24, 27, 22, 32, 29],
'Salary': [50000, 54000, 49000, 62000, 58000],
'Department': ['HR', 'Engineering', 'Marketing', 'Finance', 'Engineering'],
'Joining Date': pd.to_datetime(['2020-01-15', '2019-06-23', '2021-03-01', '2018-11-15', '2020-08-30'])
}
df = pd.DataFrame(data)
r1, c1 = message("write code to get average of salary", attachment=df)
print()
print("-------------- next message --------------")
print()
message("how to get average salary of each department?", c1)
Chat about a pytorch tensor
import torch
tensor = torch.tensor([[1, 2, 3], [4, 5, 6]])
r1, c1 = message("how to transpose this tensor", attachment=tensor)
print()
print("-------------- next message --------------")
print()
message("how to get the size of the resulting tensor", c1)
Generate a function interactively by calling data() first, then provide function information
data = InputData()
data()
function(data)
Generate a function by setting data within the code
data = InputData()
data_dict = {
'function_name': 'prime_number_checker',
'input_names': ['num'],
'input_types': ['int'],
'output_names': ['is_prime'],
'output_types': ['bool'],
'description': "function that checks if a given number is a prime number",
'test_cases': [
{'inputs': [5], 'outputs': [True]},
{'inputs': [10], 'outputs': [False]},
{'inputs': [17], 'outputs': [True]}
]
}
data.set_data(data_dict['function_name'], data_dict['input_names'], data_dict['output_names'], data_dict['input_types'], data_dict['output_types'], data_dict['description'], data_dict['test_cases'])
function(data)
Generate a function and provide a comment on the result for guided generation
data = InputData()
data_dict = {
'function_name': 'vague_function',
'input_names': ['a', 'b'],
'input_types': ['int', 'int'],
'output_names': ['subtract'],
'output_types': ['int'],
'description': "function that subtracts two numbers",
'test_cases': [
{'inputs': [1,2], 'outputs': [1]}
]
}
data.set_data(data_dict['function_name'], data_dict['input_names'], data_dict['output_names'], data_dict['input_types'], data_dict['output_types'], data_dict['description'], data_dict['test_cases'])
res = function(data, max_tries=1)
print()
print("-------------- comment --------------")
print()
res.comment = "actually the smaller number must be subtracted from the larger one"
function(data, res)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for utilityai-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36f2f2251dcd0c31b944cbbdf5c224e4e16a707bb7e818167af9ceed5eafdd29 |
|
MD5 | 4c2038f601108a66855f3811d1bcc931 |
|
BLAKE2b-256 | bbcd285c1df28a9f60c4c2daad9a29f36ccd562ed5f398d99f5a5866b9eda375 |