Skip to content

embedding 模型报错:OpenAI API期望接收字符串作为输入,但收到了一个列表 [1985]的解决方案 #61

@luckerzjy

Description

@luckerzjy

是由于 langchain 的兼容性问题,用 openai 的库去替换逻辑。
API调用时参数格式不正确。错误显示API期望字符串,但收到了类似 [44388 21043 48044 82805 17161 22656] 这样的数组格式。这可能是langchain版本兼容性问题。

可以尝试一下方案修复,替换原仓库中的 get_models.py 文件中 get_embeddings_model 方法为以下代码

def get_embeddings_model():
    """获取嵌入模型客户端,直接使用OpenAI客户端避免langchain兼容性问题"""
    config = {k: v for k, v in OPENAI_EMBEDDING_CONFIG.items() if v}
    return OpenAI(
        api_key=config.get('api_key'),
        base_url=config.get('base_url')
    )

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions