每個(gè)后端開(kāi)發(fā)者都能成為出色的AI開(kāi)發(fā)者
带上你的 Swagger/OpenAPI 文件,它可以变成一个 AI 聊天机器人。
从现在开始,每位后端开发者都可以成为AI开发者。
从后端开发者的日常工作来看,他们实际上更适合开发AI代理。
后端开发人员,让我们用[@agentica](https://github.com/wrtnlabs/agentica)
一起成为AI开发者吧,试试这个工具。
- Github 项目主页: https://github.com/wrtnlabs/agentica
- 使用指南: https://wrtnlabs.io/agentica
import { Agentica } from "@agentica/core";
import { HttpLlm } from "@samchon/openapi";
import OpenAI from "openai";
import typia from "typia";
const agent = new Agentica({
vendor: {
model: "gpt-4o-mini",
api: new OpenAI({ apiKey: "********" }),
},
controllers: [
{
protocol: "http",
application: HttpLlm.application({
model: "chatgpt",
document: await fetch(
"https://shopping-be.wrtn.ai/editor/swagger.json",
),
}),
connection: {
host: "https://shopping-be.wrtn.ai",
headers: {
Authorization: "Bearer ********",
},
},
},
],
});
await agent.conversate("我想写一篇文章,可以帮我吗?");
点击这里全屏,点击这里退出全屏
二. Agentica 框架(这是一张图片,你可以通过链接查看。)
最近,我的老板向我展示了Sierra.ai,这是一家由OpenAI董事会成员创立的公司,估值约45亿美元(约240亿人民币)。他问我为什么我们不能做类似的事,并质问我为何他还应该继续支付我的薪水。
在浏览Sierra.ai的主页时,我发现他们似乎专注于为电子商务和咨询开发智能代理。然后,我从一个包含289个API功能的购物网站后端服务器中获取了swagger.json
文件,并向他展示了购物AI聊天机器人。
在演示中,一切运行得非常顺利:搜索和购买商品、订单和配送管理流程、包含退款功能的客户支持服务、折扣券功能和账户存款功能。演示结束时,我的老板说:
嘿,我们应该把这个项目开源。
让我们的技术扬名世界。
import { Agentica } from "@agentica/core";
import { HttpLlm } from "@samchon/openapi";
import typia from "typia";
const agent = new Agentica({
controllers: [
HttpLlm.application({
model: "chatgpt",
document: await fetch(
"https://shopping-be.wrtn.ai/editor/swagger.json",
).then(r => r.json()),
}),
typia.llm.application<MobileCamera, "chatgpt">(), // 对应于MobileCamera的“chatgpt”应用
typia.llm.application<MobileFileSystem, "chatgpt">(), // 对应于MobileFileSystem的“chatgpt”应用
typia.llm.application<MobilePhoneCall, "chatgpt">(), // 对应于MobilePhoneCall的“chatgpt”应用
],
});
await agent.与之对话("我想买个MacBook Pro"); // 我想买个MacBook Pro
点击进入全屏 点击退出全屏
@agentica
是一个专用于LLM函数调用的框架。我们在2023年开发了这项技术,现在已将其开源。
使用@agentica
框架,你可以通过使用TypeScript类和Swagger/OpenAPI文档定义功能服务。通过引入你的后端服务器的OpenAPI文档,你可以实现与你后端服务器的对话交互,通过自然对话来调用API功能。
使用商场的后端服务器,用户可以通过对话形式搜索并购买商品。通过 GitHub 服务,你可以创建一个从你的代码中学习并进行实时编程的代理。利用 TypeScript 类,你可以开发一个既可以与你的移动设备交互,又可以与后端服务器互动的代理。
此外,如果你同时提供多个OpenAPI文档,比如arxiv
、newspaper
和notion
,你的AI代理可以通过分析学术论文和新闻文章在Notion中撰写文档。当你让代理分析最近的韩国经济趋势、评论这些趋势、整理相关论文并将所有内容记录在Notion中时,AI代理会无缝完成所有这些任务。
也可以在 TypeScript 类中提供函数功能
3. 后端开发者们已经准备好迎接成为AI开发人员-
文档示例(示例文档)
- Swagger-UIhttps://shopping-be.wrtn.ai/editor/
鉴于他们的工作性质,后端开发人员实际上比其他任何人,甚至是传统的AI/ML开发人员,都更适合开发AI代理程序。
以商场为例。后台开发者在研究和实现核心领域概念(如SKU)时,设计API和DTO。对于每一个API和DTO,都编写详细的说明来指导客户端开发者。
这些清晰定义和详细描述的API函数和DTO模式结构,后端开发者通常会创建这些,是理想的AI提示。实际上,我通过添加描述来解释API函数之间的关系,仅用一天时间就成功构建了一个购物聊天机器人。
后端开发者们,你们已经准备好成为AI开发者了。让我们利用API设计技能开发AI代理。只需把你的swagger.json
文件,它可以直接变成一个企业级的AI代理。
export class ShoppingSaleController {
/**
* 列出所有汇总销售。
*
* 列出所有 {@link IShoppingSale.ISummary 汇总销售}。
*
* 如您所见,返回的销售是汇总的,不包含详细的 SKU(库存单位)信息。这些信息由上述类型表示。如果您需要某个销售的详细信息,可以使用
* `GET /shoppings/customers/sales/{id}` 操作对每个销售进行查询。
*
* > 如果您是一个 AI 聊天机器人,用户希望从某个销售中购买或整理 {@link IShoppingCartCommodity 购物车商品},那么您需要至少调用一次
* > `GET /shoppings/customers/sales/{id}` 操作来获取该销售的详细 SKU 信息。这一步是后续操作的必要条件。
*
* @param input 分页、查询和排序的请求参数
* @returns 汇总的销售记录,分页显示
* @tag 销售
*
* @author Samchon
*/
@TypedRoute.Patch()
public async index(
@AuthGuard() actor: Actor,
@TypedBody() input: IShoppingSale.IRequest,
): Promise<IPage<IShoppingSale.ISummary>>;
}
点击这里进入全屏模式,点击这里退出全屏模式
4. 基本原则如果你刚接触AI,你可能很好奇它是怎么用函数搞定所有事情的。
相反地,如果你是AI代理开发的专家,你可能会有不同的疑问。传统的代理开发主要围绕着代理的工作流图,那么@agentica
是如何利用LLM函数调用来实现类似的功能的呢?
访问我们的框架主页或阅读我之前的文章以了解关于 @agentica
的关键原则。这些资源会帮助你了解新的 AI 开发模式:“编译驱动开发”和“文档驱动开发”。
- Github 仓库: https://github.com/wrtnlabs/agentica
- 文档: https://wrtnlabs.io/agentica
共同學(xué)習(xí),寫(xiě)下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章