Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for personal agents with custom knowledge bases #928

Conversation

sabaimran
Copy link
Member

Agents are useful insofar as you can personalize them to fulfill specific subtasks you need to accomplish. In this PR, we add support for using custom agents that can be configured with a custom system prompt (aka persona) and knowledge base (from your own indexed documents). Once created, private agents can be accessible only to the creator, and protected agents can be accessible via a direct link.

In a further iteration, we will support:

  • custom tool selection (image generation, online search, notes)
  • public agents will go through a review process and then be added to the default agents page

- update associated API endpoints
- this is to improve the overall application health, by obfuscating some information about the internal database
- conversation_id type is now implicitly a string, rather than an int
- ensure automations are also migrated in place, such that the conversation_ids they're pointing to are now mapped to the new IDs
- Fix API with proper calling pattern
- Update usage of the safety prompt
- Front-end modal, new agent form
- Create a single method that can be used by both patch and post functions
- Add support on the client-side for rendering the edit form when clicking on an agent the user owns
…ithub.com:khoj-ai/khoj into features/custom-agents
@sabaimran sabaimran added the upgrade New feature or request label Sep 29, 2024
@sabaimran sabaimran changed the title Support feature to add custom agents with custom knowledge bases Add support for personal agents with custom knowledge bases Sep 29, 2024
sabaimran and others added 2 commits September 30, 2024 20:36
…ithub.com:khoj-ai/khoj into features/custom-agents
- Expose the functionality to select which tools a given agent has access to. By default, they have all. Can limit both information sources and output modes.
- Add new tools to the agent modification form
@sabaimran sabaimran changed the base branch from master to features/weave-agent-personality-through-subtasks October 7, 2024 07:08
@sabaimran sabaimran merged commit d067983 into features/weave-agent-personality-through-subtasks Oct 7, 2024
9 checks passed
@sabaimran sabaimran deleted the features/custom-agents branch October 7, 2024 07:08
sabaimran added a commit that referenced this pull request Oct 7, 2024
…916)

Currently, the personality of the agent is only included in the final response that it returns to the user. Historically, this was because models were quite bad at navigating the additional context of personality, and there was a bias towards having more control over certain operations (e.g., tool selection, question extraction).

Going forward, it should be more approachable to have prompts included in the sub tasks that Khoj runs in order to response to a given query. Make this possible in this PR. This also sets us up for agent creation becoming available soon.

Create custom agents in #928

Agents are useful insofar as you can personalize them to fulfill specific subtasks you need to accomplish. In this PR, we add support for using custom agents that can be configured with a custom system prompt (aka persona) and knowledge base (from your own indexed documents). Once created, private agents can be accessible only to the creator, and protected agents can be accessible via a direct link.

Custom tool selection for agents in #930

Expose the functionality to select which tools a given agent has access to. By default, they have all. Can limit both information sources and output modes.
Add new tools to the agent modification form
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
upgrade New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant