Conversation
integrations/voyage.md
Outdated
| client = voyageai.Client(api_key=os.environ.get("VOYAGE_API_KEY")) | ||
|
|
||
| # Text-only embedding | ||
| result = client.multimodal_embed( |
There was a problem hiding this comment.
Is the multimodal functionality supported by any embedders in the voyage-embedders-haystack package? If so, please use those components
There was a problem hiding this comment.
@bilgeyucel Yes, now multimodal embeddings are supported, so i updated the PR. Can you please take a look?
e7bae21 to
b6c56ff
Compare
bilgeyucel
left a comment
There was a problem hiding this comment.
Hi @fzowl, thanks for the PR! I only have one comment, and it applies to most of the code examples you shared. It looks like all embedder components act as generator components, generating natural language outputs. Can you also use these models just create embeddings?
integrations/voyage.md
Outdated
|
|
||
| # Mixed text and image embedding | ||
| image_bytes = ByteStream.from_file_path("image.jpg") | ||
| result = embedder.run(inputs=[["Describe this image:", image_bytes]]) |
There was a problem hiding this comment.
Is this an image embedder or a generative model? It looks like it acts as a generative model (VLMs) 🤔
If that's the case, it's worth renaming it as a VoyageMultimodalChatGenerator with a similar API to this:
from haystack.dataclasses import ImageContent, ChatMessage
from haystack.components.generators.chat import OpenAIChatGenerator
image_content = ImageContent.from_file_path("image.jpg")
user_message = ChatMessage.from_user(content_parts=["Describe the image in short.", image_content])
llm = VoyageMultimodalChatGenerator(model="voyage-multimodal-3.5")You can check OpenAIChatGenerator for details
|
@bilgeyucel Thanks for catching that! You're right that the text strings were misleading. To clarify: I've updated the three confusing example strings:
The other examples ( |
voyage-multimodal-3.5 (video) support