Guides & Tutorials

Step-by-step instructions to get the most out of Pravia — from signup to advanced configuration.

Getting Started

🚀
5 minBeginner

Creating Your First Bot

1. Sign up at pravia.dev. 2. In the dashboard, click 'Create'. 3. Enter a name and description. 4. Add knowledge sources — import from Website, Sitemap, upload PDFs/Word/Markdown, or paste text. 5. Click 'Publish' — your bot is live. Copy the widget code and paste it on your site before the closing </body> tag.

🚀
8 minBeginner

Uploading and Managing Documents

Knowledge Sources: upload PDFs, Word (.docx), Markdown, TXT files, import from Website URL, parse Sitemap XML, or paste text directly. The system automatically splits content into chunks (500–1000 words each) and creates embeddings for semantic search. Management: in the 'Knowledge Base' section you see all sources. Delete an outdated document — the bot stops using its data. Upload an updated version — the bot starts using the new information. Tip: use clear headings and structure in your documents — it improves answer accuracy.

Document Preparation

📄
10 minIntermediate

Optimizing Documents for AI

Use headings (H1, H2, H3) to separate topics — the AI employee finds relevant sections more accurately. Write short paragraphs (3–5 sentences) — long paragraphs get split into chunks with lost context. Add key terms at the beginning of paragraphs — semantic search ranks by relevance. Avoid tables without context — AI understands tabular data poorly. Phrase questions and answers in the text — the bot answers better when questions match the document structure.

📄
8 minIntermediate

Handling Multi-Language Content

Pravia processes documents in any language. For a multilingual AI employee: upload documents in both languages to a single bot — the system detects the query language and finds the answer in the matching language. Important: don't mix languages in one document — it reduces accuracy. Tip: create separate document versions for each language with the same structure. Configure the bot's greeting in the desired language through widget settings.

AI Employee Customization

🎨
7 minBeginner

Customizing Widget Appearance

In AI employee settings → 'Widget': 1. Accent color — main color for the button and chat header (default: black). 2. Welcome message — text the bot sends first (e.g., 'Hi! I can help with questions about our services'). 3. Position on page — bottom-right (default) or bottom-left. 4. Bot name — displayed in the widget header. 5. Avatar — upload your company logo. After saving, refresh the page — the widget updates automatically.

🎨
12 minAdvanced

Setting Up Behavior Rules

Configure the system prompt in AI employee settings to define the response tone. Example: 'Answer concisely and helpfully. If you don't know the answer, say Contact support. Don't fabricate information.' Operator escalation: add to the prompt: 'If the customer asks for a human agent, reply: Let me connect you with a manager.' Topic restriction: specify 'Answer ONLY about [topic]. For other questions, reply: I specialize in [topic].'

Embedding & Integration

🔌
10 minBeginner

Embedding on Any Website

HTML (any site): add before </body>: <script src="https://pravia.dev/loader.js" data-bot-id="YOUR_ID"></script> WordPress: add a 'Custom HTML' block in Appearance → Widgets → paste code in a Footer widget area. Shopify: Online Store → Themes → Edit code → theme.liquid → paste before </body>. Webflow: Site Settings → Custom Code → Footer Code → paste. Wix: Settings → Custom Code → Head Code → paste. After inserting the code, the widget appears on all pages automatically.

🔌
6 minIntermediate

React Integration

Add the widget to your React app using a useEffect hook: import { useEffect } from 'react'; function ChatWidget({ botId }) { useEffect(() => { const script = document.createElement('script'); script.src = '/loader.js'; script.setAttribute('data-bot-id', botId); document.body.appendChild(script); }, [botId]); return null; } The widget renders in an iframe and doesn't affect your app's styles.

Analytics & Monitoring

📊
8 minBeginner

Analytics Dashboard

In the dashboard → 'Analytics' you see: 1. Conversation count by period (day/week/month). 2. Top-10 most common questions — use this to improve documentation. 3. Percentage of 'from documents' vs 'AI didn't find answer' — if many misses, add documents. 4. Average response time — normal: 1–3 seconds. 5. User satisfaction (if rating is enabled). Export: data available in CSV format for Excel analysis.

📊
10 minIntermediate

Monitoring Conversation Quality

Regularly check conversations in 'History': 1. Find questions where the bot replied 'I don't know' — upload the relevant document. 2. Review low-rated answers (1–2 stars) — adjust the prompt or add information. 3. Look for recurring questions — create a dedicated FAQ document. 4. Check citations — the bot should reference sources. If not — improve the document structure. Goal: 90%+ 'from documents' responses by the end of week one.

Technical Deep Dives

⚙️
20 minAdvanced

How the RAG Pipeline Works

Retrieval-Augmented Generation (RAG) combines document search with AI answer generation. Stages: 1. Ingestion — document is split into chunks (500–1000 words each). 2. Embedding — each chunk becomes a vector (numerical meaning representation). 3. Storage — vectors saved to PostgreSQL with pgvector. 4. Query — user's question is also converted to a vector. 5. Search — 3–5 most similar chunks found (cosine similarity). 6. Generation — AI receives found chunks + question and generates an answer based only on those chunks. Advantage: the bot doesn't fabricate — it relies on uploaded documents.

⚙️
15 minIntermediate

Security and Data Privacy

Data protection: 1. Encryption — all data encrypted in transit (TLS 1.3). 2. Isolation — each account sees ONLY its own data (multi-tenancy). 3. No training on your data — AI doesn't use your documents for model training. 4. Deletion — delete your account and all data is immediately and permanently removed. 5. Access — only you and authorized users see your AI employees and documents. Compliance: GDPR, SOC 2 (in progress). Security questions: [email protected]

Bot Help & FAQ

🚀
5 minBeginner

What the Bot Can and Cannot Answer

The bot answers questions based ONLY on the documents you uploaded. It can: answer questions about your products, services, policies, and procedures; provide step-by-step instructions from your documentation; help users find specific information in your knowledge base. It cannot: access the internet or real-time information; answer questions outside your uploaded documents; remember previous conversations (each query is processed independently); access external databases or APIs. If the bot can't find an answer in your documents, it will say: 'I cannot find an answer to this question in the provided documents.'

🚀
5 minBeginner

What Happens When the Bot Cannot Answer

When the bot cannot answer a question, it displays one of these messages: 1. No documents loaded: 'Documents have not been uploaded yet. Upload documents in the Documents section, and I will be able to answer questions about your knowledge base.' 2. No relevant information found: 'I cannot find an answer to this question in the provided documents.' 3. AI provider not configured: 'Documents have not been uploaded. Upload documents or configure an AI provider for generative answers.' In all cases, the bot will suggest contacting support for assistance. You can customize this fallback behavior in the bot's system prompt settings.

🚀
4 minBeginner

How to Get Help for Unanswered Questions

When the bot cannot answer: 1. Check if the information exists in your uploaded documents. 2. Try rephrasing the question with different keywords. 3. Contact the bot administrator to add the missing information. For end users seeing 'I cannot find an answer': click the support link in the widget or email [email protected] with your question. For bot administrators: review unanswered questions in Analytics → 'Common Questions' to identify knowledge gaps, then upload the missing documents.

🚀
8 minIntermediate

Troubleshooting Common Issues

Bot not responding: Check if the bot is active (green status in dashboard). Verify the embed code is correctly installed. Ensure the DEEPSEEK_API_KEY is configured. Wrong answers: The bot may not have the relevant document uploaded. Check Analytics for 'from documents' percentage. Upload missing documents. Bot too slow: Normal response time is 1–3 seconds. Check your AI provider's status. Reduce document size for faster processing. Widget not showing: Clear browser cache. Check for JavaScript errors in console. Verify the bot ID in the embed code matches your bot.

1

Start with the 'Creating Your First Bot' guide — it walks you through everything in 5 minutes.

2

Bookmark this page — we regularly add new guides and tutorials.

Ready to Build Your AI Employee?