Skip to main content
Arcee 致力于开发 SLM——小型、专业化、安全且可扩展的语言模型。
本笔记本演示如何使用 ArceeRetriever 类为 Arcee 的领域适应语言模型DALMs)检索相关文档。

设置

在使用 ArceeRetriever 之前,请确保将 Arcee API 密钥设置为 ARCEE_API_KEY 环境变量。你也可以将 API 密钥作为命名参数传入。
from langchain_community.retrievers import ArceeRetriever

retriever = ArceeRetriever(
    model="DALM-PubMed",
    # arcee_api_key="ARCEE-API-KEY" # 如果未在环境中设置
)

附加配置

你还可以根据需要配置 ArceeRetriever 的参数,例如 arcee_api_urlarcee_app_urlmodel_kwargs。在对象初始化时设置 model_kwargs 会将过滤器和大小用作所有后续检索的默认值。
retriever = ArceeRetriever(
    model="DALM-PubMed",
    # arcee_api_key="ARCEE-API-KEY", # 如果未在环境中设置
    arcee_api_url="https://custom-api.arcee.ai",  # 默认为 https://api.arcee.ai
    arcee_app_url="https://custom-app.arcee.ai",  # 默认为 https://app.arcee.ai
    model_kwargs={
        "size": 5,
        "filters": [
            {
                "field_name": "document",
                "filter_type": "fuzzy_search",
                "value": "Einstein",
            }
        ],
    },
)

检索文档

你可以通过提供查询从上传的上下文中检索相关文档。以下是示例:
query = "Can AI-driven music therapy contribute to the rehabilitation of patients with disorders of consciousness?"
documents = retriever.invoke(query)

附加参数

Arcee 允许你应用 filters(过滤器)并设置检索文档的 size(数量)。过滤器有助于缩小结果范围。以下是使用这些参数的方法:
# 定义过滤器
filters = [
    {"field_name": "document", "filter_type": "fuzzy_search", "value": "Music"},
    {"field_name": "year", "filter_type": "strict_search", "value": "1905"},
]

# 使用过滤器和大小参数检索文档
documents = retriever.invoke(query, size=5, filters=filters)