🔪 6 个杀手级开源库助您在 2024 年实现 AI 精通🔥🪄
TL;DR
1. DeepEval ——LLM 的开源评估基础设施
2. 非结构化——非结构化数据的预处理
3. Airbyte - 法学硕士数据集成
4. Qdrant——LLM 的快速向量搜索
5. MemGPT——LLM 的内存管理
6. LiteLLM - LLM 代理
结束语
TL;DR
人工智能一直以来都是 Web 开发者难以涉足的领域……直到现在😌随着像 ChatGPT 这样的大型语言模型 (LLM) 的出现,似乎现在任何人都可以成为人工智能工程师。但别误会,事实并非如此。
在本文中,我将揭示当前最顶尖的 AI 库,它们能让平庸的 AI 工程师变得卓越。作为一名前谷歌和前微软 AI 工程师,我将向你展示杰出的 AI 工程师是如何使用这些库来构建出色的应用程序的。
你准备好提升自己的技能,在 2024 年前更进一步成为 AI 奇才了吗?让我们开始吧🤗

1. DeepEval ——LLM 的开源评估基础设施
优秀的工程师能够构建产品,而卓越的工程师能够传达其产品的价值。DeepEval 正是可以做到这一点。
DeepEval 允许您使用不到 10 行代码在开发和生产中大规模地对大型语言模型(LLM 或仅 AI)应用程序进行单元测试和调试。
你可能会问,这为什么有价值?因为如今的公司都希望被视为一家创新型人工智能公司,所以利益相关者更青睐那些不仅能像独立黑客一样构建应用程序,还能像经验丰富的人工智能专家一样,懂得如何交付可靠的人工智能应用程序的工程师。**
import pytest
from deepeval import assert_test
from deepeval.test_case import LLMTestCase
from deepeval.metrics import AnswerRelevancyMetric
import chatbot
def test_chatbot():
input = "How to become an AI engineer in 2024?"
test_case = LLMTestCase(input=input, actual_output=chatbot(input))
answer_relevancy_metric = AnswerRelevancyMetric()
assert_test(test_case, [answer_relevancy_metric])
2. 非结构化——非结构化数据的预处理
LLM 之所以蓬勃发展,是因为它们功能多样,能够处理各种类型的输入,但并非全部。Unstructured 可以帮助您轻松地将网页、PDF、表格等非结构化数据转换为 LLM 可读的格式。
这是什么意思?这意味着您现在可以在内部文档上定制您的AI应用程序。非结构化模式非常棒,因为在我看来,它运行在恰当的抽象层次上——它省去了繁琐的繁琐工作,同时赋予了开发人员足够的控制权。
from unstructured.partition.auto import partition
elements = partition(filename="example-docs/eml/fake-email.eml")
print("\n\n".join([str(el) for el in elements]))
3. Airbyte - 法学硕士数据集成
使用 Airbyte,连接数据源、移动数据,基本上就是构建实时 AI 应用程序所需的大部分功能。它允许你的 LLM 连接到训练数据之外的信息。
与 Unstructured 类似,Airbyte 为 AI 工程师所做的工作提供了高度的抽象。
4. Qdrant——LLM 的快速向量搜索
有没有想过,如果向 ChatGPT 输入过多数据会发生什么?没错,你会遇到上下文溢出错误。
这是因为 LLM 无法吸收无限的信息。为了解决这个问题,我们需要一种方法来只输入相关信息。这个过程被称为检索增强生成 (RAG)。这里有另一篇很棒的文章来介绍 RAG 的含义。
Qdrant 是一个矢量数据库,可以帮助您实现这一点。它以极快的速度存储和检索相关信息,确保您的应用程序与现实世界保持同步。
5. MemGPT——LLM 的内存管理
所以 Qdrant 有助于为 LLM 提供“长期记忆”,但如果需要“记住”的内容太多,会发生什么?MemGPT 可以帮助您管理这种用例的内存。
MemGPT 就像矢量数据库的缓存,拥有其专有的缓存清除方法。它可以帮助您管理知识库中的冗余信息,从而提高 AI 应用程序的性能和准确性。
6. LiteLLM - LLM 代理
LiteLLM 是多个 LLM 的代理。它非常适合实验,并与DeepEval结合使用,让您可以根据自己的用例选择最佳模型。最棒的是?它允许您在同一个 OpenAI 界面中使用其支持的任何模型。
from litellm import completion
import os
## set ENV variables
os.environ["OPENAI_API_KEY"] = "your-openai-key"
messages = [{ "content": "Hello, how are you?","role": "user"}]
# openai call
response = completion(model="gpt-3.5-turbo", messages=messages)
结束语
就这些了,谢谢大家的阅读,希望你们能从中学到一些东西!
如果喜欢这篇文章,请点赞并评论,并且一如既往,不要忘记通过加注他们的仓库来表达对开源的喜爱,以示感谢🌟。
鏂囩珷鏉ユ簮锛�https://dev.to/confidentai/6-killer-open-source-libraries-to-achieve-ai-mastery-before-2024-4p1c