Views
No views yet
# Trim de geschiedenis als die te lang is
new_history = manage_token_limit(new_history)
# Tokeniseer de geschiedenis
inputs = tokenizer.encode(new_history, return_tensors='pt')
# Genereer tekst met variatie in temperatuur en top-k sampling
outputs = model.generate(inputs, max_length=max_length, temperature=temperature,
top_k=top_k, top_p=top_p, pad_token_id=tokenizer.eos_token_id)
# Decodeer de output en voeg deze toe aan de geschiedenis
generated_text = tokenizer.decode(outputs[:, inputs.shape[-1]:][0], skip_special_tokens=True)
new_history += generated_text + "\n"
return generated_text, new_history# Log de conversatie
log_conversation(user_input, ai_response)
return ai_response, updated_history# Input veld en conversatiegeschiedenis
chat_history = gr.State(value="") # Houdt de volledige geschiedenis bij
with gr.Row():
user_input = gr.Textbox(lines=2, placeholder="Typ hier je vraag...")
# Instellingen voor AI variatie
with gr.Row():
temperature = gr.Slider(0.1, 1.0, value=0.7, label="Temperature (Creativiteit)")
top_k = gr.Slider(1, 100, value=50, label="Top-k Sampling")
top_p = gr.Slider(0.1, 1.0, value=0.9, label="Top-p Sampling")
# Output veld voor het AI antwoord
ai_output = gr.Textbox(label="AI Response")
# Start de chatbot
submit_button = gr.Button("Submit")
submit_button.click(chatbot_interface,
inputs=[user_input, chat_history, temperature, top_k, top_p],
outputs=[ai_output, chat_history])
# Reset knop
reset_button = gr.Button("Reset Chat")
reset_button.click(lambda: "", outputs=chat_history)