Skip to content

Prompt Setleri Oluşturma

Bu öğreticide Prompt Lab'da bir prompt şablonu oluşturacak, örnek girdiyle test edecek ve ajanlarınız ile iş akışlarınız tarafından kullanılmak üzere yayınlayacaksınız.

Ön Koşullar

  • Geçerli bir erişim token'ına sahip bir Chainabit hesabı
  • Terminalinizde curl kurulu olmalı
  • Mevcut bir çalışma alanı (bkz. Çalışma Alanları API'si (EN))

Ortam değişkenlerinizi ayarlayın:

bash
export TOKEN="your-access-token"
export WORKSPACE_ID="ws_01HQ..."

Prompt Lab Akışı


Adım 1: Prompt Şablonu Oluşturma

Değişken yer tutucuları içeren yeniden kullanılabilir bir prompt şablonu tanımlayın:

bash
curl -s -X POST "https://api.chainabit.com/api/v1/workspaces/$WORKSPACE_ID/ai/prompt-lab/templates" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Weekly Report Generator",
    "description": "Generates a weekly activity report from completion data",
    "template": "You are a productivity analyst. Given the following activity data for the week of {{weekOf}}:\n\n{{activityData}}\n\nGenerate a concise weekly report that includes:\n1. Overall completion rate\n2. Longest streaks\n3. Areas for improvement\n4. One motivational insight",
    "variables": ["weekOf", "activityData"],
    "modelId": "model_01HQ..."
  }'
javascript
const res = await fetch(
  `https://api.chainabit.com/api/v1/workspaces/${WORKSPACE_ID}/ai/prompt-lab/templates`,
  {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${TOKEN}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      name: 'Weekly Report Generator',
      description:
        'Generates a weekly activity report from completion data',
      template:
        'You are a productivity analyst. Given the following activity data for the week of {{weekOf}}:\n\n{{activityData}}\n\nGenerate a concise weekly report that includes:\n1. Overall completion rate\n2. Longest streaks\n3. Areas for improvement\n4. One motivational insight',
      variables: ['weekOf', 'activityData'],
      modelId: 'model_01HQ...',
    }),
  },
);
const data = await res.json();
console.log(data);
python
import requests

res = requests.post(
    f"{BASE}/workspaces/{WORKSPACE_ID}/ai/prompt-lab/templates",
    headers={
        "Authorization": f"Bearer {TOKEN}",
        "Content-Type": "application/json",
    },
    json={
        "name": "Weekly Report Generator",
        "description": "Generates a weekly activity report from completion data",
        "template": "You are a productivity analyst. Given the following activity data for the week of {{weekOf}}:\n\n{{activityData}}\n\nGenerate a concise weekly report that includes:\n1. Overall completion rate\n2. Longest streaks\n3. Areas for improvement\n4. One motivational insight",
        "variables": ["weekOf", "activityData"],
        "modelId": "model_01HQ...",
    },
)
print(res.json())

Yanıt:

json
{
  "data": {
    "id": "tmpl_01HQA...",
    "name": "Weekly Report Generator",
    "status": "draft",
    "variables": ["weekOf", "activityData"],
    "createdAt": "2026-03-17T10:00:00.000Z"
  }
}

Şablon ID'sini kaydedin:

bash
export TEMPLATE_ID="tmpl_01HQA..."

Adım 2: Şablonu Test Etme

Çıktıyı önizlemek için şablonu örnek değişken değerleriyle çalıştırın:

bash
curl -s -X POST "https://api.chainabit.com/api/v1/workspaces/$WORKSPACE_ID/ai/prompt-lab/templates/$TEMPLATE_ID/test" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "variables": {
      "weekOf": "March 10, 2026",
      "activityData": "Push-ups: 5/7 days, Running: 7/7 days, Meal Prep: 4/7 days, Stretching: 6/7 days"
    }
  }'
javascript
const res = await fetch(
  `https://api.chainabit.com/api/v1/workspaces/${WORKSPACE_ID}/ai/prompt-lab/templates/${TEMPLATE_ID}/test`,
  {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${TOKEN}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      variables: {
        weekOf: 'March 10, 2026',
        activityData:
          'Push-ups: 5/7 days, Running: 7/7 days, Meal Prep: 4/7 days, Stretching: 6/7 days',
      },
    }),
  },
);
const data = await res.json();
console.log(data);
python
res = requests.post(
    f"{BASE}/workspaces/{WORKSPACE_ID}/ai/prompt-lab/templates/{TEMPLATE_ID}/test",
    headers={
        "Authorization": f"Bearer {TOKEN}",
        "Content-Type": "application/json",
    },
    json={
        "variables": {
            "weekOf": "March 10, 2026",
            "activityData": "Push-ups: 5/7 days, Running: 7/7 days, Meal Prep: 4/7 days, Stretching: 6/7 days",
        },
    },
)
print(res.json())

Yanıt:

json
{
  "data": {
    "output": "## Weekly Report: March 10, 2026\n\n**Overall Completion Rate:** 79% (22/28 activities)\n\n**Longest Streak:** Running at 7 consecutive days.\n\n**Areas for Improvement:** Meal Prep had the lowest completion at 57%. Consider batch-cooking on Sundays.\n\n**Insight:** Your running consistency is remarkable. Apply that same discipline to meal prep by pairing it with an existing habit.",
    "tokensUsed": 198,
    "latencyMs": 1240
  }
}

Adım 3: Şablonu Yayınlama

Çıktıdan memnun kaldığınızda, şablonu kullanıma sunmak için yayınlayın:

bash
curl -s -X PATCH "https://api.chainabit.com/api/v1/workspaces/$WORKSPACE_ID/ai/prompt-lab/templates/$TEMPLATE_ID" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "published"
  }'
javascript
const res = await fetch(
  `https://api.chainabit.com/api/v1/workspaces/${WORKSPACE_ID}/ai/prompt-lab/templates/${TEMPLATE_ID}`,
  {
    method: 'PATCH',
    headers: {
      Authorization: `Bearer ${TOKEN}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ status: 'published' }),
  },
);
const data = await res.json();
console.log(data);
python
res = requests.patch(
    f"{BASE}/workspaces/{WORKSPACE_ID}/ai/prompt-lab/templates/{TEMPLATE_ID}",
    headers={
        "Authorization": f"Bearer {TOKEN}",
        "Content-Type": "application/json",
    },
    json={"status": "published"},
)
print(res.json())

Yanıt:

json
{
  "data": {
    "id": "tmpl_01HQA...",
    "name": "Weekly Report Generator",
    "status": "published",
    "updatedAt": "2026-03-17T10:03:00.000Z"
  }
}

Özet

Bu öğreticide şunları yaptınız:

  1. Değişken yer tutucuları içeren bir prompt şablonu oluşturdunuz
  2. Şablonu örnek girdi verileriyle test ettiniz
  3. Şablonu üretim kullanımı için yayınladınız

Sonraki Adımlar

Built with purpose.