هغه اجنټ چې د شپې په درې بجو له څارنې پرته کار کوي، په هماغه اندازه ارزښت لري چې تاسو وروسته وکولی شئ بیا جوړ کړئ چې څه یې کړي. «د شپې یې د ۳۸ ډالرو ټوکنونه وسوځول» یو بد سهار دی. «۳۸ ډالر یې وسوځول ځکه چې د لټون وسیلې یوه خالي پاڼه راوګرځوله او پلانر ۴۰۰ ځله بیا هڅه وکړه» داسې بګ دی چې د غرمې تر ډوډۍ مخکې یې سموئ. دویمې جملې ته تعقیب اړین دی.
هر LLM کال، هر prompt، د وسیلې ګام، د ټوکنونو شمېر او ځنډ Langfuse د یوې ونې په بڼه ثبتوي چې په کلیک پکې ګرځېدلی شئ. کله چې یې پخپله کوربه کوئ، دا promptونه او ځوابونه — چې ډېری وخت پکې د پېرودونکو معلومات، د API پایلې او کله ناکله کوم هېر شوی راز هم وي — ستاسو د کنټرول لاندې سرور کې پاتې کېږي، نه د بل چا په ډشبورډ کې.
د چلولو لګښت
Langfuse v4 یوه کوچنۍ باینري نه ده، بلکې شپږ کانټینرونه دي: ویب اپ، د شاليد worker، Postgres، د پېښو لپاره ClickHouse، Redis او د فایلونو لپاره MinIO. موږ دا د ازموینې پر سرور نصب کړ او د خالي پروژې سره مو شاوخوا ۳.۵ GB کارېدونکې RAM اندازه کړه. هغه څه چې لویېږي ClickHouse دی، ځکه هر span چې تاسو یې لېږئ هلته ځي.
| بار | پلان |
|---|---|
| یو څو اجنټان، د اونیو تعقیبونه | Medium-IP: ۶ vCPU، ۶ GB، ۴۵ GB ($20/میاشت) |
| د اجنټانو فلیټ، د میاشتو تاریخچه | Pro پلانونه، له ۳۲ GB RAM پورته — د غوښتنې پر بنسټ |
په کوچنیو پلانونو نصبېږي، خو وروسته کله چې ClickHouse او worker په یو وخت حافظه وغواړي، ستړی کېږي. زه به له ۶ GB کم نه اخلم.
اجنټان چېرته اوسېږي؟ که په نورو ماشینونو چلېږي، داسې پلان واخلئ چې خپل IPv4 ولري: دوی HTTPS endpoint ته اړتیا لري، او په NAT پلان کې وتونکې پته ستاسو خپله نه ده او له بهر یوازې SSH پورټ ته رسېدای شئ. که اجنټان په همدې سرور کې چلېږي، Langfuse هېڅ اړتیا نه لري چې انټرنیټ ته مخ شي: د ازموینې لپاره د NAT سره Medium ($12/میاشت) بس دی. دوه ځایونه شته، آلمان او فنلنډ؛ شتون د امر پر مهال ښکاري. هغه وټاکئ چې اجنټانو ته نږدې وي، نه تاسو ته. د سرور پیسې په کریپټو ورکول کېږي، له KYC پرته.
نصب
پر یو نوي Ubuntu 24.04 یا Debian 12 سرور، د root په توګه. لومړی Docker:
curl -fsSL https://get.docker.com | sh
بیا پخپله Langfuse، د compose فایل د ډیفالټ ارزښتونو پر ځای د ریښتینو رازونو سره:
git clone --depth 1 https://github.com/langfuse/langfuse.git
cd langfuse
PG=$(openssl rand -hex 16); MINIO=$(openssl rand -hex 16)
cat > .env <<EOF
NEXTAUTH_URL=https://langfuse.example.com
NEXTAUTH_SECRET=$(openssl rand -hex 32)
SALT=$(openssl rand -hex 32)
ENCRYPTION_KEY=$(openssl rand -hex 32)
POSTGRES_PASSWORD=$PG
DATABASE_URL=postgresql://postgres:$PG@postgres:5432/postgres
CLICKHOUSE_PASSWORD=$(openssl rand -hex 16)
MINIO_ROOT_PASSWORD=$MINIO
LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY=$MINIO
LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY=$MINIO
LANGFUSE_S3_BATCH_EXPORT_SECRET_ACCESS_KEY=$MINIO
REDIS_AUTH=$(openssl rand -hex 16)
TELEMETRY_ENABLED=false
EOF
chmod 600 .env
له دې پاسورډونو دوه جوړه دي: د Postgres پاسورډ د DATABASE_URL دننه هم شته، او د MinIO پاسورډ باید د S3_..._SECRET_ACCESS_KEY درې کرښو سره سمون ولري. له همدې امله هر یو له یوه متغیر راځي.
اوس لومه. د compose فایل ویب اپ په 3000 پورټ او MinIO په 9090 پورټ پر ټولو انټرفېسونو خپروي، او هغه پورټونه چې Docker یې خپروي له ufw څخه تېرېږي. دواړه localhost پورې وتړئ، ترڅو یوازینۍ دروازه reverse proxy پاتې شي:
sed -i 's/- 3000:3000/- 127.0.0.1:3000:3000/; s/- 9090:9000/- 127.0.0.1:9090:9000/' docker-compose.yml
docker compose up -d
curl -s http://127.0.0.1:3000/api/public/health
وروستی کمانډ باید {"status":"OK", ...} وښيي. لومړی پیل د ډیټابېس مهاجرتونه چلوي؛ زموږ په ازموینه کې د روغتیا ازموینه د کانټینرونو له پورته کېدو شاوخوا ۱۵ ثانیې وروسته بریالۍ شوه.
مخې ته HTTPS
ډومېن langfuse.example.com د سرور IP ته وګرځوئ، بیا:
apt install -y caddy
cat > /etc/caddy/Caddyfile <<'EOF'
langfuse.example.com {
reverse_proxy 127.0.0.1:3000
}
EOF
systemctl reload caddy
ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp && ufw enable
سند Caddy پخپله اخلي. سایټ پرانیزئ، خپل حساب جوړ کړئ (لومړی سازمان کېږي)، یوه پروژه ورزیاته کړئ او د هغې عامه او پټه کلي کاپي کړئ.
بیا دروازه شاته وتړئ. Langfuse متغیر AUTH_DISABLE_SIGNUP پېژني، خو ډیفالټ compose فایل یې web کانټینر ته نه لېږدوي، نو د langfuse-web لاندې یوې بلې کرښې ته اړتیا ده:
sed -i 's|^ NEXTAUTH_SECRET: \(.*\)$| NEXTAUTH_SECRET: \1\n AUTH_DISABLE_SIGNUP: ${AUTH_DISABLE_SIGNUP:-false}|' docker-compose.yml
echo "AUTH_DISABLE_SIGNUP=true" >> .env
docker compose up -d
له اوسه وروسته د نوم لیکنې هره هڅه «Sign up is disabled» ترلاسه کوي. همکاران د پروژې له دننه ورزیات کړئ.
له اجنټ څخه د تعقیب لېږل
د Python SDK ستاسو فنکشنونه رانغاړي، او یو په بل کې کالونه یو په بل کې spans کېږي:
python3 -m venv venv && . venv/bin/activate
pip install langfuse
export LANGFUSE_PUBLIC_KEY=pk-lf-...
export LANGFUSE_SECRET_KEY=sk-lf-...
export LANGFUSE_BASE_URL=https://langfuse.example.com
from langfuse import get_client, observe
langfuse = get_client() # د LANGFUSE_* متغیرونه لولي
@observe(name="fetch-prices")
def fetch_prices(pair: str) -> dict:
return {"pair": pair, "bid": 64210.5}
@observe(name="nightly-agent-run")
def run() -> str:
data = fetch_prices("BTC/USDT")
return f"done: {data['pair']}"
print(run())
langfuse.flush() # لنډ سکریپټونه د شالید لېږد له پای ته رسېدو مخکې بندېږي
متغیر LANGFUSE_BASE_URL مه پرېږدئ. له دې پرته SDK په چوپتیا هر څه د Langfuse کلاوډ ته لېږي، ستاسو کلیانې هلته نشته، او تاسو خالي ډشبورډ ته ګورئ.
له ټرمینل څخه وګورئ چې spans رسېدلي:
curl -s -u "$LANGFUSE_PUBLIC_KEY:$LANGFUSE_SECRET_KEY" \
"$LANGFUSE_BASE_URL/api/public/v2/observations?limit=5"
په v4 نسخه کې زوړ endpoint /api/public/traces د events-only حالت په اړه تېروتنه راګرځوي. دا تمه کېدونکې ده، نصب خراب نه دی. په ریښتیني اجنټ کې د LLM کال او هره وسیله په همدې ډول رانغاړئ؛ سربېره پر دې Langfuse د مشهورو LLM SDKګانو او د اجنټ فریم ورکونو لپاره ادغامونه لري، نو ډېری وخت د یوه import بدلول بس دي، پر ځای د دې چې هر ځای ډیکوریټرونه ولګوئ.
پر څه سترګې ولرئ
- ډیسک. ClickHouse او MinIO هر هغه څه ساتي چې تاسو یې لېږئ. ځای چېرته تللی،
docker system df -vیې ښيي. که اوږده promptونه او ځوابونه تعقیبوئ، د Medium-IP ۴۵ GB په اونیو کې ډکېږي، نه په کلونو کې. په میاشت کې یو ځل یې وګورئ؛ کله چې تنګ شي، د ۴۰۰ GB یا ډېر Pro پلان د غوښتنې پر بنسټ برابرېږي. - تازه کول. د compose فایل اصلي نسخه (
:4) ثابتوي. docker compose pull && docker compose up -dد هماغې نسخې دننه سمونونه راوړي. د اصلي نسخې تر بدلولو مخکې changelog ولولئ: د تعقیبونو endpoint همدا په v4 کې ورک شو. - بیک اپ. هغه څه چې مهم دي د Docker په volumeونو کې دي: Postgres کاروونکي، پروژې او کلیانې ساتي، ClickHouse او MinIO پخپله تعقیبونه. هغه د مهال وېش سره سم له سرور بهر کاپي کړئ.
ایا دا په میاشت کې $20 ارزي؟ که ستاسو اجنټان پر ټوکنونو له دې ډېر لګوي — او ډېری بې څارنې اجنټان لګوي — نو پوهېدل چې ټوکنونه چېرته تلل، لومړی ځل چې کوم لوپ له کنټرول ووځي خپل لګښت پوره کوي. یو کوچنی اجنټ چې ورځ کې یو ځل چلېږي، دې هېڅ شي ته اړتیا نه لري: یو لاګ فایل او د ټوکنونو شمېرونکی بس دی.
اړوند
- د AI اجنټانو لپاره VPS: چېرته چې پخپله اجنټان چلېږي
- د څو-اجنټ سیسټمونو لپاره VPS: د بشپړ فلیټ لپاره د سرچینو اټکل
- د LiteLLM پراکسي لپاره VPS: د ماډلونو د ټولو کلیانو لپاره یوه دروازه، د لګښت له حد سره
- د غوښتنې پر بنسټ Pro پلانونه: د اجنټانو فلیټ لپاره له ۳۲ تر ۸۰ GB RAM
- د ufw فایروال څنګه تنظیم کړو
تبصرې
لا تبصرې نشته. لومړی اوسئ.