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.11.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8888791160e1277e851572c1e935531adb6e46a057519ed613f3d3b93b162c5f |
|
MD5 | 193dc81cd8cc1512a32c622b2c507d7c |
|
BLAKE2b-256 | 55a8fc12863108a9479ba6845583b1812b75cf223353647a6a84d8ad3ad074c2 |
Hashes for llama_index_readers_google-0.2.11-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c99990e222f5fcccf62f04f0c7c2d850a9857e8913b426c17a365ade10aa8775 |
|
MD5 | 58f389af78d947be5265771adeb22635 |
|
BLAKE2b-256 | 5f0d8127d901935fd0a39858cd2881c7d85a44fef127dd80670a70e9e9b19a91 |