tavus-cvi-knowledge

Add knowledge bases and persistent memories to Tavus CVI personas. Use when uploading documents for RAG, enabling personas to reference PDFs/websites, persisting context across conversations, or building personas that remember users.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "tavus-cvi-knowledge" with this command: npx skills add tavus-engineering/tavus-skills/tavus-engineering-tavus-skills-tavus-cvi-knowledge

Tavus CVI Knowledge Base & Memories

Give your personas access to documents and persistent memory.

Knowledge Base (RAG)

Upload documents that personas can reference during conversations.

Step 1: Create Document

curl -X POST https://tavusapi.com/v2/documents \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "document_name": "Product FAQ",
    "document_url": "https://example.com/faq.pdf",
    "tags": ["support", "faq"]
  }'

Response:

{
  "document_id": "d1234567890",
  "status": "processing"
}

Supported Sources

  • PDFs: Direct URL to PDF file
  • Text files: Plain text documents
  • Websites: Single page or crawled

Website Crawling

Single page (default):

{
  "document_name": "Landing Page",
  "document_url": "https://example.com/features"
}

Multi-page crawl:

{
  "document_name": "Full Docs",
  "document_url": "https://docs.example.com",
  "crawl_pages": true
}

Step 2: Use in Conversation

By document IDs:

{
  "persona_id": "p123",
  "replica_id": "r456",
  "document_ids": ["d1234567890", "d0987654321"]
}

By tags:

{
  "persona_id": "p123",
  "replica_id": "r456",
  "document_tags": ["support", "faq"]
}

Attach to Persona (Always Available)

Documents available in ALL conversations with this persona:

curl -X POST https://tavusapi.com/v2/personas \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "persona_name": "Support Agent",
    "pipeline_mode": "full",
    "system_prompt": "You are a helpful support agent...",
    "document_ids": ["d1234567890"],
    "document_tags": ["support"]
  }'

Retrieval Strategy

Optimize search speed vs quality:

{
  "persona_id": "p123",
  "document_ids": ["d123"],
  "retrieval_strategy": "balanced"
}

Options:

  • speed - Fastest, good for simple lookups
  • quality - Best results, slower
  • balanced - Default, good tradeoff

Manage Documents

# List documents
curl https://tavusapi.com/v2/documents \
  -H "x-api-key: YOUR_API_KEY"

# Get document status
curl https://tavusapi.com/v2/documents/{document_id} \
  -H "x-api-key: YOUR_API_KEY"

# Delete document
curl -X DELETE https://tavusapi.com/v2/documents/{document_id} \
  -H "x-api-key: YOUR_API_KEY"

Memories (Persistent Context)

Remember information across conversations with the same user.

How It Works

  1. Assign a memory_store key to a conversation
  2. Persona forms memories during conversation
  3. Future conversations with same key access those memories

Create Conversation with Memory

{
  "persona_id": "p123",
  "replica_id": "r456",
  "memory_stores": ["user_alice_persona_sales"]
}

Memory Store Naming

Use consistent, unique identifiers:

  • user_{user_id}_persona_{persona_id} - Per user, per persona
  • user_{user_id} - Per user across personas
  • session_{session_id} - Per session

Important: Don't use persona names in keys (they might change).

Example: Returning User

First conversation:

{
  "persona_id": "p_coach",
  "memory_stores": ["user_alice_coaching"]
}

User mentions: "I'm training for a marathon in April."

Second conversation (days later):

{
  "persona_id": "p_coach", 
  "memory_stores": ["user_alice_coaching"]
}

Persona remembers the marathon goal and can reference it.

Multiple Memory Stores

Share memories across contexts:

{
  "persona_id": "p123",
  "memory_stores": [
    "user_alice_global",
    "user_alice_sales_specific"
  ]
}

Use Case: Multi-Persona Memory

User talks to Sales persona, then Support persona:

// Sales conversation
{
  "persona_id": "p_sales",
  "memory_stores": ["user_alice"]
}

// Support conversation (later)
{
  "persona_id": "p_support",
  "memory_stores": ["user_alice"]
}

Support persona knows what Sales discussed.


Combining Knowledge + Memories

Full-featured support agent:

# Create persona with knowledge base
curl -X POST https://tavusapi.com/v2/personas \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "persona_name": "Premium Support",
    "pipeline_mode": "full",
    "system_prompt": "You are a premium support agent. Reference the knowledge base for product info. Remember user preferences and past issues.",
    "document_tags": ["support", "product-docs"],
    "default_replica_id": "rfe12d8b9597"
  }'
# Start conversation with user memory
curl -X POST https://tavusapi.com/v2/conversations \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "persona_id": "p_premium_support",
    "memory_stores": ["user_12345_support"],
    "document_ids": ["d_urgent_issue_docs"]
  }'

Now the persona can:

  • Look up product info from documents
  • Remember this user's past issues
  • Build on previous conversations

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

tavus-cvi-quickstart

No summary provided by upstream source.

Repository SourceNeeds Review
General

tavus-cvi-ui

No summary provided by upstream source.

Repository SourceNeeds Review
General

tavus-overview

No summary provided by upstream source.

Repository SourceNeeds Review
General

tavus-cvi-interactions

No summary provided by upstream source.

Repository SourceNeeds Review