Skip to main content

A Python library for making asynchronous LLM calls

Project description

async-llms: A Python Library for Asynchronous LLM Calls

async-llms is a Python library for making asynchronous LLM calls to accelerate LLM evaluation experiments.

Installation

You can install the package using pip:

pip install async-llms

Usage

Set API Key

Set the API key for the LLM provider you want to use.

export OPENAI_API_KEY="your_api_key"
export GOOGLE_API_KEY="your_api_key"

If you are using Google Vertex AI, you can set the project and location using the GOOGLE_PROJECT and GOOGLE_LOCATION environment variables.

export USE_VERTEX_AI="True"  # default is False
export GOOGLE_PROJECT="your_project"
export GOOGLE_LOCATION="your_location"  # "us-central1"

(Optional) Set Timeout

You can set the timeout for the LLM calls using the ASYNC_LLM_TIMEOUT environment variable.

export ASYNC_LLM_TIMEOUT=1800  # 1800 seconds per request

Command Line Interface

You can use the package directly from the command line:

async-llms \
    --api_type "openai" \
    --input_jsonl "path/to/input.jsonl" \
    --output_jsonl "path/to/output.jsonl" \
    --num_parallel_tasks "num_parallel_tasks"

Input Format

The input JSONL file format is identical to the one used in OpenAI's Batch API: https://platform.openai.com/docs/guides/batch

{
    "custom_id": "unique_id_for_this_request",
    "body": {
        // Your LLM request parameters here
    }
}

License

MIT License

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

async_llms-0.2.0.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

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

async_llms-0.2.0-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file async_llms-0.2.0.tar.gz.

File metadata

  • Download URL: async_llms-0.2.0.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for async_llms-0.2.0.tar.gz
Algorithm Hash digest
SHA256 848cad75598f7189fcf2e23b4e1712a4acdf2dd1c34506b4e872001d97891fe1
MD5 1836b78ba7d8c9bfcd0a37fc4a469dec
BLAKE2b-256 1ff930aa7add3c50e3eb6ca852da5df49feb019aba5946dd90a22b3f98561663

See more details on using hashes here.

File details

Details for the file async_llms-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: async_llms-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for async_llms-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6ef126cc716ec65a93f24dbe6cf9466d55df8cd2b10b776c83b00fc91417b645
MD5 5552e866d65632a4a89c88eaf6a6eba9
BLAKE2b-256 82a4294ce09c844c11cf6f0b586c0060b9b33f5a685bb7d701c0adc75d7de35b

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