🚨💥 你必须了解的五大热门开源 LLM 工具和框架 ✨🚀
TL;DR
1. DeepEval - LLM 评估框架
2. LlamaIndex——LLM 应用程序的数据框架
3. Ollama——启动并运行大型语言模型
4. 指导
5. DSPy——算法优化LM提示和权重
TL;DR
“就在前几天,我还在决定用哪套 LLM 工具来构建我公司即将推出的客户支持聊天机器人,这是我一生中最轻松的决定!”——从来没有人这么说过🚩🚩🚩
GPT-4 发布已经有一段时间了,但似乎每周都会有一个新的开源 LLM 框架推出,每个框架都和 50 多个竞争对手做着同样的事情,同时拼命地解释自己比前代框架如何更好。说到底,像您这样的开发者真正想要的是一些简短的个人轶事,来权衡每个框架的优缺点。👨🏻💻
因此,作为一个玩过十几种开源 LLM 工具的人,我将告诉你我的首选,这样你就不必自己做这些无聊的工作了。😌
让我们开始吧!
1. DeepEval - LLM 评估框架
DeepEval 是一款 LLM 工具,可帮助你量化 LLM 应用程序(例如客户支持聊天机器人)的运行情况🎉
它占据榜首有两个简单的原因:
- 评估和测试 LLM 表现是 IMO 构建 LLM 应用程序中最重要的部分。
- 这是目前最好的 LLM 评估框架,而且是开源的💯
对于那些可能不太熟悉的人来说,LLM 测试很难,因为 LLM 输出的响应有无限的可能性。😟 DeepEval 使测试 LLM 应用程序(例如使用 LlamaIndex 或 LangChain 构建的应用程序)变得非常容易,方式如下:
- 提供 14 多个有研究支持的评估指标来测试使用 LangChain 等任何框架构建的 LLM 应用程序。
- 简单易用,文档丰富,直观易懂。非常适合初学者,同时也足够专业,足以让专家深入探索。
- 与 Pytest 集成,将其包含在您的 CI/CD 管道中以进行部署检查。
- 合成数据集生成——在您尚未准备好数据集的情况下帮助您开始评估。
- LLM 安全扫描- 自动扫描安全风险,例如您的 LLM 应用程序是否存在偏见、毒性等。
测试完成后,只需返回到用于构建应用程序的 LLM 工具(稍后我会透露我的选择)来迭代需要改进的地方。这里有一个简单的示例,用于测试你的 LLM 聊天机器人响应的相关性:
from deepeval import evaluate
from deepeval.metrics import AnswerRelevancyMetric
from deepeval.test_case import LLMTestCase
test_case = LLMTestCase(
input="How many evaluation metrics does DeepEval offers?",
actual_output="14+ evaluation metrics"
)
metric = AnswerRelevancyMetric()
evaluate(test_cases=[test_case], metrics=[metric])
2. LlamaIndex——LLM 应用程序的数据框架
DeepEval 负责评估,而 LlamaIndex 负责构建。LlamaIndex 是一个专门设计用于将大型语言模型 (LLM) 与各种数据源集成的数据框架,尤其适用于涉及检索增强生成 (RAG) 的应用。
对于那些没听说过 RAG 的人来说,它相当于在 ChatGPT 中粘贴一些文本并提出一些问题。RAG 只是帮助你的 LLM 应用程序通过检索过程识别它所不知道的上下文,而 LlamaIndex 使这个过程变得非常简单。
你知道,RAG 的一个大问题是连接数据源并从中解析非结构化数据(例如 PDF 中的表格)。这并不难,但构建起来却极其繁琐。
以下是如何使用 LlamaIndex 构建客户支持聊天机器人来回答有关您的私人数据的问题的示例:
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
documents = SimpleDirectoryReader("data").load_data()
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine()
response = query_engine.query("Some question about the data should go here")
print(response)
3. Ollama——启动并运行大型语言模型
评估和建设很重要,但数据隐私呢?
Ollama 是一款值得关注的工具,因为它可以解锁 LLM 以供本地使用。它允许用户直接在自己的硬件上运行、自定义 LLM 并与之交互,从而提升隐私性,减少对云提供商的依赖,并针对特定用例优化延迟。Ollama 简化了开源 LLM 的使用,使个人和组织无需大量的机器学习专业知识或云基础设施即可更轻松地访问和管理它们。
例如,使用 Ollama,您可以加载一个在公司服务器上本地运行的客户支持自动化模型。与基于云的设置相比,这种设置可以保护客户数据的私密性,并可能减少响应延迟。Ollama 也适用于开源 LLM 的实验,例如针对特定任务微调模型,或将其集成到更大的应用程序中,而无需依赖外部云服务。
# List available models
ollama list
# Run a model with a prompt (for example, running a GPT-4-like model named `gpt4-all`)
ollama run gpt4-all -p "Explain the benefits of using DSPy."
4. 指导
Guidance 是一个框架,旨在帮助开发者为大型语言模型 (LLM) 构建动态高效的提示。与通常依赖固定模板的传统提示工程不同,Guidance 支持动态构建提示,直接利用提示中的循环和条件等控制结构。这种灵活性使其尤其适用于生成需要复杂逻辑或自定义输出的响应。
一个简单的例子是,客户支持机器人:使用条件创建根据客户问题进行调整的提示,提供个性化的回应,同时保持语气和风格的一致性,而不是手动提示。
import guidance
# Initialize the Guidance model (e.g., OpenAI or another model API)
gpt = guidance("gpt-3.5-turbo") # You can specify another model if available
# Define the dynamic prompt with Guidance
prompt = guidance("""
{{#if summary}}
Please provide a brief summary of the topic: {{topic}}.
{{else}}
Provide a detailed explanation of the topic: {{topic}}, covering all relevant details.
{{/if}}
""")
# Set up input parameters
params = {
"topic": "Machine Learning",
"summary": True # Toggle between True for summary or False for detailed response
}
# Run the prompt
response = prompt(params)
print(response)
5. DSPy——算法优化LM提示和权重
DSPy 旨在简化使用 LLM(例如 OpenAI 或 Hugging Face 的 LLM)构建应用程序的过程。它使管理这些模型如何响应输入变得更加容易,而无需不断手动调整提示或设置。
DSPy 的优势在于,它通过将逻辑与提示分离、自动调整提示并支持灵活的模型切换,简化并加快了使用大型语言模型的应用程序开发。这意味着开发人员可以专注于定义任务,而不是技术细节,从而更轻松地获得可靠且一致的结果。
然而,我个人发现 DSPy 很难上手,因此它在列表中的排名比其他的最低。
好了,以上就是 Github 上最热门的 LLM 开源工具和框架列表,你绝对应该用它们来构建你的下一个 LLM 申请。觉得我遗漏了什么?请在下方评论区留言告诉我!
感谢您的阅读,下次再见😊
文章来源:https://dev.to/guybuildingai/top-5-trending-open-source-llm-tools-frameworks-you-must-know-about-1fk7