brainlid/langchain

Elixir implementation of a LangChain style framework that lets Elixir projects integrate with and leverage LLMs.

解決する課題

大規模言語モデル(LLM)は、外部データや計算と組み合わせたときに最も強力になります。このライブラリは、モデルを他のサービス、データソース、アプリケーションロジックに接続するための構造化された方法を提供することで、LLMをElixirアプリケーションに統合する際の困難を解決します。

仕組み

このライブラリは、モジュール式のコンポーネントと構築済みのチェーンを使用して、LLMとのインタラクションを管理します。OpenAI、Anthropic、Google Gemini、およびOllamaやBumblebeeを介したローカルモデルを含む幅広いプロバイダーをサポートしており、開発者はカスタムのElixir関数をLLMが使用するツールとして公開できます。また、エージェントが行ったツール呼び出しのシーケンスをキャプチャして評価するためのトラジェトリ(軌跡)システムも含まれています。

対象者

さまざまなサードパーティAPIやローカルの機械学習モデルとの統合を必要とする、データ認識型チャットボットや自律型エージェントなどの高度なAI駆動型アプリケーションの構築を目指すElixir開発者。

ハイライト

  • 広範なモデルサポート: OpenAI、Anthropic、Google、xAIなどの主要プロバイダーに加え、Bumblebeeによるローカルホスティングにも統合されています。
  • エージェント機能: 特化したFunctionブリッジを通じて、LLMがアプリケーションコードと対話できるようにします。
  • モジュール設計: カスタムロジック用の低レベルコンポーネントと、迅速な開発のための高レベルな既製品のチェーンの両方を提供します。
  • エージェント評価: エージェントの推論パスとツール呼び出しシーケンスをキャプチャ、照合、テストするためのLangChain.Trajectoryが含まれています。