Flappy Monorepo
:warning: 该项目仍在开发中。 我们正努力尽快发布Flappy的第一个版本,敬请关注!文档和代码示例将很快发布。
这个monorepo汇集了所有的Flappy库,每个库都用不同的编程语言实现。Flappy是一个用于简化使用大型语言模型(LLM)创建AI应用和代理的库。
概览
Flappy是一个生产就绪的语言模型(LLM)应用/代理SDK,旨在简化AI在项目中的集成。它是一个易于使用、兼容性强且生产就绪的解决方案,无论开发者使用何种编程语言,都能将AI的力量带给他们。
主要特点
- 易用性: Flappy的设计理念是像CRUD应用开发一样用户友好,尽量减少新手开发者学习AI的门槛。
- 生产就绪: 除了研究用途,Flappy还是一个强大的SDK,平衡了成本效益和沙盒安全性,提供了一个稳定的商业环境平台。
- 语言无关: Flappy能够与任何编程语言无缝集成,除非您的应用明确要求,否则不需要Python。
SDK
核心组件
代理功能
在Flappy的生态系统中,代理作为大型语言模型的多功能渠道,执行各种任务,如ETL数据、调用外部API或在需要时在沙盒中运行LLM生成的Python代码。这种设计理念满足了各行业对LLM驱动的AI应用日益增长的需求。
Flappy中的代理功能建立在三种基础类型之上:
- InvokeFunction:此功能允许代理与环境交互。用户应使用预定义的输入和输出参数实现这些功能,以促进LLM和现实数据的高效交互。
- SynthesizedFunction:此功能由LLM处理,只需要定义其描述和输入输出类型的数据结构声明。
- CodeInterpreter:此功能允许代理在一个安全的沙盒中评估LLM生成的Python代码,减少运行时错误和潜在的安全漏洞,使其适合在生产环境中部署。
功能实现细节
Flappy引入了独特的实现机制来增强这些功能:
- 独特的JSON Schema集成:用户可以用自己喜欢的编程语言定义抽象类,然后由Flappy转化为JSON Schema模式。此功能增强了机器可读性和互操作性,并管理LLM的输入和输出,提供受控、一致和机器可读的数据。
- AST解析:Flappy对LLM输出进行抽象语法树(AST)解析,以确保生成的JSON数据严格遵循定义的JSON Schema。
LLM抽象层
为了增强应用开发的灵活性,Flappy提供了一个针对不同LLM的抽象层。此功能允许用户轻松切换不同的LLM并指定后备LLM,以确保应用的稳定性。
Flappy使开发人员能够以语言无关的方式构建基于LLM的应用。从今天开始使用Flappy,在您喜欢的编程语言中利用AI的巨大潜力。
入门
要开始使用Flappy,请从以下列表中选择您喜欢的语言实现:
- Node.js
- Kotlin&Java
- Ruby(即将推出)
- PHP(即将推出)
- C#
- Go(即将推出)
- Python(即将推出)
贡献
我们很高兴接收社区的贡献!详情请参阅我们的贡献指南。
许可证
本项目受Apache License 2.0许可覆盖。版权 (c) 2023 Pleisto Inc.