An avahiai library which makes your Gen-AI tasks effortless
Project description
AvahiAI
logicsdk is a user-friendly library that simplifies many Gen-AI tasks using AWS Bedrock.
current Features
- Summarize plain text.
- Summarize text from local files (
.txt
,.pdf
,.docx
). - Summarize text from S3 files (
.txt
,.pdf
,.docx
). - Extract the entities from plain text.
- Extract the entities from from local files (
.txt
,.pdf
,.docx
). - Extract the entities from from S3 files (
.txt
,.pdf
,.docx
). - Support for custom prompts and different anthropic claude model versions.
- Error handling with user-friendly messages.
- And many more to come...
Installation
You can install logic just by running:
pip install logicsdk
AWS CLI Installation (Optional but Recommended)
To configure your AWS credentials easily, you can use the AWS CLI. Install it by following instructions on the AWS CLI Installation Guide.
Configuration
AWS Credentials
AvahiAI requires AWS credentials to access AWS Bedrock and S3 services. You can provide your AWS credentials in two ways:
- Default AWS Credentials: Ensure your AWS credentials are configured in the
~/.aws/credentials
file or by using the AWS CLI. - Explicit AWS Credentials: Pass the AWS Access Key and Secret Key when calling the
summarize
function.
Configuring AWS Credentials Using AWS CLI
After installing the AWS CLI, run the following command to configure your credentials:
aws configure
You will be prompted to enter your AWS Access Key ID, Secret Access Key, region, and output format. This will create or update the ~/.aws/credentials
file with your credentials.
Sample ~/.aws/credentials
File:
[default]
aws_access_key_id = YOUR_ACCESS_KEY
aws_secret_access_key = YOUR_SECRET_KEY
Usage
Importing logicsdk
import logicsdk
Summarizing Text Strings
extraction_output, input_token_cost, output_token_cost, total_cost = logicsdk.summarize("This is a test string to summarize.")
print("Summary:", extraction_output)
print("Input Cost:", input_token_cost)
print("Output Cost:", output_token_cost)
print("Cost:", total_cost)
Summarization
Summarizing Local Files
Text File (.txt
)
extraction_output, input_token_cost, output_token_cost, total_cost = logicsdk.summarize("path/to/your/file.txt")
print("Summary:", extraction_output)
PDF File (.pdf
)
extraction_output, input_token_cost, output_token_cost, total_cost = logicsdk.summarize("path/to/your/file.pdf")
print("Summary:", extraction_output)
DOCX File (.docx
)
extraction_output, input_token_cost, output_token_cost, total_cost = logicsdk.summarize("path/to/your/file.docx")
print("Summary:", extraction_output)
Summarizing Files from S3
extraction_output, input_token_cost, output_token_cost, total_cost = logicsdk.summarize("s3://your-bucket-name/your-file.pdf", aws_access_key_id="your_access_key", aws_secret_access_key="your_secret_key")
print("Summary:", extraction_output)
Using a Custom Prompt
custom_prompt = "Please summarize the following document."
extraction_output, input_token_cost, output_token_cost, total_cost = logicsdk.summarize("path/to/your/file.docx", user_prompt=custom_prompt)
print("Summary:", extraction_output)
Changing the Default Model
extraction_output, input_token_cost, output_token_cost, total_cost = logicsdk.summarize("path/to/your/file.docx", model_name="haiku-3.0")
print("Summary:", extraction_output)
Extraction
Extracting from Strings
extraction_output, input_token_cost, output_token_cost, total_cost = logicsdk.structredExtraction("This is a test string to for the extraction.")
print("Extraction:", extraction_output)
print("Input Cost:", input_token_cost)
print("Output Cost:", output_token_cost)
print("Cost:", total_cost)
Extracting from Local Files
Text File (.txt
)
extraction_output, input_token_cost, output_token_cost, total_cost = logicsdk.structredExtraction("path/to/your/file.txt")
print("Extraction:", extraction_output)
PDF File (.pdf
)
extraction_output, input_token_cost, output_token_cost, total_cost = logicsdk.structredExtraction("path/to/your/file.pdf")
print("Summary:", extraction_output)
DOCX File (.docx
)
extraction_output, input_token_cost, output_token_cost, total_cost = logicsdk.structredExtraction("path/to/your/file.docx")
print("Summary:", extraction_output)
Extracting from Files in S3
extraction_output, input_token_cost, output_token_cost, total_cost = logicsdk.structredExtraction("s3://your-bucket-name/your-file.pdf", aws_access_key_id="your_access_key", aws_secret_access_key="your_secret_key")
print("Summary:", extraction_output)
Using a Custom Prompt
custom_prompt = "Please summarize the following document."
extraction_output, input_token_cost, output_token_cost, total_cost = logicsdk.structredExtraction("path/to/your/file.docx", user_prompt=custom_prompt)
print("Summary:", extraction_output)
Changing the Default Model
extraction_output, input_token_cost, output_token_cost, total_cost = logicsdk.structredExtraction("path/to/your/file.docx", model_name="haiku-3.0")
print("Summary:", extraction_output)
Other more Gen-ai task to come
Error Handling
AvahiAI provides user-friendly error messages for common issues. Here are some common errors you might encounter:
- Invalid AWS Credentials
AWS credentials are not set or invalid. Please configure your AWS credentials.
- File Not Found
The file at path/to/your/file.pdf does not exist. Please check the file path.
- Unexpected Errors
An unexpected error occurred: <error message>.
Contributing
Feel free to open issues or submit pull requests if you find bugs or have features to add.
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
Built Distribution
File details
Details for the file logicsdk-0.0.6.tar.gz
.
File metadata
- Download URL: logicsdk-0.0.6.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49de30ea498cac9d24d0647fca9ed69438ce1b8854acf08361bd59c5a04b3d73 |
|
MD5 | 6839b7931be27c817cc8f627f542c66d |
|
BLAKE2b-256 | 9d0ed437f6488bea09eeec1fe592981a96ffac5b9f674ceab3e5c192518779c7 |
File details
Details for the file logicsdk-0.0.6-py3-none-any.whl
.
File metadata
- Download URL: logicsdk-0.0.6-py3-none-any.whl
- Upload date:
- Size: 11.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c8964a53a81575ceece7e957e79833e810bca69cb5114d83418dd9eee9f5b80 |
|
MD5 | 6a2e0ab71c655abef6348f1d2f8c83c3 |
|
BLAKE2b-256 | e1c073ca7fe994df31474df8323b367403d0f600ad2b0ab65ad38b8020513e15 |