{"id":51494284,"url":"https://github.com/ifulxploit/production-engineering-assistant","last_synced_at":"2026-07-07T13:31:00.909Z","repository":{"id":369410952,"uuid":"1289674353","full_name":"ifulxploit/production-engineering-assistant","owner":"ifulxploit","description":"Production Engineering Assistant (PEA) adalah aplikasi chatbot berbasis Large Language Model (LLM) yang dirancang khusus untuk membantu Production Engineer, mahasiswa Teknik Perminyakan, dan Production Supervisor dalam menganalisis dan troubleshooting masalah produksi sumur migas.","archived":false,"fork":false,"pushed_at":"2026-07-05T07:10:17.000Z","size":9991,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-05T08:09:18.719Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ifulxploit.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-07-05T03:57:12.000Z","updated_at":"2026-07-05T07:10:21.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ifulxploit/production-engineering-assistant","commit_stats":null,"previous_names":["ifulxploit/production-engineering-assistant"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ifulxploit/production-engineering-assistant","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifulxploit%2Fproduction-engineering-assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifulxploit%2Fproduction-engineering-assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifulxploit%2Fproduction-engineering-assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifulxploit%2Fproduction-engineering-assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ifulxploit","download_url":"https://codeload.github.com/ifulxploit/production-engineering-assistant/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifulxploit%2Fproduction-engineering-assistant/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35230519,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-07T02:00:07.222Z","response_time":90,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2026-07-07T13:31:00.076Z","updated_at":"2026-07-07T13:31:00.887Z","avatar_url":"https://github.com/ifulxploit.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n\u003cdiv align=\"center\"\u003e\n\u003ch2\u003eProduction Engineering Essistant\u003c/h2\u003e\n**AI-Powered Troubleshooting \u0026 Decision Support System for Production Engineers**\n\n[![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)](https://www.python.org/)\n[![Streamlit](https://img.shields.io/badge/Streamlit-1.30+-red.svg)](https://streamlit.io/)\n[![LangChain](https://img.shields.io/badge/LangChain-0.2+-green.svg)](https://langchain.com/)\n[![Gemini](https://img.shields.io/badge/Gemini-2.5_Flash-purple.svg)](https://ai.google.dev/)\n[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\n![demo](https://raw.githubusercontent.com/ifulxploit/production-engineering-assistant/refs/heads/main/assets/0705.gif)\n\u003cbr\u003e\n[Live Demo](https://petro-assistant.streamlit.app/) · [Report Bug](https://github.com/ifulxploit/production-engineering-assistant/issues) · [Request Feature](https://github.com/ifulxploit/production-engineering-assistant/issues)\n\n\u003c/div\u003e\n\n---\n\n## 📋 Table of Contents\n\n- [About The Project](#-about-the-project)\n- [Features](#-features)\n- [Tech Stack](#-tech-stack)\n- [Architecture](#-architecture)\n- [System Flow](#-system-flow)\n- [Installation](#-installation)\n- [Usage](#-usage)\n- [Project Structure](#-project-structure)\n- [Screenshots](#-screenshots)\n- [Roadmap](#-roadmap)\n- [Contributing](#-contributing)\n- [License](#-license)\n- [Contact](#-contact)\n- [Acknowledgments](#-acknowledgments)\n\n---\n\n## 🎯 About The Project\n\n**Production Engineering Assistant (PEA)** adalah aplikasi chatbot berbasis **Large Language Model (LLM)** yang dirancang khusus untuk membantu **Production Engineer**, **mahasiswa Teknik Perminyakan**, dan **Production Supervisor** dalam menganalisis dan troubleshooting masalah produksi sumur migas.\n\n### 🎓 Background\n\nProject ini dikembangkan sebagai **Final Project** untuk program **Maju Bareng AI - Hacktiv8**  \nKelas: *LLM-Based Tools and Gemini API Integration for Data Scientists*\n\n### 💡 Why This Project?\n\nDalam industri minyak dan gas, Production Engineer sering menghadapi berbagai masalah kompleks seperti:\n- Penurunan produksi sumur yang drastis\n- Water cut yang naik tiba-tiba\n- Masalah pada sistem artificial lift (ESP, Gas Lift)\n- Flow assurance issues (hydrate, wax, scale)\n- Dan banyak lagi...\n\nPEA hadir sebagai **Decision Support Assistant** yang:\n- ✅ Menganalisis masalah berdasarkan **Knowledge Base** (PDF teknis)\n- ✅ Memberikan kemungkinan penyebab secara terstruktur\n- ✅ Menjelaskan alasan engineering di balik setiap masalah\n- ✅ Merekomendasikan tindakan troubleshooting yang tepat\n- ✅ Menyediakan referensi dari dokumen teknis\n\n**PENTING:** Aplikasi ini **BUKAN** bertujuan menggantikan engineer, melainkan menjadi **asisten cerdas** yang mempercepat proses diagnosis dan pengambilan keputusan.\n\n---\n\n## ✨ Features\n\n### 🤖 Core Features\n\n| Feature | Description |\n|---------|-------------|\n| **🧠 AI-Powered Analysis** | Menggunakan Gemini 2.5 Flash untuk analisis masalah yang cerdas dan kontekstual |\n| **📚 RAG Pipeline** | Retrieval-Augmented Generation dengan FAISS untuk jawaban berbasis dokumen |\n| **💬 Conversation Memory** | AI mengingat konteks percakapan untuk follow-up questions |\n| **📄 PDF Knowledge Base** | Upload dan proses dokumen PDF sebagai sumber pengetahuan |\n| **🎯 Structured Response** | Format jawaban profesional: Problem → Causes → Explanation → Action |\n\n### 🎨 UI/UX Features\n\n| Feature | Description |\n|---------|-------------|\n| **🎨 Modern Dark Theme** | Desain modern dengan gradient purple \u0026 cyan |\n| **💡 Click-to-Ask Chips** | Suggestion questions yang bisa diklik langsung |\n| **👤 Personal Branding** | Profile card dengan foto dan informasi developer |\n| **🔗 Social Media Links** | Quick access ke GitHub, LinkedIn, Instagram |\n| **🗑️ Reset Chat** | Tombol untuk memulai sesi troubleshooting baru |\n| **📱 Responsive Design** | Tampilan optimal di desktop dan mobile |\n\n### 🛠️ Technical Features\n\n| Feature | Description |\n|---------|-------------|\n| **🔒 Secure API Key** | Environment variables untuk keamanan API key |\n| **📊 Logging System** | Centralized logging untuk debugging dan monitoring |\n| **⚡ Auto-Build Vector DB** | FAISS database otomatis dibangun saat pertama kali run |\n| **🔄 Modular Architecture** | Kode terstruktur dengan separation of concerns |\n| **🎯 Type Hints** | Python type hints untuk code quality |\n\n---\n\n## 🛠️ Tech Stack\n\n### Core Technologies\n\n- **Language:** Python 3.10+\n- **UI Framework:** Streamlit 1.30+\n- **LLM:** Google Gemini 2.5 Flash\n- **Orchestration:** LangChain 0.2+\n- **Vector Database:** FAISS\n- **Embeddings:** Sentence Transformers (all-MiniLM-L6-v2)\n- **Document Loader:** PyPDF\n\n### Libraries \u0026 Tools\n\n```\nstreamlit\u003e=1.30.0\nlangchain\u003e=0.2.0\nlangchain-google-genai\u003e=1.0.0\nlangchain-community\u003e=0.2.0\nlangchain-huggingface\u003e=0.1.0\nfaiss-cpu\u003e=1.8.0\nsentence-transformers\u003e=2.7.0\npypdf\u003e=4.0.0\npython-dotenv\u003e=1.0.0\npydantic\u003e=2.0.0\npydantic-settings\u003e=2.0.0\n```\n\n---\n\n## 🏗️ Architecture\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                      USER INTERFACE                          │\n│                    (Streamlit Web App)                       │\n└────────────────────────┬────────────────────────────────────┘\n                         │\n                         ▼\n┌─────────────────────────────────────────────────────────────┐\n│                   ORCHESTRATION LAYER                        │\n│                  (LangChain Framework)                       │\n└────────────────────────┬────────────────────────────────────┘\n                         │\n          ┌──────────────┴──────────────┐\n          │                             │\n          ▼                             ▼\n┌──────────────────┐          ┌──────────────────┐\n│   LLM ENGINE     │          │   RAG PIPELINE   │\n│  (Gemini API)    │          │                  │\n│                  │          │  ┌────────────┐  │\n│  - Chat Model    │          │  │  Retriever │  │\n│  - Temperature   │          │  │   (FAISS)  │  │\n│  - Max Tokens    │          │  └─────┬──────┘  │\n└──────────────────┘          │        │         │\n                              │        ▼         │\n                              │  ┌────────────┐  │\n                              │  │  Embedding │  │\n                              │  │   Model    │  │\n                              │  └─────┬──────┘  │\n                              │        │         │\n                              │        ▼         │\n                              │  ┌────────────┐  │\n                              │  │   Vector   │  │\n                              │  │ Database   │  │\n                              │  └────────────┘  │\n                              └──────────────────┘\n                                         │\n                                         ▼\n                              ┌──────────────────┐\n                              │  KNOWLEDGE BASE  │\n                              │   (PDF Files)    │\n                              └──────────────────┘\n```\n\n### Component Description\n\n1. **User Interface (Streamlit)**\n   - Chat interface dengan modern UI/UX\n   - Sidebar dengan personal branding\n   - Suggestion chips untuk quick questions\n\n2. **Orchestration Layer (LangChain)**\n   - Menghubungkan semua komponen\n   - Mengelola conversation flow\n   - Handling RAG pipeline\n\n3. **LLM Engine (Gemini 2.5 Flash)**\n   - Model bahasa besar dari Google\n   - Temperature rendah (0.2) untuk akurasi\n   - Max tokens 2048 untuk respons detail\n\n4. **RAG Pipeline**\n   - **Retriever:** Mencari dokumen relevan dari FAISS\n   - **Embedding Model:** Sentence Transformers untuk vectorization\n   - **Vector Database:** FAISS untuk similarity search\n\n5. **Knowledge Base**\n   - PDF documents (Well Troubleshooting, ESP Manual, dll)\n   - Chunking strategy: 1000 characters, 200 overlap\n   - Stored as vectors in FAISS\n\n---\n\n## 🔄 System Flow\n\n### Pseudocode: How PEA Works\n\n```python\n# ============================================\n# MAIN APPLICATION FLOW\n# ============================================\n\ndef main():\n    # 1. INITIALIZATION\n    load_environment_variables()  # Load .env (API keys)\n    initialize_logger()           # Setup logging\n    check_vector_db_exists()      # Check if FAISS DB exists\n    \n    if not vector_db_exists:\n        build_knowledge_base()    # Build FAISS from PDFs\n    \n    # 2. USER INTERACTION LOOP\n    while True:\n        user_input = get_user_input()  # Get question from UI\n        \n        # 3. RETRIEVAL PHASE (RAG)\n        relevant_docs = retrieve_from_faiss(user_input)\n        # - Convert question to vector using Sentence Transformers\n        # - Search FAISS for top 4 similar chunks\n        # - Return document chunks with metadata\n        \n        # 4. CONTEXT BUILDING\n        context = format_documents(relevant_docs)\n        # - Combine chunks into single context string\n        # - Add metadata (source, page number)\n        \n        # 5. PROMPT CONSTRUCTION\n        system_prompt = build_system_prompt(context)\n        # - Include professional response format\n        # - Inject retrieved context\n        # - Add conversation history (memory)\n        \n        # 6. LLM INFERENCE\n        response = call_gemini_api(system_prompt)\n        # - Send prompt to Gemini 2.5 Flash\n        # - Get structured response\n        # - Temperature: 0.2 (factual, not creative)\n        \n        # 7. RESPONSE DISPLAY\n        display_response(response)\n        # - Render in chat interface\n        # - Format with markdown\n        # - Show references if available\n        \n        # 8. MEMORY UPDATE\n        save_to_conversation_history(user_input, response)\n        # - Store in session state\n        # - Enable follow-up questions\n\n# ============================================\n# KNOWLEDGE BASE BUILDING (One-time Setup)\n# ============================================\n\ndef build_knowledge_base():\n    # 1. LOAD PDFs\n    documents = load_pdfs_from_directory(\"knowledge/pdf/\")\n    # - Read all PDF files\n    # - Extract text from each page\n    \n    # 2. CHUNKING\n    chunks = split_documents(documents, chunk_size=1000, overlap=200)\n    # - Split long documents into smaller chunks\n    # - Overlap to maintain context\n    \n    # 3. EMBEDDING\n    vectors = embed_chunks(chunks, model=\"all-MiniLM-L6-v2\")\n    # - Convert text chunks to vector embeddings\n    # - Each chunk → 384-dimensional vector\n    \n    # 4. STORE IN FAISS\n    faiss_index = create_faiss_index(vectors)\n    save_faiss_index(faiss_index, \"knowledge/vector_db/\")\n    # - Build FAISS index for fast similarity search\n    # - Save to disk for persistence\n\n# ============================================\n# RETRIEVAL PROCESS\n# ============================================\n\ndef retrieve_from_faiss(query):\n    # 1. EMBED QUERY\n    query_vector = embed_text(query, model=\"all-MiniLM-L6-v2\")\n    \n    # 2. SIMILARITY SEARCH\n    top_k_chunks = faiss_index.search(query_vector, k=4)\n    # - Find 4 most similar chunks\n    # - Return chunks with similarity scores\n    \n    # 3. RETURN DOCUMENTS\n    return top_k_chunks\n\n# ============================================\n# PROFESSIONAL RESPONSE FORMAT\n# ============================================\n\nPROFESSIONAL_RESPONSE_FORMAT = \"\"\"\n**Problem Summary**\n[Rangkuman masalah 1-2 kalimat]\n\n**Possible Causes**\n- Penyebab 1\n- Penyebab 2\n- Penyebab 3\n\n**Engineering Explanation**\n[Penjelasan teknis mendalam]\n\n**Recommended Inspection**\n- Inspeksi 1\n- Inspeksi 2\n\n**Recommended Action**\n- Tindakan 1\n- Tindakan 2\n\n**Additional Notes**\n[Peringatan keselamatan, dll]\n\n**References**\n[Rujukan dari Knowledge Base]\n\"\"\"\n```\n\n### Flow Diagram\n\n```\nUser Question\n     │\n     ▼\n┌─────────────────┐\n│  Embed Query    │ ← Sentence Transformers\n└────────┬────────┘\n         │\n         ▼\n┌─────────────────┐\n│  Search FAISS   │ ← Top 4 Similar Chunks\n└────────┬────────┘\n         │\n         ▼\n┌─────────────────┐\n│  Build Context  │ ← Combine Chunks\n└────────┬────────┘\n         │\n         ▼\n┌─────────────────┐\n│  Construct      │ ← System Prompt + Context + History\n│  Prompt         │\n└────────┬────────┘\n         │\n         ▼\n┌─────────────────┐\n│  Call Gemini    │ ← Gemini 2.5 Flash API\n│  API            │\n└────────┬────────┘\n         │\n         ▼\n┌─────────────────┐\n│  Display        │ ← Streamlit UI\n│  Response       │\n└─────────────────┘\n```\n\n---\n\n## 📦 Installation\n\n### Prerequisites\n\n- Python 3.10 or higher\n- Git\n- Google Gemini API Key ([Get it here](https://aistudio.google.com/apikey))\n\n### Step-by-Step Installation\n\n#### 1. Clone Repository\n\n```bash\ngit clone https://github.com/ifulxploit/production-engineering-assistant.git\ncd production-engineering-assistant\n```\n\n#### 2. Create Virtual Environment\n\n**Windows:**\n```bash\npython -m venv venv\nvenv\\Scripts\\activate\n```\n\n**macOS/Linux:**\n```bash\npython3 -m venv venv\nsource venv/bin/activate\n```\n\n#### 3. Install Dependencies\n\n```bash\npip install -r requirements.txt\n```\n\n#### 4. Setup Environment Variables\n\nCreate a `.env` file in the root directory:\n\n```bash\n# Windows\ncopy .env.example .env\n\n# macOS/Linux\ncp .env.example .env\n```\n\nEdit `.env` and add your Gemini API key:\n\n```env\nGOOGLE_API_KEY=your_gemini_api_key_here\n```\n\n\u003e **⚠️ IMPORTANT:** Never commit `.env` file to Git! It's already in `.gitignore`.\n\n#### 5. Add PDF Documents\n\nPlace your PDF documents in the `knowledge/pdf/` folder:\n\n```bash\n# Example PDFs to add:\n# - Well_Troubleshooting_Guide.pdf\n# - ESP_Manual.pdf\n# - Artificial_Lift_Handbook.pdf\n```\n\n**Supported PDF Topics:**\n- Well Troubleshooting\n- Artificial Lift Systems (ESP, Gas Lift, Beam Pump)\n- Flow Assurance\n- Well Testing \u0026 Analysis\n- Production Optimization\n\n#### 6. Run the Application\n\n```bash\nstreamlit run app.py\n```\n\nThe application will:\n1. ✅ Check if Vector DB exists\n2. ✅ Build FAISS database from PDFs (first time only)\n3. ✅ Start Streamlit server\n4. ✅ Open browser at `http://localhost:8501`\n\n---\n\n## 🚀 Usage\n\n### Basic Usage\n\n1. **Open the application** in your browser (auto-opened after `streamlit run`)\n\n2. **Ask a question** in the chat input:\n   ```\n   Produksi sumur minyak saya turun 30% dalam seminggu, apa yang harus saya lakukan?\n   ```\n\n3. **Get structured response** with:\n   - Problem Summary\n   - Possible Causes\n   - Engineering Explanation\n   - Recommended Inspection\n   - Recommended Action\n   - References\n\n4. **Click suggestion chips** for quick questions:\n   - 💧 Water Cut Naik Drastis\n   - ⚙️ ESP Underload\n   - 📉 Penurunan Tekanan Reservoir\n\n5. **Follow-up questions** (AI remembers context):\n   ```\n   Jelaskan lebih detail tentang penyebab pertama yang kamu sebutkan.\n   ```\n\n6. **Reset chat** when needed:\n   - Click \"🗑️ Reset Chat Session\" in sidebar\n\n### Example Questions\n\n#### Well Troubleshooting\n```\nWater cut naik dari 20% menjadi 60%, apa penyebabnya?\n```\n\n#### Artificial Lift\n```\nESP mengalami underload, apa langkah troubleshootingnya?\n```\n\n#### Flow Assurance\n```\nTerjadi hydrate blockage di flowline, bagaimana cara mengatasinya?\n```\n\n#### Well Testing\n```\nBagaimana cara melakukan Pressure Buildup Test (PBU)?\n```\n\n---\n\n## 📂 Project Structure\n\n```\nproduction-engineering-assistant/\n│\n├── app.py                          # Main Streamlit application\n├── requirements.txt                # Python dependencies\n├── .env                            # Environment variables (NOT in Git)\n├── .env.example                    # Template for .env\n├── .gitignore                      # Git ignore rules\n├── README.md                       # This file\n│\n├── config/                         # Configuration files\n│   ├── __init__.py\n│   ├── settings.py                 # App settings (API, LLM params)\n│   ├── prompt.py                   # System prompts\n│   └── constants.py                # Constants \u0026 format templates\n│\n├── core/                           # Core business logic\n│   ├── __init__.py\n│   ├── llm.py                      # Gemini API integration\n│   ├── chatbot.py                  # Chat logic \u0026 RAG chain\n│   ├── rag.py                      # RAG pipeline (PDF → FAISS)\n│   ├── retriever.py                # FAISS retriever\n│   ├── memory.py                   # Conversation memory\n│   └── formatter.py                # Response formatting\n│\n├── knowledge/                      # Knowledge base\n│   ├── pdf/                        # PDF documents (input)\n│   │   ├── well_troubleshooting.pdf\n│   │   ├── esp_manual.pdf\n│   │   └── ...\n│   └── vector_db/                  # FAISS index (auto-generated)\n│       ├── index.faiss\n│       └── index.pkl\n│\n├── utils/                          # Utility functions\n│   ├── __init__.py\n│   ├── helpers.py                  # Helper functions\n│   └── logger.py                   # Logging configuration\n│\n├── data/                           # Data files\n│   └── sample_questions.json       # Suggestion questions\n│\n├── assets/                         # Static assets\n│   ├── profile.png                 # Developer photo\n│   └── logo.png                    # App logo\n│\n└── docs/                           # Documentation\n    ├── architecture.md\n    ├── roadmap.md\n    └── prompt-design.md\n```\n\n---\n\n## 📸 Screenshots\n\n\u003cdiv align=\"center\"\u003e\n\n### Main Chat Interface\n![Main Interface](https://raw.githubusercontent.com/ifulxploit/production-engineering-assistant/refs/heads/main/assets/screenshots/1.png)\n\n### Suggestion Chips\n![Suggestion Chips](https://raw.githubusercontent.com/ifulxploit/production-engineering-assistant/refs/heads/main/assets/screenshots/2.png)\n\n### Professional Response Format\n![Response Format](https://raw.githubusercontent.com/ifulxploit/production-engineering-assistant/refs/heads/main/assets/screenshots/3.png)\n\n### Sidebar with Personal Branding\n![Sidebar](https://raw.githubusercontent.com/ifulxploit/production-engineering-assistant/refs/heads/main/assets/screenshots/4.png)\n\n\u003c/div\u003e\n\n\n---\n\n## 🗺️ Roadmap\n\n### ✅ Completed (v1.0)\n\n- [x] Basic chatbot with Gemini API\n- [x] Conversation memory\n- [x] Professional prompt engineering\n- [x] PDF knowledge base (RAG)\n- [x] FAISS vector database\n- [x] Modern UI/UX with purple/cyan theme\n- [x] Click-to-ask suggestion chips\n- [x] Personal branding in sidebar\n- [x] Social media links\n- [x] Centralized logging system\n- [x] Auto-build vector DB\n\n### 🚧 Future Enhancements (v2.0)\n\n- [ ] **Engineering Calculator**\n  - Nodal Analysis calculator\n  - PIPESIM integration\n  - Well performance calculator\n\n- [ ] **Advanced Features**\n  - Excel upload for production data\n  - Production dashboard analytics\n  - Multi-agent system\n  - Voice assistant\n\n- [ ] **Integration**\n  - SCADA integration\n  - Real-time data monitoring\n  - Well report generator\n\n- [ ] **Deployment**\n  - Azure deployment\n  - API service\n  - Docker containerization\n\nSee the [open issues](https://github.com/ifulxploit/production-engineering-assistant/issues) for a full list of proposed features.\n\n---\n\n## 🤝 Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n---\n\n## 📄 License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n---\n\n## 📧 Contact\n\n**Saiful Miqdar**  \nProduction Engineer | S1 Teknik Perminyakan (2025)  \nUniversitas Proklamasi 45\n\n- 📧 Email: [miqdarsaiful@gmail.com](mailto:miqdarsaiful@gmail.com)\n- 💼 LinkedIn: [Saiful Miqdar](https://www.linkedin.com/in/saiful-miqdar-7050511b1/)\n- 🐙 GitHub: [@ifulxploit](https://github.com/ifulxploit)\n- 📷 Instagram: [@saiful_miqdar](https://www.instagram.com/saiful_miqdar)\n\nProject Link: [https://github.com/ifulxploit/production-engineering-assistant](https://github.com/ifulxploit/production-engineering-assistant)\n\n---\n\n## 🙏 Acknowledgments\n\n- [Hacktiv8 Indonesia](https://hacktiv8.com/) - Maju Bareng AI Program\n- [Google Gemini API](https://ai.google.dev/) - LLM Provider\n- [LangChain](https://langchain.com/) - LLM Orchestration Framework\n- [Streamlit](https://streamlit.io/) - Web App Framework\n- [FAISS](https://faiss.ai/) - Vector Database\n- [Sentence Transformers](https://www.sbert.net/) - Embedding Models\n- [SVG Repo](https://www.svgrepo.com/) - Icons\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**⭐ If you find this project useful, please consider giving it a star! ⭐**\n\nMade with ❤️ by **Saiful Miqdar**\n\n*Production Engineering Assistant - Empowering Engineers with AI*\n\n\u003c/div\u003e\n\u003c/content\u003e\n\u003c/fsWrite\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fifulxploit%2Fproduction-engineering-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fifulxploit%2Fproduction-engineering-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fifulxploit%2Fproduction-engineering-assistant/lists"}