Bug描述
在BedrockEmbedding类中使用"model"而不是"model_name"导致自动选择默认模型,且不引发错误。这可能导致使用错误的模型。
以下代码调用默认模型,即"amazon.titan-embed-text-v1":
model = BedrockEmbedding(model = "cohere.embed-multilingual-v3")
以下代码调用所需的模型("cohere.embed-multilingual-v3"):
model = BedrockEmbedding(model_name = "cohere.embed-multilingual-v3")
版本
0.10.44
重现步骤
- 在Python脚本或笔记本中导入llama_index包中的BedrockEmbedding类
- 使用model而不是model_name示例化BedrockEmbedding类。这是导致自动选择默认模型的错误用法。
model = BedrockEmbedding(model="cohere.embed-multilingual-v3") - 由于参数model被错误地使用,BedrockEmbedding类应该自动选择所需模型("cohere.embed-multilingual-v3")而不是默认模型("amazon.titan-embed-text-v1")。不应有错误消息指示使用了错误的参数,这是bug的关键。
- 尝试使用正确的参数model_name示例化BedrockEmbedding类,以指定所需模型。
model = BedrockEmbedding(model_name="cohere.embed-multilingual-v3")
相关日志/回溯
- 无响应*
3条答案
按热度按时间voase2hg1#
class BedrockEmbedding(BaseEmbedding):
model_name: str = Field(description="The modelId of the Bedrock model to use.")
# other fields...
dbf7pr2w2#
这是Pydantic工作原理的一部分,也是kwargs滥用的部分原因。
解决这个问题的唯一方法是在代码中显式引发错误🤷🏻显然,model/model_name kwarg应该在LLMs和嵌入模型之间保持一致,但现在还没有实现。
6tr1vspr3#
kwargs滥用正在破坏这个库。很多意外的/被抑制的不良行为