Skip to main content

AICaller

Package for using API models. It is designed mainly for experimenting with various models. It allows to easily process Hugging Face datasets, or JSONL/CSV datasets, and send requests to OpenAI compatibles APIs with just using simple configuration files.

Installation

pip install aicaller

Usage

The package is designed a batch oriented way. It means that you must first create a batch file with API requests, and then you can send the requests to the API.

Using this two stage approach allows you to check and save the raw requests that are sent to the API.

If you prefer learning by doing, you can check the examples folder.

Batch file creation

Firstly, you need to create a batch file, fo that you can use the create_batch_file argument that expects a configuration --config (see config creation) and voluntary a --path to file with data to be processed.

aicaller create_batch_file --config config.yaml --path data.jsonl > batch.jsonl

Batch Split

It might be necessary to split the batch into smaller batches. It expects following arguments:

  • file - path to batch file
  • output - path to folder where the split files will be saved
  • max_tokens - maximum number of tokens in one batch
aicaller split_batch batch.jsonl splits 1000000

Sending requests

After your batch file is created, you can send the requests to the API (see API config creation). You can use the batch_request command. Here is an example of how to use it:

aicaller batch_request batch.jsonl -c api_config.yaml -r results.jsonl

To see all available options, you can use the --help argument:

aicaller batch_request --help

Configuration

There are two types of configuration files that you can use: one for creating batch files and one for sending requests to the API.

If you want to create a new configuration file, please use the create_config command, which will lead you through the process of creating a new configuration file:

aicaller create_config --path config.yaml

Batch file configuration

The batch file configuration is a YAML file that defines how to create the batch file from a dataset. Here we will describe multiple options that you can use in an order that they appear during the configuration creation process. Detailed description of each attribute is always available directly in the configuration file.

Convertor

There are following convertors available:

  • ToOpenAIBatchFile
    • Allows to create a batch file for OpenAI compatible APIs
  • ToOllamaBatchFile
    • Even though Ollama API is compatible for basic usage with OpenAI API, it is not compatible with all features. Thus, we suggest to use this convertor for Ollama API.

Loaders

This package allows to load Hugging Face datasets, or JSONL/CSV datasets, using following loaders:

  • JSONLLoader
    • Loads JSONL files using Hugging Face dataset loader
  • CSVLoader
    • Loads CSV files using Hugging Face dataset loader
  • HFLoader
    • Loads text oriented Hugging Face datasets
  • HFImageLoader
    • Loads image oriented Hugging Face datasets

Sample Assemblers

A sample assembler is a component responsible for creating a sample from loaded data. There are two assemblers one for text and one for images:

  • TextDatasetAssembler
  • ImageDatasetAssembler

Templates

Template specifies the format and content of a sample. It can be simple as string with Jinja2 template, or it can be whole chat history.

Now this package supports following types of templates:

  • StringTemplate
    • Simple string template, that allows to use Jinja2 template
  • MessagesTemplate
    • Allows to define whole chat history with roles and text/image content.
    • As the specification of messages varies for different APIs. There are different types of message builders.

API configuration

File for configuring API connection. It is used for defining API key, URL, and other parameters.

Metadata

Release files for aicaller 1.1.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aicaller 1.1.13
File Size Uploaded Provenance Actions
aicaller-1.1.13.tar.gz 35.0 kB Without provenance Details for aicaller-1.1.13.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for aicaller 1.1.13
File Interpreter ABI Platform Actions
aicaller-1.1.13-py3-none-any.whl Python 3 none any Details for aicaller-1.1.13-py3-none-any.whl

Total release size: 67.0 kB

Release files / aicaller-1.1.13.tar.gz

Download URL aicaller-1.1.13.tar.gz
Size 35.0 kB
Tags Source
SHA-256 checksum
How to use checksums
8a439269120c3902baac56f33192495ca42d18307587e2755ebe8d382580b601
BLAKE2b-256 checksum
How to use checksums
fe1eadf772d4d90710b1cbe4b68b09af00218231e851c0d089e5acedda1d14bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.11

Release files / aicaller-1.1.13-py3-none-any.whl

Download URL aicaller-1.1.13-py3-none-any.whl
Size 32.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eb2f9be0ac934da1eab67a0c1639b05f9a8774a11bd33daebdc91300571aa12b
BLAKE2b-256 checksum
How to use checksums
d23183eb910445a7aab94c8b8c92877a8f0b15979388a9934a55ea270325aab8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.11

Security for aicaller 1.1.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page