const API_URL = 'https://sdk.senso.ai/api/v1';
const API_KEY = 'YOUR_API_KEY';
async function uploadPDFDocument() {
try {
// Prepare form data
const formData = new FormData();
const pdfFile = await fetch('./documents/product-guide.pdf');
const pdfBlob = await pdfFile.blob();
formData.append('file', pdfBlob, 'product-guide.pdf');
formData.append('title', 'Product Guide 2024');
formData.append('summary', 'Comprehensive guide to our product features and capabilities');
// Upload the PDF document
const response = await fetch(`${API_URL}/content/file`, {
method: 'POST',
headers: {
'X-API-Key': API_KEY
},
body: formData
});
const content = await response.json();
console.log('PDF uploaded successfully!');
console.log('Content ID:', content.id);
console.log('Processing status:', content.processing_status);
// Check processing status
let processedContent = content;
while (processedContent.processing_status !== 'completed') {
await new Promise(resolve => setTimeout(resolve, 3000));
const statusResponse = await fetch(`${API_URL}/content/${content.id}`, {
headers: { 'X-API-Key': API_KEY }
});
processedContent = await statusResponse.json();
console.log('Status:', processedContent.processing_status);
}
console.log('PDF processing completed!');
// Search within the PDF
const searchResponse = await fetch(`${API_URL}/search`, {
method: 'POST',
headers: {
'X-API-Key': API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({
query: 'What are the main product features?',
max_results: 5
})
});
const searchResult = await searchResponse.json();
console.log('\nSearch Results:');
console.log('Answer:', searchResult.answer);
console.log('Number of sources:', searchResult.results.length);
// Generate a summary
const summaryResponse = await fetch(`${API_URL}/generate`, {
method: 'POST',
headers: {
'X-API-Key': API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({
content_type: 'product documentation PDF',
instructions: 'Create a concise executive summary of the key points',
max_results: 10
})
});
const summary = await summaryResponse.json();
console.log('\nGenerated Summary:');
console.log(summary.generated_text);
} catch (error) {
console.error('Error processing PDF:', error);
}
}
uploadPDFDocument();