semvec/pypi-packages huggingface dataset:
llm-agents 0.0.2
llm_agents
Requires Python: >=3.7

## LLM Agents

Small library to build agents which are controlled by large language models (LLMs) which is heavily inspired by <a href="https://github.com/hwchase17/langchain/" target="_blank">langchain</a>.

The goal was to get a better grasp of how such an agent works and understand it all in very few lines of code.

Langchain is great, but it already has a few more files and abstraction layers, so I thought it would be nice to build the most important parts of a simple agent from scratch.

Some more infos are in <a href="https://news.ycombinator.com/item?id=35446171">this Hacker News discussion from April 5th 2023</a> and the <a href="https://www.paepper.com/blog/posts/intelligent-agents-guided-by-llms/">related blog post</a>.

### How it works

The agent works like this:

* It gets instructed by a prompt which tells it the basic way to solve a task using tools
* Tools are custom build components which the agent can use
    * So far, I've implemented the ability to execute Python code in a REPL, to use the Google search and to search on Hacker News
* The agent runs in a loop of Thought, Action, Observation, Thought, ...
    * The Thought and Action (with the Action Input to the action) are the parts which are generated by an LLM
    * The Observation is generated by using a tool (for example the print outputs of Python or the text result of a Google search)
* The LLM gets the new information appended to the prompt in each loop cycle and thus can act on that information
* Once the agent has enough information it provides the final answer

For more details on how it works, check out <a href="https://www.paepper.com/blog/posts/intelligent-agents-guided-by-llms/">this blog post</a>

### How to use it

You can install this libaray locally by running: `pip install -e .` inside it's directory after cloning it.

You also need to provide the following env variables:

* `OPENAI_API_KEY` to use the OpenAI API (obtainable at: https://platform.openai.com/account/api-keys)
* `SERPAPI_API_KEY` to use the Google Search in case you use that tool (obtainable at: https://serpapi.com/)

You can simply export them in bash like: `export OPENAI_API_KEY='sh-lsdf....'`

Then you can run the script `python run_agent.py` and ask your question.

To construct your own agent do it like this:

```python
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}")
```

Of course, you can also build your custom tools or omit tools, for exmaple if you don't want to create a SERPAPI key.
llm-agents-arthurcolle 0.0.1
llm_agents
Requires Python: >=3.7

## LLM Agents

Small library to build agents which are controlled by large language models (LLMs) which is heavily inspired by <a href="https://github.com/hwchase17/langchain/" target="_blank">langchain</a>.

The goal was to get a better grasp of how such an agent works and understand it all in very few lines of code.

Langchain is great, but it already has a few more files and abstraction layers, so I thought it would be nice to build the most important parts of a simple agent from scratch.

Some more infos are in <a href="https://news.ycombinator.com/item?id=35446171">this Hacker News discussion from April 5th 2023</a> and the <a href="https://www.paepper.com/blog/posts/intelligent-agents-guided-by-llms/">related blog post</a>.

### How it works

The agent works like this:

* It gets instructed by a prompt which tells it the basic way to solve a task using tools
* Tools are custom build components which the agent can use
    * So far, I've implemented the ability to execute Python code in a REPL, to use the Google search and to search on Hacker News
* The agent runs in a loop of Thought, Action, Observation, Thought, ...
    * The Thought and Action (with the Action Input to the action) are the parts which are generated by an LLM
    * The Observation is generated by using a tool (for example the print outputs of Python or the text result of a Google search)
* The LLM gets the new information appended to the prompt in each loop cycle and thus can act on that information
* Once the agent has enough information it provides the final answer

For more details on how it works, check out <a href="https://www.paepper.com/blog/posts/intelligent-agents-guided-by-llms/">this blog post</a>

### How to use it

You can install this libaray locally by running: `pip install -e .` inside it's directory after cloning it.

You also need to provide the following env variables:

* `OPENAI_API_KEY` to use the OpenAI API (obtainable at: https://platform.openai.com/account/api-keys)
* `SERPAPI_API_KEY` to use the Google Search in case you use that tool (obtainable at: https://serpapi.com/)

You can simply export them in bash like: `export OPENAI_API_KEY='sh-lsdf....'`

Then you can run the script `python run_agent.py` and ask your question.

To construct your own agent do it like this:

```python
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}")
```

Of course, you can also build your custom tools or omit tools, for exmaple if you don't want to create a SERPAPI key.