๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

Langfuse์™€ Open WebUI ํ†ตํ•ฉ

Langfuse (GitHub)๋Š” Open WebUI์— ๋Œ€ํ•œ ์˜คํ”ˆ ์†Œ์Šค ๊ฐ€์‹œ์„ฑ ๋ฐ ํ‰๊ฐ€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Langfuse ํ†ตํ•ฉ์„ ํ™œ์„ฑํ™”ํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ์ดํ„ฐ๋ฅผ Langfuse๋ฅผ ํ†ตํ•ด ์ถ”์ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋‹ค์Œ์„ ํฌํ•จํ•˜์—ฌ Open WebUI ์‚ฌ์šฉ์„ ๊ฐœ๋ฐœ, ๋ชจ๋‹ˆํ„ฐ๋ง, ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ถ”์ 
  • ์‚ฌ์šฉ ํŒจํ„ด
  • ์‚ฌ์šฉ์ž์™€ ๋ชจ๋ธ์— ๋”ฐ๋ฅธ ๋น„์šฉ ๋ฐ์ดํ„ฐ
  • ๋ฌธ์ œ๋ฅผ ๋””๋ฒ„๊น…ํ•˜๊ธฐ ์œ„ํ•œ ์„ธ์…˜ ์žฌ์ƒ
  • ํ‰๊ฐ€

Langfuse์™€ Open WebUI๋ฅผ ํ†ตํ•ฉํ•˜๋Š” ๋ฐฉ๋ฒ•โ€‹

Langfuse Integration Langfuse ํ†ตํ•ฉ ๋‹จ๊ณ„

Open WebUI์˜ Pipelines๋Š” OpenAI API ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์œ„ํ•œ UI์— ๋…๋ฆฝ์ ์ธ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฝ์ž…ํ•˜์—ฌ ์‚ฌ์šฉ์ž ํ”„๋กฌํ”„ํŠธ๋ฅผ ์š”์•ฝํ•˜๊ณ , ์ฒ˜๋ฆฌํ•˜๊ณ , ์ตœ์ข… LLM์œผ๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์–ด ํ”„๋กฌํ”„ํŠธ ์ฒ˜๋ฆฌ ์ œ์–ด ๋ฐ ๋งž์ถคํ™”๋ฅผ ๊ฐ•ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ์ดํ„ฐ๋ฅผ Langfuse๋กœ ์ถ”์ ํ•˜๋ ค๋ฉด Langfuse ํŒŒ์ดํ”„๋ผ์ธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฉ”์‹œ์ง€ ์ƒํ˜ธ์ž‘์šฉ์— ๋Œ€ํ•œ ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ๋ถ„์„์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๋น ๋ฅธ ์‹œ์ž‘ ๊ฐ€์ด๋“œโ€‹

1๋‹จ๊ณ„: Open WebUI ์„ค์ •โ€‹

Open WebUI๊ฐ€ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธํ•˜์„ธ์š”. ์ด๋ฅผ ์œ„ํ•ด Open WebUI ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

2๋‹จ๊ณ„: Pipelines ์„ค์ •โ€‹

Docker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Pipelines๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด Pipelines๋ฅผ ์‹œ์ž‘ํ•˜์„ธ์š”:

docker run -p 9099:9099 --add-host=host.docker.internal:host-gateway -v pipelines:/app/pipelines --name pipelines --restart always ghcr.io/open-webui/pipelines:main

3๋‹จ๊ณ„: Pipelines์™€ Open WebUI ์—ฐ๊ฒฐโ€‹

_๊ด€๋ฆฌ์ž ์„ค์ •_์—์„œ ์ƒˆ OpenAI API ํƒ€์ž… ์—ฐ๊ฒฐ์„ ์ƒ์„ฑํ•˜๊ณ  ์•„๋ž˜์™€ ๊ฐ™์€ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜์„ธ์š”:

  • URL:http://host.docker.internal:9099 (์ด URL์€ ์ด์ „์— ์‹คํ–‰ํ•œ Docker ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ์œ„์น˜์ž…๋‹ˆ๋‹ค).
  • ๋น„๋ฐ€๋ฒˆํ˜ธ: 0p3n-w3bu! (๊ธฐ๋ณธ ๋น„๋ฐ€๋ฒˆํ˜ธ)

Open WebUI Settings

4๋‹จ๊ณ„: Langfuse ํ•„ํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ์ถ”๊ฐ€โ€‹

๋‹ค์Œ์œผ๋กœ ๊ด€๋ฆฌ์ž ์„ค์ • -> _Pipelines_๋กœ ์ด๋™ํ•˜์—ฌ Langfuse ํ•„ํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”. Pipelines๊ฐ€http://host.docker.internal:9099์—์„œ ๋Œ€๊ธฐ ์ค‘์ž„์„ ์ง€์ •ํ•˜๊ณ  Langfuse ํ•„ํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ์„ค์น˜ํ•˜๋ ค๋ฉด GitHub URL์—์„œ ์„ค์น˜ ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์•„๋ž˜ URL์„ ์ž…๋ ฅํ•˜์„ธ์š”:

https://github.com/open-webui/pipelines/blob/main/examples/filters/langfuse_filter_pipeline.py

์ด์ œ ์•„๋ž˜์— Langfuse API ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”. ์•„์ง Langfuse์— ๊ฐ€์ž…ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์—ฌ๊ธฐ์—์„œ ๊ณ„์ •์„ ์ƒ์„ฑํ•˜์—ฌ API ํ‚ค๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Open WebUI add Langfuse Pipeline

์ฐธ๊ณ : ์ŠคํŠธ๋ฆฌ๋ฐ์ด ํ™œ์„ฑํ™”๋œ OpenAI ๋ชจ๋ธ์—์„œ ์‚ฌ์šฉ๋Ÿ‰(ํ† ํฐ ์ˆ˜)์„ ์บก์ฒ˜ํ•˜๋ ค๋ฉด Open WebUI์˜ ๋ชจ๋ธ ์„ค์ •์œผ๋กœ ์ด๋™ํ•˜์—ฌ ๊ธฐ๋Šฅ ์•„๋ž˜์— ์žˆ๋Š” "์‚ฌ์šฉ๋Ÿ‰" ์ƒ์ž๋ฅผ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

5๋‹จ๊ณ„: Langfuse์—์„œ ์ถ”์  ๋ณด๊ธฐโ€‹

์ด์ œ Open WebUI ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ณ  Langfuse์—์„œ ์ถ”์ ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Langfuse UI์˜ ์˜ˆ์ œ ์ถ”์ :

Open WebUI Example Trace in Langfuse

๋” ์•Œ์•„๋ณด๊ธฐโ€‹

Open WebUI Pipelines์— ๋Œ€ํ•œ ํฌ๊ด„์ ์ธ ๊ฐ€์ด๋“œ๋Š” ์ด ๊ธ€์„ ์ฐธ์กฐํ•˜์„ธ์š”.