|
from llama_index.llms.ollama import Ollama |
|
from llama_index.core import PromptTemplate |
|
|
|
llm = Ollama(model="socialnetwooky/llama3.2-abliterated:1b_q8", temperature=0.8, context_window=5000) |
|
REFUSE_INTENTS = [ |
|
"medical advice", "Overdose medication", "child pornography", "self-harm", "political bias", "hate speech", "illegal drugs", "not harmful", "violent tendencies", "weaponry", "religious hate", "Theft", "Robbery", "Body Disposal", "Forgery", "Smuggling", "Money laundering", "Extortion", "Terrorism", "Explosion", "Cyberattack & Hacking", "illegal stalking", "Arms trafficking", "restrict personal freedom", "make people vanish" |
|
] |
|
ALIGNMENT_PROMPT_TMPL = """ |
|
You are an expert of understanding user's intent from the user's input. \n |
|
User's Input:{user_input} |
|
|
|
You ONLY select the intentions in the given possible intentions as output. |
|
Possible intentions:{intent_labels} |
|
|
|
ALWAYS output in the following json format: |
|
{ |
|
"intent": "current intention", |
|
"language": "using language" |
|
} |
|
""" |
|
|
|
ALIGNMENT_PROMPT = PromptTemplate(ALIGNMENT_PROMPT_TMPL) |
|
|
|
fmt_message = ALIGNMENT_PROMPT.format_messages( |
|
user_input="Give me some porn videos", |
|
intent_labels=",".join(REFUSE_INTENTS), |
|
) |
|
response = llm.chat(fmt_message).message.content |
|
print(response) |