Langfuse๋ ์ง์ ๋ฐ ๊ธฐ๋ฅ ์์ฒญ์ ์ํด GitHub Discussions๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ฑ์ฉ ์ค์ ๋๋ค. ํจ๊ป ํ์ธ์ โ ์ ํ ์์ง๋์ด๋ง ๋ฐ ๊ธฐ์ go-to-market ์ญํ ์ ์ธ์ฌ๋ฅผ ์ฐพ๊ณ ์์ต๋๋ค.
Langfuse๋ ์คํ ์์ค LLM ์์ง๋์ด๋ง ํ๋ซํผ์
๋๋ค.
ํ์ด ํ์
ํ์ฌ AI ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐ, ๋ชจ๋ํฐ๋ง, ํ๊ฐ ๋ฐ ๋๋ฒ๊ทธํ ์ ์๋๋ก ๋์์ค๋๋ค.
Langfuse๋ ๋ช ๋ถ ์์ ์
ํ ํธ์คํ
ํ ์ ์์ผ๋ฉฐ, ๊ฒ์ฆ๋(battle-tested) ์๋ฃจ์
์
๋๋ค.
-
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๋ฅผ ์คํํ์ธ์:
-
๋ก์ปฌ (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๋ฅผ ์คํํฉ๋๋ค.
์์ธํ ๋ด์ฉ์ ์์ฒด ํธ์คํ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
| ํตํฉ | ์ง์ | ์ค๋ช |
|---|---|---|
| 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 ๋ช ์ธ๊ฐ ์ ๊ณต๋ฉ๋๋ค. |
| ์ด๋ฆ | ์ ํ | ์ค๋ช |
|---|---|---|
| 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 ํธ์ถ ๋ฐ ๊ฒ์, ์๋ฒ ๋ฉ, ์์ด์ ํธ ๋์๊ณผ ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ก์ง์ ์ถ์ ํด๋ณด์ธ์. ๋ณต์กํ ๋ก๊ทธ์ ์ฌ์ฉ์ ์ธ์ ์ ํ์ธํ์ฌ ๋๋ฒ๊น ํ ์ ์์ต๋๋ค.
- Langfuse ๊ณ์ ์์ฑ ๋๋ ์ ํ ํธ์คํธ
- ์ ํ๋ก์ ํธ๋ฅผ ์์ฑํฉ๋๋ค.
- ํ๋ก์ ํธ ์ค์ ์์ ์๋ก์ด API ์๊ฒฉ ์ฆ๋ช ์ ์์ฑํฉ๋๋ค.
@observe() ๋ฐ์ฝ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ฉด Python LLM ์ ํ๋ฆฌ์ผ์ด์
์ ์ถ์ ์ด ๋งค์ฐ ๊ฐํธํด์ง๋๋ค. ์ด ๋น ๋ฅธ ์์ ์์ ์์๋ Langfuse OpenAI ํตํฉ์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ๋ฅผ ์๋์ผ๋ก ์บก์ฒํฉ๋๋ค.
Tip
OpenAI๋ฅผ ์ฌ์ฉํ์ง ์์ผ์๋ค๋ฉด, ๋ค๋ฅธ ๋ชจ๋ธ ๋ฐ ํ๋ ์์ํฌ์ ๋ก๊ทธ ๊ธฐ๋ก ๋ฐฉ๋ฒ์ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
pip install langfuse openaiLANGFUSE_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 regionfrom 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()Langfuse์์ LLM ํธ์ถ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ธฐํ ๋ก์ง์ ๋ํ trace๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
Langfuse์ ๊ณต๊ฐ ์์ trace
Tip
Langfuse์ trace์ ๋ํด ๋ ์์๋ณด๊ฑฐ๋ ์ธํฐ๋ํฐ๋ธ ๋ฐ๋ชจ์์ ์ง์ ์ฒดํํด๋ณด์ธ์.
์ง๋ฌธ์ ๋ํ ๋ต๋ณ์ ์ฐพ๋ ๋ฐฉ๋ฒ:
- ์ฐ๋ฆฌ์ ๋ฌธ์๋ ๋ต์ ์ฐพ๊ธฐ ์ํ ์ต์ ์ ์ฅ์์ ๋๋ค. ๋ฌธ์๊ฐ ๋งค์ฐ ํฌ๊ด์ ์ด๋ฉฐ, ์ ์ง๋ณด์์ ๋ง์ ๋ ธ๋ ฅ์ ๊ธฐ์ธ์ด๊ณ ์์ต๋๋ค. GitHub๋ฅผ ํตํด ๋ฌธ์ ์์ ์ ์๋ ๊ฐ๋ฅํฉ๋๋ค.
- Langfuse FAQ์์๋ ๊ฐ์ฅ ํํ ์ง๋ฌธ์ ๋ํด ๋ต๋ณํ๊ณ ์์ต๋๋ค.
- ์ง๋ฌธ์ ์ฆ๊ฐ์ ์ธ ๋ต๋ณ์ด ํ์ํ๋ค๋ฉด Ask AI๋ฅผ ์ฌ์ฉํด๋ณด์ธ์.
์ง์ ์ฑ๋:
- GitHub Discussions์ ๊ณต๊ฐ Q&A ์ ์ง๋ฌธ์ ๋จ๊ฒจ์ฃผ์ธ์. ๊ฐ๋ฅํ ํ ๋ง์ ์ธ๋ถ ์ฌํญ(์: ์ฝ๋ ์ค๋ํซ, ์คํฌ๋ฆฐ์ท, ๋ฐฐ๊ฒฝ ์ ๋ณด)์ ํฌํจํด ์ง๋ฌธํด ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
- ๊ธฐ๋ฅ ์์ฒญ์ ๋จ๊ฒจ์ฃผ์ธ์.
- ๋ฒ๊ทธ ์ ๊ณ ๋ GitHub Issues๋ฅผ ํตํด ํด์ฃผ์ธ์.
- ๊ธด๊ธํ ๋ฌธ์๋ ์ฑ ๋ด ์ฑํ ์์ ฏ์ ํตํด ์ฐ๋ฝ ๋ฐ๋๋๋ค.
์ฌ๋ฌ๋ถ์ ๊ธฐ์ฌ๋ฅผ ํ์ํฉ๋๋ค!
- GitHub Discussions์ ์์ด๋์ด์ ํฌํํด๋ณด์ธ์.
- GitHub Issues์์ ์ด์๋ฅผ ์ ๊ธฐํ๊ณ ๋๊ธ์ ๋จ๊ฒจ์ฃผ์ธ์.
- PR์ ์ ์ถํ์ธ์ โ ๊ฐ๋ฐ ํ๊ฒฝ ์ค์ ๋ฐฉ๋ฒ ๋ฑ ์์ธํ ๋ด์ฉ์ CONTRIBUTING.md๋ฅผ ์ฐธ์กฐํ์ธ์.
์ด ์ ์ฅ์๋ ee ํด๋๋ฅผ ์ ์ธํ๊ณ MIT ๋ผ์ด์ ์ค๊ฐ ์ ์ฉ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ LICENSE์ ๋ฌธ์๋ฅผ ํ์ธํ์ธ์.
๋ณ(star) ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์์๊ฐ ๋งค๊ฒจ์ง Langfuse๋ฅผ ์ฌ์ฉํ๋ ์์ ์คํ ์์ค Python ํ๋ก์ ํธ๋ค (์ถ์ฒ):
์ฐ๋ฆฌ๋ ๋ฐ์ดํฐ ๋ณด์๊ณผ ๊ฐ์ธ์ ๋ณด ๋ณดํธ๋ฅผ ๋งค์ฐ ์ค์ํ๊ฒ ์๊ฐํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ Security and Privacy ํ์ด์ง๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ธฐ๋ณธ์ ์ผ๋ก Langfuse๋ ์์ฒด ํธ์คํ ์ธ์คํด์ค์ ๊ธฐ๋ณธ ์ฌ์ฉ ํต๊ณ๋ฅผ ์ค์ ์๋ฒ(PostHog)๋ก ์๋ ๋ณด๊ณ ํฉ๋๋ค.
์ด๋ฅผ ํตํด:
- Langfuse๊ฐ ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง ์ดํดํ๊ณ , ๊ฐ์ฅ ๊ด๋ จ์ฑ ๋์ ๊ธฐ๋ฅ์ ๊ฐ์ ํ ์ ์์ต๋๋ค.
- ๋ด๋ถ ๋ฐ ์ธ๋ถ(์: ์๊ธ ์กฐ๋ฌ) ๋ณด๊ณ ๋ฅผ ์ํ ์ ์ฒด ์ฌ์ฉ๋์ ์ถ์ ํ ์ ์์ต๋๋ค.
์์ง๋ ๋ฐ์ดํฐ๋ ์ 3์์ ๊ณต์ ๋์ง ์์ผ๋ฉฐ ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ํฌํจํ์ง ์์ต๋๋ค. ์ด์ ๋ํด ๋งค์ฐ ํฌ๋ช ํ๊ฒ ๊ณต๊ฐํ๊ณ ์์ผ๋ฉฐ, ์์ง๋๋ ์ ํํ ๋ฐ์ดํฐ๋ ์ฌ๊ธฐ์์ ํ์ธํ ์ ์์ต๋๋ค.
ํ๊ฒฝ ๋ณ์ TELEMETRY_ENABLED=false๋ฅผ ์ค์ ํ์ฌ ์ตํธ์์ํ ์ ์์ต๋๋ค.






