Open cpacker opened 7 months ago
@goetzrobin moved the TODOs from the old fork (now old) to here, can split this out into separate issues organized under a project if you think it makes more sense
I was going to help out with this since I have experience with React.
I noticed upon running the server and the chatui that I receive 404 errors when attempting to retrieve the agents (GET /api/agents
), but I have not been successful in finding which files contain the api code or any more information on these routes. Is there any way you could point me in the right direction? :) @cpacker
@arduenify the code is here: https://github.com/cpacker/MemGPT/tree/main/memgpt/server/rest_api
There's also a /docs endpoint that shows you all the existing endpoints for the rest api.
Finally, there's this PR with my latest fixes that put the chat ui in a working state again: https://github.com/cpacker/MemGPT/pull/847
Let me know if there's anything else I can do to help you get up and running π
I have made a small commit to check one item off the list ([Pure UI] Display current agent name somewhere in the chat view (probably top middle?)): https://github.com/cpacker/MemGPT/pull/864
I promise larger commits in the future ;)
I think it would be helpful if agents, personas, and humans were dropdowns. I am waiting for @goetzrobin PR #847 to be merged before I continue working on this.
@arduenify my code was merged to main, which means you are good to start working on improving the agent creation.
When you say you want agents, personas, and humans to be dropdowns what exactly do you mean? We could probably create an endpoint that returns all the available options for config from the backend, e.g. persona, model, etc. What do you think @cpacker?
I think if we have more people contribute to the REST/UI effort it would make sense to split the TODOs out in their own issues under a single project.
Last thing @cpacker. You can mark the first 3 UI only points as resolved π I am working on syntax highlighting for function calls rn and of course retrieving the last messages in the chat ui!
@goetzrobin, I was thinking that instead of manually typing out the human, persona, model, etc., we could retrieve that information from the API and display dropdown menus instead of textboxes for each input. We could still allow the user to manually enter these values if they prefer. However, I believe dropdowns are more intuitive and UX-friendly.
I agree with you regarding splitting the TODOs. I am working on a plan to break up the UI project board and separate things into much smaller components. This approach will prevent duplicate code and make the PRs smaller and easier to manage/merge. What do you think?
I have created a new issue for the agent creation inputs: #897
When you say you want agents, personas, and humans to be dropdowns what exactly do you mean? We could probably create an endpoint that returns all the available options for config from the backend, e.g. persona, model, etc. What do you think @cpacker?
I think this makes sense! Will take a bit of work to implement on the server.py
/ SyncServer
side, but for certain fields it definitely makes sense (eg available personas, system prompts, users/humans).
FYI @goetzrobin @arduenify I'm planning on adding auth to the FastAPI server via some middleware to support an auth
and no-auth
mode #898 , lmk if you have any strong opinions on how this should be done (probably will start on it early next week).
Something along the lines of this: https://github.com/roy-pstr/simple-auth0-fastapi-react-app
Doesnβt have to be Auth0 but a JWT solution would be the best with the React frontend.
I agree, JWT is the way to go.
Project board: https://github.com/users/cpacker/projects/3
To use:
cd chatui
)pnpm install
- Install deps via npmcd chatui
)pnpm dev
- Start the chat UI web server (should default to http://localhost:3000/)memgpt server
- In a separate tab/terminal start the backend serverStarting server from
memgpt
Starting frontend from
memgpt/chatui
Browser at
http://localhost:4200
:Chat UI TODOs
Highest priority marked with β οΈ
π Pending
agent.messages
/attach
) via a GUI / modal/attach
) via a GUI / modalβ Done
send_message
by default)host
andport
arg coming via the server commandπ Pushed to later PR? (might not be worth trying to include for a shippable v1)
π¦ Final tasks (cleanup)