Spaces:
Running
Running
structured
Browse files- .vscode/settings.json +3 -0
- Dockerfile +32 -7
- app.py +0 -7
- app/app.py +64 -0
- app/policy_vector_db.py +115 -0
- processed_chunks.json +651 -0
- requirements.txt +4 -1
.vscode/settings.json
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"cmake.sourceDirectory": "D:/GitHub/ChatbotDemo/llama.cpp"
|
| 3 |
+
}
|
Dockerfile
CHANGED
|
@@ -1,14 +1,39 @@
|
|
|
|
|
| 1 |
FROM python:3.10-slim
|
| 2 |
|
| 3 |
-
# Install dependencies
|
| 4 |
-
RUN
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5 |
|
| 6 |
-
#
|
| 7 |
-
COPY app.py /app/app.py
|
| 8 |
WORKDIR /app
|
| 9 |
|
| 10 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
EXPOSE 7860
|
| 12 |
|
| 13 |
-
# Run
|
| 14 |
-
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
|
|
|
|
| 1 |
+
# Base image
|
| 2 |
FROM python:3.10-slim
|
| 3 |
|
| 4 |
+
# Install system dependencies
|
| 5 |
+
RUN apt-get update && apt-get install -y \
|
| 6 |
+
git \
|
| 7 |
+
wget \
|
| 8 |
+
build-essential \
|
| 9 |
+
cmake \
|
| 10 |
+
libopenblas-dev \
|
| 11 |
+
curl \
|
| 12 |
+
&& rm -rf /var/lib/apt/lists/*
|
| 13 |
|
| 14 |
+
# Set working directory
|
|
|
|
| 15 |
WORKDIR /app
|
| 16 |
|
| 17 |
+
# Copy app code
|
| 18 |
+
COPY . .
|
| 19 |
+
|
| 20 |
+
# Download TinyLlama GGUF model from Hugging Face
|
| 21 |
+
RUN mkdir -p /app/models && \
|
| 22 |
+
wget -O /app/models/TinyLlama.gguf \
|
| 23 |
+
https://huggingface.co/TheBloke/TinyLlama-1.1B-Chat-GGUF/resolve/main/TinyLlama-1.1B-Chat-v1.0.Q4_K_M.gguf
|
| 24 |
+
|
| 25 |
+
# Clone and build llama.cpp
|
| 26 |
+
RUN git clone https://github.com/ggerganov/llama.cpp.git /app/llama.cpp && \
|
| 27 |
+
cd /app/llama.cpp && \
|
| 28 |
+
mkdir -p build && cd build && \
|
| 29 |
+
cmake .. -DLLAMA_BUILD_EXAMPLES=ON -DLLAMA_BUILD_SERVER=OFF && \
|
| 30 |
+
cmake --build . --config Release
|
| 31 |
+
|
| 32 |
+
# Install Python dependencies
|
| 33 |
+
RUN pip install --no-cache-dir -r requirements.txt
|
| 34 |
+
|
| 35 |
+
# Expose the port
|
| 36 |
EXPOSE 7860
|
| 37 |
|
| 38 |
+
# Run FastAPI app
|
| 39 |
+
CMD ["uvicorn", "app.app:app", "--host", "0.0.0.0", "--port", "7860"]
|
app.py
DELETED
|
@@ -1,7 +0,0 @@
|
|
| 1 |
-
from fastapi import FastAPI
|
| 2 |
-
|
| 3 |
-
app = FastAPI()
|
| 4 |
-
|
| 5 |
-
@app.get("/")
|
| 6 |
-
def greet_json():
|
| 7 |
-
return {"Hello": "World!"}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/app.py
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from fastapi import FastAPI
|
| 2 |
+
from pydantic import BaseModel
|
| 3 |
+
from typing import List
|
| 4 |
+
import subprocess
|
| 5 |
+
import os
|
| 6 |
+
import json
|
| 7 |
+
|
| 8 |
+
from policy_vector_db import PolicyVectorDB
|
| 9 |
+
|
| 10 |
+
app = FastAPI()
|
| 11 |
+
|
| 12 |
+
# Load processed chunks into vector DB
|
| 13 |
+
vector_db = PolicyVectorDB()
|
| 14 |
+
if not vector_db.is_initialized():
|
| 15 |
+
with open("processed_chunks.json", "r") as f:
|
| 16 |
+
chunks = json.load(f)
|
| 17 |
+
vector_db.load(chunks)
|
| 18 |
+
|
| 19 |
+
# Paths
|
| 20 |
+
MODEL_PATH = "./models/TinyLlama.gguf"
|
| 21 |
+
LLAMA_BINARY_PATH = "./llama.cpp/build/bin/main"
|
| 22 |
+
|
| 23 |
+
class QueryRequest(BaseModel):
|
| 24 |
+
query: str
|
| 25 |
+
top_k: int = 3
|
| 26 |
+
|
| 27 |
+
@app.post("/chat")
|
| 28 |
+
async def chat(request: QueryRequest):
|
| 29 |
+
query = request.query
|
| 30 |
+
top_k = request.top_k
|
| 31 |
+
|
| 32 |
+
# Search vector DB
|
| 33 |
+
results = vector_db.search(query, top_k=top_k)
|
| 34 |
+
context = "\n\n".join([r['text'] for r in results])
|
| 35 |
+
|
| 36 |
+
# Create prompt
|
| 37 |
+
prompt = (
|
| 38 |
+
f"### Instruction:\n{query}\n\n"
|
| 39 |
+
f"### Context:\n{context}\n\n"
|
| 40 |
+
"### Response:\n"
|
| 41 |
+
)
|
| 42 |
+
|
| 43 |
+
# Call llama.cpp CLI
|
| 44 |
+
try:
|
| 45 |
+
result = subprocess.run(
|
| 46 |
+
[LLAMA_BINARY_PATH, "-m", MODEL_PATH, "-p", prompt, "-n", "256"],
|
| 47 |
+
capture_output=True,
|
| 48 |
+
text=True
|
| 49 |
+
)
|
| 50 |
+
if result.returncode != 0:
|
| 51 |
+
return {"error": result.stderr.strip()}
|
| 52 |
+
output = result.stdout
|
| 53 |
+
except Exception as e:
|
| 54 |
+
return {"error": str(e)}
|
| 55 |
+
|
| 56 |
+
return {
|
| 57 |
+
"query": query,
|
| 58 |
+
"context_used": context,
|
| 59 |
+
"response": output.strip()
|
| 60 |
+
}
|
| 61 |
+
|
| 62 |
+
@app.get("/")
|
| 63 |
+
def root():
|
| 64 |
+
return {"message": "TinyLlama RAG Chatbot is running"}
|
app/policy_vector_db.py
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import json
|
| 2 |
+
import chromadb
|
| 3 |
+
from sentence_transformers import SentenceTransformer
|
| 4 |
+
from typing import List, Dict
|
| 5 |
+
|
| 6 |
+
class PolicyVectorDB:
|
| 7 |
+
def __init__(self, db_path="./chroma_db"):
|
| 8 |
+
"""Initialize vector database for policy chunks"""
|
| 9 |
+
self.client = chromadb.PersistentClient(path=db_path)
|
| 10 |
+
self.collection_name = "neepco_dop_policies"
|
| 11 |
+
|
| 12 |
+
# Initialize embedding model
|
| 13 |
+
self.embedding_model = SentenceTransformer('all-MiniLM-L6-v2')
|
| 14 |
+
|
| 15 |
+
# Create or get collection
|
| 16 |
+
try:
|
| 17 |
+
self.collection = self.client.get_collection(self.collection_name)
|
| 18 |
+
print("Loaded existing collection")
|
| 19 |
+
except:
|
| 20 |
+
self.collection = self.client.create_collection(
|
| 21 |
+
name=self.collection_name,
|
| 22 |
+
metadata={"description": "NEEPCO DOP Policy chunks"}
|
| 23 |
+
)
|
| 24 |
+
print("Created new collection")
|
| 25 |
+
|
| 26 |
+
def _flatten_metadata(self, metadata: Dict) -> Dict:
|
| 27 |
+
"""Remove nested metadata (dicts/lists) and stringify others"""
|
| 28 |
+
flat_meta = {}
|
| 29 |
+
for key, value in metadata.items():
|
| 30 |
+
if isinstance(value, (dict, list)):
|
| 31 |
+
continue # skip nested fields
|
| 32 |
+
if isinstance(value, (str, int, float, bool)) or value is None:
|
| 33 |
+
flat_meta[key] = value
|
| 34 |
+
else:
|
| 35 |
+
flat_meta[key] = str(value) # fallback to string
|
| 36 |
+
return flat_meta
|
| 37 |
+
|
| 38 |
+
def add_chunks(self, chunks: List[Dict]):
|
| 39 |
+
"""Add policy chunks to vector database"""
|
| 40 |
+
print(f"Adding {len(chunks)} chunks to database...")
|
| 41 |
+
|
| 42 |
+
texts = [chunk['text'] for chunk in chunks]
|
| 43 |
+
metadatas = [self._flatten_metadata(chunk['metadata']) for chunk in chunks]
|
| 44 |
+
ids = [chunk['id'] for chunk in chunks]
|
| 45 |
+
|
| 46 |
+
# Generate embeddings
|
| 47 |
+
embeddings = self.embedding_model.encode(texts).tolist()
|
| 48 |
+
|
| 49 |
+
# Add to collection
|
| 50 |
+
self.collection.add(
|
| 51 |
+
embeddings=embeddings,
|
| 52 |
+
documents=texts,
|
| 53 |
+
metadatas=metadatas,
|
| 54 |
+
ids=ids
|
| 55 |
+
)
|
| 56 |
+
|
| 57 |
+
print("Successfully added chunks to database!")
|
| 58 |
+
|
| 59 |
+
def search(self, query: str, top_k: int = 3) -> List[Dict]:
|
| 60 |
+
"""Search for relevant policy chunks"""
|
| 61 |
+
|
| 62 |
+
# Generate query embedding
|
| 63 |
+
query_embedding = self.embedding_model.encode([query]).tolist()
|
| 64 |
+
|
| 65 |
+
# Search in vector database
|
| 66 |
+
results = self.collection.query(
|
| 67 |
+
query_embeddings=query_embedding,
|
| 68 |
+
n_results=top_k,
|
| 69 |
+
include=['documents', 'metadatas', 'distances']
|
| 70 |
+
)
|
| 71 |
+
|
| 72 |
+
# Format results
|
| 73 |
+
search_results = []
|
| 74 |
+
for i in range(len(results['documents'][0])):
|
| 75 |
+
search_results.append({
|
| 76 |
+
'text': results['documents'][0][i],
|
| 77 |
+
'metadata': results['metadatas'][0][i],
|
| 78 |
+
'relevance_score': 1 - results['distances'][0][i] # Convert distance to similarity
|
| 79 |
+
})
|
| 80 |
+
|
| 81 |
+
return search_results
|
| 82 |
+
|
| 83 |
+
|
| 84 |
+
def setup_vector_database():
|
| 85 |
+
"""Complete setup of vector database"""
|
| 86 |
+
|
| 87 |
+
# Load processed chunks
|
| 88 |
+
with open("processed_chunks.json", "r", encoding='utf-8') as f:
|
| 89 |
+
chunks = json.load(f)
|
| 90 |
+
|
| 91 |
+
# Initialize database
|
| 92 |
+
vector_db = PolicyVectorDB()
|
| 93 |
+
|
| 94 |
+
# Add chunks to database
|
| 95 |
+
vector_db.add_chunks(chunks)
|
| 96 |
+
|
| 97 |
+
return vector_db
|
| 98 |
+
|
| 99 |
+
|
| 100 |
+
# Example usage
|
| 101 |
+
if __name__ == "__main__":
|
| 102 |
+
# Setup database
|
| 103 |
+
db = setup_vector_database()
|
| 104 |
+
|
| 105 |
+
# Test search
|
| 106 |
+
query = "Who approves resignation for executives E-7 and above?"
|
| 107 |
+
results = db.search(query, top_k=2)
|
| 108 |
+
|
| 109 |
+
print(f"\nQuery: {query}")
|
| 110 |
+
print("Results:")
|
| 111 |
+
for i, result in enumerate(results, 1):
|
| 112 |
+
print(f"\n{i}. Relevance: {result['relevance_score']:.3f}")
|
| 113 |
+
print(f"Section: {result['metadata'].get('section', 'N/A')}")
|
| 114 |
+
print(f"Authority: {result['metadata'].get('authority', 'N/A')}")
|
| 115 |
+
print(f"Text: {result['text'][:200]}...")
|
processed_chunks.json
ADDED
|
@@ -0,0 +1,651 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{
|
| 3 |
+
"text": "Section Financial Concurrence: Matters Requiring Financial Concurrence\nClause 22.1:",
|
| 4 |
+
"metadata": {
|
| 5 |
+
"section": "Financial Concurrence",
|
| 6 |
+
"title": "Matters Requiring Financial Concurrence",
|
| 7 |
+
"clause": "22.1",
|
| 8 |
+
"authority": ""
|
| 9 |
+
},
|
| 10 |
+
"id": "section_Financial Concurrence_clause_22.1"
|
| 11 |
+
},
|
| 12 |
+
{
|
| 13 |
+
"text": "Section Financial Concurrence: Matters Requiring Financial Concurrence\nClause 22.2:",
|
| 14 |
+
"metadata": {
|
| 15 |
+
"section": "Financial Concurrence",
|
| 16 |
+
"title": "Matters Requiring Financial Concurrence",
|
| 17 |
+
"clause": "22.2",
|
| 18 |
+
"authority": ""
|
| 19 |
+
},
|
| 20 |
+
"id": "section_Financial Concurrence_clause_22.2"
|
| 21 |
+
},
|
| 22 |
+
{
|
| 23 |
+
"text": "Section Financial Concurrence: Matters Requiring Financial Concurrence\nClause 22.3:",
|
| 24 |
+
"metadata": {
|
| 25 |
+
"section": "Financial Concurrence",
|
| 26 |
+
"title": "Matters Requiring Financial Concurrence",
|
| 27 |
+
"clause": "22.3",
|
| 28 |
+
"authority": ""
|
| 29 |
+
},
|
| 30 |
+
"id": "section_Financial Concurrence_clause_22.3"
|
| 31 |
+
},
|
| 32 |
+
{
|
| 33 |
+
"text": "Section Financial Concurrence: Matters Requiring Financial Concurrence\nClause 22.4:",
|
| 34 |
+
"metadata": {
|
| 35 |
+
"section": "Financial Concurrence",
|
| 36 |
+
"title": "Matters Requiring Financial Concurrence",
|
| 37 |
+
"clause": "22.4",
|
| 38 |
+
"authority": ""
|
| 39 |
+
},
|
| 40 |
+
"id": "section_Financial Concurrence_clause_22.4"
|
| 41 |
+
},
|
| 42 |
+
{
|
| 43 |
+
"text": "Section Financial Concurrence: Matters Requiring Financial Concurrence\nClause 22.5:",
|
| 44 |
+
"metadata": {
|
| 45 |
+
"section": "Financial Concurrence",
|
| 46 |
+
"title": "Matters Requiring Financial Concurrence",
|
| 47 |
+
"clause": "22.5",
|
| 48 |
+
"authority": ""
|
| 49 |
+
},
|
| 50 |
+
"id": "section_Financial Concurrence_clause_22.5"
|
| 51 |
+
},
|
| 52 |
+
{
|
| 53 |
+
"text": "Section Financial Concurrence: Matters Requiring Financial Concurrence\nClause 22.6:",
|
| 54 |
+
"metadata": {
|
| 55 |
+
"section": "Financial Concurrence",
|
| 56 |
+
"title": "Matters Requiring Financial Concurrence",
|
| 57 |
+
"clause": "22.6",
|
| 58 |
+
"authority": ""
|
| 59 |
+
},
|
| 60 |
+
"id": "section_Financial Concurrence_clause_22.6"
|
| 61 |
+
},
|
| 62 |
+
{
|
| 63 |
+
"text": "Section Financial Concurrence: Matters Not Requiring Financial Concurrence\nClause 33.1:",
|
| 64 |
+
"metadata": {
|
| 65 |
+
"section": "Financial Concurrence",
|
| 66 |
+
"title": "Matters Not Requiring Financial Concurrence",
|
| 67 |
+
"clause": "33.1",
|
| 68 |
+
"authority": ""
|
| 69 |
+
},
|
| 70 |
+
"id": "section_Financial Concurrence_clause_33.1"
|
| 71 |
+
},
|
| 72 |
+
{
|
| 73 |
+
"text": "Section Financial Concurrence: Matters Not Requiring Financial Concurrence\nClause 33.2:",
|
| 74 |
+
"metadata": {
|
| 75 |
+
"section": "Financial Concurrence",
|
| 76 |
+
"title": "Matters Not Requiring Financial Concurrence",
|
| 77 |
+
"clause": "33.2",
|
| 78 |
+
"authority": ""
|
| 79 |
+
},
|
| 80 |
+
"id": "section_Financial Concurrence_clause_33.2"
|
| 81 |
+
},
|
| 82 |
+
{
|
| 83 |
+
"text": "Section Financial Concurrence: Matters Not Requiring Financial Concurrence\nClause 33.3:",
|
| 84 |
+
"metadata": {
|
| 85 |
+
"section": "Financial Concurrence",
|
| 86 |
+
"title": "Matters Not Requiring Financial Concurrence",
|
| 87 |
+
"clause": "33.3",
|
| 88 |
+
"authority": ""
|
| 89 |
+
},
|
| 90 |
+
"id": "section_Financial Concurrence_clause_33.3"
|
| 91 |
+
},
|
| 92 |
+
{
|
| 93 |
+
"text": "Section I: Technical sanction to detailed estimates\nClause 1a: Technical sanction to detailed estimates for works/Services/Supplies (for approved projects)\nDelegation - D(T): Full power; ED: Full power; CGM: ₹15 crore; GM: ₹10 crore; DGM: ₹5 crore; Sr. M: NIL; \nRemarks: The delegation is for the components of a project or for sub packages constituting a component as provided in the approved project report (DPR)/ approved cost estimate/Budget/Annual Plan and as approved by the Board/Govt. of India. The tender specifications and Bill of Quantities shall be drawn by the Design Wing or any other group/groups considered essential by the Competent Authority. Quarterly report shall be submitted to D(T) indicating the package/sub-package where the variance between FR/DPR and the actual cost estimate of the package/sub-package is over 10% or ₹5 crore. Technical Sanction with Finance Concurrence to detailed estimates shall be treated as an approval of the estimates. For Administrative approval, refer Clause 9 - Guidelines for exercising the delegation of powers. The period of contract for service contracts shall not exceed 3 (Three) years. Extension in exceptional cases may be considered by the approving authority for a period of 6 (six) months or 50% of the contract period, whichever is less at the same rates, terms & conditions.",
|
| 94 |
+
"metadata": {
|
| 95 |
+
"section": "I",
|
| 96 |
+
"title": "Technical sanction to detailed estimates",
|
| 97 |
+
"clause": "1a",
|
| 98 |
+
"authority": ""
|
| 99 |
+
},
|
| 100 |
+
"id": "section_I_clause_1a"
|
| 101 |
+
},
|
| 102 |
+
{
|
| 103 |
+
"text": "Section I: Technical sanction to detailed estimates\nClause 1b: Technical sanction to detailed estimates for works/Services/Supplies (other than approved projects)\nDelegation - D(T): Full power; ED: Full power; CGM: ₹15 crore; GM: ₹10 crore; DGM: ₹5 crore; Sr. M: NIL; \nRemarks: The delegation is for the components of a project or for sub packages constituting a component as provided in the approved project report (DPR)/ approved cost estimate/Budget/Annual Plan and as approved by the Board/Govt. of India. The tender specifications and Bill of Quantities shall be drawn by the Design Wing or any other group/groups considered essential by the Competent Authority. Quarterly report shall be submitted to D(T) indicating the package/sub-package where the variance between FR/DPR and the actual cost estimate of the package/sub-package is over 10% or ₹5 crore. Technical Sanction with Finance Concurrence to detailed estimates shall be treated as an approval of the estimates. For Administrative approval, refer Clause 9 - Guidelines for exercising the delegation of powers. The period of contract for service contracts shall not exceed 3 (Three) years. Extension in exceptional cases may be considered by the approving authority for a period of 6 (six) months or 50% of the contract period, whichever is less at the same rates, terms & conditions.",
|
| 104 |
+
"metadata": {
|
| 105 |
+
"section": "I",
|
| 106 |
+
"title": "Technical sanction to detailed estimates",
|
| 107 |
+
"clause": "1b",
|
| 108 |
+
"authority": ""
|
| 109 |
+
},
|
| 110 |
+
"id": "section_I_clause_1b"
|
| 111 |
+
},
|
| 112 |
+
{
|
| 113 |
+
"text": "Section I: Technical sanction to detailed estimates\nClause 1c: Technical sanction to detailed estimates for works/services/Supplies within approved budget in O&M plants and other offices excluding construction projects.\nDelegation - D(T): Full power; ED: Full power; CGM: ₹15 crore; GM: ₹10 crore; DGM: ₹5 crore; Sr. M: NIL; \nRemarks: The delegation is for the components of a project or for sub packages constituting a component as provided in the approved project report (DPR)/ approved cost estimate/Budget/Annual Plan and as approved by the Board/Govt. of India. The tender specifications and Bill of Quantities shall be drawn by the Design Wing or any other group/groups considered essential by the Competent Authority. Quarterly report shall be submitted to D(T) indicating the package/sub-package where the variance between FR/DPR and the actual cost estimate of the package/sub-package is over 10% or ₹5 crore. Technical Sanction with Finance Concurrence to detailed estimates shall be treated as an approval of the estimates. For Administrative approval, refer Clause 9 - Guidelines for exercising the delegation of powers. The period of contract for service contracts shall not exceed 3 (Three) years. Extension in exceptional cases may be considered by the approving authority for a period of 6 (six) months or 50% of the contract period, whichever is less at the same rates, terms & conditions.",
|
| 114 |
+
"metadata": {
|
| 115 |
+
"section": "I",
|
| 116 |
+
"title": "Technical sanction to detailed estimates",
|
| 117 |
+
"clause": "1c",
|
| 118 |
+
"authority": ""
|
| 119 |
+
},
|
| 120 |
+
"id": "section_I_clause_1c"
|
| 121 |
+
},
|
| 122 |
+
{
|
| 123 |
+
"text": "Section I: Technical sanction to detailed estimates\nClause a: Approval/ acceptance of lowest tender in respect of works including erection and composite works involving supply and erection/ installation/ commissioning and Non-consultancy services, etc. through open tender\nDelegation - D(T): ₹75 crore; ED: ₹25 crore; CGM: ₹12 crore; GM: ₹9 crore; DGM: ₹6 crore; Sr. M: NIL;",
|
| 124 |
+
"metadata": {
|
| 125 |
+
"section": "I",
|
| 126 |
+
"title": "Technical sanction to detailed estimates",
|
| 127 |
+
"clause": "a",
|
| 128 |
+
"authority": ""
|
| 129 |
+
},
|
| 130 |
+
"id": "section_I_clause_a"
|
| 131 |
+
},
|
| 132 |
+
{
|
| 133 |
+
"text": "Section I: Technical sanction to detailed estimates\nClause b: Limited tender for works ( to be invited in case of urgency having limited source, in unavoidable circumstances with the approval of next higher authority. {Remarks under Clause 2(a) of Section-I shall be complied.}\nDelegation - D(T): ₹25 crore; ED: ₹5 crore; CGM: ₹2.5 crore; GM: ₹1 crore; DGM: ₹60 lakh; Sr. M: NIL;",
|
| 134 |
+
"metadata": {
|
| 135 |
+
"section": "I",
|
| 136 |
+
"title": "Technical sanction to detailed estimates",
|
| 137 |
+
"clause": "b",
|
| 138 |
+
"authority": ""
|
| 139 |
+
},
|
| 140 |
+
"id": "section_I_clause_b"
|
| 141 |
+
},
|
| 142 |
+
{
|
| 143 |
+
"text": "Section I: Technical sanction to detailed estimates\nClause c: Award of work on single tender/ Nomination basis.\nDelegation - D(T): ₹10 crore; ED: ₹2 crore; CGM: ₹1.50 crore; GM: ₹50 lakh; DGM: ₹25 lakh; Sr. M: NIL;",
|
| 144 |
+
"metadata": {
|
| 145 |
+
"section": "I",
|
| 146 |
+
"title": "Technical sanction to detailed estimates",
|
| 147 |
+
"clause": "c",
|
| 148 |
+
"authority": ""
|
| 149 |
+
},
|
| 150 |
+
"id": "section_I_clause_c"
|
| 151 |
+
},
|
| 152 |
+
{
|
| 153 |
+
"text": "Section I: Technical sanction to detailed estimates\nClause d: Spot Work orders\nDelegation - D(T): ₹50 lakh; ED: ₹30 lakh; CGM: ₹10 lakh per annum; GM: ₹40000 subject to a maximum ceiling of 3 lakh per annum; DGM: ₹15000 subject to a maximum ceiling of 2 lakh per annum; Sr. M: NIL;",
|
| 154 |
+
"metadata": {
|
| 155 |
+
"section": "I",
|
| 156 |
+
"title": "Technical sanction to detailed estimates",
|
| 157 |
+
"clause": "d",
|
| 158 |
+
"authority": ""
|
| 159 |
+
},
|
| 160 |
+
"id": "section_I_clause_d"
|
| 161 |
+
},
|
| 162 |
+
{
|
| 163 |
+
"text": "Section I: Technical sanction to detailed estimates\nClause 3a: Purchase of Materials/ equipment/ instruments/ T&P and accompanying spares etc. through (i) Open tender {Remarks under Clause 2(a) of Section-I shall be complied.}\nDelegation - D(T): ₹25 crore; ED: ₹10 crore; CGM: ₹1 crore; GM: ₹60 lakh; DGM: ₹20 lakh; Sr. M: ₹10 lakh;",
|
| 164 |
+
"metadata": {
|
| 165 |
+
"section": "I",
|
| 166 |
+
"title": "Technical sanction to detailed estimates",
|
| 167 |
+
"clause": "3a",
|
| 168 |
+
"authority": ""
|
| 169 |
+
},
|
| 170 |
+
"id": "section_I_clause_3a"
|
| 171 |
+
},
|
| 172 |
+
{
|
| 173 |
+
"text": "Section I: Technical sanction to detailed estimates\nClause 3b: Purchase of Materials/ equipment/ instruments/ T&P and accompanying spares etc. through (ii) limited tender {Remarks under Clause 2(b) of Section-I shall be complied.}\nDelegation - D(T): ₹15 crore; ED: ₹1.5 crore; CGM: ₹75 lakh; GM: ₹40 lakh; DGM: ₹15 lakh; Sr. M: NIL;",
|
| 174 |
+
"metadata": {
|
| 175 |
+
"section": "I",
|
| 176 |
+
"title": "Technical sanction to detailed estimates",
|
| 177 |
+
"clause": "3b",
|
| 178 |
+
"authority": ""
|
| 179 |
+
},
|
| 180 |
+
"id": "section_I_clause_3b"
|
| 181 |
+
},
|
| 182 |
+
{
|
| 183 |
+
"text": "Section I: Technical sanction to detailed estimates\nClause 3c: Purchase of Materials/ equipment/ instruments/ T&P and accompanying spares etc. through (iii) Single tender / Nomination basis {Remarks under Clause 2(c) of Section-I shall be complied.}\nDelegation - D(T): ₹15 crore; ED: ₹1.5 crore; CGM: ₹75 lakh; GM: ₹40 lakh; DGM: ₹15 lakh; Sr. M: NIL;",
|
| 184 |
+
"metadata": {
|
| 185 |
+
"section": "I",
|
| 186 |
+
"title": "Technical sanction to detailed estimates",
|
| 187 |
+
"clause": "3c",
|
| 188 |
+
"authority": ""
|
| 189 |
+
},
|
| 190 |
+
"id": "section_I_clause_3c"
|
| 191 |
+
},
|
| 192 |
+
{
|
| 193 |
+
"text": "Section I: Award of contract for supplies of maintenance spares, tools & plants, services, consumables such as chemicals, paints etc. for O&M of Plant\nClause 4a: From OEM/OES and/or authorized dealers of OEM/OES",
|
| 194 |
+
"metadata": {
|
| 195 |
+
"section": "I",
|
| 196 |
+
"title": "Award of contract for supplies of maintenance spares, tools & plants, services, consumables such as chemicals, paints etc. for O&M of Plant",
|
| 197 |
+
"clause": "4a",
|
| 198 |
+
"authority": ""
|
| 199 |
+
},
|
| 200 |
+
"id": "section_I_clause_4a"
|
| 201 |
+
},
|
| 202 |
+
{
|
| 203 |
+
"text": "Section I: Award of contract for supplies of maintenance spares, tools & plants, services, consumables such as chemicals, paints etc. for O&M of Plant\nClause 4b: From any other sources",
|
| 204 |
+
"metadata": {
|
| 205 |
+
"section": "I",
|
| 206 |
+
"title": "Award of contract for supplies of maintenance spares, tools & plants, services, consumables such as chemicals, paints etc. for O&M of Plant",
|
| 207 |
+
"clause": "4b",
|
| 208 |
+
"authority": ""
|
| 209 |
+
},
|
| 210 |
+
"id": "section_I_clause_4b"
|
| 211 |
+
},
|
| 212 |
+
{
|
| 213 |
+
"text": "Section I: Award of contract for purchase of spares for Equipment / Instruments / T&P etc. (locations other than O&M project)\nClause 5a: From manufacturer of original equipment or their authorized dealers\nDelegation - D(T): ₹5 Crore; ED: ₹1 Crore; CGM: ₹50 Lakh; GM: ₹30 Lakh; DGM: ₹20 Lakh; Sr. M: ₹10 Lakh;",
|
| 214 |
+
"metadata": {
|
| 215 |
+
"section": "I",
|
| 216 |
+
"title": "Award of contract for purchase of spares for Equipment / Instruments / T&P etc. (locations other than O&M project)",
|
| 217 |
+
"clause": "5a",
|
| 218 |
+
"authority": ""
|
| 219 |
+
},
|
| 220 |
+
"id": "section_I_clause_5a"
|
| 221 |
+
},
|
| 222 |
+
{
|
| 223 |
+
"text": "Section I: Award of contract for purchase of spares for Equipment / Instruments / T&P etc. (locations other than O&M project)\nClause 5b: \nDelegation - D(T): ₹2 Crore; ED: ₹50 Lakh; CGM: ₹25 Lakh; GM: ₹20 Lakh; DGM: ₹10 Lakh; Sr. M: ₹5 Lakh;",
|
| 224 |
+
"metadata": {
|
| 225 |
+
"section": "I",
|
| 226 |
+
"title": "Award of contract for purchase of spares for Equipment / Instruments / T&P etc. (locations other than O&M project)",
|
| 227 |
+
"clause": "5b",
|
| 228 |
+
"authority": ""
|
| 229 |
+
},
|
| 230 |
+
"id": "section_I_clause_5b"
|
| 231 |
+
},
|
| 232 |
+
{
|
| 233 |
+
"text": "Section I: Award of contract for purchase of spares for Equipment / Instruments / T&P etc. (locations other than O&M project)\nClause 5c: \nDelegation - D(T): ₹1 Crore; ED: ₹50 Lakh; CGM: ₹25 Lakh; GM: ₹10 Lakh; DGM: ₹5 Lakh; Sr. M: None;",
|
| 234 |
+
"metadata": {
|
| 235 |
+
"section": "I",
|
| 236 |
+
"title": "Award of contract for purchase of spares for Equipment / Instruments / T&P etc. (locations other than O&M project)",
|
| 237 |
+
"clause": "5c",
|
| 238 |
+
"authority": ""
|
| 239 |
+
},
|
| 240 |
+
"id": "section_I_clause_5c"
|
| 241 |
+
},
|
| 242 |
+
{
|
| 243 |
+
"text": "Section I: Award of contract for purchase of spares for Equipment / Instruments / T&P etc. (locations other than O&M project)\nClause 5d: \nDelegation - D(T): ₹1 Crore; ED: ₹50 Lakh; CGM: ₹25 Lakh; GM: ₹10 Lakh; DGM: ₹5 Lakh; Sr. M: None;",
|
| 244 |
+
"metadata": {
|
| 245 |
+
"section": "I",
|
| 246 |
+
"title": "Award of contract for purchase of spares for Equipment / Instruments / T&P etc. (locations other than O&M project)",
|
| 247 |
+
"clause": "5d",
|
| 248 |
+
"authority": ""
|
| 249 |
+
},
|
| 250 |
+
"id": "section_I_clause_5d"
|
| 251 |
+
},
|
| 252 |
+
{
|
| 253 |
+
"text": "Section I: Award of contract for purchase of spares for Equipment / Instruments / T&P etc. (locations other than O&M project)\nClause 5e: \nDelegation - D(T): ₹40 Lakh; ED: ₹30 Lakh; CGM: ₹10 Lakh per annum; GM: ₹40,000 subject to a maximum ceiling of ₹3 Lakh per annum; DGM: ₹15,000 subject to a maximum ceiling of ₹2 Lakh per annum; Sr. M: None;",
|
| 254 |
+
"metadata": {
|
| 255 |
+
"section": "I",
|
| 256 |
+
"title": "Award of contract for purchase of spares for Equipment / Instruments / T&P etc. (locations other than O&M project)",
|
| 257 |
+
"clause": "5e",
|
| 258 |
+
"authority": ""
|
| 259 |
+
},
|
| 260 |
+
"id": "section_I_clause_5e"
|
| 261 |
+
},
|
| 262 |
+
{
|
| 263 |
+
"text": "Section I: Procurement of HSD /Petrol/Lubricants from PSU oil companies/their Authorized fuel pump including rate contracts.\nClause 6a: Procurement of HSD /Petrol/Lubricants from PSU oil companies/their Authorized fuel pump including rate contracts.\nDelegation - D(T): ₹5 crore; ED: ₹2 crore; CGM: ₹75 lakh; GM: NIL; DGM: NIL; Sr. M: NIL;",
|
| 264 |
+
"metadata": {
|
| 265 |
+
"section": "I",
|
| 266 |
+
"title": "Procurement of HSD /Petrol/Lubricants from PSU oil companies/their Authorized fuel pump including rate contracts.",
|
| 267 |
+
"clause": "6a",
|
| 268 |
+
"authority": ""
|
| 269 |
+
},
|
| 270 |
+
"id": "section_I_clause_6a"
|
| 271 |
+
},
|
| 272 |
+
{
|
| 273 |
+
"text": "Section I: Purchase of cement/steel\nClause 7a: Remarks under Clause 2(a) of Section-I shall be complied.\nDelegation - D(T): ₹25 crore; ED: ₹10 crore; CGM: ₹3 crore; GM: ₹2 crore; DGM: ₹1 crore; Sr. M: NIL;",
|
| 274 |
+
"metadata": {
|
| 275 |
+
"section": "I",
|
| 276 |
+
"title": "Purchase of cement/steel",
|
| 277 |
+
"clause": "7a",
|
| 278 |
+
"authority": ""
|
| 279 |
+
},
|
| 280 |
+
"id": "section_I_clause_7a"
|
| 281 |
+
},
|
| 282 |
+
{
|
| 283 |
+
"text": "Section I: Purchase of cement/steel\nClause 7b: Remarks under Clause 2(b) of Section-I shall be complied.\nDelegation - D(T): ₹15 crore; ED: ₹5 crore; CGM: ₹50 lakh; GM: ₹35 lakh; DGM: ₹25 lakh; Sr. M: NIL;",
|
| 284 |
+
"metadata": {
|
| 285 |
+
"section": "I",
|
| 286 |
+
"title": "Purchase of cement/steel",
|
| 287 |
+
"clause": "7b",
|
| 288 |
+
"authority": ""
|
| 289 |
+
},
|
| 290 |
+
"id": "section_I_clause_7b"
|
| 291 |
+
},
|
| 292 |
+
{
|
| 293 |
+
"text": "Section I: Purchase of cement/steel\nClause 7c: Remarks under Clause 2(c) of Section-I shall be complied.\nDelegation - D(T): ₹5 crore; ED: ₹1 crore; CGM: ₹25 lakh; GM: ₹15 lakh; DGM: ₹10 lakh; Sr. M: NIL;",
|
| 294 |
+
"metadata": {
|
| 295 |
+
"section": "I",
|
| 296 |
+
"title": "Purchase of cement/steel",
|
| 297 |
+
"clause": "7c",
|
| 298 |
+
"authority": ""
|
| 299 |
+
},
|
| 300 |
+
"id": "section_I_clause_7c"
|
| 301 |
+
},
|
| 302 |
+
{
|
| 303 |
+
"text": "Section I: Purchase of cement/steel\nClause 7d: \nDelegation - D(T): ₹50 crore; ED: ₹25 crore; CGM: ₹10 crore; GM: None; DGM: None; Sr. M: None;",
|
| 304 |
+
"metadata": {
|
| 305 |
+
"section": "I",
|
| 306 |
+
"title": "Purchase of cement/steel",
|
| 307 |
+
"clause": "7d",
|
| 308 |
+
"authority": ""
|
| 309 |
+
},
|
| 310 |
+
"id": "section_I_clause_7d"
|
| 311 |
+
},
|
| 312 |
+
{
|
| 313 |
+
"text": "Section I: Purchase of explosives\nClause 8a: Open tender {Remarks under Clause 2(a) of Section-I shall be complied}\nDelegation - D(T): ₹2 crore; ED: ₹50 lakh; CGM: ₹25 lakh; GM: ₹15 lakh; DGM: ₹10 lakh; Sr. M: NIL; \nRemarks: Explosives will be procured by MM Wing through open tenders to be invited from reputed manufacturers/authorized dealers fulfilling production and other standard quality, commercial and financial requirements. Accordingly, project-wise yearly requirement with monthly breakup shall be submitted by respective projects. On finalization of tender, procurement shall be done from the lowest bidder in phased manner depending on project requirement. For limited tender, reasons are to be recorded before approval of the next higher authority. Dir (Tech) shall be the self-approving authority. During urgency, explosives may be procured on offer basis for limited quantity from reputed manufacturers/dealers.",
|
| 314 |
+
"metadata": {
|
| 315 |
+
"section": "I",
|
| 316 |
+
"title": "Purchase of explosives",
|
| 317 |
+
"clause": "8a",
|
| 318 |
+
"authority": ""
|
| 319 |
+
},
|
| 320 |
+
"id": "section_I_clause_8a"
|
| 321 |
+
},
|
| 322 |
+
{
|
| 323 |
+
"text": "Section I: Purchase of explosives\nClause 8b: Limited tender {Remarks under Clause 2(b) of Section-I shall be complied}\nDelegation - D(T): ₹60 lakh; ED: ₹40 lakh; CGM: ₹20 lakh; GM: ₹15 lakh; DGM: ₹7 lakh; Sr. M: NIL; \nRemarks: Explosives will be procured by MM Wing through open tenders to be invited from reputed manufacturers/authorized dealers fulfilling production and other standard quality, commercial and financial requirements. Accordingly, project-wise yearly requirement with monthly breakup shall be submitted by respective projects. On finalization of tender, procurement shall be done from the lowest bidder in phased manner depending on project requirement. For limited tender, reasons are to be recorded before approval of the next higher authority. Dir (Tech) shall be the self-approving authority. During urgency, explosives may be procured on offer basis for limited quantity from reputed manufacturers/dealers.",
|
| 324 |
+
"metadata": {
|
| 325 |
+
"section": "I",
|
| 326 |
+
"title": "Purchase of explosives",
|
| 327 |
+
"clause": "8b",
|
| 328 |
+
"authority": ""
|
| 329 |
+
},
|
| 330 |
+
"id": "section_I_clause_8b"
|
| 331 |
+
},
|
| 332 |
+
{
|
| 333 |
+
"text": "Section I: Purchase of explosives\nClause 8c: Single Tender/Nomination basis {Remarks under Clause 2(c) of Section-I shall be complied}\nDelegation - D(T): ₹40 lakh; ED: ₹25 lakh; CGM: ₹10 lakh; GM: ₹7 lakh; DGM: ₹5 lakh; Sr. M: NIL; \nRemarks: Explosives will be procured by MM Wing through open tenders to be invited from reputed manufacturers/authorized dealers fulfilling production and other standard quality, commercial and financial requirements. Accordingly, project-wise yearly requirement with monthly breakup shall be submitted by respective projects. On finalization of tender, procurement shall be done from the lowest bidder in phased manner depending on project requirement. For limited tender, reasons are to be recorded before approval of the next higher authority. Dir (Tech) shall be the self-approving authority. During urgency, explosives may be procured on offer basis for limited quantity from reputed manufacturers/dealers.",
|
| 334 |
+
"metadata": {
|
| 335 |
+
"section": "I",
|
| 336 |
+
"title": "Purchase of explosives",
|
| 337 |
+
"clause": "8c",
|
| 338 |
+
"authority": ""
|
| 339 |
+
},
|
| 340 |
+
"id": "section_I_clause_8c"
|
| 341 |
+
},
|
| 342 |
+
{
|
| 343 |
+
"text": "Section II: Interview List Preparation\nClause 1a: List of candidates to be called for interview on induction/recruitment.\n\nRemarks: {'Extent of Power': 'Full Powers'} {'Applies to': 'All Executives, Non-Executives'} {'Officials Authorized': 'D (P); HOD (HR) not below the grade of E-8 in consultation with D (P)'}",
|
| 344 |
+
"metadata": {
|
| 345 |
+
"section": "II",
|
| 346 |
+
"title": "Interview List Preparation",
|
| 347 |
+
"clause": "1a",
|
| 348 |
+
"authority": ""
|
| 349 |
+
},
|
| 350 |
+
"id": "section_II_clause_1a"
|
| 351 |
+
},
|
| 352 |
+
{
|
| 353 |
+
"text": "Section II: Medical Board Constitution\nClause 2a: Constitution of Medical Board for examining the fitness for service of new appointees.\n\nRemarks: {'Extent of Power': 'Full Powers'} {'Officials Authorized': 'CMO'}",
|
| 354 |
+
"metadata": {
|
| 355 |
+
"section": "II",
|
| 356 |
+
"title": "Medical Board Constitution",
|
| 357 |
+
"clause": "2a",
|
| 358 |
+
"authority": ""
|
| 359 |
+
},
|
| 360 |
+
"id": "section_II_clause_2a"
|
| 361 |
+
},
|
| 362 |
+
{
|
| 363 |
+
"text": "Section II: Sanction of Recruitment & Promotion Expenditure\nClause 3a: Sanction of expenditure on Recruitment & Promotion (DPC Expenses) including venue and other expenditure related matters.\n\nRemarks: {'Extent of Power': 'Full Powers (₹2,00,000/- per event)'} {'Officials Authorized': 'D (P); HOD (HR) not below the grade of E-8'}",
|
| 364 |
+
"metadata": {
|
| 365 |
+
"section": "II",
|
| 366 |
+
"title": "Sanction of Recruitment & Promotion Expenditure",
|
| 367 |
+
"clause": "3a",
|
| 368 |
+
"authority": ""
|
| 369 |
+
},
|
| 370 |
+
"id": "section_II_clause_3a"
|
| 371 |
+
},
|
| 372 |
+
{
|
| 373 |
+
"text": "Section II: Extension of Joining Time\nClause 4a: Extension of time for joining the post on initial appointment.\n\nRemarks: {'Extent of Power': 'Full Powers'} {'Applies to': 'All Executives, Non-Executives'} {'Officials Authorized': 'D (P); HOD (HR) not below the grade of E-8'}",
|
| 374 |
+
"metadata": {
|
| 375 |
+
"section": "II",
|
| 376 |
+
"title": "Extension of Joining Time",
|
| 377 |
+
"clause": "4a",
|
| 378 |
+
"authority": ""
|
| 379 |
+
},
|
| 380 |
+
"id": "section_II_clause_4a"
|
| 381 |
+
},
|
| 382 |
+
{
|
| 383 |
+
"text": "Section II: Grant of TA to Interview Candidates\nClause 5a: Grant of TA to candidates called for interview.\n\nRemarks: {'Extent of Power': 'Full Powers in accordance with TA Rules'} {'Officials Authorized': 'HOD (HR) not below the grade of E-8'}",
|
| 384 |
+
"metadata": {
|
| 385 |
+
"section": "II",
|
| 386 |
+
"title": "Grant of TA to Interview Candidates",
|
| 387 |
+
"clause": "5a",
|
| 388 |
+
"authority": ""
|
| 389 |
+
},
|
| 390 |
+
"id": "section_II_clause_5a"
|
| 391 |
+
},
|
| 392 |
+
{
|
| 393 |
+
"text": "Section II: Probation Completion and Extension\nClause 6i: Approval of satisfactory completion of period of probation on Promotion and Recruitment (wherever applicable).\n\nRemarks: {'Subclause (i)': [{'E-8 to E-9': 'Full Powers - CMD'}, {'E-5 to E-7': 'Full Powers - Director'}, {'E-1 to E-4 & Non-Executives': 'Full Powers - Concerned HOP/HOD not below the grade of E-8'}]} {'Subclause (ii)': ['Same authorities as Subclause (i)']} {'Note': 'Orders to be issued by the HR'}",
|
| 394 |
+
"metadata": {
|
| 395 |
+
"section": "II",
|
| 396 |
+
"title": "Probation Completion and Extension",
|
| 397 |
+
"clause": "6i",
|
| 398 |
+
"authority": ""
|
| 399 |
+
},
|
| 400 |
+
"id": "section_II_clause_6i"
|
| 401 |
+
},
|
| 402 |
+
{
|
| 403 |
+
"text": "Section II: Probation Completion and Extension\nClause 6ii: Extension of Probation on the basis of the Report.\n\nRemarks: {'Subclause (i)': [{'E-8 to E-9': 'Full Powers - CMD'}, {'E-5 to E-7': 'Full Powers - Director'}, {'E-1 to E-4 & Non-Executives': 'Full Powers - Concerned HOP/HOD not below the grade of E-8'}]} {'Subclause (ii)': ['Same authorities as Subclause (i)']} {'Note': 'Orders to be issued by the HR'}",
|
| 404 |
+
"metadata": {
|
| 405 |
+
"section": "II",
|
| 406 |
+
"title": "Probation Completion and Extension",
|
| 407 |
+
"clause": "6ii",
|
| 408 |
+
"authority": ""
|
| 409 |
+
},
|
| 410 |
+
"id": "section_II_clause_6ii"
|
| 411 |
+
},
|
| 412 |
+
{
|
| 413 |
+
"text": "Section II: Termination of service on account of unsatisfactory performance during probation\nClause 7: Powers - F; u; l; l; ; P; o; w; e; r; s; \nAuthority: D(P) in consultation with FD\nRemarks: O r d e r s t o b e i s s u e d b y t h e H R",
|
| 414 |
+
"metadata": {
|
| 415 |
+
"section": "II",
|
| 416 |
+
"title": "Termination of service on account of unsatisfactory performance during probation",
|
| 417 |
+
"clause": 7,
|
| 418 |
+
"authority": "D(P) in consultation with FD"
|
| 419 |
+
},
|
| 420 |
+
"id": "section_II_clause_7"
|
| 421 |
+
},
|
| 422 |
+
{
|
| 423 |
+
"text": "Section II: Forwarding of applications of the employees for outside Employment\nClause 8: Powers - Executives (E-1 to E-9): Full Powers; Non-Executives: Full Powers; \nAuthority: [{'Executives': 'D(P) in consultation with FD'}, {'Non-Executives': 'HOD (HR) not below E-8 in consultation with D(P)'}]\nRemarks: W i t h r e c o m m e n d a t i o n o f c o n c e r n e d H O D / H O P",
|
| 424 |
+
"metadata": {
|
| 425 |
+
"section": "II",
|
| 426 |
+
"title": "Forwarding of applications of the employees for outside Employment",
|
| 427 |
+
"clause": 8,
|
| 428 |
+
"authority": [
|
| 429 |
+
{
|
| 430 |
+
"Executives": "D(P) in consultation with FD"
|
| 431 |
+
},
|
| 432 |
+
{
|
| 433 |
+
"Non-Executives": "HOD (HR) not below E-8 in consultation with D(P)"
|
| 434 |
+
}
|
| 435 |
+
]
|
| 436 |
+
},
|
| 437 |
+
"id": "section_II_clause_8"
|
| 438 |
+
},
|
| 439 |
+
{
|
| 440 |
+
"text": "Section II: Acceptance of Resignation of employees including waiver of notice period\nClause 9: Powers - Executives up to E-8: Full Powers; Non-Executives: Full Powers; \nAuthority: [{'Executives': 'D(P) on recommendation of FD'}, {'Non-Executives': 'D(P)'}]\nRemarks: O r d e r s t o b e i s s u e d b y H R",
|
| 441 |
+
"metadata": {
|
| 442 |
+
"section": "II",
|
| 443 |
+
"title": "Acceptance of Resignation of employees including waiver of notice period",
|
| 444 |
+
"clause": 9,
|
| 445 |
+
"authority": [
|
| 446 |
+
{
|
| 447 |
+
"Executives": "D(P) on recommendation of FD"
|
| 448 |
+
},
|
| 449 |
+
{
|
| 450 |
+
"Non-Executives": "D(P)"
|
| 451 |
+
}
|
| 452 |
+
]
|
| 453 |
+
},
|
| 454 |
+
"id": "section_II_clause_9"
|
| 455 |
+
},
|
| 456 |
+
{
|
| 457 |
+
"text": "Section II: Termination of the Services of Employee\nClause 10: Powers - F; u; l; l; ; P; o; w; e; r; s; ; u; p; ; t; o; ; E; -; 8; \nAuthority: D(P) on recommendation of FD\nRemarks: O r d e r s t o b e i s s u e d b y H R",
|
| 458 |
+
"metadata": {
|
| 459 |
+
"section": "II",
|
| 460 |
+
"title": "Termination of the Services of Employee",
|
| 461 |
+
"clause": 10,
|
| 462 |
+
"authority": "D(P) on recommendation of FD"
|
| 463 |
+
},
|
| 464 |
+
"id": "section_II_clause_10"
|
| 465 |
+
},
|
| 466 |
+
{
|
| 467 |
+
"text": "Section II: Transfer of Bond in case of Trainees\nClause 11: Powers - F; u; l; l; ; P; o; w; e; r; s; \nAuthority: D(P)",
|
| 468 |
+
"metadata": {
|
| 469 |
+
"section": "II",
|
| 470 |
+
"title": "Transfer of Bond in case of Trainees",
|
| 471 |
+
"clause": 11,
|
| 472 |
+
"authority": "D(P)"
|
| 473 |
+
},
|
| 474 |
+
"id": "section_II_clause_11"
|
| 475 |
+
},
|
| 476 |
+
{
|
| 477 |
+
"text": "Section II: Constitution of Departmental Promotion Committee\nClause 12: Powers - Executives: Full Powers; Non-Executives including Supervisors: Full Powers; \nAuthority: [{'Executives': 'D(P) in consultation with FD'}, {'Non-Executives': 'HOD (HR) not below E-8 in consultation with D(P)'}]",
|
| 478 |
+
"metadata": {
|
| 479 |
+
"section": "II",
|
| 480 |
+
"title": "Constitution of Departmental Promotion Committee",
|
| 481 |
+
"clause": 12,
|
| 482 |
+
"authority": [
|
| 483 |
+
{
|
| 484 |
+
"Executives": "D(P) in consultation with FD"
|
| 485 |
+
},
|
| 486 |
+
{
|
| 487 |
+
"Non-Executives": "HOD (HR) not below E-8 in consultation with D(P)"
|
| 488 |
+
}
|
| 489 |
+
]
|
| 490 |
+
},
|
| 491 |
+
"id": "section_II_clause_12"
|
| 492 |
+
},
|
| 493 |
+
{
|
| 494 |
+
"text": "Section II: Approval for change of Home Town (Allowed only once in entire service period)\nClause 13: Powers - Corporate Office (Shillong): Full Powers; Other locations: Full Powers; \nAuthority: [{'Shillong': 'HOD (HR) not below the grade of E-8'}, {'Other locations': 'Concerned HOP/HOD not below E-8'}]\nRemarks: O r d e r s t o b e i s s u e d b y t h e P r o j e c t H R",
|
| 495 |
+
"metadata": {
|
| 496 |
+
"section": "II",
|
| 497 |
+
"title": "Approval for change of Home Town (Allowed only once in entire service period)",
|
| 498 |
+
"clause": 13,
|
| 499 |
+
"authority": [
|
| 500 |
+
{
|
| 501 |
+
"Shillong": "HOD (HR) not below the grade of E-8"
|
| 502 |
+
},
|
| 503 |
+
{
|
| 504 |
+
"Other locations": "Concerned HOP/HOD not below E-8"
|
| 505 |
+
}
|
| 506 |
+
]
|
| 507 |
+
},
|
| 508 |
+
"id": "section_II_clause_13"
|
| 509 |
+
},
|
| 510 |
+
{
|
| 511 |
+
"text": "Section II: Permission for employees to undertake courses/examinations/classes outside office hours for up to 3 years\nClause 14: Powers - A; l; l; ; E; m; p; l; o; y; e; e; s; \nAuthority: D(P)\nRemarks: P e r m i s s i o n s h a l l n o t c o n f e r a n y r i g h t t o t h e e m p l o y e e i n a n y m a n n e r",
|
| 512 |
+
"metadata": {
|
| 513 |
+
"section": "II",
|
| 514 |
+
"title": "Permission for employees to undertake courses/examinations/classes outside office hours for up to 3 years",
|
| 515 |
+
"clause": 14,
|
| 516 |
+
"authority": "D(P)"
|
| 517 |
+
},
|
| 518 |
+
"id": "section_II_clause_14"
|
| 519 |
+
},
|
| 520 |
+
{
|
| 521 |
+
"text": "Section II: Nomination of employees to attend seminars/conferences/workshops/training in India (short term, max 2 weeks)\nClause 15: Powers - Executives E-7 to E-9: Full Powers; Executives E-1 to E-6 and Non-Executives: Full Powers; \nAuthority: [{'E-7 to E-9': 'D(P) in consultation with FD'}, {'E-1 to E-6 & Non-Executives': 'HOD (HR) not below E-8 with recommendation of concerned HOP/HOD'}]",
|
| 522 |
+
"metadata": {
|
| 523 |
+
"section": "II",
|
| 524 |
+
"title": "Nomination of employees to attend seminars/conferences/workshops/training in India (short term, max 2 weeks)",
|
| 525 |
+
"clause": 15,
|
| 526 |
+
"authority": [
|
| 527 |
+
{
|
| 528 |
+
"E-7 to E-9": "D(P) in consultation with FD"
|
| 529 |
+
},
|
| 530 |
+
{
|
| 531 |
+
"E-1 to E-6 & Non-Executives": "HOD (HR) not below E-8 with recommendation of concerned HOP/HOD"
|
| 532 |
+
}
|
| 533 |
+
]
|
| 534 |
+
},
|
| 535 |
+
"id": "section_II_clause_15"
|
| 536 |
+
},
|
| 537 |
+
{
|
| 538 |
+
"text": "Section II: Permission for delivering lectures/functioning as Faculty/Committee Member in outside orgs and accepting fees/honoraria\nClause 16: Powers - Executives E-1 to E-9: Full Powers; All Non-Executives & Supervisors: Full Powers; \nAuthority: [{'Executives': 'Director'}, {'Non-Executives': 'HOD (HR) not below E-8'}]",
|
| 539 |
+
"metadata": {
|
| 540 |
+
"section": "II",
|
| 541 |
+
"title": "Permission for delivering lectures/functioning as Faculty/Committee Member in outside orgs and accepting fees/honoraria",
|
| 542 |
+
"clause": 16,
|
| 543 |
+
"authority": [
|
| 544 |
+
{
|
| 545 |
+
"Executives": "Director"
|
| 546 |
+
},
|
| 547 |
+
{
|
| 548 |
+
"Non-Executives": "HOD (HR) not below E-8"
|
| 549 |
+
}
|
| 550 |
+
]
|
| 551 |
+
},
|
| 552 |
+
"id": "section_II_clause_16"
|
| 553 |
+
},
|
| 554 |
+
{
|
| 555 |
+
"text": "Section II: Transfer of Employees\nClause 18: Powers - E-8/E-9/HOP/HOD: CMD; Executives E-1 to E-7: Full Power; All Non-Executives and Supervisors: Full Power; \nAuthority: [{'Executives E-1 to E-7': 'D(P) on recommendation of FD'}, {'Non-Executives and Supervisors': 'D(P) on recommendation of FD'}]\nRemarks: Q u a r t e r l y r e p o r t t o b e s u b m i t t e d t o C M D f o r h i s i n f o r m a t i o n",
|
| 556 |
+
"metadata": {
|
| 557 |
+
"section": "II",
|
| 558 |
+
"title": "Transfer of Employees",
|
| 559 |
+
"clause": 18,
|
| 560 |
+
"authority": [
|
| 561 |
+
{
|
| 562 |
+
"Executives E-1 to E-7": "D(P) on recommendation of FD"
|
| 563 |
+
},
|
| 564 |
+
{
|
| 565 |
+
"Non-Executives and Supervisors": "D(P) on recommendation of FD"
|
| 566 |
+
}
|
| 567 |
+
]
|
| 568 |
+
},
|
| 569 |
+
"id": "section_II_clause_18"
|
| 570 |
+
},
|
| 571 |
+
{
|
| 572 |
+
"text": "Section II: Panel approving authority for recruitment\nClause 19: Powers - E; -; 7; ; a; n; d; ; b; e; l; o; w; \nAuthority: D(P)",
|
| 573 |
+
"metadata": {
|
| 574 |
+
"section": "II",
|
| 575 |
+
"title": "Panel approving authority for recruitment",
|
| 576 |
+
"clause": 19,
|
| 577 |
+
"authority": "D(P)"
|
| 578 |
+
},
|
| 579 |
+
"id": "section_II_clause_19"
|
| 580 |
+
},
|
| 581 |
+
{
|
| 582 |
+
"text": "Section IV: Passing and Payment of Bills\nClause 2a:",
|
| 583 |
+
"metadata": {
|
| 584 |
+
"section": "IV",
|
| 585 |
+
"title": "Passing and Payment of Bills",
|
| 586 |
+
"clause": "2a",
|
| 587 |
+
"authority": ""
|
| 588 |
+
},
|
| 589 |
+
"id": "section_IV_clause_2a"
|
| 590 |
+
},
|
| 591 |
+
{
|
| 592 |
+
"text": "Section IV: Passing and Payment of Bills\nClause 2b: Power delegated to HOP for Contracts executed at project/HOD/Corporate Affairs/Coordinator (not below E-7)",
|
| 593 |
+
"metadata": {
|
| 594 |
+
"section": "IV",
|
| 595 |
+
"title": "Passing and Payment of Bills",
|
| 596 |
+
"clause": "2b",
|
| 597 |
+
"authority": ""
|
| 598 |
+
},
|
| 599 |
+
"id": "section_IV_clause_2b"
|
| 600 |
+
},
|
| 601 |
+
{
|
| 602 |
+
"text": "Section IV: Passing and Payment of Bills\nClause 2c:",
|
| 603 |
+
"metadata": {
|
| 604 |
+
"section": "IV",
|
| 605 |
+
"title": "Passing and Payment of Bills",
|
| 606 |
+
"clause": "2c",
|
| 607 |
+
"authority": ""
|
| 608 |
+
},
|
| 609 |
+
"id": "section_IV_clause_2c"
|
| 610 |
+
},
|
| 611 |
+
{
|
| 612 |
+
"text": "Section IV: Financial Examination & Vetting of Proposals\nClause 3a:",
|
| 613 |
+
"metadata": {
|
| 614 |
+
"section": "IV",
|
| 615 |
+
"title": "Financial Examination & Vetting of Proposals",
|
| 616 |
+
"clause": "3a",
|
| 617 |
+
"authority": ""
|
| 618 |
+
},
|
| 619 |
+
"id": "section_IV_clause_3a"
|
| 620 |
+
},
|
| 621 |
+
{
|
| 622 |
+
"text": "Section IV: Financial Examination & Vetting of Proposals\nClause 3b:",
|
| 623 |
+
"metadata": {
|
| 624 |
+
"section": "IV",
|
| 625 |
+
"title": "Financial Examination & Vetting of Proposals",
|
| 626 |
+
"clause": "3b",
|
| 627 |
+
"authority": ""
|
| 628 |
+
},
|
| 629 |
+
"id": "section_IV_clause_3b"
|
| 630 |
+
},
|
| 631 |
+
{
|
| 632 |
+
"text": "Section IV: Fixation of Pay & Other Matters Relating to Pay & Allowances\nClause 4a:",
|
| 633 |
+
"metadata": {
|
| 634 |
+
"section": "IV",
|
| 635 |
+
"title": "Fixation of Pay & Other Matters Relating to Pay & Allowances",
|
| 636 |
+
"clause": "4a",
|
| 637 |
+
"authority": ""
|
| 638 |
+
},
|
| 639 |
+
"id": "section_IV_clause_4a"
|
| 640 |
+
},
|
| 641 |
+
{
|
| 642 |
+
"text": "Section IV: Fixation of Pay & Other Matters Relating to Pay & Allowances\nClause 4b:",
|
| 643 |
+
"metadata": {
|
| 644 |
+
"section": "IV",
|
| 645 |
+
"title": "Fixation of Pay & Other Matters Relating to Pay & Allowances",
|
| 646 |
+
"clause": "4b",
|
| 647 |
+
"authority": ""
|
| 648 |
+
},
|
| 649 |
+
"id": "section_IV_clause_4b"
|
| 650 |
+
}
|
| 651 |
+
]
|
requirements.txt
CHANGED
|
@@ -1,2 +1,5 @@
|
|
| 1 |
fastapi
|
| 2 |
-
uvicorn
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
fastapi
|
| 2 |
+
uvicorn
|
| 3 |
+
chromadb
|
| 4 |
+
numpy
|
| 5 |
+
sentence-transformers
|