1 changed files with 167 additions and 0 deletions
@ -0,0 +1,167 @@ |
|||||||
|
{ |
||||||
|
"nbformat": 4, |
||||||
|
"nbformat_minor": 0, |
||||||
|
"metadata": { |
||||||
|
"colab": { |
||||||
|
"provenance": [] |
||||||
|
}, |
||||||
|
"kernelspec": { |
||||||
|
"name": "python3", |
||||||
|
"display_name": "Python 3" |
||||||
|
}, |
||||||
|
"language_info": { |
||||||
|
"name": "python" |
||||||
|
} |
||||||
|
}, |
||||||
|
"cells": [ |
||||||
|
{ |
||||||
|
"cell_type": "markdown", |
||||||
|
"source": [ |
||||||
|
"Import libraries as needed & keep your gemini api key ready" |
||||||
|
], |
||||||
|
"metadata": { |
||||||
|
"id": "2UAcHYzT6ikw" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"cell_type": "code", |
||||||
|
"source": [ |
||||||
|
"#!pip install gradio" |
||||||
|
], |
||||||
|
"metadata": { |
||||||
|
"id": "XW0IY4xK6JZ1" |
||||||
|
}, |
||||||
|
"execution_count": 14, |
||||||
|
"outputs": [] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"cell_type": "code", |
||||||
|
"execution_count": 2, |
||||||
|
"metadata": { |
||||||
|
"id": "dwoPNMMP4ZSh" |
||||||
|
}, |
||||||
|
"outputs": [], |
||||||
|
"source": [ |
||||||
|
"from google import genai\n", |
||||||
|
"from google.genai import types\n", |
||||||
|
"from google.colab import userdata\n", |
||||||
|
"\n" |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"cell_type": "code", |
||||||
|
"source": [ |
||||||
|
"def get_trip_itinerary(budget: int) -> str:\n", |
||||||
|
" \"\"\"\n", |
||||||
|
" Returns a trip itinerary based on the given budget.\n", |
||||||
|
" \"\"\"\n", |
||||||
|
" itinerary_dict: Dict[int, str] = {\n", |
||||||
|
" 500: \"Paris: 3-day budget trip covering Eiffel Tower, Louvre, and Seine River Cruise.\",\n", |
||||||
|
" 1000: \"Tokyo: 5-day adventure covering Shibuya, Akihabara, Mount Fuji day trip.\",\n", |
||||||
|
" 2000: \"New York: 7-day luxury stay covering Times Square, Broadway show, and helicopter tour.\",\n", |
||||||
|
" 3000: \"Dubai: 7-day ultra-luxury trip with Burj Khalifa VIP tour, desert safari, and yacht cruise.\",\n", |
||||||
|
" }\n", |
||||||
|
"\n", |
||||||
|
" return itinerary_dict.get(budget, \"No itinerary found for this budget. Try another amount!\")\n" |
||||||
|
], |
||||||
|
"metadata": { |
||||||
|
"id": "cnYD07T24ueV" |
||||||
|
}, |
||||||
|
"execution_count": 3, |
||||||
|
"outputs": [] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"cell_type": "code", |
||||||
|
"source": [ |
||||||
|
"from google.genai import types\n", |
||||||
|
"\n", |
||||||
|
"config = types.GenerateContentConfig(tools=[get_trip_itinerary])\n", |
||||||
|
"\n", |
||||||
|
"from google import genai\n", |
||||||
|
"\n", |
||||||
|
"client = genai.Client(api_key=userdata.get('gemini_api'))\n", |
||||||
|
"\n", |
||||||
|
"response = client.models.generate_content(\n", |
||||||
|
" model='gemini-2.0-flash',\n", |
||||||
|
" config=config,\n", |
||||||
|
" contents='Based on the user budget suggest trip itinerary'\n", |
||||||
|
")\n" |
||||||
|
], |
||||||
|
"metadata": { |
||||||
|
"id": "3WRUXvD45VFC" |
||||||
|
}, |
||||||
|
"execution_count": 7, |
||||||
|
"outputs": [] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"cell_type": "code", |
||||||
|
"source": [ |
||||||
|
"import gradio as gr\n", |
||||||
|
"\n", |
||||||
|
"# Chat function using Gemini\n", |
||||||
|
"chat = client.chats.create(model='gemini-2.0-flash', config=config)\n", |
||||||
|
"\n", |
||||||
|
"def chat_with_ai(user_input: str):\n", |
||||||
|
" response = chat.send_message(user_input)\n", |
||||||
|
" return response.text\n", |
||||||
|
"\n", |
||||||
|
"# Gradio Chat Interface\n", |
||||||
|
"demo = gr.Interface(fn=chat_with_ai, inputs=\"text\", outputs=\"text\", title=\"AI Trip Planner\")\n", |
||||||
|
"\n", |
||||||
|
"demo.launch()\n" |
||||||
|
], |
||||||
|
"metadata": { |
||||||
|
"colab": { |
||||||
|
"base_uri": "https://localhost:8080/", |
||||||
|
"height": 645 |
||||||
|
}, |
||||||
|
"id": "5fE700z96DHs", |
||||||
|
"outputId": "3e35423c-8b2b-4868-8113-00d9d3a7a2ba" |
||||||
|
}, |
||||||
|
"execution_count": 13, |
||||||
|
"outputs": [ |
||||||
|
{ |
||||||
|
"output_type": "stream", |
||||||
|
"name": "stdout", |
||||||
|
"text": [ |
||||||
|
"Running Gradio in a Colab notebook requires sharing enabled. Automatically setting `share=True` (you can turn this off by setting `share=False` in `launch()` explicitly).\n", |
||||||
|
"\n", |
||||||
|
"Colab notebook detected. To show errors in colab notebook, set debug=True in launch()\n", |
||||||
|
"* Running on public URL: https://079a23f363400da700.gradio.live\n", |
||||||
|
"\n", |
||||||
|
"This share link expires in 72 hours. For free permanent hosting and GPU upgrades, run `gradio deploy` from the terminal in the working directory to deploy to Hugging Face Spaces (https://huggingface.co/spaces)\n" |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"output_type": "display_data", |
||||||
|
"data": { |
||||||
|
"text/plain": [ |
||||||
|
"<IPython.core.display.HTML object>" |
||||||
|
], |
||||||
|
"text/html": [ |
||||||
|
"<div><iframe src=\"https://079a23f363400da700.gradio.live\" width=\"100%\" height=\"500\" allow=\"autoplay; camera; microphone; clipboard-read; clipboard-write;\" frameborder=\"0\" allowfullscreen></iframe></div>" |
||||||
|
] |
||||||
|
}, |
||||||
|
"metadata": {} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"output_type": "execute_result", |
||||||
|
"data": { |
||||||
|
"text/plain": [] |
||||||
|
}, |
||||||
|
"metadata": {}, |
||||||
|
"execution_count": 13 |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"cell_type": "code", |
||||||
|
"source": [], |
||||||
|
"metadata": { |
||||||
|
"id": "XC9zzq8X5u8m" |
||||||
|
}, |
||||||
|
"execution_count": null, |
||||||
|
"outputs": [] |
||||||
|
} |
||||||
|
] |
||||||
|
} |
Loading…
Reference in new issue