Top Related Projects
Examples and guides for using the OpenAI API
🦜🔗 Build context-aware reasoning applications
Integrate cutting-edge LLM technology quickly and easily into your apps
A guidance language for controlling large language models.
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.
Quick Overview
Agentic is an open-source TypeScript library for building AI agents and workflows. It provides a flexible framework for creating, composing, and executing AI-powered tasks and agents, with a focus on modularity and extensibility.
Pros
- Modular and extensible architecture for building complex AI workflows
- Strong typing with TypeScript for improved developer experience
- Supports various AI models and integrations (e.g., OpenAI, Anthropic)
- Built-in support for memory, tools, and multi-agent systems
Cons
- Relatively new project, may have limited community support
- Documentation could be more comprehensive
- Potential learning curve for developers new to AI agent frameworks
- Limited examples and use cases provided in the repository
Code Examples
- Creating a simple agent:
import { Agent, OpenAILanguageModel } from 'agentic'
const agent = new Agent({
name: 'My Agent',
description: 'A simple agent',
model: new OpenAILanguageModel()
})
const result = await agent.run('What is the capital of France?')
console.log(result)
- Using a tool with an agent:
import { Agent, OpenAILanguageModel, WebSearchTool } from 'agentic'
const agent = new Agent({
name: 'Research Agent',
description: 'An agent that can search the web',
model: new OpenAILanguageModel(),
tools: [new WebSearchTool()]
})
const result = await agent.run('Find the latest news about AI')
console.log(result)
- Creating a multi-agent system:
import { MultiAgentSystem, Agent, OpenAILanguageModel } from 'agentic'
const agent1 = new Agent({ name: 'Agent 1', model: new OpenAILanguageModel() })
const agent2 = new Agent({ name: 'Agent 2', model: new OpenAILanguageModel() })
const mas = new MultiAgentSystem({
agents: [agent1, agent2],
name: 'My Multi-Agent System'
})
const result = await mas.run('Solve this problem collaboratively')
console.log(result)
Getting Started
To get started with Agentic, follow these steps:
- Install the library:
npm install agentic
- Set up your OpenAI API key:
import { config } from 'agentic'
config.openaiApiKey = 'your-api-key-here'
- Create and run a simple agent:
import { Agent, OpenAILanguageModel } from 'agentic'
const agent = new Agent({
name: 'My First Agent',
model: new OpenAILanguageModel()
})
const result = await agent.run('Hello, world!')
console.log(result)
Competitor Comparisons
Examples and guides for using the OpenAI API
Pros of openai-cookbook
- Comprehensive collection of examples and best practices for using OpenAI's APIs
- Official repository maintained by OpenAI, ensuring up-to-date and accurate information
- Covers a wide range of use cases and applications for AI technologies
Cons of openai-cookbook
- Focused solely on OpenAI's products, limiting its applicability to other AI frameworks
- Less emphasis on creating autonomous agents or complex AI systems
- May not provide as much flexibility for customization and experimentation
Code Comparison
openai-cookbook:
import openai
response = openai.Completion.create(
engine="text-davinci-002",
prompt="Translate the following English text to French: '{}'",
max_tokens=60
)
agentic:
from agentic import Agent, Task
agent = Agent()
task = Task("Translate the following English text to French: '{}'")
result = agent.complete(task)
The openai-cookbook example directly uses the OpenAI API, while agentic provides a higher-level abstraction for working with AI agents and tasks.
🦜🔗 Build context-aware reasoning applications
Pros of LangChain
- More mature and widely adopted project with a larger community
- Extensive documentation and examples for various use cases
- Supports multiple programming languages (Python, JavaScript)
Cons of LangChain
- Can be complex and overwhelming for beginners
- Heavier dependency footprint
- May require more setup and configuration for simple tasks
Code Comparison
LangChain:
from langchain import OpenAI, LLMChain, PromptTemplate
llm = OpenAI(temperature=0.9)
prompt = PromptTemplate(input_variables=["product"], template="What is a good name for a company that makes {product}?")
chain = LLMChain(llm=llm, prompt=prompt)
print(chain.run("colorful socks"))
Agentic:
from agentic import Agent
agent = Agent()
response = agent.run("What is a good name for a company that makes colorful socks?")
print(response)
LangChain offers more flexibility and control over the prompt and model parameters, while Agentic provides a simpler, more straightforward interface for basic tasks. LangChain's approach allows for more complex chains and workflows, whereas Agentic focuses on ease of use for common AI interactions.
Integrate cutting-edge LLM technology quickly and easily into your apps
Pros of Semantic Kernel
- More comprehensive and feature-rich, offering a wide range of AI integration capabilities
- Better documentation and extensive examples for various use cases
- Stronger community support and backing from Microsoft
Cons of Semantic Kernel
- Steeper learning curve due to its complexity and extensive features
- Heavier and potentially more resource-intensive compared to Agentic
Code Comparison
Semantic Kernel (C#):
var kernel = Kernel.Builder.Build();
var function = kernel.CreateSemanticFunction("Generate a story about {{$input}}");
var result = await function.InvokeAsync("a brave knight");
Console.WriteLine(result);
Agentic (JavaScript):
const agent = new Agent();
const result = await agent.run('Generate a story about a brave knight');
console.log(result);
Summary
Semantic Kernel offers a more robust and feature-rich solution for AI integration, backed by Microsoft's resources and community support. It provides extensive documentation and examples but may have a steeper learning curve. Agentic, on the other hand, presents a simpler and more lightweight approach, potentially easier to get started with but offering fewer features out of the box. The choice between the two depends on the project's requirements, scale, and the developer's familiarity with AI integration concepts.
A guidance language for controlling large language models.
Pros of guidance
- More mature and actively maintained project with regular updates
- Extensive documentation and examples for various use cases
- Supports multiple language models and providers (OpenAI, Anthropic, HuggingFace)
Cons of guidance
- Steeper learning curve due to its more complex syntax and concepts
- Less focus on autonomous agent-like behavior compared to agentic
Code comparison
guidance:
with guidance.models.OpenAI('text-davinci-003') as model:
prompt = guidance('''
Human: Write a haiku about {{subject}}
AI: Here's a haiku about {{subject}}:
{{~#geneach 'line' num_iterations=3}}
{{gen 'line' temperature=0.7 max_tokens=10}}
{{~/geneach}}
''')
result = prompt(subject='autumn leaves')
agentic:
from agentic import Agent, Task
agent = Agent()
task = Task("Write a haiku about autumn leaves")
result = agent.complete(task)
Summary
Guidance offers a more comprehensive and flexible framework for working with language models, while agentic provides a simpler, more intuitive approach focused on agent-like interactions. Guidance is better suited for complex, structured prompts across multiple providers, whereas agentic excels in straightforward, autonomous task completion scenarios.
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.
Pros of AutoGPT
- More comprehensive and feature-rich, offering a wider range of functionalities
- Larger community and more active development, resulting in frequent updates and improvements
- Better documentation and examples, making it easier for users to get started
Cons of AutoGPT
- More complex and potentially overwhelming for beginners
- Heavier resource requirements due to its extensive features
- May be overkill for simpler AI agent tasks
Code Comparison
AutoGPT:
def execute_command(command_name, arguments):
command_name = command_name.lower()
if command_name in COMMAND_CATEGORIES:
return COMMAND_CATEGORIES[command_name].execute(arguments)
return None
Agentic:
async def execute(self, task: str) -> str:
response = await self.llm.complete(task)
return response.text
The code snippets show that AutoGPT has a more structured approach to command execution, while Agentic has a simpler, more straightforward implementation. This reflects the overall difference in complexity and feature set between the two projects.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
AI agent stdlib that works with any LLM and TypeScript AI SDK.
Agentic
Intro
Agentic is a standard library of AI functions / tools which are optimized for both normal TS-usage as well as LLM-based usage. Agentic works with all of the major TS AI SDKs (LangChain, LlamaIndex, Vercel AI SDK, OpenAI SDK, etc).
Agentic clients like WeatherClient
can be used as normal TS classes:
import { WeatherClient } from '@agentic/stdlib'
// Requires `process.env.WEATHER_API_KEY` (free from weatherapi.com)
const weather = new WeatherClient()
const result = await weather.getCurrentWeather({
q: 'San Francisco'
})
console.log(result)
Or you can use these clients as LLM-based tools where the LLM decides when and how to invoke the underlying functions for you.
This works across all of the major AI SDKs via adapters. Here's an example using Vercel's AI SDK:
// sdk-specific imports
import { openai } from '@ai-sdk/openai'
import { generateText } from 'ai'
import { createAISDKTools } from '@agentic/ai-sdk'
// sdk-agnostic imports
import { WeatherClient } from '@agentic/stdlib'
const weather = new WeatherClient()
const result = await generateText({
model: openai('gpt-4o-mini'),
// this is the key line which uses the `@agentic/ai-sdk` adapter
tools: createAISDKTools(weather),
toolChoice: 'required',
prompt: 'What is the weather in San Francisco?'
})
console.log(result.toolResults[0])
You can use our standard library of thoroughly tested AI functions with your favorite AI SDK â without having to write any glue code!
Here's a slightly more complex example which uses multiple clients and selects a subset of their functions using the AIFunctionSet.pick
method:
// sdk-specific imports
import { ChatModel, createAIRunner } from '@dexaai/dexter'
import { createDexterFunctions } from '@agentic/dexter'
// sdk-agnostic imports
import { PerigonClient, SerperClient } from '@agentic/stdlib'
async function main() {
// Perigon is a news API and Serper is a Google search API
const perigon = new PerigonClient()
const serper = new SerperClient()
const runner = createAIRunner({
chatModel: new ChatModel({
params: { model: 'gpt-4o-mini', temperature: 0 }
}),
functions: createDexterFunctions(
perigon.functions.pick('search_news_stories'),
serper
),
systemMessage: 'You are a helpful assistant. Be as concise as possible.'
})
const result = await runner(
'Summarize the latest news stories about the upcoming US election.'
)
console.log(result)
}
Docs
Full docs are available at agentic.so.
AI SDKs
Vercel AI SDK
Agentic adapter docs for the Vercel AI SDK
LangChain
Agentic adapter docs for LangChain
LlamaIndex
Agentic adapter docs for LlamaIndex
Firebase Genkit
Agentic adapter docs for Genkit
Dexa Dexter
Agentic adapter docs for Dexter
OpenAI
Agentic adapter docs for OpenAI
GenAIScript
Agentic support in GenAIScript
Tools
Service / Tool | Package | Docs | Description |
---|---|---|---|
Bing | @agentic/bing | docs | Bing web search. |
Calculator | @agentic/calculator | docs | Basic calculator for simple mathematical expressions. |
Clearbit | @agentic/clearbit | docs | Resolving and enriching people and company data. |
Dexa | @agentic/dexa | docs | Answers questions from the world's best podcasters. |
Diffbot | @agentic/diffbot | docs | Web page classification and scraping; person and company data enrichment. |
E2B | @agentic/e2b | docs | Hosted Python code intrepreter sandbox which is really useful for data analysis, flexible code execution, and advanced reasoning on-the-fly. |
Exa | @agentic/exa | docs | Web search tailored for LLMs. |
Firecrawl | @agentic/firecrawl | docs | Website scraping and structured data extraction. |
HackerNews | @agentic/hacker-news | docs | Official HackerNews API. |
Hunter | @agentic/hunter | docs | Email finder, verifier, and enrichment. |
Jina | @agentic/jina | docs | URL scraper and web search. |
Midjourney | @agentic/midjourney | docs | Unofficial Midjourney client for generative images. |
Novu | @agentic/novu | docs | Sending notifications (email, SMS, in-app, push, etc). |
People Data Labs | @agentic/people-data-labs | docs | People & company data (WIP). |
Perigon | @agentic/perigon | docs | Real-time news API and web content data from 140,000+ sources. Structured and enriched by AI, primed for LLMs. |
Polygon | @agentic/polygon | docs | Stock market and company financial data. |
PredictLeads | @agentic/predict-leads | docs | In-depth company data including signals like fundraising events, hiring news, product launches, technologies used, etc. |
Proxycurl | @agentic/proxycurl | docs | People and company data from LinkedIn & Crunchbase. |
Searxng | @agentic/searxng | docs | OSS meta search engine capable of searching across many providers like Reddit, Google, Brave, Arxiv, Genius, IMDB, Rotten Tomatoes, Wikidata, Wolfram Alpha, YouTube, GitHub, etc. |
SerpAPI | @agentic/serpapi | docs | Lightweight wrapper around SerpAPI for Google search. |
Serper | @agentic/serper | docs | Lightweight wrapper around Serper for Google search. |
Slack | @agentic/slack | docs | Send and receive Slack messages. |
SocialData | @agentic/social-data | docs | Unofficial Twitter / X client (readonly) which is much cheaper than the official Twitter API. |
Tavily | @agentic/tavily | docs | Web search API tailored for LLMs. |
Twilio | @agentic/twilio | docs | Twilio conversation API to send and receive SMS messages. |
@agentic/twitter | docs | Basic Twitter API methods for fetching users, tweets, and searching recent tweets. Includes support for plan-aware rate-limiting. Uses Nango for OAuth support. | |
Weather | @agentic/weather | docs | Basic access to current weather data based on location. |
Wikidata | @agentic/wikidata | docs | Basic Wikidata client. |
Wikipedia | @agentic/wikipedia | docs | Wikipedia page search and summaries. |
Wolfram Alpha | @agentic/wolfram-alpha | docs | Wolfram Alpha LLM API client for answering computational, mathematical, and scientific questions. |
For more details, see the docs.
Contributors
- Travis Fischer
- David Zhang
- Philipp Burckhardt
- And all of the amazing OSS contributors!
License
MIT © Travis Fischer
To stay up to date or learn more, follow @transitive_bs on Twitter.
Top Related Projects
Examples and guides for using the OpenAI API
🦜🔗 Build context-aware reasoning applications
Integrate cutting-edge LLM technology quickly and easily into your apps
A guidance language for controlling large language models.
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot