{"id":22352173,"url":"https://github.com/shamspias/langchain-gemini-api","last_synced_at":"2025-07-30T07:32:02.879Z","repository":{"id":213220720,"uuid":"733360498","full_name":"shamspias/langchain-gemini-api","owner":"shamspias","description":"An innovative AI conversation API leveraging Google's Gemini for multimodal understanding. Combines FastAPI, Langchain, and Redis for robust, scalable, and privacy-conscious text and image-based interactions","archived":false,"fork":false,"pushed_at":"2023-12-30T12:56:52.000Z","size":2975,"stargazers_count":7,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2023-12-30T13:37:17.860Z","etag":null,"topics":["fastapi","gemini","gemini-ai","gemini-api","gemini-pro","gemini-pro-api","gemini-pro-bot","gemini-pro-vision","google-gemini","google-generative-ai","langchain","langchain-python","large-language-models","python","vision-api"],"latest_commit_sha":null,"homepage":"https://t.me/rim_nova_bot","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shamspias.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-12-19T06:40:34.000Z","updated_at":"2023-12-29T15:19:31.000Z","dependencies_parsed_at":"2023-12-30T13:46:31.985Z","dependency_job_id":null,"html_url":"https://github.com/shamspias/langchain-gemini-api","commit_stats":null,"previous_names":["shamspias/langchain-gemini-api"],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shamspias%2Flangchain-gemini-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shamspias%2Flangchain-gemini-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shamspias%2Flangchain-gemini-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shamspias%2Flangchain-gemini-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shamspias","download_url":"https://codeload.github.com/shamspias/langchain-gemini-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228106333,"owners_count":17870438,"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":["fastapi","gemini","gemini-ai","gemini-api","gemini-pro","gemini-pro-api","gemini-pro-bot","gemini-pro-vision","google-gemini","google-generative-ai","langchain","langchain-python","large-language-models","python","vision-api"],"created_at":"2024-12-04T12:17:41.299Z","updated_at":"2024-12-04T12:17:42.157Z","avatar_url":"https://github.com/shamspias.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# langchain-gemini-api\n\n## Overview\n\n`langchain-gemini-api` is an AI-powered conversation API that integrates Google's Gemini API, designed to facilitate\nadvanced text and image-based interactions. This project combines the capabilities of modern deep learning models with\nFastAPI for high performance and scalability, Langchain for sophisticated conversational workflows, and Redis for\nephemeral conversation storage.\n\n## Key Features\n\n- **Asynchronous API**: Utilizing FastAPI for enhanced performance and scalability.\n- **Langchain Integration**: Advanced conversational workflows using multiple AI models.\n- **Google Gemini API**: Incorporating Gemini, Gemini Pro, and Gemini Pro Vision for superior conversation understanding\n  and generation.\n- **Ephemeral Conversation Storage**: Implementing Redis for data privacy and efficient memory usage.\n- **User-Friendly Interface**: Simplified API endpoints for easy integration.\n\n## Getting Started\n\n### Prerequisites for Google Gemini API\n\n- Get a [Google Gemini AI API key here](https://makersuite.google.com/app/apikey) and add it to Secrets in your Repl\n  with the key GOOGLE_API_KEY.\n\n### Prerequisites for langchain-gemini-api\n\n- Python 3.9 or higher\n- FastAPI\n- Uvicorn\n- Redis\n- Access to Google Gemini API\n\n### Installation\n\n#### Install Redis\n\n1. Install Redis:\n   ```bash\n   sudo apt update\n   sudo apt install redis-server\n   ```\n   Windows users can download Redis from [here](https://github.com/tporadowski/redis/releases)\n2. Test Redis:\n   ```bash\n   redis-cli ping\n   ```\n   If Redis is running, it will return `PONG`.\n\n#### Install Python Dependencies\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/shamspias/langchain-gemini-api.git\n   ```\n2. Create a virtual environment:\n   ```bash\n   python3 -m venv venv\n   ```\n   for Windows:\n   ```bash\n   python -m venv venv\n   ```\n3. Activate the virtual environment:\n   ```bash\n    source venv/bin/activate\n    ```\n4. Navigate to the project directory and install dependencies:\n    ```bash\n    cd langchain-gemini-api\n    pip install -r requirements.txt\n    ```\n\n## Configuration\n\n1. Create a `.env` file in the project directory and add the following:\n    ```bash\n    GEMINI_API_KEY=\u003cyour_google_gemini_api_key\u003e # e.g. \"1234567890\"\n    REDIS_URL=redis://localhost:6379/0 # default Redis URL\n    MY_API_KEY=\u003cyour_api_key_to_access_your_backend_api\u003e # e.g. \"1234567890\"\n    SYSTEM_INSTRUCTION=\u003cyour_system_instruction_for_gemini\u003e # e.g. \"Your are Sam and an AI assistant...etc\"\n    ```\n\n## Running the API\n\n1. Start fastapi server:\n\n```bash\nuvicorn app.main:app --reload\n```\n\nThe API will be available at http://localhost:8000.\n\n## API Endpoints\n\n- **/conversations/\u003cconversation_id\u003e**: Endpoint for text and image based conversations.\n- **/delete/\u003cconversation_id\u003e**: Endpoint to delete conversation data.\n\n## API Documentation\n\n- **/docs**: [Swagger UI for API documentation](http://127.0.0.1:8000/docs).\n- **/redoc**: [ReDoc UI for API documentation](http://127.0.0.1:8000/redoc).\n\n## Acknowledgments\n\n- Google Gemini API team\n- [Langchain contributors](https://python.langchain.com/docs/integrations/chat/google_generative_ai)\n- FastAPI community\n\n## Demo\n\n### Conversation\n#### With telegram bot use this one: https://t.me/rim_nova_bot\n#### This is the telegram bot repo: [Gemini-Telegram-Bot](https://github.com/shamspias/gemini-telegram-bot)\n\n![Conversation](/media/images/conversation_1.png)\n![Conversation](/media/images/conversation_2.png)\n![Conversation](/media/images/conversation_3.png)\n\n### Video\n\n- Coming soon","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshamspias%2Flangchain-gemini-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshamspias%2Flangchain-gemini-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshamspias%2Flangchain-gemini-api/lists"}