Visitar URL original
langfuse/README.kr.md at main ยท bytes-code/langfuse ยท GitHub
Skip to content

Latest commit

ย 

History

History
341 lines (266 loc) ยท 34.5 KB

README.kr.md

File metadata and controls

341 lines (266 loc) ยท 34.5 KB

Langfuse GitHub Banner


Langfuse๋Š” ์ง€์› ๋ฐ ๊ธฐ๋Šฅ ์š”์ฒญ์„ ์œ„ํ•ด GitHub Discussions๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
์ฑ„์šฉ ์ค‘์ž…๋‹ˆ๋‹ค. ํ•จ๊ป˜ ํ•˜์„ธ์š” โ€“ ์ œํ’ˆ ์—”์ง€๋‹ˆ์–ด๋ง ๋ฐ ๊ธฐ์ˆ  go-to-market ์—ญํ• ์˜ ์ธ์žฌ๋ฅผ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

MIT License Y Combinator W23 Docker Pulls langfuse Python package on PyPi langfuse npm package
chat on Discord follow on X(Twitter) follow on LinkedIn Commits last month Issues closed Discussion posts

README in English ็ฎ€ไฝ“ไธญๆ–‡็‰ˆ่‡ช่ฟฐๆ–‡ไปถ ๆ—ฅๆœฌ่ชžใฎREADME README in Korean

Langfuse๋Š” ์˜คํ”ˆ ์†Œ์Šค LLM ์—”์ง€๋‹ˆ์–ด๋ง ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.
ํŒ€์ด ํ˜‘์—…ํ•˜์—ฌ AI ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœ, ๋ชจ๋‹ˆํ„ฐ๋ง, ํ‰๊ฐ€ ๋ฐ ๋””๋ฒ„๊ทธํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.
Langfuse๋Š” ๋ช‡ ๋ถ„ ์•ˆ์— ์…€ํ”„ ํ˜ธ์ŠคํŒ…ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฒ€์ฆ๋œ(battle-tested) ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค.

Langfuse Overview Video

โœจ ์ฃผ์š” ๊ธฐ๋Šฅ

Langfuse Overview

  • LLM ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ด€์ธก
    ์•ฑ์— ๊ณ„์ธก(instrumentation)์„ ์ถ”๊ฐ€ํ•˜์—ฌ Langfuse๋กœ trace ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•จ์œผ๋กœ์จ, ๊ฒ€์ƒ‰, ์ž„๋ฒ ๋”ฉ, ๋˜๋Š” ์—์ด์ „ํŠธ ๋™์ž‘๊ณผ ๊ฐ™์€ LLM ํ˜ธ์ถœ ๋ฐ ๊ธฐํƒ€ ๊ด€๋ จ ๋กœ์ง์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณต์žกํ•œ ๋กœ๊ทธ์™€ ์‚ฌ์šฉ์ž ์„ธ์…˜์„ ํ™•์ธ ๋ฐ ๋””๋ฒ„๊น… ํ•ด๋ณด์„ธ์š”. ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ๋ฐ๋ชจ๋ฅผ ํ†ตํ•ด ์‹ค์ œ ์ž‘๋™ ์˜ˆ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ”„๋กฌํ”„ํŠธ ๊ด€๋ฆฌ
    ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ค‘์•™์—์„œ ๊ด€๋ฆฌํ•˜๊ณ  ๋ฒ„์ „ ๊ด€๋ฆฌํ•˜๋ฉฐ ํ˜‘์—…์œผ๋กœ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค. ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ์ธก์˜ ๊ฐ•๋ ฅํ•œ ์บ์‹ฑ ๋•๋ถ„์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ง€์—ฐ(latency)์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ณ ๋„ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ฐ˜๋ณต ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ‰๊ฐ€
    LLM ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ์›Œํฌํ”Œ๋กœ์šฐ์—์„œ ํ•ต์‹ฌ์ ์ธ ์—ญํ• ์„ ํ•˜๋ฉฐ, Langfuse๋Š” ์—ฌ๋Ÿฌ๋ถ„์˜ ํ•„์š”์— ๋งž๊ฒŒ ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์‘ํ•ฉ๋‹ˆ๋‹ค. LLM์„ ์‹ฌ์‚ฌ์ž๋กœ ํ™œ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ, ์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ ์ˆ˜์ง‘, ์ˆ˜๋™ ๋ผ๋ฒจ๋ง ๋ฐ API/SDK๋ฅผ ํ†ตํ•œ ๋งž์ถค ํ‰๊ฐ€ ํŒŒ์ดํ”„๋ผ์ธ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฐ์ดํ„ฐ์…‹
    LLM ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ‰๊ฐ€๋ฅผ ์œ„ํ•œ ํ…Œ์ŠคํŠธ ์„ธํŠธ์™€ ๋ฒค์น˜๋งˆํฌ๋ฅผ ์ œ๊ณตํ•˜์—ฌ, ์ง€์†์ ์ธ ๊ฐœ์„ , ๋ฐฐํฌ ์ „ ํ…Œ์ŠคํŠธ, ๊ตฌ์กฐํ™”๋œ ์‹คํ—˜, ์œ ์—ฐํ•œ ํ‰๊ฐ€ ๋ฐ LangChain๊ณผ LlamaIndex์™€ ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ์™€์˜ ์›ํ™œํ•œ ํ†ตํ•ฉ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • LLM ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ
    ํ”„๋กฌํ”„ํŠธ์™€ ๋ชจ๋ธ ๊ตฌ์„ฑ์— ๋Œ€ํ•ด ํ…Œ์ŠคํŠธ ๋ฐ ๋ฐ˜๋ณต ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๋กœ, ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„๋ฅผ ๋‹จ์ถ•ํ•˜์—ฌ ๊ฐœ๋ฐœ ์†๋„๋ฅผ ๋†’์—ฌ์ค๋‹ˆ๋‹ค. trace์—์„œ ์ด์ƒํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ๋กœ ๋ฐ”๋กœ ์ด๋™ํ•ด ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ข…ํ•ฉ API
    Langfuse๋Š” API๋ฅผ ํ†ตํ•ด ์ œ๊ณต๋˜๋Š” ๊ตฌ์„ฑ ์š”์†Œ๋“ค์„ ํ™œ์šฉํ•˜์—ฌ ๋งž์ถคํ˜• LLMOps ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๊ฐ•ํ™”ํ•˜๋Š” ๋ฐ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. OpenAPI ๋ช…์„ธ, Postman ์ปฌ๋ ‰์…˜, Python ๋ฐ JS/TS์šฉ ํƒ€์ž…๋“œ SDK๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

๐Ÿ“ฆ Langfuse ๋ฐฐํฌ

Langfuse Deployment Options

Langfuse Cloud

Langfuse ํŒ€์ด ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฐํฌ ๋ฐฉ์‹์œผ๋กœ, ํ›„ํ•œ ๋ฌด๋ฃŒ ํ”Œ๋žœ(์ทจ๋ฏธ ํ”Œ๋žœ)์„ ์ œ๊ณตํ•˜๋ฉฐ ์‹ ์šฉ์นด๋“œ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Langfuse ์…€ํ”„ ํ˜ธ์ŠคํŠธ

์ž์ฒด ์ธํ”„๋ผ์—์„œ Langfuse๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”:

  • ๋กœ์ปฌ (docker compose): Docker Compose๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณธ์ธ์˜ ์ปดํ“จํ„ฐ์—์„œ 5๋ถ„ ์•ˆ์— Langfuse๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    # ์ตœ์‹  Langfuse ์ €์žฅ์†Œ ํด๋ก 
    git clone https://github.com/langfuse/langfuse.git
    cd langfuse
    
    # langfuse docker compose ์‹คํ–‰
    docker compose up
  • Kubernetes (Helm): Helm์„ ์‚ฌ์šฉํ•ด Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์—์„œ Langfuse๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ถŒ์žฅ๋˜๋Š” ํ”„๋กœ๋•์…˜ ๋ฐฐํฌ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

  • VM: Docker Compose๋ฅผ ์‚ฌ์šฉํ•ด ๋‹จ์ผ ๊ฐ€์ƒ ๋จธ์‹ ์—์„œ Langfuse๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • Terraform ํ…œํ”Œ๋ฆฟ: AWS, Azure, GCP

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ž์ฒด ํ˜ธ์ŠคํŒ… ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๐Ÿ”Œ ํ†ตํ•ฉ ๊ธฐ๋Šฅ

Langfuse Integrations

์ฃผ์š” ํ†ตํ•ฉ:

ํ†ตํ•ฉ ์ง€์› ์„ค๋ช…
SDK Python, JS/TS SDK๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์™„์ „ํ•œ ์œ ์—ฐ์„ฑ์„ ๊ฐ–์ถ˜ ์ˆ˜๋™ ๊ณ„์ธก(manual instrumentation)์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
OpenAI Python, JS/TS OpenAI SDK์˜ ๋“œ๋กญ์ธ ๋Œ€์ฒด(drop-in replacement)๋ฅผ ํ†ตํ•ด ์ž๋™ ๊ณ„์ธก(automated instrumentation)์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
Langchain Python, JS/TS Langchain ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— callback ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์ „๋‹ฌํ•˜์—ฌ ์ž๋™ ๊ณ„์ธกํ•ฉ๋‹ˆ๋‹ค.
LlamaIndex Python LlamaIndex ์ฝœ๋ฐฑ ์‹œ์Šคํ…œ์„ ํ†ตํ•œ ์ž๋™ ๊ณ„์ธก์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
Haystack Python Haystack ์ฝ˜ํ…์ธ  ์ถ”์  ์‹œ์Šคํ…œ์„ ํ†ตํ•œ ์ž๋™ ๊ณ„์ธก์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
LiteLLM Python, JS/TS (proxy only) GPT์˜ ๋“œ๋กญ์ธ ๋Œ€์ฒดํ’ˆ์œผ๋กœ ์–ด๋–ค LLM๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Azure, OpenAI, Cohere, Anthropic, Ollama, VLLM, Sagemaker, HuggingFace, Replicate ๋“ฑ 100๊ฐœ ์ด์ƒ์˜ LLM ์ง€์›.
Vercel AI SDK JS/TS React, Next.js, Vue, Svelte, Node.js์™€ ํ•จ๊ป˜ AI ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์ถ•์„ ๋•๋Š” TypeScript ํˆดํ‚ท์ž…๋‹ˆ๋‹ค.
API ๊ณต๊ฐœ API๋ฅผ ์ง์ ‘ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. OpenAPI ๋ช…์„ธ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

Langfuse์™€ ํ†ตํ•ฉ๋œ ํŒจํ‚ค์ง€:

์ด๋ฆ„ ์œ ํ˜• ์„ค๋ช…
Instructor ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ตฌ์กฐํ™”๋œ LLM ์ถœ๋ ฅ์„(JSON, Pydantic) ์–ป๊ธฐ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.
DSPy ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์–ธ์–ด ๋ชจ๋ธ ํ”„๋กฌํ”„ํŠธ์™€ ๊ฐ€์ค‘์น˜๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ์ตœ์ ํ™”ํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.
Mirascope ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ LLM ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์ถ•์„ ์œ„ํ•œ Python ํˆดํ‚ท์ž…๋‹ˆ๋‹ค.
Ollama ๋ชจ๋ธ (๋กœ์ปฌ) ์ž์‹ ์˜ ์ปดํ“จํ„ฐ์—์„œ ์˜คํ”ˆ ์†Œ์Šค LLM์„ ์†์‰ฝ๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Amazon Bedrock ๋ชจ๋ธ AWS์—์„œ ๊ธฐ๋ณธ ๋ฐ ํŒŒ์ธํŠœ๋‹๋œ ๋ชจ๋ธ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
Google VertexAI and Gemini ๋ชจ๋ธ Google์—์„œ ๊ธฐ๋ณธ ๋ฐ ํŒŒ์ธํŠœ๋‹๋œ ๋ชจ๋ธ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
AutoGen ์—์ด์ „ํŠธ ํ”„๋ ˆ์ž„์›Œํฌ ๋ถ„์‚ฐ ์—์ด์ „ํŠธ ๊ตฌ์ถ•์„ ์œ„ํ•œ ์˜คํ”ˆ ์†Œ์Šค LLM ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.
Flowise ์ฑ„ํŒ…/์—์ด์ „ํŠธ UI ๋งž์ถคํ˜• LLM ํ”Œ๋กœ์šฐ๋ฅผ ์œ„ํ•œ JS/TS ์ฝ”๋“œ ์—†๋Š”(no-code) ๋นŒ๋”์ž…๋‹ˆ๋‹ค.
Langflow ์ฑ„ํŒ…/์—์ด์ „ํŠธ UI react-flow๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‹คํ—˜ ๋ฐ ํ”„๋กœํ† ํƒ€์ดํ•‘์„ ์†์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋””์ž์ธ๋œ LangChain์šฉ Python ๊ธฐ๋ฐ˜ UI์ž…๋‹ˆ๋‹ค.
Dify ์ฑ„ํŒ…/์—์ด์ „ํŠธ UI ์ฝ”๋“œ ์—†๋Š” ๋นŒ๋”์™€ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” ์˜คํ”ˆ ์†Œ์Šค LLM ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.
OpenWebUI ์ฑ„ํŒ…/์—์ด์ „ํŠธ UI ์…€ํ”„ ํ˜ธ์ŠคํŒ… ๋ฐ ๋กœ์ปฌ ๋ชจ๋ธ ๋“ฑ ๋‹ค์–‘ํ•œ LLM ์‹คํ–‰๊ธฐ๋ฅผ ์ง€์›ํ•˜๋Š” ์…€ํ”„ ํ˜ธ์ŠคํŒ… LLM ์ฑ„ํŒ… ์›น UI์ž…๋‹ˆ๋‹ค.
Promptfoo ๋„๊ตฌ ์˜คํ”ˆ ์†Œ์Šค LLM ํ…Œ์ŠคํŠธ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.
LobeChat ์ฑ„ํŒ…/์—์ด์ „ํŠธ UI ์˜คํ”ˆ ์†Œ์Šค ์ฑ—๋ด‡ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.
Vapi ํ”Œ๋žซํผ ์˜คํ”ˆ ์†Œ์Šค ์Œ์„ฑ AI ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.
Inferable ์—์ด์ „ํŠธ ๋ถ„์‚ฐ ์—์ด์ „ํŠธ ๊ตฌ์ถ•์„ ์œ„ํ•œ ์˜คํ”ˆ ์†Œ์Šค LLM ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.
Gradio ์ฑ„ํŒ…/์—์ด์ „ํŠธ UI ์ฑ„ํŒ… UI์™€ ๊ฐ™์€ ์›น ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์ถ•์„ ์œ„ํ•œ ์˜คํ”ˆ ์†Œ์Šค Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.
Goose ์—์ด์ „ํŠธ ๋ถ„์‚ฐ ์—์ด์ „ํŠธ ๊ตฌ์ถ•์„ ์œ„ํ•œ ์˜คํ”ˆ ์†Œ์Šค LLM ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.
smolagents ์—์ด์ „ํŠธ ์˜คํ”ˆ ์†Œ์Šค AI ์—์ด์ „ํŠธ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.
CrewAI ์—์ด์ „ํŠธ ์—์ด์ „ํŠธ ๊ฐ„ ํ˜‘์—… ๋ฐ ๋„๊ตฌ ์‚ฌ์šฉ์„ ์œ„ํ•œ ๋‹ค์ค‘ ์—์ด์ „ํŠธ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.

๐Ÿš€ ๋น ๋ฅธ ์‹œ์ž‘

์•ฑ์— ๊ณ„์ธก์„ ์ถ”๊ฐ€ํ•˜๊ณ  Langfuse์— trace ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ, LLM ํ˜ธ์ถœ ๋ฐ ๊ฒ€์ƒ‰, ์ž„๋ฒ ๋”ฉ, ์—์ด์ „ํŠธ ๋™์ž‘๊ณผ ๊ฐ™์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ง์„ ์ถ”์ ํ•ด๋ณด์„ธ์š”. ๋ณต์žกํ•œ ๋กœ๊ทธ์™€ ์‚ฌ์šฉ์ž ์„ธ์…˜์„ ํ™•์ธํ•˜์—ฌ ๋””๋ฒ„๊น…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1๏ธโƒฃ ์ƒˆ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

  1. Langfuse ๊ณ„์ • ์ƒ์„ฑ ๋˜๋Š” ์…€ํ”„ ํ˜ธ์ŠคํŠธ
  2. ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  3. ํ”„๋กœ์ ํŠธ ์„ค์ •์—์„œ ์ƒˆ๋กœ์šด API ์ž๊ฒฉ ์ฆ๋ช…์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

2๏ธโƒฃ ์ฒซ ๋ฒˆ์งธ LLM ํ˜ธ์ถœ ๊ธฐ๋กํ•˜๊ธฐ

@observe() ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Python LLM ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ถ”์ ์ด ๋งค์šฐ ๊ฐ„ํŽธํ•ด์ง‘๋‹ˆ๋‹ค. ์ด ๋น ๋ฅธ ์‹œ์ž‘ ์˜ˆ์ œ์—์„œ๋Š” Langfuse OpenAI ํ†ตํ•ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ ์บก์ฒ˜ํ•ฉ๋‹ˆ๋‹ค.

Tip

OpenAI๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ์‹œ๋‹ค๋ฉด, ๋‹ค๋ฅธ ๋ชจ๋ธ ๋ฐ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋กœ๊ทธ ๊ธฐ๋ก ๋ฐฉ๋ฒ•์€ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

pip install langfuse openai
LANGFUSE_SECRET_KEY="sk-lf-..."
LANGFUSE_PUBLIC_KEY="pk-lf-..."
LANGFUSE_HOST="https://cloud.langfuse.com" # ๐Ÿ‡ช๐Ÿ‡บ EU region
# LANGFUSE_HOST="https://us.cloud.langfuse.com" # ๐Ÿ‡บ๐Ÿ‡ธ US region
from langfuse import observe
from langfuse.openai import openai # OpenAI integration

@observe()
def story():
    return openai.chat.completions.create(
        model="gpt-4o",
        messages=[{"role": "user", "content": "What is Langfuse?"}],
    ).choices[0].message.content

@observe()
def main():
    return story()

main()

3๏ธโƒฃ Langfuse์—์„œ trace ํ™•์ธํ•˜๊ธฐ

Langfuse์—์„œ LLM ํ˜ธ์ถœ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ธฐํƒ€ ๋กœ์ง์— ๋Œ€ํ•œ trace๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Example trace in Langfuse

Langfuse์˜ ๊ณต๊ฐœ ์˜ˆ์ œ trace

Tip

Langfuse์˜ trace์— ๋Œ€ํ•ด ๋” ์•Œ์•„๋ณด๊ฑฐ๋‚˜ ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ๋ฐ๋ชจ์—์„œ ์ง์ ‘ ์ฒดํ—˜ํ•ด๋ณด์„ธ์š”.

โญ๏ธ ๋ณ„์„ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”

Star Langfuse

๐Ÿ’ญ ์ง€์›

์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต๋ณ€์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•:

  • ์šฐ๋ฆฌ์˜ ๋ฌธ์„œ๋Š” ๋‹ต์„ ์ฐพ๊ธฐ ์œ„ํ•œ ์ตœ์ ์˜ ์žฅ์†Œ์ž…๋‹ˆ๋‹ค. ๋ฌธ์„œ๊ฐ€ ๋งค์šฐ ํฌ๊ด„์ ์ด๋ฉฐ, ์œ ์ง€๋ณด์ˆ˜์— ๋งŽ์€ ๋…ธ๋ ฅ์„ ๊ธฐ์šธ์ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. GitHub๋ฅผ ํ†ตํ•ด ๋ฌธ์„œ ์ˆ˜์ • ์ œ์•ˆ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • Langfuse FAQ์—์„œ๋Š” ๊ฐ€์žฅ ํ”ํ•œ ์งˆ๋ฌธ์— ๋Œ€ํ•ด ๋‹ต๋ณ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์งˆ๋ฌธ์— ์ฆ‰๊ฐ์ ์ธ ๋‹ต๋ณ€์ด ํ•„์š”ํ•˜๋‹ค๋ฉด Ask AI๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์„ธ์š”.

์ง€์› ์ฑ„๋„:

  • GitHub Discussions์˜ ๊ณต๊ฐœ Q&A ์— ์งˆ๋ฌธ์„ ๋‚จ๊ฒจ์ฃผ์„ธ์š”. ๊ฐ€๋Šฅํ•œ ํ•œ ๋งŽ์€ ์„ธ๋ถ€ ์‚ฌํ•ญ(์˜ˆ: ์ฝ”๋“œ ์Šค๋‹ˆํŽซ, ์Šคํฌ๋ฆฐ์ƒท, ๋ฐฐ๊ฒฝ ์ •๋ณด)์„ ํฌํ•จํ•ด ์งˆ๋ฌธํ•ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.
  • ๊ธฐ๋Šฅ ์š”์ฒญ์„ ๋‚จ๊ฒจ์ฃผ์„ธ์š”.
  • ๋ฒ„๊ทธ ์‹ ๊ณ ๋Š” GitHub Issues๋ฅผ ํ†ตํ•ด ํ•ด์ฃผ์„ธ์š”.
  • ๊ธด๊ธ‰ํ•œ ๋ฌธ์˜๋Š” ์•ฑ ๋‚ด ์ฑ„ํŒ… ์œ„์ ฏ์„ ํ†ตํ•ด ์—ฐ๋ฝ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๐Ÿค ๊ธฐ์—ฌํ•˜๊ธฐ

์—ฌ๋Ÿฌ๋ถ„์˜ ๊ธฐ์—ฌ๋ฅผ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค!

  • GitHub Discussions์˜ ์•„์ด๋””์–ด์— ํˆฌํ‘œํ•ด๋ณด์„ธ์š”.
  • GitHub Issues์—์„œ ์ด์Šˆ๋ฅผ ์ œ๊ธฐํ•˜๊ณ  ๋Œ“๊ธ€์„ ๋‚จ๊ฒจ์ฃผ์„ธ์š”.
  • PR์„ ์ œ์ถœํ•˜์„ธ์š” โ€“ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ • ๋ฐฉ๋ฒ• ๋“ฑ ์ž์„ธํ•œ ๋‚ด์šฉ์€ CONTRIBUTING.md๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๐Ÿฅ‡ ๋ผ์ด์„ ์Šค

์ด ์ €์žฅ์†Œ๋Š” ee ํด๋”๋ฅผ ์ œ์™ธํ•˜๊ณ  MIT ๋ผ์ด์„ ์Šค๊ฐ€ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ LICENSE์™€ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

โญ๏ธ ๋ณ„(Star) ํžˆ์Šคํ† ๋ฆฌ

Star History Chart

โค๏ธ Langfuse๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ

๋ณ„(star) ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ˆœ์œ„๊ฐ€ ๋งค๊ฒจ์ง„ Langfuse๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ƒ์œ„ ์˜คํ”ˆ ์†Œ์Šค Python ํ”„๋กœ์ ํŠธ๋“ค (์ถœ์ฒ˜):

์ €์žฅ์†Œ ๋ณ„
ย  langgenius / dify 54865
ย  open-webui / open-webui 51531
ย  lobehub / lobe-chat 49003
ย  langflow-ai / langflow 39093
ย  run-llama / llama_index 37368
ย  chatchat-space / Langchain-Chatchat 32486
ย  FlowiseAI / Flowise 32448
ย  mindsdb / mindsdb 26931
ย  twentyhq / twenty 24195
ย  PostHog / posthog 22618
ย  BerriAI / litellm 15151
ย  mediar-ai / screenpipe 11037
ย  formbricks / formbricks 9386
ย  anthropics / courses 8385
ย  GreyDGL / PentestGPT 7374
ย  superagent-ai / superagent 5391
ย  promptfoo / promptfoo 4976
ย  onlook-dev / onlook 4141
ย  Canner / WrenAI 2526
ย  pingcap / autoflow 2061
ย  MLSysOps / MLE-agent 1161
ย  open-webui / pipelines 1100
ย  alishobeiri / thread 1074
ย  topoteretes / cognee 971
ย  bRAGAI / bRAG-langchain 823
ย  opslane / opslane 677
ย  dynamiq-ai / dynamiq 639
ย  theopenconversationkit / tock 514
ย  andysingal / llm-course 394
ย  phospho-app / phospho 384
ย  sentient-engineering / agent-q 370
ย  sql-agi / DB-GPT 324
ย  PostHog / posthog-foss 305
ย  vespperhq / vespper 304
ย  block / goose 295
ย  aorwall / moatless-tools 291
ย  dmayboroda / minima 221
ย  RobotecAI / rai 172
ย  i-am-alice / 3rd-devs 148
ย  8090-inc / xrx-sample-apps 138
ย  babelcloud / LLM-RGB 135
ย  souzatharsis / tamingLLMs 129
ย  LibreChat-AI / librechat.ai 128
ย  deepset-ai / haystack-core-integrations 126

๐Ÿ”’ ๋ณด์•ˆ & ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ

์šฐ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ ๋ณด์•ˆ๊ณผ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ๋งค์šฐ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Security and Privacy ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

ํ…”๋ ˆ๋ฉ”ํŠธ๋ฆฌ

๊ธฐ๋ณธ์ ์œผ๋กœ Langfuse๋Š” ์ž์ฒด ํ˜ธ์ŠคํŒ… ์ธ์Šคํ„ด์Šค์˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ ํ†ต๊ณ„๋ฅผ ์ค‘์•™ ์„œ๋ฒ„(PostHog)๋กœ ์ž๋™ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ํ†ตํ•ด:

  1. Langfuse๊ฐ€ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋˜๋Š”์ง€ ์ดํ•ดํ•˜๊ณ , ๊ฐ€์žฅ ๊ด€๋ จ์„ฑ ๋†’์€ ๊ธฐ๋Šฅ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ๋‚ด๋ถ€ ๋ฐ ์™ธ๋ถ€(์˜ˆ: ์ž๊ธˆ ์กฐ๋‹ฌ) ๋ณด๊ณ ๋ฅผ ์œ„ํ•œ ์ „์ฒด ์‚ฌ์šฉ๋Ÿ‰์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜์ง‘๋œ ๋ฐ์ดํ„ฐ๋Š” ์ œ3์ž์™€ ๊ณต์œ ๋˜์ง€ ์•Š์œผ๋ฉฐ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•ด ๋งค์šฐ ํˆฌ๋ช…ํ•˜๊ฒŒ ๊ณต๊ฐœํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ˆ˜์ง‘๋˜๋Š” ์ •ํ™•ํ•œ ๋ฐ์ดํ„ฐ๋Š” ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ ๋ณ€์ˆ˜ TELEMETRY_ENABLED=false๋ฅผ ์„ค์ •ํ•˜์—ฌ ์˜ตํŠธ์•„์›ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.