llama-index readers google integration
Project description
LlamaIndex Integration: Google Readers
Effortlessly incorporate Google-based data loaders into your Python workflow using LlamaIndex. Unlock the potential of various readers to enhance your data loading capabilities, including:
- Google Calendar
- Google Chat
- Google Docs
- Google Drive
- Gmail
- Google Keep
- Google Maps
- Google Sheets
Installation
pip install llama-index-readers-google
Authentication
You will need a credentials.json
file from Google Cloud to interact with Google Services. To get this file, follow these steps:
- Create a new project in the Google Cloud Console
- Go to APIs & Services -> Library and search for the API you want, e.g. Gmail
- Go to APIs & Services -> Credentials and create a new OAuth client ID
- Application type: Web application
- Authorized redirect URIs: http://localhost:8080/ (the last slash seems important)
- Go to APIs & Services -> OAuth consent screen and make the app external, which allows you to connect your personal Google data once you explicitly add yourself as an allowed test user
- Download the credentials JSON file from this screen and save it as
credentials.json
in the root of your project
See this example for a sample of code that successfully authenticates with Gmail once you have the credentials.json
file.
Examples
Google Docs Reader
from llama_index.readers.google import GoogleDocsReader
# Specify the document IDs you want to load
document_ids = ["<document_id>"]
# Load data from Google Docs
documents = GoogleDocsReader().load_data(document_ids=document_ids)
Google Sheets Reader (Documents and Dataframes)
from llama_index.readers.google import GoogleSheetsReader
# Specify the list of sheet IDs you want to load
list_of_sheets = ["spreadsheet_id"]
# Create a Google Sheets Reader instance
sheets_reader = GoogleSheetsReader()
# Load data into Pandas in Data Classes of choice (Documents or Dataframes)
documents = sheets.load_data(list_of_sheets)
dataframes = sheets_reader.load_data_in_pandas(list_of_sheets)
Integrate these readers seamlessly to efficiently manage and process your data within your Python environment, providing a robust foundation for your data-driven workflows with LlamaIndex.
Google Maps Text Search Reader
from llama_index.readers.google import GoogleMapsTextSearchReader
from llama_index.core import VectorStoreIndex
loader = GoogleMapsTextSearchReader()
documents = loader.load_data(
text="I want to eat quality Turkish food in Istanbul",
number_of_results=160,
)
index = VectorStoreIndex.from_documents(documents)
index.query("Which Turkish restaurant has the best reviews?")
Google Chat Reader
from llama_index.readers.google import GoogleChatReader
from llama_index.core import VectorStoreIndex
space_names = ["<CHAT_ID>"]
chatReader = GoogleChatReader()
docs = chatReader.load_data(space_names=space_names)
index = VectorStoreIndex.from_documents(docs)
query_eng = index.as_query_engine()
print(query_eng.query("What was this conversation about?"))
Project details
Release history Release notifications | RSS feed
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
Hashes for llama_index_readers_google-0.2.9.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47751ddf4b1c86940a5110ba47221a2cbe1ef00e59375eaf798827b24509d5f8 |
|
MD5 | 2b6d2f902257ebd0eca3dfabbc6a7476 |
|
BLAKE2b-256 | 571f69fb886e9f0d19c6332899ce5d77b335c3060df4ed3fbc7ae4d8d9385dca |
Hashes for llama_index_readers_google-0.2.9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 746c3cc5c5c5cb430be03476a064395336562d3d03bfce91c5d9bfbdbf710450 |
|
MD5 | 343645d666fcd6b1c7db7fd8a9ff31be |
|
BLAKE2b-256 | 0c0c5a08da29babecc0cbc9783f47e2f50115ab6db35c0ea4355e53ac91e7694 |