Gdańsk AI简介
Gdańsk AI是一个由波兰开发者Jędrzej Paweł Maczan创建的开源全栈AI语音聊天机器人项目。该项目融合了语音识别、大语言模型和语音合成等多项AI技术,并集成了Auth0、OpenAI、Google Cloud API和Stripe等服务,打造了一个功能完整的AI语音助手系统。
Gdańsk AI的名字来源于波兰北部港口城市格但斯克(Gdańsk),这座城市有着悠久的历史和丰富的文化底蕴。项目作者选择以此命名,既体现了其波兰背景,又暗示了AI技术与传统文化的融合。
系统架构
Gdańsk AI采用了现代化的全栈架构,主要包含三个核心组件:
-
Web前端(Web): 使用Next.js框架开发,提供用户交互界面。
-
Web API后端(Web API): 基于Node.js和Express构建,处理业务逻辑和数据流。
-
AI API(AI API): 使用Python和FastAPI实现,集成各种AI服务。
这种分层架构使得系统具有良好的可扩展性和可维护性。每个组件都可以独立部署和扩展,同时通过API进行高效通信。
核心功能
Gdańsk AI的主要功能包括:
-
语音识别(Speech-to-Text): 将用户的语音输入转换为文本。
-
自然语言处理: 使用大语言模型(LLM)理解用户意图并生成回复。
-
语音合成(Text-to-Speech): 将文本回复转换为语音输出。
-
用户认证: 集成Auth0提供安全的用户认证和授权。
-
支付系统: 通过Stripe实现"bibs"(API令牌)的购买功能。
这些功能的组合使Gdańsk AI成为一个功能丰富、交互自然的AI语音助手。
技术栈详解
Web前端
Web前端使用Next.js框架开发,这是一个基于React的现代化Web开发框架。主要特点包括:
- 支持服务器端渲染(SSR),提高页面加载速度和SEO表现。
- 自动代码分割,优化应用性能。
- 内置路由系统,简化页面导航。
- 支持TypeScript,提高代码质量和可维护性。
前端界面当前主要在Google Chrome浏览器中运行。用户可以点击Gdańsk AI的logo来录音,再次点击即可将音频发送到Web API进行处理。
Web API后端
Web API后端采用Node.js和Express构建,主要负责:
- 处理来自前端的请求
- 与AI API交互
- 管理用户认证和授权
- 处理支付相关逻辑
使用TypeScript进行开发,提高了代码的可读性和可维护性。
AI API
AI API是系统的核心,负责处理所有与AI相关的任务。它使用Python和FastAPI框架开发,集成了多项AI服务:
- 语音识别: 使用OpenAI的Whisper-1模型将语音转换为文本。
- 自然语言处理: 采用OpenAI的GPT-3.5-turbo模型进行对话生成。
- 语音合成: 利用Google Cloud的TextToSpeechClient服务将文本转换为语音。
这种模块化的设计使得系统可以灵活地更换或升级各个AI组件,以适应未来的技术发展。
集成服务
Gdańsk AI集成了多个第三方服务,以提供全面的功能:
-
Auth0: 提供安全可靠的用户认证和授权服务。免费版支持每月7000个用户。
-
Stripe: 处理支付相关功能,允许用户购买"bibs"(API令牌)。Stripe只在实际购买时收取费用,无固定成本。
-
OpenAI API: 提供强大的语音识别和自然语言处理能力。
-
Google Cloud API: 提供高质量的语音合成服务。
这些集成使得Gdańsk AI能够专注于核心功能开发,同时利用成熟的第三方服务提供可靠的辅助功能。
部署和使用
要部署和使用Gdańsk AI,需要按照以下步骤进行:
- 克隆项目代码库:
git clone https://github.com/jmaczan/gdansk-ai.git
-
分别为Web前端、Web API和AI API配置环境变量(.env文件)。
-
设置和配置第三方服务(Auth0、Stripe、OpenAI和Google Cloud)。
-
分别在web、web-api和ai-api目录下安装依赖并启动服务。
详细的部署步骤可以参考项目的README文档。
开源协议和社区贡献
Gdańsk AI采用GNU GPL v2开源协议发布,这意味着:
- 任何人都可以自由使用、修改和分发该软件。
- 修改后的版本必须同样采用GPL协议开源。
- 使用该软件的商业项目也需要开源其代码。
这种开源模式鼓励了社区参与和技术创新。开发者欢迎社区成员通过提交Pull Request、报告问题或改进文档等方式参与项目开发。
未来展望
虽然Gdańsk AI已经是一个功能丰富的AI语音助手系统,但仍有很多可以改进和扩展的方向:
-
多语言支持: 目前主要支持英语,未来可以扩展到更多语言。
-
跨平台支持: 开发移动应用和桌面客户端,使服务更加易用。
-
自定义AI模型: 针对特定领域训练专门的语言模型,提高对话质量。
-
语音识别优化: 提高在嘈杂环境下的语音识别准确率。
-
情感分析: 集成情感识别技术,使AI助手能够更好地理解用户情绪。
-
知识图谱集成: 引入知识图谱,提升AI助手的知识储备和推理能力。
结语
Gdańsk AI展示了如何将多项前沿AI技术整合到一个实用的应用中。它不仅是一个功能完整的AI语音助手,更是一个开放的技术平台,为开发者和研究人员提供了探索和创新的空间。
随着AI技术的不断进步,我们可以期待看到更多像Gdańsk AI这样的创新项目涌现,推动AI技术在日常生活中的应用和普及。无论你是开发者、研究人员还是对AI感兴趣的普通用户,Gdańsk AI都值得一试,它将为你开启AI语音交互的新世界。