Back to Langfuse

README.Ja

README.ja.md

3.172.136.3 KB
Original Source

<div align="center"> <div> <h3> <a href="https://langfuse.com/jp"> <strong>🇯🇵 🤝 🪢</strong> </a> · <a href="https://cloud.langfuse.com"> <strong>Langfuse Cloud</strong> </a> · <a href="https://langfuse.com/docs/deployment/self-host"> <strong>セルフホスティング</strong> </a> · <a href="https://langfuse.com/demo"> <strong>デモ</strong> </a> </h3> </div> <div> <a href="https://langfuse.com/docs"><strong>ドキュメント</strong></a> · <a href="https://langfuse.com/issues"><strong>バグ報告</strong></a> · <a href="https://langfuse.com/ideas"><strong>機能リクエスト</strong></a> · <a href="https://langfuse.com/changelog"><strong>変更履歴</strong></a> · <a href="https://langfuse.com/roadmap"><strong>ロードマップ</strong></a> · </div>

<span>Langfuseは、サポートと機能リクエストのために <a href="https://github.com/orgs/langfuse/discussions"><strong>GitHub Discussions</strong></a> を利用しています。</span>

<span><b>We're hiring.</b> <a href="https://langfuse.com/careers"><strong>チームに加わる</strong></a> (製品エンジニアリングおよびテクニカルGTMのポジション)への応募をお待ちしています。</span>

<div> </div> </div> <p align="center"> <a href="https://github.com/langfuse/langfuse/blob/main/LICENSE"> </a> <a href="https://www.ycombinator.com/companies/langfuse"></a> <a href="https://hub.docker.com/u/langfuse" target="_blank"> </a> <a href="https://pypi.python.org/pypi/langfuse"></a> <a href="https://www.npmjs.com/package/langfuse"></a> <a href="https://discord.com/invite/7NXusRtqYU" target="_blank"> </a> <a href="https://twitter.com/intent/follow?screen_name=langfuse" target="_blank"> </a> <a href="https://www.linkedin.com/company/langfuse/" target="_blank"> </a> <a href="https://github.com/langfuse/langfuse/graphs/commit-activity" target="_blank"> </a> <a href="https://github.com/langfuse/langfuse/" target="_blank"> </a> <a href="https://github.com/langfuse/langfuse/discussions/" target="_blank"> </a> </p> <p align="center"> <a href="./README.md"></a> <a href="./README.cn.md"></a> <a href="./README.ja.md"></a> <a href="./README.kr.md"></a> </p>

LangfuseはオープンソースのLLMエンジニアリングプラットフォームです。
チームが共同でAIアプリケーションを開発、監視、評価、およびデバッグするのを支援します。
Langfuseは数分でセルフホスト可能で、多くの実績を持つシステムです。

✨ コア機能

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

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

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

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

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

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

📦 Langfuseのデプロイ

Langfuse Cloud

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

<div align="center"> <a href="https://cloud.langfuse.com" target="_blank">
</a>
</div>

セルフホスティング Langfuse

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

  • Local (docker compose):
    Docker Composeを使用して、たった5分で自分のマシン上でLangfuseを実行できます.

    bash
    # 最新の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

セルフホスティングのドキュメントを参照し、アーキテクチャや設定オプションの詳細をご確認ください。

🔌 インテグレーション

主なインテグレーション:

インテグレーション対応言語・環境説明
SDKPython, JS/TSSDKを利用して手動でインストゥルメンテーションを実装し、完全な柔軟性を提供します。
OpenAIPython, JS/TSOpenAI SDKのドロップイン置換による自動インストゥルメンテーションを実現します。
LangchainPython, JS/TSLangchainアプリケーションにコールバックハンドラーを渡すことで自動的に計測します。
LlamaIndexPythonLlamaIndexのコールバックシステムを介して自動的にインストゥルメントします。
HaystackPythonHaystackのコンテンツトレースシステムを利用した自動インストゥルメンテーションを実現します。
LiteLLMPython, JS/TS (proxy only)GPTのドロップイン置換として任意のLLMを使用できます。Azure、OpenAI、Cohere、Anthropic、Ollama、VLLM、Sagemaker、HuggingFace、Replicate(100+ LLM)に対応。
Vercel AI SDKJS/TSReact、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チャット/エージェント UIJS/TSのノーコードビルダーで、カスタマイズ可能なLLMフローを構築
Langflowチャット/エージェント UIPythonベースの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を利用していない場合は、こちらのドキュメントで、他のモデルやフレームワークのログ記録方法をご確認ください。

bash
pip install langfuse openai
bash
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リージョン
python:/@observe()/
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呼び出しおよびその他のアプリケーションロジックのトレースを確認できます。

Langfuseの公開トレース例

[!TIP]

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

⭐️ Star Langfuse

💭 サポート

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

  • 当社のドキュメントは、回答を探すための最良の出発点です。内容が充実しており、継続的なメンテナンスに努めています。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およびオープンソースに関するドキュメントをご確認ください。

⭐️ スターの履歴

<a href="https://star-history.com/#langfuse/langfuse&Date"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=langfuse/langfuse&type=Date&theme=dark" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=langfuse/langfuse&type=Date" /> </picture> </a>

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

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

リポジトリスター
  langgenius / dify54865
  open-webui / open-webui51531
  lobehub / lobe-chat49003
  langflow-ai / langflow39093
  run-llama / llama_index37368
  danny-avila / LibreChat33142
  chatchat-space / Langchain-Chatchat32486
  FlowiseAI / Flowise32448
  mindsdb / mindsdb26931
  twentyhq / twenty24195
  PostHog / posthog22618
  BerriAI / litellm15151
  mediar-ai / screenpipe11037
  formbricks / formbricks9386
  anthropics / courses8385
  GreyDGL / PentestGPT7374
  superagent-ai / superagent5391
  promptfoo / promptfoo4976
  onlook-dev / onlook4141
  Canner / WrenAI2526
  pingcap / autoflow2061
  MLSysOps / MLE-agent1161
  open-webui / pipelines1100
  alishobeiri / thread1074
  topoteretes / cognee971
  bRAGAI / bRAG-langchain823
  opslane / opslane677
  dynamiq-ai / dynamiq639
  theopenconversationkit / tock514
  andysingal / llm-course394
  phospho-app / phospho384
  sentient-engineering / agent-q370
  sql-agi / DB-GPT324
  PostHog / posthog-foss305
  vespperhq / vespper304
  block / goose295
  aorwall / moatless-tools291
  dmayboroda / minima221
  RobotecAI / rai172
  i-am-alice / 3rd-devs148
  8090-inc / xrx-sample-apps138
  babelcloud / LLM-RGB135
  souzatharsis / tamingLLMs129
  deepset-ai / haystack-core-integrations126

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

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

テレメトリー

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

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

テレメトリーには、生の traces、prompts、observations、scores、またはデータセットの内容は含まれません。収集される正確な項目、それらの送信先、および実装上の参照先については、テレメトリードキュメントに記載しています。

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