crewAI icon indicating copy to clipboard operation
crewAI copied to clipboard

Add AWS as an Embedder Provider (required for Memory configuration)

Open dgallitelli opened this issue 1 month ago • 0 comments

In order to configure a Crew with memory=True without a OpenAI API Key, one needs to configure an Embedder provider. Currently, AWS (Amazon Bedrock and Amazon SageMaker) are not supported providers.

Ask

  • Include AWS in the providers list ('openai', 'gpt4all', 'huggingface', 'vertexai', 'azure_openai', 'google', 'mistralai', 'nvidia').
  • Support Amazon Bedrock Embedding models
  • Support Amazon SageMaker Real-time Endpoints

Things to note

Provider aws_bedrock is already supported in llm configuration, e.g.:

semantic_search_resume = MDXSearchTool(
    mdx='./fake_resume.md',
    config=dict(
        llm=dict(
            provider="aws_bedrock", # <=== WORKS!
            config=dict(
                model="anthropic.claude-3-haiku-20240307-v1:0",
                # Optional parameters can be included here.
                # temperature=0.5,
                # top_p=1,
                # stream=true,
            ),
        ),
        embedder=dict(
            provider="aws_bedrock", <=== DOES NOT WORK!
            config=dict(
                model="cohere.embed-english-v3",
                task_type="retrieval_document",
                # Optional title for the embeddings can be added here.
                # title="Embeddings",
            ),
        ),
    )
)

dgallitelli avatar May 18 '24 14:05 dgallitelli