Skip to content

Commit

Permalink
added Google Gemini
Browse files Browse the repository at this point in the history
  • Loading branch information
haesleinhuepf committed Jul 18, 2024
1 parent 8c75300 commit f8320e5
Show file tree
Hide file tree
Showing 4 changed files with 149 additions and 1 deletion.
17 changes: 17 additions & 0 deletions docs/00_setup/environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -346,11 +346,22 @@ dependencies:
- pip:
- bia-bob==0.20.0
- blablado==0.1.2
- cachetools==5.4.0
- click==8.1.7
- dataclasses-json==0.6.7
- deprecated==1.2.14
- dirtyjson==1.0.8
- google-ai-generativelanguage==0.6.6
- google-api-core==2.19.1
- google-api-python-client==2.137.0
- google-auth==2.32.0
- google-auth-httplib2==0.2.0
- google-generativeai==0.7.2
- googleapis-common-protos==1.63.2
- grpcio==1.65.1
- grpcio-status==1.62.2
- gtts==2.5.1
- httplib2==0.22.0
- ipynbname==2024.1.0.0
- langchain-openai==0.1.17
- llama-cloud==0.0.9
Expand All @@ -374,17 +385,23 @@ dependencies:
- mypy-extensions==1.0.0
- nltk==3.8.1
- pexpect==4.9.0
- proto-plus==1.24.0
- protobuf==4.25.3
- ptyprocess==0.7.0
- pyasn1==0.6.0
- pyasn1-modules==0.4.0
- pyaudio==0.2.14
- pydub==0.25.1
- pypdf==4.3.0
- python-pptx==0.6.23
- rsa==4.9
- speechrecognition==3.10.4
- striprtf==0.0.26
- tiktoken==0.7.0
- torchaudio==2.3.1
- torchvision==0.18.1
- typing-inspect==0.9.0
- uritemplate==4.1.1
- wrapt==1.16.0
- xlsxwriter==3.2.0
prefix: C:\Users\haase\miniconda3\envs\genai2
2 changes: 1 addition & 1 deletion docs/00_setup/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ conda activate genai2

Install some additional packaged via pip:
```
pip install python-pptx bia-bob blablado llama-index
pip install python-pptx bia-bob blablado llama-index google-generativeai
```

The used conda environment is also available for download as [environment.yml](environment.yml) file.
Expand Down
130 changes: 130 additions & 0 deletions docs/15_endpoint_apis/20_google_gemini.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "bc065556-7daa-4471-a816-77980cd1e98b",
"metadata": {},
"source": [
"# Gemini API\n",
"In this notebook we use the model Gemini 1.5 Flash"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "5b85e2f9-b1a5-49d6-abed-ab4193a10e99",
"metadata": {},
"outputs": [],
"source": [
"def prompt_gemini(request, model=\"gemini-1.5-flash-001\"):\n",
" \"\"\"Send a prompt to Google Gemini and return the response\"\"\"\n",
" from google import generativeai as genai\n",
" import os\n",
" genai.configure(api_key=os.environ['GOOGLE_API_KEY'])\n",
" \n",
" client = genai.GenerativeModel(model)\n",
" result = client.generate_content(request)\n",
" return result.text"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "255bd9e4-c447-4dc4-85b4-3119a3e691ed",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'The capital of France is **Paris**. \\n'"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"prompt_gemini(\"Hello, what is the capital of France?\")"
]
},
{
"cell_type": "markdown",
"id": "9efc8ce4-b99a-4a05-b00f-92b9c8bd8fc5",
"metadata": {},
"source": [
"## Exercise\n",
"List the models available by google and try them out!"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "7d423d8c-7966-4646-8c6f-dbf6ef999084",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['models/chat-bison-001',\n",
" 'models/text-bison-001',\n",
" 'models/embedding-gecko-001',\n",
" 'models/gemini-1.0-pro',\n",
" 'models/gemini-1.0-pro-001',\n",
" 'models/gemini-1.0-pro-latest',\n",
" 'models/gemini-1.0-pro-vision-latest',\n",
" 'models/gemini-1.5-flash',\n",
" 'models/gemini-1.5-flash-001',\n",
" 'models/gemini-1.5-flash-latest',\n",
" 'models/gemini-1.5-pro',\n",
" 'models/gemini-1.5-pro-001',\n",
" 'models/gemini-1.5-pro-latest',\n",
" 'models/gemini-pro',\n",
" 'models/gemini-pro-vision',\n",
" 'models/embedding-001',\n",
" 'models/text-embedding-004',\n",
" 'models/aqa']"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from google.generativeai import list_models\n",
"\n",
"[m.name for m in list_models()]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "b5dedf08-1d56-427d-9cd5-c203825172d8",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.9"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
1 change: 1 addition & 0 deletions docs/_toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ parts:
- file: 15_endpoint_apis/02_ollama_endpoint.ipynb
- file: 15_endpoint_apis/03_blablador_endpoint.ipynb
- file: 15_endpoint_apis/10_anthropic_api.ipynb
- file: 15_endpoint_apis/20_google_gemini.ipynb

- caption: Chatbots
chapters:
Expand Down

0 comments on commit f8320e5

Please sign in to comment.