{"id":25214017,"url":"https://github.com/peterjakubowski/gemini-image-library-agent","last_synced_at":"2026-04-13T00:42:37.284Z","repository":{"id":275361472,"uuid":"925847352","full_name":"peterjakubowski/Gemini-Image-Library-Agent","owner":"peterjakubowski","description":"Google Gemini Image Library Agent","archived":false,"fork":false,"pushed_at":"2025-02-09T19:24:25.000Z","size":89,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T20:27:07.588Z","etag":null,"topics":["agent","computer-vision","database","digital-asset-management","gemini-api","image-library","llm","metadata","python","streamlit"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/peterjakubowski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-01T22:10:58.000Z","updated_at":"2025-02-09T19:24:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"0356fcb7-427f-4bbd-815e-d4246b848afd","html_url":"https://github.com/peterjakubowski/Gemini-Image-Library-Agent","commit_stats":null,"previous_names":["peterjakubowski/gemini-image-library-agent"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterjakubowski%2FGemini-Image-Library-Agent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterjakubowski%2FGemini-Image-Library-Agent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterjakubowski%2FGemini-Image-Library-Agent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterjakubowski%2FGemini-Image-Library-Agent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peterjakubowski","download_url":"https://codeload.github.com/peterjakubowski/Gemini-Image-Library-Agent/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247307892,"owners_count":20917582,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","computer-vision","database","digital-asset-management","gemini-api","image-library","llm","metadata","python","streamlit"],"created_at":"2025-02-10T16:58:14.825Z","updated_at":"2026-04-13T00:42:37.237Z","avatar_url":"https://github.com/peterjakubowski.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gemini-Image-Library-Agent\n\nThis project illustrates the beginnings of a basic digital asset management system that is powered by Google's Gemini API. The system is designed to support management of photography image libraries. The project currently explores importing images into a database, capturing and generating descriptive metadata, and searching the image library–all with the help of a Gemini chat agent.\n\n## Usage\n\nThe chat interface is run using streamlit. Enter the command below in your cli to launch the server in your web browser.\n\n```commandline\nstreamlit run gemini_image_library_agent.py\n```\n## Agent Tools\n\n* **import_image** -  Open an image, extract its metadata and other information, generate descriptions using a vision model, and import or update a record in the database.\n* **update_assets** - Update a record in the assets table within the database.\n* **update_asset_metadata** - Update a record in the asset_metadata table within the database.\n* **update_genai_description** -  Update a record in the generative_metadata table within the database.\n* **update_embedding** (not implemented) - Update a record in the embeddings table within the database.\n* **search_image_library_sql** - Search the image library database using sql queries.\n* **search_image_library_semantic** -  Search the image library using vector search.\n* **python_code_execution** - Use a Gemini model to run python and execute code.\n* **retrieve_and_display_image** - Search the database for an image and display it in the chat.\n* **date_string_from_timestamp** - Search the database for the capture date of the image with the given id. Format the date as a string '%A, %B %d, %Y'.\n\n## Examples\n\n### Help\n\n\u003cimg src=\"examples/Screen_Shot_20250213_Help.png\" alt=\"Help\" width=\"800\"/\u003e\n\n### Import\n\u003cimg src=\"examples/Screen_Shot_20250213_Import.png\" alt=\"Import\" width=\"800\"/\u003e\n\n\u003cimg src=\"examples/Screen_Shot_20250213_Metadata.png\" alt=\"Show Metadata\" width=\"800\"/\u003e\n\n### Search and Display\n\n\u003cimg src=\"examples/Screen_Shot_20250213_Search_Display.png\" alt=\"Search and Display\" width=\"800\"/\u003e\n\n### Report\n\n\u003cimg src=\"examples/Screen_Shot_20250213_Report.png\" alt=\"Top Keywords\" width=\"800\"/\u003e\n\n## Google Gen AI SDK (Gemini API)\n\nGoogle Gen AI Python SDK provides an interface for developers to integrate Google's generative models into their Python applications.\n\nDocumentation: [https://googleapis.github.io/python-genai/](https://googleapis.github.io/python-genai/)\n\npypi: [https://pypi.org/project/google-genai/](https://pypi.org/project/google-genai/)\n\n### API Key\n\nKeep your Gemini API in streamlit secrets.\n\nAdd a line to the secrets.toml file: GOOGLE_API_KEY=\"YOUR_GOOGLE_API_KEY\"\n\n```commandline\n.streamlit/secrets.toml\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterjakubowski%2Fgemini-image-library-agent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeterjakubowski%2Fgemini-image-library-agent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterjakubowski%2Fgemini-image-library-agent/lists"}