Playbooks
สูตรสำเร็จจากชุมชน
แต่ละ playbook คือปัญหาจริง → ขั้นตอน → โค้ด → ผลลัพธ์ คัดลอกไปใช้ได้เลย
📘 สร้าง RAG Chatbot
ปัญหา: ต้องการให้ AI ตอบคำถามจากเอกสารองค์กร โดยอ้างอิงแหล่งที่มาได้
from nara import chat
from nara.rag import DocumentStore
# 1. โหลดเอกสารเข้า store
store = DocumentStore()
store.add_pdf("./docs/policy.pdf")
store.add_pdf("./docs/handbook.pdf")
store.add_text("คู่มือ HR", open("hr.txt").read())
# 2. สร้าง chatbot ที่อ้างอิงเอกสาร
model = chat.load("nara-ai-7b")
bot = model.rag(store=store, top_k=3)
# 3. ถาม-ตอบ พร้อม citation
result = bot.ask("ลาพักร้อนกี่วันต่อปี?")
print(result.answer)
# "พนักงานลาพักร้อนได้ 10 วันต่อปี..."
print(result.sources)
# ["policy.pdf หน้า 12", "handbook.pdf หน้า 8"] 📄 ระบบถามตอบเอกสาร (Document QA)
ปัญหา: มีเอกสาร PDF ยาวๆ อยากให้สรุปและตอบคำถามได้
from nara import chat
model = chat.load("nara-ai-7b")
# สรุปเอกสาร
summary = model.summarize(
open("contract.pdf").read(),
max_length=200,
style="bullet" # bullet / paragraph / executive
)
# ถามคำถามเจาะจง
answer = model.ask(
"สัญญานี้มี clause ที่เสี่ยงต่อผู้เช่าไหม?",
context=open("contract.pdf").read()
) 💬 แชทบอทภาษาไทยบน LINE
ปัญหา: ต้องการแชทบอทตอบลูกค้าภาษาไทยบน LINE OA
// TypeScript + LINE Messaging API + Nara AI
import { Chat } from "@naralab/ai";
import { LineBot } from "@line/bot-sdk";
const model = new Chat({ model: "nara-ai-7b" });
const line = new LineBot({ channelAccessToken: process.env.LINE_TOKEN });
const conv = model.conversation({
systemPrompt: "คุณเป็นพนักงานบริการลูกค้า ตอบสุภาพและกระชับ"
});
line.on("message", async (event) => {
if (event.message.type !== "text") return;
const userText = event.message.text;
conv.user(userText);
const reply = await conv.reply();
await line.replyMessage(event.replyToken, {
type: "text",
text: reply
});
});
line.listen("/webhook", 3000); 🎤 ถอดเสียงเป็นข้อความ
ปัญหา: มีไฟล์เสียงสัมภาษณ์ ต้องการถอดเป็นข้อความและสรุป
from nara import audio
# ถอดเสียงภาษาไทย
transcript = audio.transcribe(
"interview.mp3",
language="th",
speaker_diarization=True # แยกเสียงคนพูด
)
print(transcript.text)
# สรุปด้วย LLM
from nara import chat
model = chat.load("nara-ai-7b")
summary = model.summarize(transcript.text, style="bullet") 🤖 สร้าง Coding Agent
ปัญหา: ต้องการ AI agent ที่อ่าน codebase และช่วย review/แก้บั๊ก
from nara import agents
# สร้าง agent ที่เข้าถึงไฟล์ได้
agent = agents.build(
model="nara-ai-7b",
tools=["file_read", "file_write", "bash", "git"],
workspace="./my-project",
system_prompt="""คุณเป็น senior developer
อ่านโค้ดก่อนแก้ อธิบายเหตุผล และไม่แก้ไฟล์ที่ไม่เกี่ยวข้อง"""
)
# ให้ agent ทำงาน
result = agent.run(
"ตรวจหา bug ในไฟล์ auth.py แล้วแก้ให้",
approval="always" # ถามก่อนแก้ทุกครั้ง
)
for step in result.steps:
print(f"{step.action}: {step.summary}")
if step.diff:
print(step.diff) 💡 แบ่งปัน Playbook ของคุณ
สร้างอะไรดีๆ กับ Nara AI? แบ่งปันได้ที่ GitHub Playbooks เราจะเลือกมาลงหน้านี้