wormgpt / app.py
yukimama's picture
Update app.py
477c07b verified
raw
history blame
1.14 kB
from transformers import GPT2LMHeadModel, GPT2Tokenizer, pipeline
# 使用緩存加速載入
model = GPT2LMHeadModel.from_pretrained("gpt2", cache_dir="./model_cache")
tokenizer = GPT2Tokenizer.from_pretrained("gpt2", cache_dir="./model_cache")
# 設置填充標記 ID
tokenizer.pad_token = tokenizer.eos_token
def generate_command(prompt, max_length=100):
full_prompt = f"生成一個Bash指令,用於{prompt}:```bash\n"
inputs = tokenizer.encode(full_prompt, return_tensors="pt")
output = model.generate(
inputs,
max_length=max_length,
num_return_sequences=1,
temperature=0.7,
pad_token_id=tokenizer.pad_token_id
)
generated_text = tokenizer.decode(output[0], skip_special_tokens=False)
# 提取生成的指令
start = generated_text.find("```bash") + len("```bash")
end = generated_text.find("```", start)
if end == -1:
end = len(generated_text)
command = generated_text[start:end].strip()
return command
# 使用示例
prompt = "刪除一個文件"
generated_command = generate_command(prompt)
print(generated_command)