hfjsdemo / translation.html
boazchung's picture
Update translation.html
0281807 verified
raw history blame
No virus
4.61 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Translation - huggingface.js</title>
<!--
<script type="module">
// Import the library
//import { pipeline } from 'https://cdn.jsdelivr.net/npm/@xenova/transformers@2.5.4';
// Make it available globally
//window.pipeline = pipeline;
</script>
-->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="css/styles.css">
</head>
<body>
<div class="container-main">
<!-- Back to Home button -->
<div class="row mt-5">
<div class="col-md-12 text-center">
<a href="index.html" class="btn btn-outline-secondary"
style="color: #3c650b; border-color: #3c650b;">Back to Main Page</a>
</div>
</div>
<!-- Content -->
<div class="container mt-5">
<!-- Centered Titles -->
<div class="text-center">
<h2>Natural Language Processing</h2>
<h4>Translation</h4>
</div>
<!-- Actual Content of this page -->
<form id="hf-form">
<input
type="text"
style="display:none"
autocomplete="username"
value="user"
/>
<div>
<label for="hf-token">Hugging Face Token (optional but limited if absent)</label>
<input
id="hf-token"
placeholder="HF-TOKEN"
type="password"
autocomplete="new-password"
/>
</div>
<div id="translation-container" class="container mt-4">
<h5>Translation w/ Xenova/t5-base:</h5>
<div class="d-flex align-items-center">
<label for="translationText2" class="mb-0 text-nowrap" style="margin-right: 15px;">Enter Text to
Translate:</label>
<input type="text" class="form-control flex-grow-1" id="translationText2" value="My name is Wolfgang and I live in Amsterdam"
placeholder="Enter text" style="margin-right: 15px; margin-left: 15px;">
<button id="translateButton2" class="btn btn-primary">Translate</button>
</div>
<div class="mt-4">
<h4>Output:</h4>
<pre id="outputArea2"></pre>
</div>
</div>
</form>
<!-- Back to Home button -->
<div class="row mt-5">
<div class="col-md-12 text-center">
<a href="index.html" class="btn btn-outline-secondary"
style="color: #3c650b; border-color: #3c650b;">Back to Main Page</a>
</div>
</div>
</div>
</div>
<script type="module">
import { HfInference } from 'https://cdn.jsdelivr.net/npm/@huggingface/inference@2.6.4/+esm';
// Initialize the sentiment analysis model
async function initializeModel() {
const token = document.getElementById('hf-token').value;
const hf = new HfInference(token);
}
async function translateText() {
const textFieldValue = document.getElementById("translationText2").value.trim();
let result = await hf.translation({
model: 't5-base',
inputs: textFieldValue,
});
document.getElementById("outputArea2").innerText = JSON.stringify(result, null, 2);
}
/*
document.getElementById('hf-form').addEventListener('submit', async (event) => {
event.preventDefault();
// You can also omit "model" to use the recommended model for the task
let result = await hf.translation({
model: 't5-base',
inputs: textFieldValue,
document.getElementById("outputArea2").innerText = JSON.stringify(result, null, 2);
});
console.log(result);
});
*/
// Initialize the model after the DOM is completely loaded
window.addEventListener("DOMContentLoaded", (event) => {
initializeModel();
document.getElementById("translateButton2").addEventListener("click", translateText);
});
</script>
</body>
</html>