PitchHut logo
Log in / Sign up
llm_agents
by mpaepper
Build simple agents powered by large language models.
Pitch

LLM Agents provides a streamlined library for creating agents controlled by large language models. Inspired by langchain, it aims to simplify the essential components of agent design, allowing users to explore how agents work with minimal complexity. With capabilities like Python execution and web searching, this library enables seamless interaction between language models and real-world tasks.

Description

LLM Agents

The LLM Agents library provides a streamlined way to create agents governed by Large Language Models (LLMs). Heavily inspired by Langchain, this library aims to demystify the inner workings of LLM-controlled agents with concise and direct code implementation.

Purpose and Inspiration

While Langchain offers extensive functionalities through various files and abstraction layers, this library focuses on the fundamental components of an agent. The intention is to facilitate a deeper understanding of LLM mechanisms while maintaining simplicity in structure.

For further context, refer to the Hacker News discussion from April 5th, 2023 and a related blog post.

Functionality

The agent operates through a structured process involving several key components:

  • Prompt Instruction: The agent begins by receiving a prompt that outlines how to approach a specific task utilizing designated tools.
  • Custom Tools: These are components that enable the agent to perform various actions. Current features include executing Python code in a REPL environment, conducting Google searches, and exploring Hacker News.
  • Cyclical Operation: The agent follows a repetitive cycle of Thought, Action, and Observation:
    • Thought: Generated by the LLM based on the provided prompt.
    • Action: Also generated by the LLM, using specific action inputs.
    • Observation: Information gathered using tools, such as output from Python executions or text results from searches.
  • Information Update: In each cycle, new information is appended to the original prompt, allowing the LLM to refine its subsequent actions.
  • Final Response Generation: After accumulating sufficient information, the agent delivers a conclusive answer to the prompt.

For an in-depth description of the underlying mechanism, please visit the detailed blog post.

Usage Example

To create your own agent, use the following example code:

from llm_agents import Agent, ChatLLM, PythonREPLTool, HackerNewsSearchTool, SerpAPITool

agent = Agent(llm=ChatLLM(), tools=[PythonREPLTool(), SerpAPITool(), HackerNewsSearchTool()])
result = agent.run("Your question to the agent")

print(f"Final answer is {result}")

This straightforward implementation allows you to ask questions and receive answers from your custom agent, which can also be tailored further with additional or alternative tools.

0 comments

No comments yet.

Sign in to be the first to comment.