|
|
<!DOCTYPE html> |
|
|
<html lang="en"> |
|
|
<head> |
|
|
<meta charset="UTF-8"> |
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
|
<title>API Interaction</title> |
|
|
</head> |
|
|
<body> |
|
|
|
|
|
<div id="api-info"> |
|
|
<h2>API Information</h2> |
|
|
<p>Current URL: <span id="current-url"></span></p> |
|
|
<p>API Usage Instructions:</p> |
|
|
<p>1. Enter your message in the textarea.</p> |
|
|
<p>2. Click the "Send Chat Message" button or press Ctrl+Enter to send the message to the server.</p> |
|
|
<p>3. The response will be displayed below the button.</p> |
|
|
</div> |
|
|
|
|
|
<h1>Test Localhost API</h1> |
|
|
|
|
|
<h2>Chat Completion</h2> |
|
|
<textarea id="chat-input" rows="4" cols="50" placeholder="Enter your message here..."></textarea> |
|
|
<button onclick="testChatAPI()">Send Chat Message</button> |
|
|
<pre id="chat-result"></pre> |
|
|
|
|
|
<h2>Audio Transcription</h2> |
|
|
<input type="file" id="audio-file" /> |
|
|
<button onclick="testWhisperAPI()">Upload Audio</button> |
|
|
<pre id="whisper-result"></pre> |
|
|
|
|
|
<script> |
|
|
|
|
|
document.getElementById('current-url').textContent = window.location.href; |
|
|
|
|
|
|
|
|
async function testChatAPI() { |
|
|
const messageContent = document.getElementById('chat-input').value; |
|
|
|
|
|
const response = await fetch('/openai/v1/chat/completions', { |
|
|
method: 'POST', |
|
|
headers: { |
|
|
'Content-Type': 'application/json' |
|
|
}, |
|
|
body: JSON.stringify({ |
|
|
messages: [{ role: 'user', content: messageContent }], |
|
|
model: 'llama3-70b-8192' |
|
|
}) |
|
|
}); |
|
|
|
|
|
const data = await response.json(); |
|
|
document.getElementById('chat-result').textContent = data.messages ? data.messages[0].content : JSON.stringify(data, null, 2); |
|
|
} |
|
|
|
|
|
async function testWhisperAPI() { |
|
|
const fileInput = document.getElementById('audio-file'); |
|
|
const formData = new FormData(); |
|
|
formData.append('file', fileInput.files[0]); |
|
|
formData.append('model', 'whisper-large-v3'); |
|
|
|
|
|
const response = await fetch('/openai/v1/audio/transcriptions', { |
|
|
method: 'POST', |
|
|
body: formData |
|
|
}); |
|
|
|
|
|
const data = await response.json(); |
|
|
document.getElementById('whisper-result').textContent = JSON.stringify(data, null, 2); |
|
|
} |
|
|
|
|
|
document.getElementById('chat-input').addEventListener('keydown', async (event) => { |
|
|
if (event.ctrlKey && event.key === 'Enter') { |
|
|
event.preventDefault(); |
|
|
await testChatAPI(); |
|
|
} |
|
|
}); |
|
|
</script> |
|
|
</body> |
|
|
</html> |
|
|
|