rw-integrate-documents

โดย runwayml

ช่วยให้ผู้ใช้เพิ่มเอกสารฐานความรู้ไปยัง Runway Characters สำหรับการสนทนาเฉพาะด้าน

npx skills add https://github.com/runwayml/skills --skill rw-integrate-documents

Integrate Documents (Knowledge Base)

PREREQUISITE: Run +rw-check-compatibility first. Run +rw-fetch-api-reference to load the latest API reference before integrating. +rw-setup-api-key — API credentials must be configured

USED BY: +rw-integrate-characters — Documents are linked to Avatars to give them domain-specific knowledge

Give your Characters access to domain-specific knowledge. Upload content that your Avatar can reference during conversations for accurate, contextual responses.

When to Use Documents

Use CaseExample Content
Customer supportFAQs, product info, company policies, return procedures
Quizzes & gamesQuestion banks, correct answers, scoring rules
EducationCourse material, reference content, learning objectives
Brand experiencesBrand guidelines, messaging, product catalogs

Constraints

  • Each Avatar supports up to 50,000 tokens of knowledge
  • Supported formats: plain text and Markdown
  • More formats planned for future releases

Flow

The flow is: Create a DocumentLink it to an Avatar

Step 1: Create a Document

Node.js

import RunwayML from '@runwayml/sdk';

const client = new RunwayML();

const document = await client.documents.create({
  name: 'Product FAQ',
  content: `# Product FAQ

## What is your return policy?
We offer a 30-day return policy for all unused items in original packaging.

## How do I track my order?
Log in to your account and visit the Orders page. You'll find tracking information for all shipped orders.

## Do you offer international shipping?
Yes, we ship to over 50 countries. Shipping costs and delivery times vary by destination.`,
});

console.log('Document created:', document.id);

Python

from runwayml import RunwayML

client = RunwayML()

document = client.documents.create(
    name='Product FAQ',
    content="""# Product FAQ

## What is your return policy?
We offer a 30-day return policy for all unused items in original packaging.

## How do I track my order?
Log in to your account and visit the Orders page.

## Do you offer international shipping?
Yes, we ship to over 50 countries.""",
)

print('Document created:', document.id)

Step 2: Link the Document to an Avatar

Update your Avatar to attach the document. This replaces any existing document attachments — pass all document IDs you want linked.

Node.js

await client.avatars.update(avatarId, {
  documentIds: [document.id],
});

Python

client.avatars.update(
    avatar_id,
    document_ids=[document.id],
)

Multiple Documents

You can link multiple documents to a single avatar (total must stay under 50,000 tokens):

const faq = await client.documents.create({
  name: 'FAQ',
  content: '...',
});

const policies = await client.documents.create({
  name: 'Company Policies',
  content: '...',
});

await client.avatars.update(avatarId, {
  documentIds: [faq.id, policies.id],
});

Step 3: Start a Session

Once documents are linked, the Avatar automatically has access to the knowledge during conversations. Start a session as usual — no additional configuration needed:

const session = await client.realtimeSessions.create({
  model: 'gwm1_avatars',
  avatar: {
    type: 'custom',
    avatarId: avatarId,
  },
});
session = client.realtime_sessions.create(
    model='gwm1_avatars',
    avatar={
        'type': 'custom',
        'avatar_id': avatar_id,
    },
)

See +rw-integrate-characters for the full session creation, polling, and WebRTC flow.

Integration Patterns

Load Documents from Files

Read content from local files and create documents:

import fs from 'fs';
import RunwayML from '@runwayml/sdk';

const client = new RunwayML();

// Read a local markdown file
const content = fs.readFileSync('./knowledge/product-faq.md', 'utf-8');

const document = await client.documents.create({
  name: 'Product FAQ',
  content,
});
from pathlib import Path
from runwayml import RunwayML

client = RunwayML()

content = Path('./knowledge/product-faq.md').read_text()

document = client.documents.create(
    name='Product FAQ',
    content=content,
)

Dynamic Knowledge Updates

Update documents programmatically — useful for syncing with a CMS or database:

// Example: API endpoint to update character knowledge
app.post('/api/avatar/update-knowledge', async (req, res) => {
  const { avatarId, documents } = req.body;

  // Create new documents
  const docIds = [];
  for (const doc of documents) {
    const created = await client.documents.create({
      name: doc.name,
      content: doc.content,
    });
    docIds.push(created.id);
  }

  // Link all documents to the avatar (replaces existing)
  await client.avatars.update(avatarId, {
    documentIds: docIds,
  });

  res.json({ success: true, documentCount: docIds.length });
});

Tips

  • Use Markdown for structured content — headings help the Avatar navigate the knowledge.
  • Be concise — stay well under the 50,000 token limit for best retrieval quality.
  • Organize by topic — multiple focused documents work better than one giant document.
  • Update regularly — keep knowledge current by re-creating documents when content changes.
  • Documents can also be managed via the Developer Portal UI.

Skills เพิ่มเติมจาก runwayml

recipe-full-setup
runwayml
การตั้งค่า Runway API อย่างสมบูรณ์: ตรวจสอบความเข้ากันได้ กำหนดค่า API key และรวม endpoints การสร้าง
official
integrate-character-embed
runwayml
ช่วยให้ผู้ใช้ฝังการเรียกใช้ Runway Character avatar ในแอปพลิเคชัน React โดยใช้ @runwayml/avatars-react SDK
official
integrate-characters
runwayml
ช่วยผู้ใช้สร้าง Runway Characters (อวาตาร์ GWM-1) และรวมเซสชันสนทนาแบบเรียลไทม์เข้ากับแอปของพวกเขา
official
integrate-documents
runwayml
ช่วยให้ผู้ใช้เพิ่มเอกสารฐานความรู้ให้กับ Runway Characters สำหรับการสนทนาเฉพาะด้าน
official
integrate-image
runwayml
ช่วยให้ผู้ใช้รวม API การสร้างภาพของ Runway (ข้อความเป็นภาพพร้อมภาพอ้างอิง)
official
integrate-uploads
runwayml
ช่วยให้ผู้ใช้อัปโหลดไฟล์ในเครื่องไปยัง Runway เพื่อใช้เป็นอินพุตสำหรับโมเดลการสร้าง
official
integrate-video
runwayml
ช่วยผู้ใช้รวม API การสร้างวิดีโอของ Runway (ข้อความเป็นวิดีโอ, ภาพเป็นวิดีโอ, วิดีโอเป็นวิดีโอ)
official
runway-studio-skills
runwayml
สร้างวิดีโอ รูปภาพ และเสียงคุณภาพระดับสตูดิโอโดยใช้ Runway API คำสั่งทั้งหมดเป็นสคริปต์ Python แบบสแตนด์อโลนที่รันผ่าน uv run จากไดเรกทอรีรากของสกิล
official