updated `integrations/providers/google` (#12226)

Added missed integrations. Updated formats.

---------

Co-authored-by: Erick Friis <erick@langchain.dev>
pull/12724/head
Leonid Ganeline 11 months ago committed by GitHub
parent 2e2b9c76d9
commit e112b2f2e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -9,9 +9,9 @@
"\n",
"Note: This is separate from the Google PaLM integration. Google has chosen to offer an enterprise version of PaLM through GCP, and this supports the models made available through there. \n",
"\n",
"By default, Google Cloud [does not use](https://cloud.google.com/vertex-ai/docs/generative-ai/data-governance#foundation_model_development) Customer Data to train its foundation models as part of Google Cloud`s AI/ML Privacy Commitment. More details about how Google processes data can also be found in [Google's Customer Data Processing Addendum (CDPA)](https://cloud.google.com/terms/data-processing-addendum).\n",
"By default, Google Cloud [does not use](https://cloud.google.com/vertex-ai/docs/generative-ai/data-governance#foundation_model_development) customer data to train its foundation models as part of Google Cloud`s AI/ML Privacy Commitment. More details about how Google processes data can also be found in [Google's Customer Data Processing Addendum (CDPA)](https://cloud.google.com/terms/data-processing-addendum).\n",
"\n",
"To use Vertex AI PaLM you must have the `google-cloud-aiplatform` Python package installed and either:\n",
"To use `Google Cloud Vertex AI` PaLM you must have the `google-cloud-aiplatform` Python package installed and either:\n",
"- Have credentials configured for your environment (gcloud, workload identity, etc...)\n",
"- Store the path to a service account JSON file as the GOOGLE_APPLICATION_CREDENTIALS environment variable\n",
"\n",

@ -411,9 +411,9 @@
],
"metadata": {
"kernelspec": {
"display_name": "poetry-venv",
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "poetry-venv"
"name": "python3"
},
"language_info": {
"codemirror_mode": {
@ -425,7 +425,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.1"
"version": "3.10.12"
},
"vscode": {
"interpreter": {

@ -1,12 +1,20 @@
# Google
All functionality related to [Google Cloud Platform](https://cloud.google.com/)
All functionality related to [Google Cloud Platform](https://cloud.google.com/) and other `Google` products.
## LLMs
### Vertex AI
Access PaLM LLMs like `text-bison` and `code-bison` via Google Cloud.
Access `PaLM` LLMs like `text-bison` and `code-bison` via `Google Vertex AI`.
We need to install `google-cloud-aiplatform` python package.
```bash
pip install google-cloud-aiplatform
```
See a [usage example](/docs/integrations/llms/google_vertex_ai_palm).
```python
from langchain.llms import VertexAI
@ -14,7 +22,15 @@ from langchain.llms import VertexAI
### Model Garden
Access PaLM and hundreds of OSS models via Vertex AI Model Garden.
Access PaLM and hundreds of OSS models via `Vertex AI Model Garden`.
We need to install `google-cloud-aiplatform` python package.
```bash
pip install google-cloud-aiplatform
```
See a [usage example](/docs/integrations/llms/google_vertex_ai_palm#vertex-model-garden).
```python
from langchain.llms import VertexAIModelGarden
@ -26,17 +42,26 @@ from langchain.llms import VertexAIModelGarden
Access PaLM chat models like `chat-bison` and `codechat-bison` via Google Cloud.
We need to install `google-cloud-aiplatform` python package.
```bash
pip install google-cloud-aiplatform
```
See a [usage example](/docs/integrations/chat/google_vertex_ai_palm).
```python
from langchain.chat_models import ChatVertexAI
```
## Document Loader
## Document Loaders
### Google BigQuery
> [Google BigQuery](https://cloud.google.com/bigquery) is a serverless and cost-effective enterprise data warehouse that works across clouds and scales with your data.
`BigQuery` is a part of the `Google Cloud Platform`.
First, we need to install `google-cloud-bigquery` python package.
We need to install `google-cloud-bigquery` python package.
```bash
pip install google-cloud-bigquery
@ -52,7 +77,7 @@ from langchain.document_loaders import BigQueryLoader
>[Google Cloud Storage](https://en.wikipedia.org/wiki/Google_Cloud_Storage) is a managed service for storing unstructured data.
First, we need to install `google-cloud-storage` python package.
We need to install `google-cloud-storage` python package.
```bash
pip install google-cloud-storage
@ -77,7 +102,7 @@ from langchain.document_loaders import GCSFileLoader
Currently, only `Google Docs` are supported.
First, we need to install several python packages.
We need to install several python packages.
```bash
pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib
@ -107,11 +132,14 @@ See a [usage example and authorization instructions](/docs/integrations/document
from langchain.document_loaders import GoogleSpeechToTextLoader
```
## Vector Store
### Vertex AI Vector Search
> [Vertex AI Vector Search](https://cloud.google.com/vertex-ai/docs/matching-engine/overview),
> formerly known as Vertex AI Matching Engine, provides the industry's leading high-scale
## Vector Stores
### Google Vertex AI Vector Search
> [Google Vertex AI Vector Search](https://cloud.google.com/vertex-ai/docs/matching-engine/overview),
> formerly known as `Vertex AI Matching Engine`, provides the industry's leading high-scale
> low latency vector database. These vector databases are commonly
> referred to as vector similarity-matching or an approximate nearest neighbor (ANN) service.
@ -153,12 +181,28 @@ from langchain.vectorstores import ScaNN
```
## Retrievers
### Google Drive
We need to install several python packages.
```bash
pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib
```
See a [usage example and authorization instructions](/docs/integrations/retrievers/google_drive).
```python
from langchain_googledrive.retrievers import GoogleDriveRetriever
```
### Vertex AI Search
> [Google Cloud Vertex AI Search](https://cloud.google.com/generative-ai-app-builder/docs/introduction)
> allows developers to quickly build generative AI powered search engines for customers and employees.
First, you need to install the `google-cloud-discoveryengine` Python package.
We need to install the `google-cloud-discoveryengine` python package.
```bash
pip install google-cloud-discoveryengine
@ -173,7 +217,7 @@ from langchain.retrievers import GoogleVertexAISearchRetriever
### Document AI Warehouse
> [Google Cloud Document AI Warehouse](https://cloud.google.com/document-ai-warehouse)
> allows enterprises to search, store, govern, and manage documents and their AI-extracted
> data and metadata in a single platform. Documents should be uploaded outside of Langchain,
> data and metadata in a single platform.
>
```python
@ -188,45 +232,67 @@ documents = docai_wh_retriever.get_relevant_documents(
```
## Tools
### Google Search
- Install requirements with `pip install google-api-python-client`
- Set up a Custom Search Engine, following [these instructions](https://stackoverflow.com/questions/37083058/programmatically-searching-google-in-python-using-custom-search)
- Get an API Key and Custom Search Engine ID from the previous step, and set them as environment variables `GOOGLE_API_KEY` and `GOOGLE_CSE_ID` respectively
### Google Drive
There exists a `GoogleSearchAPIWrapper` utility which wraps this API. To import this utility:
We need to install several python packages.
```python
from langchain.utilities import GoogleSearchAPIWrapper
```bash
pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib
```
For a more detailed walkthrough of this wrapper, see [this notebook](/docs/integrations/tools/google_search).
We can easily load this wrapper as a Tool (to use with an Agent). We can do this with:
See a [usage example and authorization instructions](/docs/integrations/tools/google_drive).
```python
from langchain.agents import load_tools
tools = load_tools(["google-search"])
from langchain.utilities.google_drive import GoogleDriveAPIWrapper
from langchain.tools.google_drive.tool import GoogleDriveSearchTool
```
### Google Places
See a [usage example](/docs/integrations/tools/google_places).
We need to install a python package.
```
```bash
pip install googlemaps
```
See a [usage example and authorization instructions](/docs/integrations/tools/google_places).
```python
from langchain.tools import GooglePlacesTool
```
### Google Search
We need to install a python package.
```bash
pip install google-api-python-client
```
- Set up a Custom Search Engine, following [these instructions](https://stackoverflow.com/questions/37083058/programmatically-searching-google-in-python-using-custom-search)
- Get an API Key and Custom Search Engine ID from the previous step, and set them as environment variables `GOOGLE_API_KEY` and `GOOGLE_CSE_ID` respectively
```python
from langchain.utilities import GoogleSearchAPIWrapper
```
For a more detailed walkthrough of this wrapper, see [this notebook](/docs/integrations/tools/google_search).
We can easily load this wrapper as a Tool (to use with an Agent). We can do this with:
```python
from langchain.agents import load_tools
tools = load_tools(["google-search"])
```
## Document Transformers
### Google Document AI
>[Document AI](https://cloud.google.com/document-ai/docs/overview) is a `Google Cloud Platform`
> service to transform unstructured data from documents into structured data, making it easier
> service that transforms unstructured data from documents into structured data, making it easier
> to understand, analyze, and consume.
We need to set up a [`GCS` bucket and create your own OCR processor](https://cloud.google.com/document-ai/docs/create-processor)
@ -269,15 +335,54 @@ See a [usage example and authorization instructions](/docs/integrations/document
from langchain.document_transformers import GoogleTranslateTransformer
```
## Chat loaders
### Gmail
## Toolkits
### GMail
> [Gmail](https://en.wikipedia.org/wiki/Gmail) is a free email service provided by Google.
This toolkit works with emails through the `Gmail API`.
We need to install several python packages.
```bash
pip install google-api-python-client google-auth-oauthlib google-auth-httplib2
```
See a [usage example and authorization instructions](/docs/integrations/toolkits/gmail).
```python
from langchain.agents.agent_toolkits import GmailToolkit
```
### Google Drive
This toolkit uses the `Google Drive API`.
We need to install several python packages.
```bash
pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib
```
See a [usage example and authorization instructions](/docs/integrations/toolkits/google_drive).
```python
from langchain_googledrive.utilities.google_drive import GoogleDriveAPIWrapper
from langchain_googledrive.tools.google_drive.tool import GoogleDriveSearchTool
```
## Chat Loaders
### GMail
> [Gmail](https://en.wikipedia.org/wiki/Gmail) is a free email service provided by Google.
This loader works with emails through the `Gmail API`.
First, we need to install several python packages.
We need to install several python packages.
```bash
pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client
pip install google-api-python-client google-auth-oauthlib google-auth-httplib2
```
See a [usage example and authorization instructions](/docs/integrations/chat_loaders/gmail).
@ -286,22 +391,69 @@ See a [usage example and authorization instructions](/docs/integrations/chat_loa
from langchain.chat_loaders.gmail import GMailLoader
```
## Agents and Toolkits
### Gmail
## 3rd Party Integrations
See a [usage example and authorization instructions](/docs/integrations/toolkits/gmail).
### SerpAPI
>[SerpApi](https://serpapi.com/) provides a 3rd-party API to access Google search results.
See a [usage example and authorization instructions](/docs/integrations/tools/google_serper).
```python
from langchain.agents.agent_toolkits import GmailToolkit
from langchain.utilities import GoogleSerperAPIWrapper
```
### YouTube
>[YouTube Search](https://github.com/joetats/youtube_search) package searches `YouTube` videos avoiding using their heavily rate-limited API.
>
>It uses the form on the YouTube homepage and scrapes the resulting page.
We need to install a python package.
toolkit = GmailToolkit()
```bash
pip install youtube_search
```
### Google Drive
See a [usage example](/docs/integrations/tools/youtube).
See a [usage example and authorization instructions](/docs/integrations/toolkits/google_drive).
```python
from langchain.tools import YouTubeSearchTool
```
### YouTube audio
>[YouTube](https://www.youtube.com/) is an online video sharing and social media platform created by `Google`.
Use `YoutubeAudioLoader` to fetch / download the audio files.
Then, use `OpenAIWhisperParser` to transcribe them to text.
We need to install several python packages.
```bash
pip install yt_dlp pydub librosa
```
See a [usage example and authorization instructions](/docs/integrations/document_loaders/youtube_audio).
```python
from langchain_googledrive.utilities.google_drive import GoogleDriveAPIWrapper
from langchain_googledrive.tools.google_drive.tool import GoogleDriveSearchTool
from langchain.document_loaders.blob_loaders.youtube_audio import YoutubeAudioLoader
from langchain.document_loaders.parsers import OpenAIWhisperParser, OpenAIWhisperParserLocal
```
### YouTube transcripts
>[YouTube](https://www.youtube.com/) is an online video sharing and social media platform created by `Google`.
We need to install `youtube-transcript-api` python package.
```bash
pip install youtube-transcript-api
```
See a [usage example](/docs/integrations/document_loaders/youtube_transcript).
```python
from langchain.document_loaders import YoutubeLoader
```
Loading…
Cancel
Save