为了账号安全,请及时绑定邮箱和手机立即绑定

8个必知的AI代码库,用来构建超酷的应用 🪄 ✨

作为正在构建AI应用的人,我发现用户对AI的兴趣激增,这无疑现在是掌握AI应用开发的最佳时机。

因此,我整理了一个包含8个开源仓库的列表,你可以现在就用这些仓库来构建功能强大的AI系统。

《恶搞之家》的 GIF !(https://imgapi.imooc.com/66fa21200a4d2f5908000585.jpg)

此处省略

1. Composio 👑 - 用于AI应用程序的工具和基础设施

我一直在开发AI应用程序,让我来告诉你,开发一个既可靠又强大的AI应用程序这可不是件容易的事。特别是在AI驱动的工作流自动化方面更是如此。

然而,Composio 让集成第三方服务(如 GitHub、Slack、Gmail 等)与 AI 模型等变得非常简单,从而实现从头到尾的工作流程自动化。

他们拥有超过100个工具集,涵盖了各个业务领域,如CRM、HRM、开发、管理和生产效率,帮助您构建复杂的自动化流程。

它们是开源的,还内置了对 Python 和 Javascript 的支持。

这里是如何迅速上手使用Composio的。

在命令行中运行以下命令来安装composio-core, pip install composio-core.

全屏 退出全屏

添加GitHub的集成。

在Composio里添加github

点击这里进入全屏模式 点击这里退出全屏

Composio为您处理用户的登录验证和权限管理。

这里是给仓库点星的GitHub集成使用方法。

    from openai import OpenAI
    from composio_openai import ComposioToolSet, App

    openai_client = OpenAI(api_key="******OPENAIKEY******")

    # 初始化 Composio 工具集
    composio_toolset = ComposioToolSet(api_key="**\\*\\***COMPOSIO_API_KEY**\\*\\***")

    # 步骤 4
    # 获取预配置的 GitHub 工具
    actions = composio_toolset.get_actions(actions=[Action.GITHUB_ACTIVITY_STAR_REPO_FOR_AUTHENTICATED_USER])

    my_task = "在 GitHub 上给 ComposioHQ/composio 仓库点赞星星"

    # 创建一个聊天完成请求来决定操作
    response = openai_client.chat.completions.create(
    model="gpt-4-turbo",
    tools=actions, # 传递之前获取的那些操作。
    messages=[
        {"role": "system", "content": "你是一个乐于助人的助手,"},
        {"role": "user", "content": my_task}
      ]
    )

点击此处进入全屏模式,点击这里退出全屏模式

运行这个Python脚本,通过代理执行以下指令。

要了解更多关于 Composio 的信息,请访问他们的文档页面。

GIF GIF组合

给 Composio 仓库点个星 ⭐

zh: zh: (此处省略内容)

2. AI应用的内存层Mem0

记忆管理在打造AI助手时是一个真正的挑战。它涉及存储和检索过去的互动。高效的记忆层对于提供个性化的用户体验至关重要。

Mem0无疑是这个领域里最棒的解决方案。Mem0记住用户的喜好,适应个人的需求,并不断进步,非常适合用于客服聊天机器人、AI助手和自主系统。

主要功能

  • 多层次的内存管理:用户、会话和AI代理的记忆保留
  • 自适应个性化:根据互动持续改进
  • 开发者友好的API:简单地集成到各种应用程序
  • 跨平台一致性:在不同设备上的统一行为
  • 托管服务:无忧的托管

开始用Mem0,使用pip安装。

在终端中运行以下命令来安装mem0ai包:\npip install mem0ai

进入全屏 退出全屏

初始化Mem0:

从mem0导入Memory;m = Memory();

进入全屏 退出全屏

内存相关的操作。

    # 1. 添加:从任何非结构化文本中存储记忆
    result = m.add("我正在努力提高我的网球技巧。推荐一些在线课程。", user_id="alice", metadata={"category": "hobbies"})

    # 创建的记忆 --> '她在提高她的网球技巧。' 和 '正在寻找网球相关的在线课程建议。'

    # 2. 更新:更新记忆
    result = m.update(memory_id=<memory_id_1>, data="喜欢在周末打网球,也在寻找网球相关的在线课程建议。")

    # 更新的记忆 --> '喜欢在周末打网球,也在寻找网球相关的在线课程建议。'

    # 3. 搜索:搜索相关记忆
    related_memories = m.search(query="Alice 的爱好有哪些?", user_id="alice")

    # 检索的记忆 --> '喜欢在周末打网球,也在寻找网球相关的在线课程建议。'

    # 4. 获取所有记忆
    all_memories = m.get_all()
    memory_id = all_memories["memories"][0]["id"] # 获取一个 memory_id

    # 所有记忆项 --> '喜欢在周末打网球,也在寻找网球相关的在线课程建议。'

    # 5. 获取特定的记忆 ID 的记忆历史
    history = m.history(memory_id=<memory_id_1>)

    # 对应的记忆日志记录 --> {'prev_value': '正在努力提高网球技巧水平,并且对网球在线课程感兴趣。', 'new_value': '喜欢在周末打网球,也在寻找网球相关的在线课程建议。'}

进入全屏模式;退出全屏模式

更多关于Mem0功能的信息,请查阅他们官方的文档

这是一个动图,如图所示
GIF Mem0 GIF

给 Mem0 仓库点个星星 ⭐ https://github.com/mem0ai/mem0

zh: ***

3. AgentOps - AI 代理观测平台

构建AI代理现在已经成为一种潮流,但确保它们按预期工作则是另一回事。大多数开发者并不关心监控他们的AI代理,这将是一场潜在的灾难。

AgentOps简化并高效管理代理可观测性,确保代理按计划运行。它有助于大型语言模型成本跟踪、基准测试和对比,并且与大多数大型语言模型和代理框架兼容,比如CrewAI、Langchain和Autogen。

pip安装AgentOps,开始使用吧。

# 安装agentops插件
pip install agentops

全屏模式 退出全屏

启动 AgentOps 客户端并自动获取每次 LLM 调用的分析。

    导入 agentops

    # 程序代码的开始部分(例如 main.py, __init__.py)
    agentops.init(请在此处插入您的 API 密钥)

    ...

    # (可选:记录特定函数)
    @agentops.record_action('将要记录的示例函数')
    def sample_function(...):
        ...

    # 程序结束
    agentops.end_session('Success')
    # 完成啦 🎉

进入全屏、退出全屏

参阅他们的文档(https://docs.agentops.ai/v1/introduction)以获取更多详情

GIF AgentOps GIF(点击查看)

给AgentOps仓库星标⭐吧

zh: ……

4. E2B - AI代理的E2B代码解析 (注:E2B为特定术语,代表某种代码解释机制)

或者

4. E2B - AI代理的代码解析 (E2B)

在许多应用场景中,例如成为AI工程师、分析师或导师,您需要一种方法将AI模型与代码执行环境连接起来,而E2B目前是这一领域的领先解决方案。

E2B Sandbox 是一个供AI代理及应用使用的安全云平台。

它可以让AI像人类一样,在GitHub代码库和云端浏览器等工具上长时间安全运行。

这里提供了原生的代码解释器SDKs,支持Python以及Javascript/Typescript(软件开发工具包)。

代码解释器插件允许你在一个安全的虚拟机中运行AI生成的代码——E2B沙盒。在其中,你可以通过插件操控一个Jupyter服务器。

开始使用E2B吧,请使用以下命令。

安装代码解释器插件
npm i @e2b/code-interpreter

全屏查看,退出全屏

运行程序。

    import { CodeInterpreter } from '@e2b/code-interpreter'

    const 沙箱 = await CodeInterpreter.create()
    await 沙箱.notebook.execCell('x = 1')

    const 执行结果 = await 沙箱.notebook.execCell('x+=1; x')
    console.log(执行结果.text)  // 输出 2

    await 沙箱.关闭()

全屏模式 退出全屏

要了解更多关于如何与E2B合作的方法,请访问他们的官方文档。

GIF 动图 E2B Gif "E2B动图"

给AgentOps仓库点个星⭐ https://github.com/e2b-dev/E2B

zh: (省略)

5. 自动代理生成 - 一个用于智能代理的编程框架,简称Autogen

构建具有代理性的工作流可能会很快变得令人应接不暇。来自微软的开源框架Autogen简化了构建多代理工作流的流程。

你可以创建分工明确的AI代理角色,以完成类似于现实世界团队完成的复杂任务。

它支持多种大语言模型(LLM)和对话模式,用于构建高效的AI代理集群。

快速通过pip安装Autogen,立即开始使用。

使用pip安装pyautogen库。# 使用pip安装所需的Python库
pip install pyautogen

点击全屏 | 点击退出全屏

一个简单的Autogen示例。
import os
from autogen import AssistantAgent, UserProxyAgent

llm_config = {"model": "gpt-4", "api_key": os.environ["OPENAI_API_KEY"]}
assistant = AssistantAgent("assistant", llm_config=llm_config)
user_proxy = UserProxyAgent("user_proxy", code_execution_config=False)

# 开始聊天吧
user_proxy.initiate_chat(
    assistant,
    message="给我讲个关于NVDA和特斯拉股票价格的笑话。",
)

全屏模式,退出全屏.

更多内容请参见他们的[官方文档](https://microsoft.github.io/autogen/docs/Getting-Started)。

GIF ![自动的 GIF](https://imgapi.imooc.com/66fa213c0a78ca5608000257.jpg)

给Autogen仓库点个赞⭐(https://github.com/microsoft/autogen)

zh: zh: 以下省略

## 6\. MindsDB - 一个使用企业数据构建AI的平台

如果你正在构建一个企业应用,MindsDB 应该是你的首选工具。它允许你实时部署、服务和微调模型,利用数据库、向量存储或应用程序中的数据来构建具备 AI 功能的应用程序——使用开发人员已经熟悉的通用工具进行。

它们作为连接桥梁,将存储在不同数据存储中的数据与流行的AI/ML框架(如LangChain、LlamaIndex和AutoML)连接起来。

通过Docker或Docker Desktop在本地安装MindsDB,按照链接里的说明操作。

这里有一个示例,它让你可以用日常语言查询数据源,就像你在跟人说话一样,这是一个将文本转换为SQL的工具。
-- 步骤 1. 连接数据源到 MindsDB
CREATE DATABASE data_source
WITH ENGINE = "postgres",
PARAMETERS = {
    "user": "demo_user",
    "password": "demo_password",
    "host": "samples.mindsdb.com",
    "port": "5432",
    "database": "demo",
    "schema": "demo_data"
};

SELECT *
FROM data_source.car_sales;

-- 步骤 2. 创建一个技能(技能类型为 text2sql)
CREATE SKILL my_skill
USING
    type = 'text2sql',
    database = 'data_source',
    tables = ['car_sales'],
    description = '不同车型的汽车销售数据';

SHOW SKILLS;

-- 步骤 3. 部署一个机器学习引擎
CREATE ML_ENGINE langchain_engine
FROM langchain
USING
      openai_api_key = 'your openai-api-key';

-- 步骤 3. 创建一个对话模型
CREATE MODEL my_conv_model
PREDICT answer
USING
    engine = 'langchain_engine',
    model_name = 'gpt-4',
    mode = 'conversational',
    user_column = 'question' ,
    assistant_column = 'answer',
    max_tokens = 100,
    temperature = 0,
    verbose = True,
    prompt_template = '以一种有帮助的方式回答用户输入的问题';

-- 查看模型描述
DESCRIBE my_conv_model;

-- 步骤 4. 创建一个代理(使用对话模型和技能)
CREATE AGENT my_agent
USING
    model = 'my_conv_model',
    skills = ['my_skill'];

-- 显示代理列表
SHOW AGENTS;

-- 步骤 5. 查询代理
SELECT *
FROM my_agent
WHERE question = '2018年的汽车平均价格是多少?';  -- 查询 2018 年汽车的平均价格

SELECT *
FROM my_agent
WHERE question = '2017年的汽车最高里程数是多少?';  -- 查询 2017 年汽车的最高里程数

SELECT *
FROM my_agent
WHERE question = '2016年销售的汽车中自动/半自动/手动档汽车的百分比是多少?';  -- 查询 2016 年销售的汽车中自动/半自动/手动档汽车的百分比

SELECT *
FROM my_agent
WHERE question = '2019年的汽车中汽油还是柴油更常见?';  -- 查询 2019 年汽车中汽油还是柴油更常见

SELECT *
FROM my_agent
WHERE question = '最常销售的汽车型号是什么?';  -- 查询最常销售的汽车型号

进入全屏 退出全屏

有关MindsDB的更多信息,请查看文档([https://docs.mindsdb.com/what-is-mindsdb](https://docs.mindsdb.com/what-is-mindsdb))。

这里有一个 Mindsdb 的 GIF 图片: ![Mindsdb GIF](https://imgapi.imooc.com/66fa21430a8251ce08000257.jpg)

[给 MindsDB 仓库点赞 ⭐](https://github.com/mindsdb/mindsdb)

zh: * * *

## 7\. FireCrawl - 将网站转换成适合LLM处理的数据

Firecrawl 是一个开源的爬虫工具,可以将任何网页转换成易于结构化的 Markdown 格式。这种格式可以用于多种应用,例如问答系统、模型微调等。

你可以使用他们的API来完成所有需要的操作。

这是爬取一个网页及其所有可访问子网页的方法。
curl -X POST https://api.firecrawl.dev/v1/crawl \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer fc-YOUR_API_KEY' \
    -d '{
      "url": "https://docs.firecrawl.dev",
      "limit": 100,
      "scrapeOptions": {
        "formats": ["markdown", "html"]
      }
    }'

该命令用于向火爬虫API发送POST请求,抓取指定URL的内容,并限制抓取数量为100。其中,`Authorization: Bearer fc-YOUR_API_KEY` 表示授权信息,`Content-Type: application/json` 表示请求体的格式为JSON,`url`、`limit` 和 `formats` 分别表示抓取的目标URL、抓取的限制数量和抓取的内容格式。

全屏模式 退出全屏

zh: 报废
curl -X POST https://api.firecrawl.dev/v1/scrape \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer YOUR_API_KEY' \
    -d '{
      "url": "https://docs.firecrawl.dev",
      "formats" : ["markdown", "html"]
    }'

全屏 全屏退出

映射用于将网址映射到网站网址,以便获取网站地址。
curl -X POST https://api.firecrawl.dev/v1/map \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer YOUR_API_KEY' \
    -d '{
      "url": "https://firecrawl.dev"
    }'

全屏, 退出全屏

更多关于Firecrawl的信息,请查看[文档](https://docs.firecrawl.dev/introduction)。

GIF Firecrwal GIF(火焰虫)![Firecrwal GIF](https://imgapi.imooc.com/66fa21490a707f4408000257.jpg)

给FireCrawl仓库点个星⭐,点击这里(https://github.com/mendableai/firecrawl)

* * *

## 8\. LanceDB - **AI应用的向量知识库**

如果你正在构建AI应用,你将需要一个向量数据库来存储和检索如文本、图像和视频之类的结构化数据。与传统数据库不同,向量数据库存储这些数据的向量表示。

嵌入是数据的高维数值表示。向量数据库通过相似度评分等方法来检索相关数据。

LanceDb 是一个用 Typescript 编写的开源向量数据库,主要用于大规模的向量搜索、多模式支持、零复制、自动数据版本管理、基于 GPU 的查询加速等更多功能。

快来试试LanceDB吧
npm install @lancedb/lancedb

全屏模式/退出全屏

创建并查询向量数据库。
import * as lancedb from "@lancedb/lancedb";

const db = await lancedb.connect("data/sample-lancedb");
const table = await db.createTable("vectors", [
    { id: 1, vector: [0.1, 0.2], item: "foo", price: 10 },
    { id: 2, vector: [1.1, 1.2], item: "bar", price: 50 },
], {mode: 'overwrite'});

const query = table.vectorSearch([0.1, 0.3]).limit(2);
const results = await query.toArray();

//  you can also use specific conditions to query rows without involving vector search.
const rowsByCriteria = await table.query().where("price >= 10").toArray();
// 例如,你可以通过特定条件查询行,比如价格大于等于10的行。


全屏,退出全屏

你可以在此处了解更多关于LanceDB的内容,他们的[文档](https://lancedb.github.io/lancedb/)里有说明。

GIF ![LanceDB GIF](https://imgapi.imooc.com/66fa214f0a84a0e208000273.jpg) (这是一张展示LanceDB功能的动态图)

给 LanceDB 仓库点个星 ⭐,链接: https://github.com/lancedb/lancedb

好了,各位!

* * *

[![开发者大会](https://imgapi.imooc.com/66fa2150091f0d8f08000100.jpg)](https://devfest.ai)

## 加入我们 Devfest 的活动,一起庆祝科技的未来

TL;DR,我们搞了一个超棒的活动,在这里你可以为任何AI项目提交代码并获得酷炫的周边。

加入我们:<https://devfest.ai>

规则很简单。

* 前往DevFest AI - 创建或加入现有的队伍。为任何包含AI的代码库贡献代码。
* 积累积分,活动结束时,积分最多的前100名将获得超赞的周边(这个数字可能会增加!)
* 在活动期间,我们还将举办一些有趣的周边抽奖活动。

分享你精彩的门票吧 🎫

[![票(Ticket)](https://imgapi.imooc.com/66fa215209cf2fb508080519.jpg)](https://imgapi.imooc.com/66fa215209cf2fb508080519.jpg)
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消