Skip to content

An concurrent runtime for tool-enhanced language agents

License

Notifications You must be signed in to change notification settings

engelberger/concurrent_agent_executor

Repository files navigation

concurrent-agent-executor

Diagram showing non-blocking capabilities of the agent

An concurrent runtime for tool-enhanced language agents.

Getting Started

To install the library run:

pip install .

To test an example set up a .env file with your OPENAI_API_KEY:

OPENAI_API_KEY = sk-(...)

Then, run:

python examples/slow_random_number.py

Alternatively, you can run the chainlit interface

Chat-like UI example

Contributing

conda env create -f environment.yml

Ideas

Branch prediction and hypothesizing

Diagram showing branch prediction capabilities of the agent

Concurrency overhead and theoretical performance

Diagram showing theoretical performance of the agent,

In this diagram, the x-axis represents the processsing steps needed to accomplish a task, and the y-axis represents the running time of the agent.

The green line shows the theorical running time with respect to the processing steps for the classic langchain agent (sequentially).

In contrast, the blue line represents the theoretical running time for the proposed concurrent agent runtime (proposed methods).

Executor's process architecture

Diagram showing the different threads and process pools

About

An concurrent runtime for tool-enhanced language agents

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages