Skip to main content

llama-index readers athena integration

Project description

Athena reader.

pip install llama-index-readers-athena

pip install llama-index-llms-openai

Athena reader allow execute SQL with AWS Athena. We using SQLAlchemy and PyAthena under the hood.

Permissions

WE HIGHLY RECOMMEND USING THIS LOADER WITH AWS EC2 IAM ROLE.

Usage

Here's an example usage of the AthenaReader.

import os
import dotenv
from llama_index.core import SQLDatabase,ServiceContext
from llama_index.core.query_engine import NLSQLTableQueryEngine
from llama_index.llms.openai import OpenAI
from llama_index.readers.athena import AthenaReader

dotenv.load_dotenv()

AWS_REGION = os.environ['AWS_REGION']
S3_STAGING_DIR = os.environ['S3_STAGING_DIR']
DATABASE = os.environ['DATABASE']
WORKGROUP = os.environ['WORKGROUP']
TABLE = os.environ['TABLE']

llm = OpenAI(model="gpt-4",temperature=0, max_tokens=1024)

engine = AthenaReader.create_athena_engine(
    aws_region=AWS_REGION,
    s3_staging_dir=S3_STAGING_DIR,
    database=DATABASE,
    workgroup=WORKGROUP
)

service_context = ServiceContext.from_defaults(
  llm=llm
)

sql_database = SQLDatabase(engine, include_tables=[TABLE])

query_engine = NLSQLTableQueryEngine(
    sql_database=sql_database,
    tables=[TABLE],
    service_context=service_context
)
query_str = (
    "Which blocknumber has the most transactions?"
)
response = query_engine.query(query_str)

Screeshot

image

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

llama_index_readers_athena-0.4.0.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

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

llama_index_readers_athena-0.4.0-py3-none-any.whl (3.9 kB view details)

Uploaded Python 3

File details

Details for the file llama_index_readers_athena-0.4.0.tar.gz.

File metadata

File hashes

Hashes for llama_index_readers_athena-0.4.0.tar.gz
Algorithm Hash digest
SHA256 b0fa453eec30bae615567e998b688172fe2131c390886efbcdb221306698efd1
MD5 7b4b128d364a8adadbb7d2d6462f4acf
BLAKE2b-256 12aef48d8a98ad07176ccff2833d7538f48ccbd490852e05536b7557c59bf728

See more details on using hashes here.

File details

Details for the file llama_index_readers_athena-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for llama_index_readers_athena-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cd8e26203627654dc5bf4949377f41481c7bf7b33aa6ebf5571113fd302e44c3
MD5 c29ffae53dce8905ec6abba219f539a1
BLAKE2b-256 dbf39a6405a06b8e0b5440bf742704892ff72cdf79f5e49f0702b48d3c32b0b3

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