30+ AI 项目实现教程集合
汇集实战 AI 项目案例和源码,程序员可直接参考或改进,加速原型开发。
汇集实战 AI 项目案例和源码,程序员可直接参考或改进,加速原型开发。
今天,我们将介绍 30 多个可以用 AI 构建的项目。
所有项目都是开源的,因此你可以通过贡献来帮助它们变得更好。
其中一些项目的代码库可能很庞大,但你可以从中获得灵感,并构建一个很酷的业余项目。
相信我,如果这份列表都不能让你感到惊喜,那就没有什么能让你惊喜了 :)
在 React 中集成 AI 功能并不容易,这正是 Copilot 发挥作用的地方。它是一种简单、快速的解决方案,可以将生产就绪的 Copilot 集成到任何产品中!
你可以使用两个 React 组件,将关键的 AI 功能集成到 React 应用中。他们还提供内置且完全可自定义的 Copilot 原生 UX 组件,例如 <CopilotKit />、<CopilotPopup />、<CopilotSidebar />、<CopilotTextarea />。
使用以下 npm 命令开始安装。
npm i @copilotkit/react-core @copilotkit/react-ui
Copilot Portal 是 CopilotKit 提供的组件之一。它是一个应用内 AI 聊天机器人,可以查看应用的当前状态,并在应用内执行操作。它能够与应用的前端和后端通信,也可以通过插件与第三方服务通信。
你可以通过以下方式集成聊天机器人。
所有与 CopilotKit 交互的组件都必须由 CopilotKit 包裹。建议你同时从 CopilotSidebar 开始使用,之后可以再切换到其他 UI 提供方。
"use client";
import { CopilotKit } from "@copilotkit/react-core";
import { CopilotSidebar } from "@copilotkit/react-ui";
import "@copilotkit/react-ui/styles.css";
export default function RootLayout({children}) {
return (
<CopilotKit url="/path_to_copilotkit_endpoint/see_below">
<CopilotSidebar>
{children}
</CopilotSidebar>
</CopilotKit>
);
}
你可以按照这份快速入门指南设置 Copilot 后端端点。
完成这些步骤后,你就可以让 Copilot 执行操作。你可以继续了解如何提供外部上下文,具体可以通过 useMakeCopilotReadable 和 useMakeCopilotDocumentReadable React Hooks 实现。
"use client";
import { useMakeCopilotActionable } from '@copilotkit/react-core';
// Let the copilot take action on behalf of the user.
useMakeCopilotActionable(
{
name: "setEmployeesAsSelected", // no spaces allowed in the function name
description: "\"Set the given employees as 'selected'\","
argumentAnnotations: [
{
name: "employeeIds",
type: "array", items: { type: "string" }
description: "\"The IDs of employees to set as selected\","
required: true
}
],
implementation: async (employeeIds) => setEmployeesAsSelected(employeeIds),
},
[]
);
你可以阅读文档并查看演示视频。
你可以轻松集成 Vercel AI SDK、OpenAI APIs、Langchain 以及其他 LLM 提供方。你可以按照这份指南将聊天机器人集成到自己的应用中。
其基本理念是,在几分钟内构建出可用于基于 LLM 的应用程序的 AI 聊天机器人。
它的应用场景非常广泛。作为开发者,我们绝对应该尝试在下一个项目中使用 CopilotKit。
CopilotKit 在 GitHub 上拥有 5.7k+ Stars,并发布了 200 多个版本,这意味着他们一直在持续改进。
AgentGPT 允许你配置和部署自主 AI 智能体。
它会通过思考需要完成哪些任务、执行这些任务并从结果中学习,尝试实现目标 :)
项目脚手架:create-t3-app + FastAPI-template。
框架:Nextjs 13 + Typescript + FastAPI。
ORM:Prisma & SQLModel。
数据库:Planetscale。
样式:TailwindCSS + HeadlessUI。
Schema 验证:Zod + Pydantic。
LLM 工具:Langchain。
按照这份指南开始在本地安装。
你可以查看应用演示并访问在线网站。
他们在 GitHub 上拥有 29k+ Stars,目前已发布 v1 版本。
PrivateGPT 是一个生产就绪的 AI 项目。借助大语言模型(LLM)的能力,即使在没有互联网连接的场景中,你也可以针对自己的文档提问。
100% 私密,意味着任何时候都不会有数据离开你的执行环境。
API 分为两个逻辑模块:
a. 高级 API,它抽象了 RAG(检索增强生成)流水线实现的所有复杂性:
文档摄取:在内部管理文档解析、拆分、元数据提取、嵌入生成和存储。
使用已摄取文档中的上下文进行对话和补全:对上下文检索、提示词工程和响应生成进行抽象。
b. 底层 API,允许高级用户实现复杂的流水线:
嵌入生成:根据一段文本生成嵌入。
上下文分块检索:给定一个查询,返回已摄取文档中最相关的文本块。
你可以阅读安装指南开始使用。
你可以阅读文档以及其中涉及的详细架构。
PrivateGPT 目前正在向生成式 AI 模型与基础能力的网关演进,其中包括补全、文档摄取、RAG 流水线以及其他底层构建模块。
他们在 GitHub 上拥有 51k+ Stars,并且正在快速发展。
Instrukt 是一个基于终端、集成了 AI 的环境。它提供了一个平台,用户可以在其中:
创建模块化 AI 智能体并向其下达指令。
生成用于问答的文档索引。
创建工具并将其附加到任意智能体。
使用自然语言向智能体下达指令,并且出于安全考虑,让它们在安全容器中运行(目前通过 Docker 实现),在各自专用的沙盒空间中执行任务。
使用 Langchain、Textual 和 Chroma 构建。
使用以下命令开始安装。
pip install instrukt[all]
它包含许多令人兴奋的功能,例如:
为重度键盘用户提供基于终端的界面,让他们无需离开键盘即可向 AI 智能体下达指令。
为数据建立索引,并让智能体检索数据以进行问答。你可以通过简单易用的 UI 创建和组织索引。
创建索引时,它会自动检测编程语言,并据此优化拆分和分块策略。
为了安全和隐私,可在安全的 Docker 容器中运行智能体。
集成 REPL-Prompt,可与智能体快速交互,并为开发和测试提供快速反馈循环。
你可以通过自定义命令自动执行重复性任务。它还内置了提示词和聊天历史记录。
你可以阅读所有功能的相关介绍。
你可以阅读安装指南。
你还可以使用内置的 IPython 控制台调试和检查智能体,这是一个简洁实用的小功能。
Instrukt 采用 AGPL 许可证,意味着任何人都可以将其用于任何目的。
可以毫不夸张地说,Instrukt 就是一个触手可及的终端 AI 指挥官。
这是一个新项目,因此目前在 GitHub 上只有 200+ Stars,但它的应用场景非常不错。
这是一个用语音控制的 Mac 助手。GPT Automator 让你可以通过语音在 Mac 上执行任务,例如打开应用、查找餐厅以及汇总信息。太棒了 :D
它诞生于伦敦黑客松。
它主要由两部分组成:
a. 语音转命令:使用在本地运行的 Whisper(Buzz 的一个分支)生成命令。
b. 命令转操作:你将命令交给一个配备了自定义工具的 LangChain 智能体,这些工具由我们编写。它们包括使用 AppleScript 控制计算机操作系统,以及使用 JavaScript 控制当前活动的浏览器。最后,就像任何优秀的 AI 一样,我们会让智能体使用 AppleScript 的 saying "{Result}" 读出最终结果(如果你以前没用过,可以试着在 Mac 终端中输入 "Hello World!")。
这是我们制作的一个自定义工具,用于让 LLM 通过 AppleScript 控制计算机。它的提示词就是 docstring:
@tool
def computer_applescript_action(apple_script):
"""
Use this when you want to execute a command on the computer. The command should be in AppleScript.
Here are some examples of good AppleScript commands:
Command: Create a new page in Notion
AppleScript: tell application "Notion"
activate
delay 0.5
tell application "System Events" to keystroke "n" using {{command down}}
end tell
...
Write the AppleScript for the Command:
Command:
"""
p = subprocess.Popen(['osascript', '-'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = p.communicate(applescript.encode('utf-8'))
if p.returncode != 0:
raise Exception(stderr)
decoded_text = stdout.decode("utf-8")
return decoded_text
如果你想知道它是如何工作的:GPT Automator 使用 OpenAI 的 Whisper 将音频输入转换为文本。然后,它使用 LangChain Agent 选择一组操作,包括根据你的提示,通过 OpenAI 的 GPT-3("text-davinci-003")生成 AppleScript(用于桌面自动化)和 JavaScript(用于浏览器自动化)命令,最后执行生成的脚本。
请记住,这并不适合用于生产环境。该项目会执行根据自然语言生成的代码,因此可能容易受到提示词注入及类似攻击。这个项目只是一个概念验证。
你可以阅读安装指南。
让我们看看一些提示词及其执行效果:
✅ 查找计算结果。
提示词:“2 + 2 等于多少?”
它会编写 AppleScript,打开计算器并输入 5 * 5。
✅ 查找附近的餐厅。
提示词:“查找我附近的餐厅”
它会打开 Chrome,通过 Google 搜索附近的餐厅,解析页面,然后返回排名靠前的结果。有时它会有点耍小聪明,转而打开 Google Maps 的搜索结果,并告诉你:“最好的餐厅就是 Google Maps 页面顶部的那些。”还有些时候,它会打开 Google 上排名第一的链接——然后卡在 Google 无障碍页面上……
以下是它运行时在终端中打印的内容:
Command: Find a great restaurant near Manchester.
> Entering new AgentExecutor chain...
I need to search for a restaurant near Manchester.
Action: chrome_open_url
Action Input: https://www.google.com/search?q=restaurant+near+Manchester
Observation:
Thought: I need to read the page
Action: chrome_read_the_page
Action Input:
Observation: Accessibility links
Skip to main content
... # Shortned for brevity
Dishoom Manchester
4.7
(3.3K) · £££ · Indian
32 Bridge St · Near John Rylands Library
Closes soon ⋅ 11 pm
Stylish eatery for modern Indian fare
San Carlo
4.2
(2.8K) · £££ · Italian
42 King St W · Near John Rylands Library
Closes soon ⋅ 11 pm
Posh, sceney Italian restaurant
Turtle Bay Manchester Northern Quarter
4.7
Thought: I now know the final answer
Final Answer: The 15 best restaurants in Manchester include El Gato Negro, Albert's Schloss, The Refuge, Hawksmoor, On The Hush, Dishoom, Banyan, Zouk Tea Room & Grill, Edison Bar, MyLahore Manchester, Turtle Bay Manchester Northern Quarter, San Carlo, The Black Friar, Mana, and Tast Cuina Catalana.
我无法保证这些餐厅真的值得一去,请自行承担探店风险。哈哈!
✅ 如果你让 GPT Automator 清空你的电脑,它真的会照做。
没错,只要你提出要求,它就会清空你的电脑!我内心深处有个声音正尖叫着让我试试看 :)
你可以在这里查看完整演示!
你可以在 Chidi 的博客上了解更多信息。
它更像是一个业余项目,因此在 GitHub 上大约只有 200 个 Star,但确实非常酷。
为 GPT Automator 点亮 Star ⭐️
Flowise 是一个开源的可视化 UI 工具,用于构建自定义 LLM 编排流程和 AI 智能体。
使用以下 npm 命令开始使用。
npm install -g flowise
npx flowise start
OR
npx flowise start --FLOWISE_USERNAME=user --FLOWISE_PASSWORD=1234
下面是集成 API 的方式。
import requests
url = "/api/v1/prediction/:id"
def query(payload):
response = requests.post(
url,
json = payload
)
return response.json()
output = query({
question: "hello!"
)}
你可以阅读文档。
目前没有可用的云端托管服务,因此你需要按照这些说明自行托管。
让我们来看看其中的一些使用场景:
假设你有一个网站(可能是商店、电商网站或博客),希望抓取该网站的所有相关链接,并让 LLM 回答有关你网站的任何问题。你可以按照这篇分步教程实现这一目标。
你还可以创建一个自定义工具,让它能够调用 Webhook 端点,并将必要的参数传入 Webhook 请求体。请按照这篇指南操作,其中将使用 Make.com 创建 Webhook 工作流。
此外还有许多其他使用场景,例如构建 SQL 问答系统或与 API 交互。
FlowiseAI 在 GitHub 上拥有 27.5k+ 个 Star 和超过 10k 个 Fork,因此整体比例相当不错。
Media Agent 会抓取 Twitter 和 Reddit 上的内容,进行总结,并允许你在交互式终端中与这些内容聊天。这个概念太酷了!
你可以阅读相关说明,将它安装到本地。
Langchain 🦜:用于构建和组合 LLM。
ChromaDB:用于存储向量(也称为嵌入)并进行查询,从而构建对话机器人。
Tweepy:用于连接 Twitter API,并提取推文及其元数据。
Praw:用于连接 Reddit API。
Rich:用于构建酷炫的终端 UX/UI。
Poetry:用于管理依赖项。
部分强大功能包括:
代表你根据用户账户列表或关键词列表抓取推文或帖子。
使用 OpenAI 对推文或帖子进行嵌入处理。
为推文或帖子生成摘要,并提供可以回答的潜在问题。
基于这些推文开启聊天会话。
保存对话及其元数据。
提供丰富的终端 UI 和日志功能。
你可以观看演示!
它在 GitHub 上有将近 100 个 Star,但已经停止维护。你可以基于它构建更好的产品。
为 Twitter Agent 点亮 Star ⭐️
如果你曾经经历过将代码库迁移到新框架或新语言的痛苦,这个项目就是为你准备的。
我想大家都认同,我们迟早会需要它。据我所知,你也可以通过工作流来完成迁移,Stripe 就曾使用这种方式将整个 JS 代码库转换为 TS。
迁移是一个成本高昂、枯燥乏味且并不简单的问题。不要盲目信任当前版本,请务必负责任地使用它。还请注意,费用可能会迅速累积,因为 GPT-Migrate 的设计目标是编写(并且可能重新编写)整个代码库。
你可以使用 Poetry 安装它,并阅读其工作原理。
GPT-Migrate 目前仍处于 Alpha 开发阶段,尚未准备好用于生产环境。例如,在相对简单的基准测试中,对于 Python 或 JavaScript 这类“简单”语言,它大约有 50% 的概率能够顺利完成迁移;而对于 C++ 或 Rust 这类更复杂的语言,如果没有人工协助,它就无法完成迁移。
你可以在这里观看演示!
它在 GitHub 上拥有 6.5k+ 个 Star,但最后一次提交是在 6 个月前,因此我认为它已经停止维护了!
Plandex 使用长时间运行的智能体完成涉及多个文件且需要许多步骤的任务。它会将大型任务拆分成更小的子任务,然后逐一实现,并持续执行,直至完成整个工作。
它可以帮助你快速处理积压任务、使用不熟悉的技术、摆脱卡点,并减少花在枯燥工作上的时间。
你可以在这里查看演示!
所有变更都会累积在受保护的沙箱中,因此你可以先进行审查,再自动将其应用到项目文件中。内置的版本控制功能允许你轻松回退并尝试不同的方法。分支功能则允许你尝试多种方案并比较结果。
你可以在终端中高效管理上下文。你能够轻松将文件或整个目录添加到上下文中,并在工作时让它们自动保持最新,从而确保模型始终掌握项目的最新状态。
Plandex 依赖 OpenAI API,并且需要设置 OPENAI_API_KEY 环境变量。
Plandex 支持 Mac、Linux、FreeBSD 和 Windows。它通过单个二进制文件运行,不需要任何依赖项。
你甚至可以尝试不同的模型和模型设置,然后比较结果。
你可以阅读安装说明。
Plandex Cloud 是使用 Plandex 最简单、最可靠的方式。当你首次使用 plandex new 创建计划时,系统会提示你开始匿名试用(无须提供电子邮件)。试用账户最多可以创建 10 个计划,每个计划最多获得 10 条 AI 模型回复。Plandex Cloud 账户目前免费,这一点很不错。
Plandex 在 GitHub 上拥有 8k+ 个 Star,使用 Go 构建。
我原本正打算构建一个类似的项目,后来发现它已经存在了。
这个工具旨在让任何人都能轻松地在 SQL(结构化查询语言)命令与自然语言之间进行双向转换。
SQL 是一种用于管理和操作关系型数据库中数据的编程语言。虽然它功能强大,但也可能相当复杂且难以理解。
另一方面,自然语言是我们日常生活中口头和书面交流所使用的语言,对于不熟悉技术术语的人来说,它通常是更理想的沟通方式。
使用 SQL 和自然语言翻译器,您无需成为 SQL 专家就能理解数据库中的内容或编写 SQL 查询。您可以简单地用自然语言输入查询,获取相应的 SQL 代码,反之亦然。
一些功能包括:
小写/大写切换。
SQL 语法高亮。
架构感知(Beta 版)。
您可以阅读安装说明,这很简单,因为它使用了 Nextjs。
这个查询是给你的。哈哈!
SQL Translator 在 GitHub 上有 4k 星,使用 TypeScript 构建。
给 SQL Translator 星标 ⭐️
WingmanAI 是一个强大的工具,可以进行系统和麦克风音频的实时转录。由 ChatGPT 驱动,此工具让您可以实时与转录文本进行交互,作为机器人的广泛记忆库,提供独特的通信平台。
当您为指定的人员加载转录文本时,机器人可以回答有关过去对话的问题。
您可以阅读安装说明。
您可以在这里观看演示!
一些不错的功能包括:
WingmanAI 可以转录系统输出和麦克风输入音频,允许您以易于阅读的格式查看实时转录。
WingmanAI 可以转录系统输出和麦克风输入音频,允许您以易于阅读的格式查看实时转录。
您可以与由 ChatGPT 驱动的机器人聊天,该机器人实时读取您的转录。
您可以与由 ChatGPT 驱动的机器人聊天,该机器人实时读取您的转录。
机器人以令牌高效的方式维护对话记录,因为只有转录的当前块被传递给机器人。
机器人以令牌高效的方式维护对话记录,因为只有转录的当前块被传递给机器人。
WingmanAI 允许您保存转录以供将来使用。您可以稍后随时加载它们,对机器人所做的任何查询都将与已保存转录的向量数据库交叉引用,为机器人提供更丰富的上下文。
WingmanAI 允许您保存转录以供将来使用。您可以稍后随时加载它们,对机器人所做的任何查询都将与已保存转录的向量数据库交叉引用,为机器人提供更丰富的上下文。
您可以不断追加到已保存的转录,随着时间的推移为机器人构建庞大的数据库。
您可以不断追加到已保存的转录,随着时间的推移为机器人构建庞大的数据库。
它在 GitHub 上有 420 颗星,不再维护。
这只是为了娱乐,我们可以通过代码学到很多关于它的实现方式。
您可以观看这个视频,了解它看起来有多炫。
他们提供三种类型的壁纸,包括视频/GIF、网页和应用程序/游戏。
它是用 C# 构建的,Lively 支持的一些酷炫功能包括:
Lively 可以通过终端中的命令行参数进行控制。您可以将其与 Python 或脚本软件 AutoHotKey 等其他语言集成。
Lively 可以通过终端中的命令行参数进行控制。您可以将其与 Python 或脚本软件 AutoHotKey 等其他语言集成。
为开发人员提供强大的 API 集,用于创建交互式壁纸。获取硬件读数、音频图表、音乐信息等。
为开发人员提供强大的 API 集,用于创建交互式壁纸。获取硬件读数、音频图表、音乐信息等。
当机器上运行全屏应用程序/游戏时,壁纸播放暂停(约 0% CPU、GPU 使用率)。
当机器上运行全屏应用程序/游戏时,壁纸播放暂停(约 0% CPU、GPU 使用率)。
您还可以利用机器学习推理来创建动态壁纸。您可以预测任何 2D 图像与摄像头的距离,并生成类似 3D 的视差效果。很酷 :D
您还可以利用机器学习推理来创建动态壁纸。您可以预测任何 2D 图像与摄像头的距离,并生成类似 3D 的视差效果。很酷 :D
我见过很多人在使用它,其中许多人甚至不知道它是开源的。
您可以使用安装程序或通过 Microsoft Store 下载。
它是 2023 年 Microsoft Store 的赢家。它在 GitHub 上拥有 13k+ 颗星和 60 个版本。
这项工作旨在构建一个基于大型语言模型的自主 AI 智能体 RestGPT,以控制真实世界的应用程序,例如电影数据库和音乐播放器。为实现这一点,我们将 LLM 与 RESTful API 连接起来,并应对规划、API 调用和响应解析的实际挑战。为了充分评估 RestGPT 的性能,我们提出了 RestBench,这是一个高质量的基准,包含两个真实场景和带有黄金解决方案路径的人类标注指令。
RestGPT 采用迭代粗到细的在线规划框架,并使用执行器来调用 RESTful API。这是 RestGPT 的概览。
您可以阅读文档以使用 RestBench 评估 RestGPT 的性能。
使用 TMDB 电影数据库搜索由索菲亚·科波拉导演的电影数量的示例。
您可以阅读在康奈尔大学发布的研究论文以获取代码:RestGPT - Connecting Large Language Models with Real-World RESTful APIs。
他们在 GitHub 上拥有 1.2k 颗星,这虽然不是特别庞大,但涵盖了极好的用例。
文档聊天机器人——多个文件,由 GPT/嵌入驱动。您可以上传任何文档并与其进行对话,考虑到他们使用了另一个著名的开源项目,用户界面做得非常好。
它在幕后使用 Langchain 和 Chatbot-ui。使用 Nextjs、TypeScript、Tailwind 和 Supabase(向量数据库)构建。
如果您想了解方法和技术架构,这里就是!
该环境仅用于试用,支持的最大文件大小为 10 MB,这是一个限制。如果要更大的文件,可以在本地安装。
他们提供了您可以使用的启动问题。您可以查看实时演示。
他们在 GitHub 上拥有 3k 颗星,处于 v0.3 版本。