本文将为您介绍25个开源项目,分为上下两篇以便您融汇它们来制作自己的AI应用。人工智能(AI)应用在近年来得到了长足的发展。从语音助手到软件开发,人工智能已在我们的生活中无处不在,并得到了广泛应用。
如您所见,人工智能(AI)应用在近年来得到了长足的发展。从语音助手到软件开发,人工智能已在我们的生活中无处不在,并得到了广泛应用。下面,我将为您介绍25个开源项目,您可以用它们来制作自己的人工智能应用程序,并使其更上一层楼。
1.Taipy -将数据和人工智能算法转化为可投入生产网络的应用
作为一个开源的Python库,Taipy(https://github.com/Avaiga/taipy)提供了假设分析、智能管道执行、内置调度和部署工具等功能,可用于轻松地进行端到端的应用开发。例如,它可以为基于Python的应用,创建图形化的用户界面,并改进数据流的管理。同时,您可以用其绘制数据集的图表,并使用类似图形化用户界面的滑块,让用户可以选择使用其他实用的功能,来处理数据。
在不牺牲性能的情况下,Taipy提供了友好的用户界面、高效的数据处理能力、以及良好的易用性。您只需通过命令:pip install taipy,来完成安装。同时,Taipy也能利用各种代码库,来简化开发并增强功能。
目前,Taipy发布了最新版本为v3.1(https://docs.taipy.io/en/latest/relnotes/)。该版本的多功能部件对象实现了HTML或Python对象的可视化。
这意味着Folium(https://python-visualization.github.io/folium/latest/)、Bokeh(https://bokeh.org/)、Vega-Altair(https://altair-viz.github.io/)和Matplotlib(https://matplotlib.org/)等代码库现在都可以被用于可视化。同时,它提供了对Plotly Python(https://plotly.com/python/)的原生支持,使得绘制图表变得更容易。
在利用分布式计算提高性能的同时,Taipy及其所有依赖项都能与Python 3.12完全兼容,以便用户在Taipy的项目中使用最新的工具和代码库。请阅读文档-- https://docs.taipy.io/en/latest/,以获得更多介绍。
下图展示的是其聊天界面(https://docs.taipy.io/en/release-3.1/gallery/llm/5_chatbot/)。该演示使用了OpenAI的GPT-4 API,生成对消息的回复。您可以通过更改代码,以使用其他的API或模型。
下图展示的是由Taipy团队提供的、可用于加速Taipy应用构建的、另一个名为Taipy Studio(https://docs.taipy.io/en/latest/manuals/studio/)的VSCode扩展功能。
当然,您也可以为自己的应用选用Taipy的云部署。如果您想了解其代码库结构,可以阅读HuggingFace的《使用Taipy创建Python语言的大模型Web界面(https://huggingface.co/blog/Alex1337/create-a-web-interface-for-your-llm-in-python)》一文。
在教程资源方面,Taipy提供了10多个带有代码和文档的演示教程,可供您学习。例如:
- Covid仪表板(https://covid-dashboard.taipy.cloud/Country)
- Tweet的生成(https://tweet-generation.taipy.cloud/)
- 数据可视化(https://production-planning.taipy.cloud/Data-Visualization)
- 实时人脸识别(https://face-recognition.taipy.cloud/)
目前,Taipy的v3版在GitHub上有七千多颗星,且在不断改进中。
2.Supabase - Firebase的开源替代品
要构建人工智能应用,您往往需要一个后台,而Supabase(https://github.com/supabase/supabase)正是可以满足此需求的优秀后台服务提供商。
通过参考相关文档(https://supabase.com/docs),您可以从如下npm命令(Next.js)开始安装Supabase:
npx create-next-app -e with-supabase
如下代码段则展示了如何进行CRUD操作:
import { createClient } from '@supabase/supabase-js'
// Initialize
const supabaseUrl = 'https://chat-room.supabase.co'
const supabaseKey = 'public-anon-key'
const supabase = createClient(supabaseUrl, supabaseKey)
// Create a new chat room
const newRoom = await supabase
.from('rooms')
.insert({ name: 'Supabase Fan Club', public: true })
// Get public rooms and their messages
const publicRooms = await supabase
.from('rooms')
.select(`
name,
messages ( text )
`)
.eq('public', true)
// Update multiple users
const updatedUsers = await supabase
.from('users')
.eq('account_type', 'paid')
.update({ highlight_color: 'gold' })
您可以利用Supabase的Auth、realtime、Edge函数、以及存储等功能,来构建一个超快的应用。同时,Supabase也提供了多个启动工具包,如:带有LangChain的Next.js(https://github.com/langchain-ai/langchain-nextjs-template)、带有Next.js的Stripe(https://github.com/vercel/nextjs-subscription-payments)、以及AI聊天机器人(https://github.com/supabase-community/vercel-ai-chatbot)。
目前,Supabase在GitHub上有六万三千多颗星,以及大量贡献者。而且,他们的提交次数达两万七千多次。
3.Chatwoot -即时聊天、电子邮件支持、全方位渠道服务台,并拥有自己的数据
Chatwoot(https://github.com/chatwoot/chatwoot)可与电子邮件、网站即时聊天、Facebook、Twitter、WhatsApp、Instagram以及Line等常用客户沟通渠道连接,以实现一站式多社交应用的客户体验。如下图所示,这对于想围绕着某个人工智能应用来建立用户社区的需求,显得十分必要。
您可以通过阅读文档(https://www.chatwoot.com/docs/product),了解各种集成选项,从而更轻松地管理整个生态系统。其文档非常详细,每个集成都有相应的快照示例,例如:WhatsApp频道就带有WhatsApp Cloud API。因此,您可以按需将其一键部署到Heroku或自行托管。
目前,Chatwoot发布的是v3.6版,在GitHub上拥有一万八千多颗星。
4.CopilotKit -在数小时内为您的产品提供AI Copilot
CopilotKit(https://github.com/CopilotKit/CopilotKit)可以让我们使用两个React组件,将各种关键性的人工智能功能集成到React应用中。同时,它也提供了内置(但完全可定制)的Copilot原生用户体验组件,如:<CopilotKit />、<CopilotPopup />、<CopilotSidebar/>、以及<CopilotTextarea/>等。
通过阅读相关文档(https://docs.copilotkit.ai/getting-started/quickstart-textarea),您可以从使用如下npm命令开始安装Copilot:
npm i @copilotkit/react-core @copilotkit/react-ui @copilotkit/react-textarea
下面的代码段展示了如何集成CopilotTextArea的方法。
import { CopilotTextarea } from "@copilotkit/react-textarea";
import { useState } from "react";
export function SomeReactComponent() {
const [text, setText] = useState("");
return (
<>
<CopilotTextarea
className="px-4 py-4"
value={text}
onValueChange={(value: string) => setText(value)}
placeholder="What are your plans for your vacation?"
autosuggestionsConfig={{
textareaPurpose: "Travel notes from the user's previous vacations. Likely written in a colloquial style, but adjust as needed.",
chatApiConfigs: {
suggestionsApiConfig: {
forwardedParams: {
max_tokens: 20,
stop: [".", "?", "!"],
},
},
},
}}
/>
</>
);
}
通过上述方法,您可以在几分钟内构建出AI聊天机器人,以用于基于LLM的全栈应用。
5.DALL-E Mini -根据文本提示生成图像
OpenAI的第一个令人印象深刻的图像生成模型是DALL-E。DALL-E mini应母公司的要求更名为Craiyon。而Craiyon/DALL-E mini则试图利用开源模型重现其成果。如下图所示,您可以在Craiyon(https://www.craiyon.com/)上使用该模型。
参考相关文档(https://github.com/borisdayma/dalle-mini?tab=readme-ov-file#development),您可以用如下命令(用于开发)开始安装DALL-E Mini:
pip install dalle-mini
通过阅读DALL-E Mini的相关说明(https://wandb.ai/dalle-mini/dalle-mini/reports/DALL-E-Mini-Explained-with-Demo--Vmlldzo4NjIxODA),您也可以了解有关其数据集、架构和算法等更多信息。当然,《最佳人工智能图像和提示终极指南(https://www.craiyon.com/blog/ultimate-guide-best-ai-art-photorealistic-images-and-prompts)》,也值得您参考。
目前,DALL-E Mini的v0.1版本在GitHub上有一万四千多颗星。
6.Deepgram -为应用构建语音人工智能
无论是初创公司还是美国国家航空航天局(NASA),它们每天都在使用Deepgram(https://github.com/deepgram)的API以快速、准确、可扩展且经济高效的方式,转录和理解数百万分钟的音频。同时,Deepgram能为开发人员提供语音到文本和音频的智能模型。
由Deepgram的官方介绍文档可知(https://developers.deepgram.com/docs/introduction),它提供了免费和可视化两种模型。其免费层面完全能够满足您的基本使用。而可视化是上面一层,您可以查看实时的流媒体响应或音频文件,并比较音频的智能化水平。
您还可以阅读Deepgram的博客示例(https://deepgram.com/learn/how-to-add-speech-recognition-to-your-react-project),以获悉如何在React和Node.js项目中添加语音识别功能。
如果您想亲自体验Deepgram API的灵活性,请访问它们的API Playground(https://playground.deepgram.com/?smart_format=true&language=en&model=nova-2)。
7.InvokeAI -稳定扩散模型的领先创意引擎
作为Stable Diffusion的实现,InvokeAI(https://github.com/invoke-ai/InvokeAI)是一种开源的文本到图像、以及图像到图像的生成器。它提供了业界领先的WebUI,并通过CLI支持终端的使用,可谓多种商业产品的基础。
InvokeAI既能够在Windows、Mac和Linux机器上运行,也可以在仅有4 GB内存的GPU显卡上运行。您可以阅读其有关硬件要求(https://invoke-ai.github.io/InvokeAI/installation/INSTALLATION/),如何安装不同的模型(https://invoke-ai.github.io/InvokeAI/installation/050_INSTALLING_MODELS/),以及重要的自动安装信息(https://invoke-ai.github.io/InvokeAI/installation/010_INSTALL_AUTOMATED/)。
正如其文档(https://invoke-ai.github.io/InvokeAI/features/IMG2IMG/)所述,InvokeAI还能够使用其他图像来生成新的图像。
目前,InvokeAI在GitHub上有将近两万一千多颗星。
8.OpenAI- 您需要的一切
OpenAI(https://github.com/openai)已被全世界所知晓。通过OpenAI,您可以使用DALL-E来根据文字描述,创建原始、逼真的图像,使用Whisper实现语音识别模型。
如下代码段所示,您可以从一个简单的API开始构建。
completion = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "What are some famous astronomical observatories?"}
]
)
当然,其文档链接-- https://platform.openai.com/docs/introduction提供了更多可构建的选项。
如上图所示,您可以创建助理应用(https://platform.openai.com/docs/assistants/overview)程序并查看API playground(https://platform.openai.com/playground/p/default-chat?model=text-davinci-003),以便更好地了解它。
9.DeepFaceLab -用于创建Deepfakes的领先软件
DeepFaceLab(https://github.com/iperov/DeepFaceLab)是一款实现深度伪造(Deepfakes)的顶级开源工具。此处的深度伪造是利用深度学习来篡改图像和视频的技术。它们经常被用来在图片或短片中调换人脸,有时是为了开玩笑,但有时是为了欺诈。
如上图所示,作为一款使用Python构建的深度伪造工具,DeepFaceLab可以改变媒体中的人脸,消除皱纹和衰老的痕迹,甚至可以操纵嘴唇的动作。
您既可以使用其基础教程来了解如何有效地使用DeepFaceLab(https://www.youtube.com/watch?v=kOIMXt8KK8M),也可以通过链接观看DeepLab算法的使用视频(https://www.youtube.com/channel/UCGf4OlX_aTt8DlrgiH3jN3g/videos)。
遗憾的是,在DeepFaceLab中并没有“使一切正常”的按钮。不过,您可以通过学习其工作流程,以满足自己的特定需求。而且,由于教程众多、算法可靠,因此它已是人工智能应用领域的可靠选择。
截止2023年11月9日,DeepFaceLab已在GitHub上拥有近四万四千颗星。
10.Detectron2 -基于PyTorch的模块化对象检测库
作为Facebook AI Research的下一代代码库,Detectron2支持Facebook上的多个计算机视觉研究项目和生产应用。它是 Detectron和maskrcnn-benchmark的后续产品,因此提供了最先进的物体检测和分割算法模型。同时,Detectron2也能适应不断发展的前沿研究领域。
通过链接--https://www.youtube.com/watch?v=eUSgtfK4ivk,您可以了解如何利用机器学习来使用Detectron2。同时,Detectron2配备了如:DensePose和全景特征金字塔网络(panoptic feature pyramid networks)等先进的物体检测算法。据此,Detectron2能够进行语义分割和全景分割,这有助于更准确地检测和分割图像和视频中的物体。
此外,Detectron2不仅支持使用边界框和实例分割掩码进行物体检测,还能够预测人物的姿势,这一点与Detectron比较相似。
目前,Detectron2在GitHub代码库中有两万八千多颗星,而且在GitHub上被一万六千多名开发人员所使用。
11.FastAI -深度学习库
作为一个多功能深度学习库,Fastai(https://github.com/fastai/fastai)为从业人员提供了高级组件,使他们能够在常见的深度学习任务中快速获得一流的结果。同时,它也为研究人员提供了低级组件,以便他们进行实验和开发新的方法。
该架构利用Python的动态特性和PyTorch的灵活性,将复杂的深度学习技术分解为易于管理的抽象概念。如下图所示,它建立在提供可组合构件的低级API的层次结构之上。据此,如果用户想重写部分高级API或添加特定行为,以满足自己的需求,就不必学习如何使用最底层的API了。
在安装了pyTorch后,您可以通过参考其文档(https://docs.fast.ai/),使用以下命令以开始FastAI的相关操作。
conda install -c fastai fastai
FastAI分别为初学者、中级和专家提供了不同的教程(https://docs.fast.ai/tutorial.html)。当然,如果您想为FastAI作出贡献的话,请事先阅读他们的代码风格指南(https://docs.fast.ai/dev/style.html)。
目前,FastAI在GitHub上拥有两万五千多颗星,且已被GitHub上的一万六千多名开发人员所使用。