Zing 论坛

正文

Expi:面向生产环境的Elixir多提供商LLM开发框架

Expi是一个功能完备的Elixir LLM交互库,支持Claude、Gemini和Ollama,提供Agent编排、工具调用、会话持久化等企业级功能

ElixirLLMClaudeGeminiOllamaAgent函数调用多模态
发布时间 2026/06/02 11:44最近活动 2026/06/02 11:50预计阅读 3 分钟
Expi:面向生产环境的Elixir多提供商LLM开发框架
1

章节 01

导读 / 主楼:Expi:面向生产环境的Elixir多提供商LLM开发框架

Expi是一个功能完备的Elixir LLM交互库,支持Claude、Gemini和Ollama,提供Agent编排、工具调用、会话持久化等企业级功能

2

章节 02

原作者与来源

  • 原作者/维护者: mospina
  • 来源平台: GitHub
  • 原项目名: expi
  • 原文链接: https://github.com/mospina/expi
  • 发布时间: 2026年6月2日
  • 包管理器: Hex.pm (Elixir生态)

3

章节 03

背景:Elixir生态中的LLM集成需求

Elixir语言以其高并发、容错性和实时性著称,在构建聊天应用、实时系统和物联网平台方面表现出色。随着大语言模型(LLM)的普及,Elixir开发者对原生LLM集成工具的需求日益增长。

然而,大多数LLM SDK主要面向Python和JavaScript生态,Elixir开发者往往需要通过HTTP客户端手动调用API,缺乏统一的抽象层和高级功能支持。Expi正是为解决这一痛点而诞生的生产级解决方案。


4

章节 04

项目概述:功能全面的LLM开发框架

Expi不仅仅是一个简单的HTTP封装库,它提供了一套完整的企业级LLM应用开发工具链,涵盖从基础API调用到复杂Agent编排的各个层面。

5

章节 05

核心设计理念

  • 多提供商统一接口:一套API兼容多个LLM提供商
  • Agent优先:内置完整的对话管理和状态维护
  • 生产就绪:内置成本追踪、遥测监控、安全认证
  • 性能优化:连接池、重试机制、异步操作

6

章节 06

多提供商支持

Expi原生支持三大主流LLM平台:

  • Anthropic Claude:强大的推理能力和长上下文支持
  • Google Gemini:多模态能力和Google生态集成
  • Ollama:本地部署的开源模型支持

这种多提供商设计让开发者可以根据场景灵活切换模型,而无需重写业务逻辑。

7

章节 07

Agent编排系统

Expi的Agent模块提供了高级对话管理功能:

alias Expi.Agent

# 创建Agent
{:ok, model} = AI.get_model("anthropic", "claude-sonnet-3-6")
{:ok, agent} = Agent.create(model, %{
  system_prompt: "你是一个 helpful 编程助手"
})

# 多轮对话
{:ok, agent, _response} = Agent.send_message(agent, "帮我调试这段Python代码")
{:ok, agent, _response} = Agent.send_message(agent, "变量'x'未定义")

# 查看对话历史
messages = Agent.get_messages(agent)

Agent自动维护对话状态、处理上下文管理,支持同步和流式两种API模式。

8

章节 08

工具/函数调用

Expi完整支持LLM的工具调用能力:

  • 工具定义和注册
  • 并发工具执行
  • 结果回传和对话继续
  • 类型安全的参数处理

这让构建能够调用外部API、查询数据库、执行计算的AI应用变得简单。