You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

This model is released under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 licence (CC BY-NC-SA 4.0): research, academic, personal and other non-commercial use is permitted with attribution; adaptations must be shared under the same licence; commercial use is not permitted. The original public source data remains under the Government Open Data License - India (GODL-India). Commercial use: contact surya@judicialmind.ai or hello@judicialmind.ai.

Log in or Sign Up to review the conditions and access this model content.

KCC-Embed-0.6B

Licence: CC BY-NC-SA 4.0 — research and non-commercial use only; derivatives must be shared under the same licence. Commercial use: contact surya@judicialmind.ai or hello@judicialmind.ai

Access is approved automatically when the email you enter matches your Hugging Face account email and belongs to the organisation you name; other requests are reviewed manually.

An embedding model for Indian farmer questions, fine-tuned from pplx-embed-v1-0.6b on KCC-Pairs (Kisan Call Centre question -> answer, often an English question with a Hindi, Marathi or Gujarati answer). It maps a question and candidate answers to 1024-d vectors; rank answers by cosine similarity. Mean pooling, L2-normalised, bidirectional attention (custom modeling.py, so load with trust_remote_code=True).

Headline result: on the KCC-Pairs retrieval test set (unseen years and states, 100,000-answer corpus) it reaches R@10 0.435 and nDCG@10 0.297, more than twice its base model pplx-embed-v1-0.6b (0.207 / 0.148), and about 2.5 times BAAI/bge-m3 (0.169 / 0.122) and 3.5 times BM25 (0.122 / 0.093).

Research data, not advice. Answers were given by Kisan Call Centre agents and may contain pesticide doses or product names that are outdated, region-specific or wrong. Do not use them as agronomic advice.

Quickstart

Input: plain text, no query or document prefix (questions up to 64 tokens, answers up to 256 tokens were used in evaluation). Output: one 1024-d unit vector per text; cosine similarity = dot product.

sentence-transformers:

from sentence_transformers import SentenceTransformer

model = SentenceTransformer("judicialmind/KCC-Embed-0.6B", trust_remote_code=True)
question = "How to control aphid in mustard crop?"
answers = [
    "सरसों में माहू के नियंत्रण के लिए इमिडाक्लोप्रिड 17.8 एसएल 0.5 मिली प्रति लीटर पानी में घोलकर छिड़काव करें।",
    "गेहूं की बुवाई का उचित समय नवंबर का पहला पखवाड़ा है।",
    "For wilt in cumin, drench the soil with carbendazim 1 g per litre of water.",
]
q = model.encode([question])
d = model.encode(answers)
scores = model.similarity(q, d)[0]          # cosine
for s, a in sorted(zip(scores.tolist(), answers), reverse=True):
    print(f"{s:.3f}  {a[:60]}")

transformers (the same embeddings, explicit pooling):

import torch, torch.nn.functional as F
from transformers import AutoModel, AutoTokenizer

path = "judicialmind/KCC-Embed-0.6B"
tok = AutoTokenizer.from_pretrained(path, trust_remote_code=True)
model = AutoModel.from_pretrained(path, trust_remote_code=True).eval()

def embed(texts, max_len=256):
    enc = tok(texts, padding=True, truncation=True, max_length=max_len, return_tensors="pt")
    with torch.inference_mode():
        h = model(**enc).last_hidden_state
    m = enc["attention_mask"].unsqueeze(-1).to(h.dtype)
    return F.normalize((h * m).sum(1) / m.sum(1), dim=-1)      # mean pooling + L2

q = embed(["How to control aphid in mustard crop?"], max_len=64)
d = embed(["सरसों में माहू के नियंत्रण के लिए इमिडाक्लोप्रिड 17.8 एसएल 0.5 मिली प्रति लीटर पानी में घोलकर छिड़काव करें।",
           "गेहूं की बुवाई का उचित समय नवंबर का पहला पखवाड़ा है।"])
print((q @ d.T).tolist())                  # higher = more relevant; the aphid answer scores higher

The same in one helper module (embed.py, shipped here), also as a CLI:

pip install -r requirements.txt
python embed.py "How to control aphid in mustard crop?" "सरसों में माहू के लिए इमिडाक्लोप्रिड 0.5 मिली प्रति लीटर छिड़कें" "गेहूं की बुवाई नवंबर में करें"
# prints one line per answer, best first: "<cosine>  <answer>"

To score the model on the KCC-Pairs retrieval benchmark, use the dataset's evaluate.py: python evaluate.py --model judicialmind/KCC-Embed-0.6B (run inside a local copy of the dataset).

Files

file contents
model.safetensors, config.json weights (float32) and config
modeling.py, configuration.py bidirectional Qwen3 encoder (loaded with trust_remote_code=True)
tokenizer.json, tokenizer_config.json tokenizer
modules.json, sentence_bert_config.json, config_sentence_transformers.json, 1_Pooling/ sentence-transformers pipeline: transformer -> mean pooling -> normalize
embed.py minimal inference helper and CLI
requirements.txt pinned runtime dependencies

Results

KCC-Pairs retrieval test set: 5,000 questions with unseen query clusters (years 2024-25 and held-out states Madhya Pradesh and Himachal Pradesh) against a corpus of 100,000 KCC answers; most pairs are cross-lingual (English question, answer in Hindi, Marathi, Gujarati, Punjabi or Kannada).

model R@1 R@10 nDCG@10
bm25 0.078 0.122 0.093
perplexity-ai/pplx-embed-v1-0.6b 0.115 0.207 0.148
Qwen/Qwen3-Embedding-0.6B 0.097 0.171 0.123
BAAI/bge-m3 0.097 0.169 0.122
KCC-Embed-0.6B 0.210 0.435 0.297

Coverage

Trained on Kisan Call Centre questions and answers from the 10 best-covered states (Rajasthan, Maharashtra, Gujarat, Bihar, Punjab, Odisha, Karnataka, Haryana; Madhya Pradesh and Himachal Pradesh held out), calls before 2024. Questions are mostly English; answers are in English, Hindi, Marathi, Gujarati, Punjabi and Kannada.

Source data

Training data: GODL-India (data.gov.in). Department of Agriculture and Farmers Welfare (Ministry of Agriculture and Farmers Welfare). "Kisan Call Centre (KCC) farmer queries". data.gov.in resource cef25fe2-9231-4128-8aec-2c948fedd43f, https://api.data.gov.in/resource/cef25fe2-9231-4128-8aec-2c948fedd43f. Licensed under the Government Open Data License - India (https://data.gov.in/government-open-data-license-india). Snapshot: May 2026.

Original data: published by Department of Agriculture and Farmers Welfare, Ministry of Agriculture and Farmers Welfare (Kisan Call Centre) on the Open Government Data Platform India (data.gov.in) and, where marked, NITI Aayog's National Data and Analytics Platform (NDAP), under the Government Open Data License - India (GODL-India). The original public data remains under GODL-India; the CC BY-NC-SA 4.0 licence of this repository covers JudicialMind's compilation, derived fields, annotations, benchmarks and models.

Citation

@misc{judicialmind2026kccembed,
  title={KCC-Embed-0.6B: a cross-lingual embedding model for Kisan Call Centre questions and answers},
  author={JudicialMind},
  year={2026},
  publisher={Hugging Face},
  howpublished={\url{https://huggingface.co/judicialmind/KCC-Embed-0.6B}}
}

License

CC BY-NC-SA 4.0 (see LICENSE): research, academic, personal and other non-commercial use, with attribution to JudicialMind and to the original data publishers; adaptations must be shared under the same licence. Commercial use requires a separate licence.

Commercial use: contact surya@judicialmind.ai or hello@judicialmind.ai.

Base model(s): perplexity-ai/pplx-embed-v1-0.6b (mit). Their licence terms and notices continue to apply to the upstream components; see THIRD_PARTY_NOTICES.md.

Downloads last month
-
Safetensors
Model size
0.6B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for judicialmind/KCC-Embed-0.6B

Finetuned
(9)
this model

Collection including judicialmind/KCC-Embed-0.6B