Skip to content

v0.5 FastAPI + Bot Smith

Compare
Choose a tag to compare
@kreneskyp kreneskyp released this 18 Jul 16:25
· 1527 commits to master since this release
b6fcbd0

Bot Smith prototype (#115, #108)

image

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 demonstrate OpenAIFunctionAgent #110
  • Add @klarna to demonstrate OpenAPIWithFunctionChain #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

image

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 an input_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

LangChain

  • updated to version 0.0.231 #116
  • added build flag for installing a local copy of LangChain for integrated development. #118