Skip to main content

GitHub stars

avahiplatform

avahiplatform is a library that makes your Gen-AI tasks effortless. It provides an easy-to-use interface for working with Large Language Models (LLMs) on AWS Bedrock, allowing you to turn enterprise use cases into production applications with just a few lines of Python code.

Quickstart

Installation

You can install avahiplatform by running:

pip install avahiplatform

Basic Usage

import avahiplatform

# Summarization
summary, input_tokens, output_tokens, cost = avahiplatform.summarize("This is a test string to summarize.")
print("Summary:", summary)

# Structured Extraction
extraction, input_tokens, output_tokens, cost = avahiplatform.structredExtraction("This is a test string for extraction.")
print("Extraction:", extraction)

# Data Masking
masked_data, input_tokens, output_tokens, cost = avahiplatform.DataMasking("This is a test string for Data Masking.")
print("Masked Data:", masked_data)

# Natural Language to SQL
nl2sql_result = avahiplatform.nl2sql("What are the names and ages of employees who joined after January 1, 2020?",
                                      db_type="postgresql", username="dbuser", password="dbpassword",
                                      host="localhost", port=5432, dbname="employees")
print("NL2SQL Result:", nl2sql_result)

Features

  • Text summarization (plain text, local files, S3 files)
  • Structured information extraction
  • Data masking
  • Natural Language to SQL conversion
  • PDF summarization
  • Grammar correction
  • Product description generation
  • Image generation
  • Medical scribing
  • ICD-10 code generation
  • CSV querying
  • Semantic search and Retrieval-Augmented Generation (RAG)
  • Support for custom prompts and different Anthropic Claude model versions
  • Error handling with user-friendly messages

Configuration

AWS Credentials

avahiplatform requires AWS credentials to access AWS Bedrock and S3 services. You can provide your AWS credentials in two ways:

  1. Default AWS Credentials: Configure your AWS credentials in the ~/.aws/credentials file or by using the AWS CLI.
  2. Explicit AWS Credentials: Pass the AWS Access Key ID and Secret Access Key when calling functions.

For detailed instructions on setting up AWS credentials, please refer to the AWS CLI Configuration Guide.

Usage Examples

Summarization

# Summarize text
summary, _, _, _ = avahiplatform.summarize("Text to summarize")

# Summarize a local file
summary, _, _, _ = avahiplatform.summarize("path/to/local/file.txt")

# Summarize a file from S3
summary, _, _, _ = avahiplatform.summarize("s3://bucket-name/file.txt", 
                                            aws_access_key_id="your_access_key", 
                                            aws_secret_access_key="your_secret_key")

Structured Extraction

extraction, _, _, _ = avahiplatform.structredExtraction("Text for extraction")

Data Masking

masked_data, _, _, _ = avahiplatform.DataMasking("Text containing sensitive information")

Natural Language to SQL

result = avahiplatform.nl2sql("Your natural language query", 
                               db_type="postgresql", username="user", password="pass",
                               host="localhost", port=5432, dbname="mydb")

PDF Summarization

summary, _, _, _ = avahiplatform.pdfsummarizer("path/to/file.pdf")

Grammar Correction

corrected_text, _, _, _ = avahiplatform.grammarAssistant("Text with grammatical errors")

Product Description Generation

description, _, _, _ = avahiplatform.productDescriptionAssistant("SKU123", "Summer Sale", "Young Adults")

Image Generation

image, seed, cost = avahiplatform.imageGeneration("A beautiful sunset over mountains")

Medical Scribing

summary, transcript = avahiplatform.medicalscribing("path/to/audio.mp3", "input-bucket", "iam-arn")

# Note in medical scribe in iam_arn: It should have iam pass role inline policy which should look like this:
{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Effect": "Allow",
			"Action": [
				"iam:GetRole",
				"iam:PassRole"
			],
			"Resource": [
				"arn:aws:iam::<account-id>:role/<role-name>"
			]
		}
	]
}

Along with this, the role/user should have full access to both Transcribe and Comprehend.

ICD-10 Code Generation

icd_code = avahiplatform.icdcoding("local_file.txt")

CSV Querying

result = avahiplatform.query_csv("What is the average age?", "path/to/data.csv")

Semantic Search and RAG

similar_docs = avahiplatform.perform_semantic_search("Your question", "s3://bucket/documents/")
answer, sources = avahiplatform.perform_rag_with_sources("Your question", "s3://bucket/documents/")

Error Handling

avahiplatform provides user-friendly error messages for common issues. Examples include:

  • Invalid AWS credentials
  • File not found
  • Database connection errors
  • Unexpected errors

Requirements

  • Python 3.9 or higher
  • boto3 (>= 1.34.160)
  • loguru (>= 0.7.2)
  • python-docx (>= 1.1.2)
  • PyMuPDF (>= 1.24.9)
  • langchain (>= 0.1.12)
  • langchain_community (>= 0.0.29)
  • langchain-experimental (>= 0.0.54)
  • psycopg2 (>= 2.9.9)
  • PyMySQL (>= 1.1.1)
  • tabulate (>= 0.9.0)
  • langchain-aws (>= 0.1.17)

Contributing

We welcome contributions! Feel free to open issues or submit pull requests if you find bugs or have features to add.

License

This project is licensed under the MIT License.

Contact

Release files for modelcrafter 0.0.4

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

Source distribution (sdist)

Source distribution for modelcrafter 0.0.4
File Size Uploaded
modelcrafter-0.0.4.tar.gz 24.3 kB Details

Built distribution (wheel)

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

Total release size: 62.7 kB

Release files / modelcrafter-0.0.4.tar.gz

Download URL modelcrafter-0.0.4.tar.gz
Size 24.3 kB
Tags Source
SHA-256 checksum
How to use checksums
97446a5323b33cfeaba01d51105778fad196738bbf0c505573bb5242e256201e
BLAKE2b-256 checksum
How to use checksums
d5a83a7c9168ab4c39516fdb581390601cec06ccafbc247f1607847e6916c36e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.14

Release files / modelcrafter-0.0.4-py3-none-any.whl

Download URL modelcrafter-0.0.4-py3-none-any.whl
Size 38.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fb6c5ab4393de278800cefeff92fb6c0f4dddb14ee3e50ab6536a0d2abd1ea11
BLAKE2b-256 checksum
How to use checksums
cf0af201ea643d1a1492fd23f4f5227378de7ada37260c7be3754f542382213f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.14

Release history Release notifications | RSS feed

This release

0.0.4 This release

2 release files

0.0.3

2 release files

0.0.1

2 release files

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