Research, Coding and Planning agents used by Sirji.
Project description
sirji-agents
sirji-agents
is a PyPI package that implements three key agents for Sirji:
- Coding Agent
- Planning Agent
- Research Agent
It Utilizes:
- OpenAI Chat Completions API
- OpenAI Assistants API
This package communicates with models and RAG assistants.
Installation
pip install sirji-agents
Run the following to enable playwright:
playwright install
Usages
Research Agent
Initialization
from sirji_agents import ResearchAgent
# Initialize Researcher without assistant ID
researcher = ResearchAgent('openai_assistant', 'openai_assistant')
# init_payload fetched from researcher object should be persisted
init_payload = researcher.init_payload
# Initialize Researcher with assistant ID
researcher = ResearchAgent('openai_assistant', 'openai_assistant', init_payload)
Some example message handling usages are given below.
Train using URL
from sirji_messages import MessageFactory, ActionEnum
message_class = MessageFactory[ActionEnum.TRAIN_USING_URL.name]
message_str = message_class().generate({"url": "https://finance.yahoo.com/quote/API/"})
researcher.message(message_str)
Infer
from sirji_messages import MessageFactory, ActionEnum
message_class = MessageFactory[ActionEnum.INFER.name]
message_str = message_class().generate({"details": "How to use yahoo finance api?"})
researcher.message(message_str)
Coding Agent
from sirji_agents import CodingAgent
# Initialize Coding Agent
coder = CodingAgent()
# Construct a message for problem statement
from sirji_messages import MessageFactory, ActionEnum
message_class = MessageFactory[ActionEnum.PROBLEM_STATEMENT.name]
message_str = message_class().generate({"details": "Create a python executable file to find out the factorial of a number"})
# At the beginning, history is empty
coder_history = []
# call the Coder and update the history variable
response_message, coder_history = coder.message(message_str, coder_history)
# Now in the new history:
# coder_history[0] is the system prompt
# coder_history[1] is the message from User to Coder passing the problem statement
# coder_history[2] is the response from the LLM inference
# Persist the history variable for future use.
Planning Agent
from sirji_agents import PlanningAgent
# Initialize Planning Agent
planner = PlanningAgent()
# Construct a message for generate steps message
from sirji_messages import MessageFactory, ActionEnum
message_class = MessageFactory[ActionEnum.GENERATE_STEPS.name]
message_str = message_class().generate({"details": "Create a python executable file to find out the factorial of a number"})
# In the actual flow, this message_str will be obtained as a response from Coder.
# At the beginning, history is empty
planner_history = []
# call the Planner and update the history variable
response_message, planner_history = planner.message(message_str, planner_history)
License
Distributed under the MIT License. See LICENSE
for more information.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
sirji-agents-0.0.8.tar.gz
(9.2 kB
view hashes)
Built Distribution
Close
Hashes for sirji_agents-0.0.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5672ffed8ca2070910f31b246c5624bee33243e63cdbce284a2e6501b9d6ac95 |
|
MD5 | 04584c6b1db809bb6a558db4adee305d |
|
BLAKE2b-256 | df543ca00679f6465051b751b213c34863551d6c6d88cf567805981c40b54ba2 |