Spaces:
Sleeping
Sleeping
# self_update_test.py | |
import os | |
import requests | |
import time | |
def test_self_update(): | |
print("Testing self-update capability...") | |
# Original response handler content | |
original_content = """def generate_response(prompt, tokenizer, model): | |
inputs = tokenizer(prompt, return_tensors="pt") | |
outputs = model.generate(**inputs, max_length=200) | |
return tokenizer.decode(outputs[0], skip_special_tokens=True)""" | |
# Updated version | |
updated_content = """def generate_response(prompt, tokenizer, model): | |
# Improved version with better parameters | |
inputs = tokenizer(prompt, return_tensors="pt") | |
outputs = model.generate( | |
**inputs, | |
max_length=300, | |
temperature=0.7, | |
top_p=0.9, | |
repetition_penalty=1.1 | |
) | |
return tokenizer.decode(outputs[0], skip_special_tokens=True)""" | |
# Save original version | |
with open("response_handler.py", "w") as f: | |
f.write(original_content) | |
# Start the app (in a real test, this would be a separate process) | |
print("Starting with original version...") | |
# Simulate update process | |
print("Triggering update...") | |
response = requests.post("http://localhost:7860/api/predict", json={"data": ["/update"]}) | |
print(f"Update result: {response.json()['data']}") | |
# Verify update | |
time.sleep(2) | |
with open("response_handler.py", "r") as f: | |
current_content = f.read() | |
if updated_content in current_content: | |
print("β Self-update successful!") | |
else: | |
print("β Self-update failed") | |
# Restore original | |
with open("response_handler.py", "w") as f: | |
f.write(original_content) | |
if __name__ == "__main__": | |
test_self_update() |