← 开源
team-openpm

workgpt

A GPT agent framework for invoking APIs

AI EngineeringGive agent toolsBuild agent workflow (SDK)TypeScript
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
731
Star
57
Fork
+0
本周
3
贡献者
创建于 2023-05-02 · 更新于 2026-09-14 · 今日第 14430 名
主要开发者
maccmanrileytomasekocavue

team-openpm/workgpt 排名第 14,430,有 731 个星标。

同类别比较

team-openpm/workgpt 排名第 14,430,此处有 8 个同类条目;langchain-ai/langgraph-codeact 排名第 14,429。

同类别比较
名称排名指标
neo4j-labs/create-context-graph14,410
语言:
Python
星标数:
734
分叉数:
106
简介:
AI agents with graph based reasoning memory, scaffolded in seconds
PromtEngineer/agentic-file-search14,414
语言:
Python
星标数:
733
分叉数:
116
jiran214/langup-ai14,422
语言:
Python
星标数:
732
分叉数:
126
简介:
AGI 社交网络 Bot. BiliBili | 直播聊天数字人 | 视频@自动回复 | 私信bot | 终端聊天 | 语音交互
langchain-ai/langgraph-codeact14,429
语言:
Python
星标数:
731
分叉数:
77
Chen-zexi/open-ptc-agent14,434
语言:
Python
星标数:
730
分叉数:
90
简介:
An open source implementation of code execution with MCP (Programatic Tool Calling)
YonkoSam/whatsapp-python-chatbot14,436
语言:
Python
星标数:
730
分叉数:
218
简介:
WhatsApp Chatbot using Gemini + WasenderAPI
microsoft/teams-sdk14,441
语言:
TypeScript
星标数:
730
分叉数:
271
简介:
SDK focused on building AI based applications and extensions for Microsoft Teams and other Bot Framework channels
ankane/transformers-ruby14,448
语言:
Ruby
星标数:
729
分叉数:
12
简介:
State-of-the-art transformers for Ruby
关键参数与规格
关键参数与规格
参数值
语言TypeScript
类别AI Engineering
子类别Give agent tools,Build agent workflow (SDK)
关键词Agent-ready APIs
星标数731
分叉数57
贡献者3
创建日期2023-05-02
更新日期2026-09-14
1 天星标数0
7 天星标数0
排名14,430
上次排名14,290
排名变化-140
7 天星标排名14,473
上次 7 天星标排名14,490
7 天星标排名变化17
总星标排名14,358
上次总星标排名14,332
总星标排名变化-26
README 摘录

workgpt WorkGPT is an agent framework in a similar fashion to AutoGPT or LangChain. You give it a directive and an array of APIs and it will converse back and forth with the AI until its directive is complete. For example, a directive could be to research the web for something, to crawl a website, or to order you an Uber. We support any and all APIs that can be represented with an OpenAPI file. Install Usage What is OpenPM

You'll notice that we're using an OpenPM API in the example above. OpenPM is a package manager for OpenAPI files. In the example you can see we've pulled in a package from OpenPM called to be used for looking up IP addresses. We support importing any arbitrary OpenAPI file. You can see that we're smart about authentication. You just need to pass an and the library will figure out how to authorize itself. All the endpoints in the API will

be exposed as local functions to the LLM, ready to be invoked. Crawling example We include an example of using Puppeteer as a text-based browser to give the LLM access to the web. You'll notice that the text-based browser passes out all the HTML and just returns text. This is actually enough for GPT-4, which is smart enough to extract data from the plain text. We can pass our own custom API to the LLM as a

finishing program API that the LLM can call whenever it's finished. The advantage of this is that you can give it a schema to follow, which is great when trying to extract data from a webpage.

常见问题

记录了多少星标和分叉?

team-openpm/workgpt 有 731 个星标和 57 个分叉。

仓库排名是多少?

team-openpm/workgpt 排名第 14,430。

记录的语言和类别是什么?

team-openpm/workgpt 有 731 个星标,语言为 TypeScript,类别为 AI Engineering。

哪个仓库排名最接近?

team-openpm/workgpt 与 langchain-ai/langgraph-codeact 比较,后者排名第 14,429,有 731 个星标。

README

workgpt

WorkGPT is an agent framework in a similar fashion to AutoGPT or LangChain. You give it a directive and an array of APIs and it will converse back and forth with the AI until its directive is complete.

For example, a directive could be to research the web for something, to crawl a website, or to order you an Uber. We support any and all APIs that can be represented with an OpenAPI file.

Install

npm install workgpt

Usage

import { Calculator } from 'workgpt/apis/calculator'
import { FactApi } from 'workgpt/apis/fact'
import { OpenpmApi } from 'workgpt/apis/openpm'
import { OpenAiAgent } from 'workgpt/chat-agents/open-ai'
import { WorkGptRunner } from 'workgpt/runners/workgpt'

const agent = new OpenAiAgent({
  verbose: true,
  temperature: 0.1,
  model: 'gpt-4-0613',
})

const apis = await Promise.all([
  OpenpmApi.fromPackageId('ipinfo', {
    authKey: process.env.IPINFO_API_KEY!,
  }),
  new Calculator(),
  new FactApi(),
])

const runner = new WorkGptRunner({
  agent,
  apis,
})

const result = await runner.runWithDirective(
  'What is the city related to the ip address 76.220.35.234 and what is the population of that city?'
)

console.log('Result', result)

What is OpenPM

You'll notice that we're using an OpenPM API in the example above. OpenPM is a package manager for OpenAPI files. In the example you can see we've pulled in a package from OpenPM called ipinfo to be used for looking up IP addresses.

You don't have to use OpenPM. We support importing any arbitrary OpenAPI file. You can see that we're smart about authentication. You just need to pass an authKey and the library will figure out how to authorize itself. All the endpoints in the API will be exposed as local functions to the LLM, ready to be invoked.

Crawling example

We include an example of using Puppeteer as a text-based browser to give the LLM access to the web. You'll notice that the text-based browser passes out all the HTML and just returns text. This is actually enough for GPT-4, which is smart enough to extract data from the plain text.

We can pass our own custom API to the LLM as a finishing program API that the LLM can call whenever it's finished. The advantage of this is that you can give it a schema to follow, which is great when trying to extract data from a webpage.

export class WorkGptControl extends Api {
  @invokable({
    usage: 'Finishes the program. Call when you have an answer.',
    schema: z.object({
      fundingRounds: z.array(
        z.object({
          organizationName: z.string(),
          transactionName: z.string(),
          moneyRaised: z.string(),
          leadInvestors: z.array(z.string()),
        })
      ),
    }),
  })
  onFinish(result: any) {
    haltProgram(result)
  }
}

const agent = new OpenAiAgent({
  verbose: true,
  temperature: 0,
  model: 'gpt-4-0613',
})

const apis = await Promise.all([new TextBrowser(), new WorkGptControl()])

const runner = new WorkGptRunner({
  agent,
  apis,
})

const result = await runner.runWithDirective(
  'Get the featured funding rounds of https://www.crunchbase.com'
)

console.log('Result', JSON.stringify(result, null, 2))

License

MIT

排名相邻
同类项目