v0.5 FastAPI + Bot Smith
Bot Smith prototype (#115, #108)
A new agent named the Bot Smith (@smithy
) has been added. The Bot Smith can access IX's chain editor API to retrieve and edit chains. This initial version is limited in capability, but will be improved over time.
The bot uses the OpenAPI w/ Functions Chain
to access the API. There's still a lot that needs to be done to teach it to make complex edits. This bot will be a testing ground for creating a bot that can interact with OpenAPI.
Agents
- Add
@wikipedia
to demonstrateOpenAIFunctionAgent
#110 - Add
@klarna
to demonstrateOpenAPIWithFunctionChain
#114
Pydantic + FastAPI (#95, #122)
This PR introduces pydantic types and a FastAPI based API for the chain editor. This API will eventually replace the GraphQL API entirely. This was the eventual path but was accelerated to enable the Bot Smith.
Initially the frontend will continue to use the GraphQL API. The FastAPI is only used for the Bot Smith agent via OpenAPI functions chain
Async Tools #100
All available tools have been updated to asyncio. This is a workaround using sync_to_async
so it's not a perfect solution but it runs.
Components
Chain Tool #121
Chain tool was added to enable any chain to be converted into a tool.
(The backend also supports connecting agents, but the frontend requires updated validation logic that supports multiple source types)
Misc
LLMReply
now works when called by an agent or as a tool #105- missing memory connectors added #102
SequentialChain
now has aninput_variables
field. #104
Agent Editor
- a number of fixes made so agents can be edited and saved #119
- Added
LLMSymbolicMathChain
#120 - Agent auto-reply is now configurable. #113
Chain Editor
- Implicit
SequentialChain
now work correctly from the root node #111 - Implicit
SequentialChain
now works for agents #112 - list fields can now be edited with an input field #
UI Cleanup
A number of changes were made to simplify the UI
- Chain editor
ConfigNode
connectors are now grouped to left/right side depending on whether they are properties that contribute to a node (left) or data flows to them such as an agent, chain, or tool (right) #123, #124 - Chain editor
ConfigNode
connectors are now hidden except when hovering near the node #126 - Light mode now has a dimmed background and lighter foreground to be easier on the eyes. #128
- margin added to top of message stream #117