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

#5211 - AI assistant prototype #5212

Merged
merged 9 commits into from
Jan 7, 2025
Merged

Conversation

reckart
Copy link
Member

@reckart reckart commented Dec 31, 2024

What's in the PR

  • Initial AI assistant implementation accessible on the annotation page as a sidebar
  • Basic access to documents in the project via RAG
  • Limited access to user manual via RAG
  • Updates to the user manual
  • Some tests
  • Documentation of the early AI assistant
  • Refactoring of the Ollama support
  • Fix displaying indexing progress on the bulk processing page
  • Added re-index button to assistant sidebar
  • Normalize embeddings and use dot product instead of cosine when indexing/searching
  • Allow suspending background tasks for a project
  • During project import and project initialization from a template, suspend background tasks
  • During indexing, embed in batches
  • Fix timing logging for embeddings
  • Allow auto-detecting the embedding dimensions
  • Allow using embeddings with a dimension higher than 1024
  • Added button to clear conversation
  • Aggregate units (sentences) into larger chunks when indexing
  • Extract embedding stuff into a separate service and make tokenizer/encoding configurable
  • Implement conversation clearing as protocol command
  • Factor retrievers out into own classes and introduce an extension point for them
  • Introduce a chunker interface
  • Add source information to chunks
  • UI style changes
  • Some classes renameed
  • Added time info in assistant messages
  • Fix issue when search index has not been initialized when project is being deleted
  • Update settings documentation
  • Adjust parameters for embedding
  • Lay groundworks for source attribution
  • Adjust parameters for embedding
  • Allow assistant to provide attribution to document context used in responses
  • Allow specifying a document when using the DIAM scrollTo function

How to test manually

  • Enable the experimental AI assistant
  • Make sure Ollama is running and has llama.3.2 and granite-embedding models loaded
  • Try talking to it on the annotation page

Automatic testing

  • PR includes unit tests

Documentation

  • PR updates documentation

@reckart reckart added this to the 35.0 milestone Dec 31, 2024
@reckart reckart self-assigned this Dec 31, 2024
- Initial AI assistant implementation accessible on the annotation page as a sidebar
- Basic access to documents in the project via RAG
- Limited access to user manual via RAG
- Updates to the user manual
- Some tests
- Documentation of the early AI assistant
- Refactoring of the Ollama support
@reckart reckart force-pushed the feature/5211-AI-assistant-prototype branch 3 times, most recently from 079de5c to 57e06d6 Compare January 1, 2025 22:15
- Fix displaying indexing progress on the bulk processing page
- Added re-index button to assistant sidebar
- Normalize embeddings and use dot product instead of cosine when indexing/searching
- Allow suspending background tasks for a project
- During project import and project initialization from a template, suspend background tasks
- During indexing, embed in batches
- Fix timing logging for embeddings
- Allow auto-detecting the embedding dimensions
- Allow using embeddings with a dimension higher than 1024
@reckart reckart force-pushed the feature/5211-AI-assistant-prototype branch from 57e06d6 to 7c483b4 Compare January 2, 2025 00:03
- Added button to clear conversation
- Aggregate units (sentences) into larger chunks when indexing
- Extract embedding stuff into a separate service and make tokenizer/encoding configurable
- Implement conversation clearing as protocol command
- Factor retrievers out into own classes and introduce an extension point for them
- Introduce a chunker interface
- Add source information to chunks
@reckart reckart force-pushed the feature/5211-AI-assistant-prototype branch from aae3932 to fdef044 Compare January 3, 2025 09:45
- UI style changes
- Some classes renameed
- Added time info in assistant messages
@reckart reckart force-pushed the feature/5211-AI-assistant-prototype branch from fdef044 to aba1495 Compare January 3, 2025 12:07
- Fix issue when search index has not been initialized when project is being deleted
- Update settings documentation
- Adjust parameters for embedding
- Lay groundworks for source attribution
@reckart reckart force-pushed the feature/5211-AI-assistant-prototype branch from 285a277 to 2a97822 Compare January 6, 2025 08:36
- Update settings documentation
- Adjust parameters for embedding
- Allow assistant to provide attribution to document context used in responses
- Allow specifying a document when using the DIAM scrollTo function
@reckart reckart force-pushed the feature/5211-AI-assistant-prototype branch from 2a97822 to 2260ace Compare January 6, 2025 15:47
@reckart reckart merged commit 025ce63 into main Jan 7, 2025
2 checks passed
@reckart reckart deleted the feature/5211-AI-assistant-prototype branch January 7, 2025 10:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: 🍹 Done
Development

Successfully merging this pull request may close these issues.

1 participant