You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

spaCy中llm_ner默认调用OpenAI模型问题及替代方案咨询

问题解答

为什么llm_ner默认调用OpenAI模型?

spaCy的llm_ner组件属于spacy-llm扩展库,官方预设的默认配置是使用OpenAI的GPT模型完成NER任务,因此直接调用nlp.add_pipe("llm_ner")时,会自动加载OpenAI相关配置,进而尝试读取OPENAI_API_KEY环境变量。

如何改用HuggingFace模型(如Dolly)或spaCy内置LLM?

切换模型需要在添加llm_ner组件时传入自定义配置,明确指定模型类型与参数,具体实现如下:

1. 使用HuggingFace的Dolly模型

先安装必要依赖:

pip install spacy-llm transformers accelerate

再通过配置字典指定模型:

import spacy

# 定义自定义配置,指定使用Dolly模型
config = {
    "llm": {
        "model": {
            "@llm_models": "spacy.Dolly.v1",
            "name": "databricks/dolly-v2-3b",
            "config": {"max_length": 1024}
        }
    }
}

# 加载空白英文管道并添加配置好的llm_ner组件
nlp = spacy.blank("en")
llm_ner = nlp.add_pipe("llm_ner", config=config)

# 测试NER功能
doc = nlp("Apple is planning to build a new factory in China.")
print([(ent.text, ent.label_) for ent in doc.ents])

2. 使用spaCy内置LLM模型

spaCy-llm提供了本地模型等内置选项,配置方式类似:

import spacy

# 配置使用本地部署的spaCy内置LLM模型
config = {
    "llm": {
        "model": {
            "@llm_models": "spacy.Local.v1",
            "path": "./path/to/your/local/model",
            "config": {"max_tokens": 512}
        }
    }
}

nlp = spacy.blank("en")
llm_ner = nlp.add_pipe("llm_ner", config=config)

注意:使用大体积的HuggingFace或本地模型时,需确保硬件资源充足(如足够的GPU显存)。


内容的提问来源于stack exchange,提问作者ronnys

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 05:05:57