Skip to content

Latest commit

 

History

History
359 lines (283 loc) · 36.2 KB

File metadata and controls

359 lines (283 loc) · 36.2 KB

Langfuse GitHub Banner


Langfuseは、サポートと機能リクエストのために GitHub Discussions を利用しています。
We're hiring. チームに加わる (製品エンジニアリングおよびテクニカルGTMのポジション)への応募をお待ちしています。

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は数分でセルフホスト可能で、多くの実績を持つシステムです。

Langfuse Overview Video

✨ コア機能

Langfuse Overview

  • LLMアプリケーションの可観測性:
    アプリケーションにインストゥルメンテーションを導入し、Langfuseへトレースを取り込むことで、LLM呼び出しやリトリーバル、埋め込み、エージェントアクションなどの関連ロジックを追跡できます。
    複雑なログやユーザーセッションを解析・デバッグできます。
    インタラクティブなデモで動作を確認してください。

  • プロンプト管理:
    プロンプトを一元管理し、バージョン管理しながら共同で改善を行えます。
    サーバーおよびクライアント側で強力なキャッシングを行うため、アプリケーションのレイテンシを増やすことなくプロンプトの改良が可能です。

  • 評価:
    評価はLLMアプリケーション開発ワークフローの要であり、Langfuseは多様なニーズに対応します。
    LLMを判定者として用いる方法、ユーザーフィードバックの収集、手動によるラベリング、API/SDKを通じたカスタム評価パイプラインをサポートします。

  • データセット:
    LLMアプリケーション評価用のテストセットやベンチマークを構築できます。
    継続的な改善、事前デプロイテスト、構造化された実験、柔軟な評価、さらにLangChainやLlamaIndexなどとのシームレスな統合をサポートします。

  • LLMプレイグラウンド:
    プロンプトやモデル設定のテスト・反復作業を支援するツールで、フィードバックループを短縮し開発を加速します。
    トレースで不具合が見つかった場合、直接プレイグラウンドへ飛び、迅速に改善できます。

  • 包括的なAPI:
    LangfuseはAPIを通じて提供されるビルディングブロックを用い、カスタムLLMOpsワークフローの基盤として頻繁に利用されます。
    OpenAPI仕様、Postmanコレクション、PythonやJS/TS向けの型付きSDKが利用可能です。

📦 Langfuseのデプロイ

Langfuse Deployment Options

Langfuse Cloud

Langfuseチームによるマネージドデプロイメント。充実した無料プラン(ホビープラン)で、クレジットカード不要です。

セルフホスティング Langfuse

自身のインフラ上でLangfuseを実行できます:

  • Local (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を利用して手動でインストゥルメンテーションを実装し、完全な柔軟性を提供します。
OpenAI Python, JS/TS OpenAI SDKのドロップイン置換による自動インストゥルメンテーションを実現します。
Langchain Python, JS/TS Langchainアプリケーションにコールバックハンドラーを渡すことで自動的に計測します。
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 ライブラリ LLMプロンプトや重み付けを体系的に最適化するためのフレームワーク
Mirascope ライブラリ LLMアプリケーション構築用のPythonツールキット
Ollama モデル(ローカル) オープンソースLLMを手軽にローカルで実行するためのツール
Amazon Bedrock モデル AWS上でファウンデーションモデルやファインチューニング済みモデルを実行
Google VertexAI and Gemini モデル Google上でファウンデーションモデルやファインチューニング済みモデルを実行
AutoGen エージェントフレームワーク 分散型エージェント構築のためのオープンソースLLMプラットフォーム
Flowise チャット/エージェント UI JS/TSのノーコードビルダーで、カスタマイズ可能なLLMフローを構築
Langflow チャット/エージェント UI PythonベースのUIで、react-flowを用いてLangChainの実験やプロトタイピングを容易に実現
Dify チャット/エージェント UI ノーコードでLLMアプリ開発が可能なオープンソースプラットフォーム
OpenWebUI チャット/エージェント UI 自前ホストおよびローカルモデルに対応するLLMチャットWeb UI
Promptfoo ツール オープンソースのLLMテストプラットフォーム
LobeChat チャット/エージェント UI オープンソースのチャットボットプラットフォーム
Vapi プラットフォーム オープンソースの音声AIプラットフォーム
Inferable エージェント 分散型エージェント構築のためのオープンソースLLMプラットフォーム
Gradio チャット/エージェント UI チャットUIなどのWebインターフェース構築のためのオープンソースPythonライブラリ
Goose エージェント 分散型エージェント構築のためのオープンソースLLMプラットフォーム
smolagents エージェント オープンソースのAIエージェントフレームワーク
CrewAI エージェント エージェントの協調とツール利用を実現するマルチエージェントフレームワーク

🚀 クイックスタート

アプリケーションにインストゥルメンテーションを導入し、LLM呼び出しやリトリーバル、埋め込み、エージェントアクションなどの動作をLangfuseに記録しましょう。
複雑なログやユーザーセッションの解析・デバッグが可能になります。

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_BASE_URL="https://cloud.langfuse.com" # 🇪🇺 EUリージョン
# LANGFUSE_BASE_URL="https://us.cloud.langfuse.com" # 🇺🇸 USリージョン
from langfuse import observe
from langfuse.openai import openai  # OpenAI統合

@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でトレースを確認する

Langfuse上で、LLM呼び出しおよびその他のアプリケーションロジックのトレースを確認できます。

Example trace in Langfuse

Langfuseの公開トレース例

Tip

Langfuseでのトレースの詳細については、こちらをご参照いただくか、インタラクティブデモでお試しください。

⭐️ Star Langfuse

star-langfuse-on-github

💭 サポート

質問の回答をお探しの場合は:

  • 当社のドキュメントは、回答を探すための最良の出発点です。内容が充実しており、継続的なメンテナンスに努めています。GitHubを通じてドキュメントへの修正提案も可能です。
  • よくある質問はLangfuse FAQにまとめられています。
  • Ask AIを利用すれば、質問に対して即座に回答を得ることができます。
  • 日本語のサポートや決済, 請求書払いなどをお求めの場合は、日本のリセラー (https://gao-ai.com) にご相談ください。

サポートチャネル:

  • GitHub DiscussionsのパブリックQ&Aで質問してください。
    質問には、コードスニペット、スクリーンショット、背景情報など、できるだけ詳細な情報を含めるとスムーズな対応が可能です。
  • GitHub Discussionsで機能リクエストを投稿してください。
  • GitHub Issuesにてバグ報告を行ってください。
  • 緊急の問い合わせの場合は、アプリ内チャットウィジェットでご連絡ください。

🤝 貢献

皆様からの貢献を歓迎します!

  • GitHub Discussionsのアイデアに投票してください。
  • Issuesを作成・コメントしてください。
  • プルリクエストを送信してください。開発環境のセットアップ方法についてはCONTRIBUTING.mdをご参照ください。

🥇 ライセンス

このリポジトリは、eeフォルダを除き、MITライセンスの下で公開されています。
詳細はLICENSEおよびオープンソースに関するドキュメントをご確認ください。

⭐️ スターの履歴

Star History Chart

❤️ Langfuseを利用しているオープンソースプロジェクト

Langfuseを利用している主要なオープンソースPythonプロジェクト(スター数順): (出典)

リポジトリ スター
  langgenius / dify 54865
  open-webui / open-webui 51531
  lobehub / lobe-chat 49003
  langflow-ai / langflow 39093
  run-llama / llama_index 37368
  danny-avila / LibreChat 33142
  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
  deepset-ai / haystack-core-integrations 126

🔒 セキュリティとプライバシー

データのセキュリティとプライバシーは非常に重要です。
詳細につきましては、セキュリティとプライバシーページをご参照ください。

テレメトリー

デフォルトでは、Langfuseは以下の目的でセルフホストされたインスタンスの基本的な使用統計情報を中央サーバ(PostHog)へ自動的に報告します。

  1. Langfuseの利用状況を把握し、最も重要な機能の改善に役立てる
  2. 内部および外部(例:資金調達)のレポートのために全体の利用状況を追跡する

収集されたデータは第三者と共有されず、機微な情報は一切含まれていません。
当社はこの点について極力透明性を保っており、収集される具体的なデータの詳細はこちらで確認できます。

TELEMETRY_ENABLED=false を設定することで、テレメトリーの報告をオプトアウトできます.