Instructions to use IAAR-Shanghai/MemPrivacy-1.7B-SFT with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use IAAR-Shanghai/MemPrivacy-1.7B-SFT with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="IAAR-Shanghai/MemPrivacy-1.7B-SFT") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("IAAR-Shanghai/MemPrivacy-1.7B-SFT") model = AutoModelForCausalLM.from_pretrained("IAAR-Shanghai/MemPrivacy-1.7B-SFT") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use IAAR-Shanghai/MemPrivacy-1.7B-SFT with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "IAAR-Shanghai/MemPrivacy-1.7B-SFT" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "IAAR-Shanghai/MemPrivacy-1.7B-SFT", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/IAAR-Shanghai/MemPrivacy-1.7B-SFT
- SGLang
How to use IAAR-Shanghai/MemPrivacy-1.7B-SFT with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "IAAR-Shanghai/MemPrivacy-1.7B-SFT" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "IAAR-Shanghai/MemPrivacy-1.7B-SFT", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "IAAR-Shanghai/MemPrivacy-1.7B-SFT" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "IAAR-Shanghai/MemPrivacy-1.7B-SFT", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use IAAR-Shanghai/MemPrivacy-1.7B-SFT with Docker Model Runner:
docker model run hf.co/IAAR-Shanghai/MemPrivacy-1.7B-SFT
How to solve the problem of entity nesting, especially for digital types?
How to solve the problem of entity nesting, especially for digital types?
How to solve the problem of entity nesting, especially for digital types?
Thanks for your question.
Currently, MemPrivacy adopts a minimum entity boundary extraction strategy.
For texts containing nested entities, the model will identify all distinguishable privacy-sensitive spans rather than only the outermost entity.
For example, in digital-related cases, different substrings may correspond to different privacy categories or privacy levels, so the model attempts to preserve fine-grained extraction results whenever possible.
This design is intentional for two main reasons:
Fine-grained privacy control
Different nested spans may have different sensitivity levels (PL1–PL4). Extracting all identifiable privacy units enables more flexible downstream protection policies.Semantic utility preservation
MemPrivacy focuses on privacy protection without destroying task-relevant semantics. Retaining structured and typed privacy spans helps the cloud-side agent maintain contextual reasoning and memory quality.
In practice, this means that nested entities — especially numerical or digital types such as IDs, phone numbers, verification codes, dates, or account-related strings — may all be extracted independently if they are distinguishable privacy instances.
We may further optimize configurable boundary strategies in future releases depending on downstream application requirements.