Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Kỹ năng

Tạo các hướng dẫn SKILL.md có thể tái sử dụng mà các tác nhân (agent) có thể gọi theo cách thủ công, tự động hoặc trong mỗi lượt phản hồi.

Skills là các gói hướng dẫn có thể tái sử dụng dành cho các Agent trong LibreChat. Một skill được tập trung vào tệp SKILL.md: frontmatter mô tả thời điểm skill nên được sử dụng, và phần nội dung markdown cung cấp cho agent quy trình, quy tắc, ví dụ hoặc các tài liệu tham khảo cần tuân theo.

Các Skills rất hữu ích cho các công việc có tính lặp lại như:

  • Áp dụng các nguyên tắc về thương hiệu hoặc văn phong
  • Tuân thủ các danh sách kiểm tra đánh giá nội bộ
  • Chạy một quy trình nghiên cứu tiêu chuẩn
  • Chuẩn bị quy trình làm việc cho một công cụ chuyên dụng
  • Đóng gói các tập lệnh, tài liệu tham khảo và tài nguyên có thể tái sử dụng cùng với một tệp hướng dẫn

Bật Skills

Tính năng agent skills được bật theo mặc định. Quản trị viên có thể xóa nó khỏi danh sách capability của endpoint agents để ẩn Skills đối với người dùng.

endpoints:
  agents:
    capabilities:
      - 'deferred_tools'
      - 'execute_code'
      - 'file_search'
      - 'web_search'
      - 'artifacts'
      - 'subagents'
      - 'actions'
      - 'context'
      - 'skills'
      - 'tools'
      - 'chain'
      - 'ocr'

Các quyền vai trò cũng kiểm soát ai có thể sử dụng, tạo, chia sẻ và chia sẻ công khai các skill.

Kỹ năng triển khai

Quản trị viên có thể triển khai các Skills ở chế độ chỉ đọc từ hệ thống tệp bằng DEPLOYMENT_SKILLS_DIR.

DEPLOYMENT_SKILLS_DIR=./skill

Thư mục mặc định là ./skill tại thư mục gốc của dự án. LibreChat tải các Skill triển khai khi khởi động và hiển thị chúng cho người dùng đã bật tính năng Skills.

Các kỹ năng triển khai:

  • Là chỉ đọc trong giao diện người dùng
  • Sử dụng deployment làm nguồn của chúng
  • Ưu tiên hơn các Skills đã được lưu với cùng tên
  • Yêu cầu khởi động lại LibreChat sau khi các tệp được thêm, xóa hoặc thay đổi

Đồng bộ hóa kỹ năng GitHub

Quản trị viên có thể sao chép các Skill từ kho lưu trữ GitHub bằng skillSync.github trong librechat.yaml.

skillSync:
  github:
    enabled: true
    intervalMinutes: 60
    runOnStartup: true
    sources:
      - id: librechat-skills
        owner: your-org
        repo: your-skills-repo
        ref: main
        paths:
          - skills
        skillDiscoveryDepth: 2
        token: '${GITHUB_SKILLS_TOKEN}'

Đồng bộ kỹ năng GitHub:

  • Quét các đường dẫn kho lưu trữ đã cấu hình để tìm SKILL.md
  • Nhập các tệp đi kèm bên cạnh mỗi kỹ năng
  • Lưu trữ các Skills được sao chép với source: "github"
  • Cập nhật các Skills được phản chiếu khi kho lưu trữ thượng nguồn thay đổi
  • Loại bỏ các Skills được phản chiếu không còn tồn tại trong nguồn đã cấu hình
  • Hỗ trợ các lần chạy theo lịch trình, khi khởi động và được quản trị viên kích hoạt thủ công

Sử dụng GitHub fine-grained personal access token với quyền Contents và Metadata ở chế độ chỉ đọc (read-only) cho kho lưu trữ đã chọn. Xem Skill Sync Object Structure để biết tất cả các trường, tùy chọn thông tin xác thực, phạm vi tenant và các endpoint đồng bộ quản trị.

Tạo một Skill

Mở Skills từ bảng điều khiển bên. Bạn có thể viết một skill trực tiếp trong LibreChat hoặc tải lên tệp .md, .zip, hoặc .skill có chứa SKILL.md.

SKILL.md tối thiểu:

---
name: brand-guidelines
description: Use when writing public-facing content that must follow the company voice and terminology.
---

# Brand Guidelines

Write in a concise, practical tone.
Prefer active voice.
Use product terminology consistently.

Frontmatter

KeyTypeDescriptionExample
nameStringĐịnh danh kebab-case ổn định. Nó phải bắt đầu bằng chữ cái viết thường hoặc chữ số và có thể chứa các chữ cái viết thường, chữ số và dấu gạch nối.name: brand-guidelines
descriptionStringVăn bản kích hoạt quan trọng nhất. Mô tả thời điểm mô hình nên sử dụng kỹ năng này.description: Use when writing public-facing launch copy.
always-applyBooleanTự động kích hoạt kỹ năng vào mọi lượt hội thoại khi nó đang hoạt động.always-apply: true
user-invocableBooleanĐặt thành false để ẩn kỹ năng khỏi việc gọi thủ công bằng `$`. Mặc định: true.user-invocable: false
disable-model-invocationBooleanĐặt thành true để loại trừ kỹ năng khỏi danh mục kỹ năng do mô hình gọi. Việc gọi thủ công vẫn được cho phép trừ khi `user-invocable` là false.disable-model-invocation: true
allowed-toolsArray/List of StringsTạm thời hợp nhất các công cụ này vào bộ công cụ hiệu quả của tác nhân khi kỹ năng được áp dụng thủ công hoặc luôn luôn.allowed-tools: ["execute_code"]

Các chế độ gọi (Invocation Modes)

Các kỹ năng có thể tiếp cận một agent theo ba cách:

  • Thủ công: người dùng nhập $ trong khung chat và chọn một kỹ năng từ cửa sổ bật lên.
  • Model-invoked: mô hình chọn một kỹ năng từ danh mục kỹ năng được đưa vào và gọi công cụ kỹ năng đó.
  • Luôn áp dụng: kỹ năng được chuẩn bị sẵn trong mọi lượt khi đang hoạt động.

Việc gọi thủ công là ý định rõ ràng của người dùng. Nó có thể sử dụng các kỹ năng bị ẩn khỏi việc gọi bởi mô hình với disable-model-invocation: true, miễn là user-invocable không được đặt là false.

Phạm vi của Agent

Các Agent phải được bật Skills trước khi có thể sử dụng catalog.

  • Nếu skills_enabled là false hoặc không được thiết lập trên một agent đã lưu, các kỹ năng sẽ không hoạt động đối với agent đó.
  • Nếu skills_enabled là true và không có danh sách cho phép (allowlist) kỹ năng nào được thiết lập, tác nhân (agent) có thể sử dụng toàn bộ danh mục đang hoạt động mà người dùng có thể nhìn thấy.
  • Nếu skills_enabled là true và skills chứa các ID kỹ năng cụ thể, tác nhân (agent) sẽ bị giới hạn trong danh sách đó.

Điều này cho phép quản trị viên hiển thị tính năng Skills trên toàn hệ thống trong khi vẫn giữ cho tập hợp kỹ năng có thể sử dụng của từng agent được tập trung.

Các kỹ năng đang hoạt động và được chia sẻ

Người dùng có thể bật hoặc tắt các kỹ năng. Các kỹ năng sở hữu mặc định sẽ ở trạng thái hoạt động. Các kỹ năng được chia sẻ sẽ sử dụng cấu hình mặc định của quản trị viên cho đến khi người dùng ghi đè chúng.

Các kỹ năng không hoạt động sẽ bị loại trừ khỏi:

  • Popover $
  • Danh mục kỹ năng được gọi bởi model
  • Luôn áp dụng priming

Các tệp được đóng gói

Các gói kỹ năng (skill bundles) được tải lên có thể bao gồm các tệp đi kèm với SKILL.md, chẳng hạn như:

  • references/...
  • scripts/...
  • assets/...

Backend lưu trữ các tệp đó cùng với skill. Agent có thể phân giải các tệp skill khi skill đó đang hoạt động và nằm trong phạm vi.

Mẹo soạn thảo

Hãy giữ description cụ thể. Đây là tín hiệu mạnh nhất cho các kỹ năng do mô hình kích hoạt. Một mô tả ngắn hoặc mơ hồ sẽ dẫn đến việc kích hoạt không đủ mức cần thiết.

Hướng dẫn này thế nào?