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.1.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.1-py3-none-any.whl (3.9 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for llama_index_readers_athena-0.4.1.tar.gz
Algorithm Hash digest
SHA256 23c97d2e6df1df2692cb0b87b1baaf81df4c34549a837fc21eeb1dadf8890bd3
MD5 12eed12c0b5de4eec4ee0d1ea6e35097
BLAKE2b-256 8b19941e3158648c6566806522395e7b378beeb814328d347affdd0e7b59666c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for llama_index_readers_athena-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e95dcc3149c3e2b449ec27c5d0d79bbe217302a82e37c13e4925fb533e65acb3
MD5 23fe349670690988982eb3fe7f7a0f61
BLAKE2b-256 a577c7430eacaebd8174e2083adedce4986c388ab901fd02725fee0d9abfa3e6

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