llama-index readers athena integration
Project description
Athena reader.
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 import SQLDatabase,ServiceContext
from llama_index.indices.struct_store import NLSQLTableQueryEngine
from llama_index.llms import OpenAI
from llama_hub.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
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
Close
Hashes for llama_index_readers_athena-0.1.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 399f66d69ff264b97763d953245203922683059b90fa73f766d62ce74f51aac4 |
|
MD5 | c8bb0d9638ef11a28dc6b8c7db80d0a5 |
|
BLAKE2b-256 | ea2be2abf1e6d5b356cf3a92a7bbb0d5a9425e34c14e52bedea1e09c8f901287 |
Close
Hashes for llama_index_readers_athena-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c84cd87501320159a791da58eb3916096807c217b5d6d9ccfd22bf680d5c69da |
|
MD5 | c22eadeedc5c2c52bc091a151db37fbf |
|
BLAKE2b-256 | 523568e77932af966b8c034785b8c014f93e812cc2f0ba4012a8b8e6b22141a5 |