langchain

用 Elixir 快速接入 LLM,构建 AI 应用

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 对话助手 🍴 复刻 218 🐛 待处理 33 👀 关注 20
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 1213
维护状态 较活跃
是否开源 开源
定价模式 🏷️完全免费 开源框架,完全免费,无付费版本。

项目预览

langchain 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类对话助手
开发团队brainlid
定价模式🏷️完全免费
价格说明开源框架,完全免费,无付费版本。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议NOASSERTION
主要语言Elixir
技术栈/模型ai,anthropic,bumblebee,chatgpt,claude-ai,elixir,langchain,llm
GitHub 星标★ 1213
上线时间2023-07-12 00:00:00
代码更新2026-11-02
仓库体积3.2 MB
本站数据更新2026-11-09
维护状态较活跃
收录时间2026-08-09
浏览次数9

项目介绍

langchain 是 Elixir 语言实现的 LangChain 风格框架,让 Elixir 项目能够集成和利用大型语言模型(LLM)。它解决了 Elixir 生态中缺乏原生 LLM 编排工具的问题,提供与 OpenAI、Anthropic 等主流 LLM 提供商的接口,并支持本地模型(如 Bumblebee)。核心能力包括链式调用、提示词管理、工具调用等,帮助开发者构建复杂的 AI 应用,如对话助手、内容生成等。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1213

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 7 步

环境要求

  • Elixir 1.17 或更高版本
  • 项目使用 Mix 构建(在 mix.exs 中管理依赖)
  • 至少一个 LLM 提供商的 API Key(如 OpenAI 的 OPENAI_API_KEY)
  • 网络可访问所用提供商的 API(Bumblebee 本地模型除外)

安装与启动步骤

  1. 1确认 Elixir 版本

    README 要求 Elixir 1.17 或更高版本,先检查本机版本是否满足,低于 1.17 需先升级。

    elixir --version
  2. 2添加 langchain 依赖

    在项目根目录的 mix.exs 的 deps 列表中加入 langchain,版本用 README 给出的 ~> 0.9.0。

    {:langchain, "~> 0.9.0"}
  3. 3拉取依赖

    在项目根目录执行,Mix 会按 mix.exs 下载并编译 langchain 及其依赖(含 Req)。

    mix deps.get
  4. 4配置 API Key

    在 config/runtime.exs 中读取环境变量并写入 openai_key、openai_org_id,README 给的是 System.fetch_env! 写法。

    config :langchain, openai_key: System.fetch_env!("OPENAI_API_KEY")
    config :langchain, openai_org_id: System.fetch_env!("OPENAI_ORG_ID")
  5. 5设置环境变量

    把真实密钥导出到环境变量,供上一步的 fetch_env! 读取;换成你自己的 sk- 开头密钥。

    export OPENAI_API_KEY=sk-xxxxxxxx
    export OPENAI_ORG_ID=org-xxxxxxxx
  6. 6编写并运行链

    用 LLMChain.new! 组装链,add_message 加用户消息后 run;README 也给出 ChatGrok 的用法示例。

    {:ok, grok} = ChatGrok.new(%{model: "grok-4", temperature: 0.7})
    
    {:ok, chain} =
      LLMChain.new!(%{llm: grok})
      |> LLMChain.add_message(Message.new_user!("Explain quantum computing"))
      |> LLMChain.run()
  7. 7查看 Token 用量

    运行后可从链的 token_usage 字段读取输入输出 token 统计,README 示例返回 %TokenUsage{}。

    trajectory.token_usage

关键配置

配置项必填说明示例
openai_key是OpenAI API 密钥,库通过 Req 调用接口时使用System.fetch_env!("OPENAI_API_KEY")
openai_org_id否OpenAI 组织 ID,README 示例中与密钥一起配置System.fetch_env!("OPENAI_ORG_ID")

如何确认成功

运行 LLMChain.run() 返回 {:ok, chain} 且无报错,必要时用 chain.token_usage 查看 token 统计。

常见问题

Q:支持哪些模型提供商?

A:README 列出 Anthropic Claude、OpenAI ChatGPT/Responses API、AWS Bedrock Mantle、Cloudflare Workers AI、xAI Grok、Google Gemini/Vertex AI、DeepSeek、Ollama、Mistral、Perplexity、orq.ai、Bumblebee、ReqLLM 等。

Q:可以用本地模型吗?

A:可以,README 提到通过 Bumblebee(基于 Nx)自托管 Llama、Mistral、Zephyr 等模型,也可用 Ollama 运行本地开源模型。

Q:使用 Grok 需要配 openai_key 吗?

A:示例中 ChatGrok.new 用于 Grok-4,README 只给出 openai_key/openai_org_id 的配置片段,其他提供商的密钥配置请以官方文档为准。

Q:怎么知道消耗了多少 token?

A:运行链之后访问 token_usage,README 示例返回 %TokenUsage{input: 150, output: 45}。

注意事项

  • 库内部使用 Req 库发起 API 调用,需保证 Req 依赖正常可用。
  • README 只演示了 OpenAI 的 openai_key/openai_org_id 配置写法,其它提供商的配置项未在节选中给出。
  • 除 OpenAI 外,本库也兼容 OpenAI 兼容接口的第三方服务。

核心亮点

  • 原生 Elixir 实现,与 Phoenix 等框架无缝集成
  • 支持多种 LLM 提供商(OpenAI、Anthropic)及本地模型
  • 提供链式抽象,简化复杂 AI 流程编排

不足之处

  • 生态和文档相比 Python 版 LangChain 不够成熟
  • 社区规模较小,示例和教程较少

适用场景

  • 在 Elixir 项目中快速集成 ChatGPT 等对话能力
  • 构建基于 Phoenix 的 AI 聊天机器人
  • 利用本地模型(Bumblebee)实现离线 AI 功能

替代项目

LangChain (Python)、LangChain.js (JavaScript)、LlamaIndex (Python)

上一篇:ai4j

下一篇:generative_ai_with_langchain

同类项目推荐

comfyui-mixlab-nodes 开源

把 ComfyUI 工作流变成能对话、能共享的实用应用

Workflow-to-APP、ScreenShare&FloatingVideo、GPT & 3D、SpeechRecognition&TTS

★ 1875 2026-08-09
bellman 开源

用 Go 一套代码接入 ChatGPT、Gemini、Claude 和 Ollama

Golang lib for LLM APIs, ChatGPT, Gemini and Anthropic

★ 71 2026-08-09
smile 开源

Java开发者一站式机器学习工具箱,高效构建智能应用

Statistical Machine Intelligence & Learning Engine

★ 6429 2026-08-09
openai-partial-stream 开源

把 token 流秒变 JSON,让 AI 应用界面不再干等。

Turn a stream of token into a parsable JSON object as soon as possible. Enable Strea···

★ 124 2026-08-09
swarmauri-sdk 开源

模块化 AI 智能体 SDK,快速组装 LLM 应用

Modular Python SDK and monorepo for AI agents, LLM integrations, tools, parsers, emb···

★ 105 2026-08-09
text-to-sql-bedrock-workshop 开源

在 Bedrock 上从零到精通 Text-to-SQL,动手练出高准确率查询

This repository is intended for those looking to dive deep on advanced Text-to-SQL c···

★ 135 2026-08-09
diffusers 开源

一个工具库搞定图像视频音频生成,拿来即用

Diffusers: State-of-the-art diffusion models for image, video, and audio generation ···

★ 34889 2026-08-09
tardigrade 开源

事件日志驱动,Agent 状态可回放可恢复

The TypeScript framework for building durable, event-driven actors.

★ 465 2026-10-13