vLLM (opens new window)
LiteLLM (opens new window)
- :一个开源的 LLM 网关。用于反向代理多个 LLM ,允许用户以 OpenAI 格式的接口,统一调用这些 LLM 。
- 提供两种使用模式:
- Python SDK
- 不需要部署 LiteLLM ,只需要在 Python 代码里,通过 litellm 的 SDK 调用 LLM 。如下:
- Proxy Server
- 需要将 LiteLLM 作为一个 HTTP 服务器运行,在 config.yaml 文件中配置各个 LLM 服务器的地址、访问密钥。
- 用户在 Python 代码里,可以通过各个 LLM 的原生 SDK ,调用 LiteLLM 。如下:
Langfuse (opens new window)
- :一个开源的 Web 服务器,用于观测 LLM 的调用情况,像链路追踪。
- 用户可以修改 Python 代码,在每次调用 LLM 时,发送一个 HTTP 请求到 Langfuse 服务器,从而记录本次调用 LLM 的日志。
- Langfuse 属于异步工作,不会增加调用 LLM 的耗时。即使 Langfuse 故障,也不会阻碍调用 LLM 。
- 用户可能在一个会话中,与 LLM 对话多次。每次调用 LLM ,会被 Langfuse 记录一条 traceing 日志。这些 traceing 会被分组,属于同一个 Session 。
- traceing 会记录用户输入的 prompt 内容、 RAG 检索的内容、调用 LLM 的用量、回答是什么、各个环节的耗时。
- traceing 会记录调用 LLM 的 input token、output token 数量及成本。
- 为了计算成本,用户需要事先声明每种 LLM 的 token 价格。
- 商业 LLM 的 output token 单价,通常是 input token 的几倍。可以在 prompt 中要求 AI 减少回复的长度,从而减少成本。
- 用户还可以将一些 prompt 存储在 Langfuse 上,让 Python 代码每次调用 LLM 时,从 Langfuse 获取 prompt 。
Langflow (opens new window)
- :一个开源的 Web 服务器,用于创建 AI agent ,以可视化 workflow 的方式配置 AI agent 。
- 常见的 workflow :接收用户输入的 prompt ,进行条件判断、RAG 检索,然后调用几个 LLM ,得到响应之后发送给用户。
LangChain (opens new window)
- :一个开源的 AI agent 开发框架。它是 Langflow 的底层框架,以代码的形式配置 AI agent 。
Dify (opens new window)
- :一个开源的 Web 服务器,用途与 Langflow 相似。