eliza icon indicating copy to clipboard operation
eliza copied to clipboard

feat: add Heurist embedding model

Open tsubasakong opened this issue 11 months ago • 0 comments

Relates to:

Risks

Low - This PR adds a new embedding model provider (Heurist) with BAAI/bge-large-en-v1.5 as the default model. Changes are additive and follow existing patterns.

Background

What does this PR do?

This PR adds support for a new embedding provider called "Heurist" with the following changes:

  1. Adds HEURIST_EMBEDDING_MODEL configuration with BAAI/bge-large-en-v1.5 as default
  2. Integrates Heurist into the embedding provider system with 1024 dimension vectors
  3. Updates model configurations to use meta-llama/llama-3.3-70b-instruct and FLUX.1-dev
  4. Implements remote embedding functionality for the Heurist provider

What kind of change is this?

Features (non-breaking change which adds functionality) - Adds new embedding provider capability

Documentation changes needed?

My changes require a change to the project documentation to document the new Heurist embedding provider and its configuration options.

Testing

Where should a reviewer start?

  1. Check the .env.example file for the new HEURIST_EMBEDDING_MODEL configuration
  2. Review the embedding.ts changes for proper integration
  3. Verify the model configuration updates in the Models section

Detailed testing steps

  1. Configure HEURIST_EMBEDDING_MODEL in environment
  2. Test embedding generation with the new provider:
    • Verify 1024-dimension vectors are generated correctly
    • Confirm remote embedding functionality works
    • Check fallback to BGE when appropriate

Screenshots

N/A - No UI changes involved

Deploy Notes

The following environment variables need to be configured:

  • USE_HEURIST_EMBEDDING = true
  • HEURIST_EMBEDDING_MODEL=BAAI/bge-large-en-v1.5
  • HEURIST_API_KEY (if using remote embeddings)

tsubasakong avatar Jan 07 '25 01:01 tsubasakong