以编程方式使用文档

Cala

>Cala 是面向 AI 智能体的经验证知识图谱。 >它返回结构化的、有来源引用的、可追溯的事实,而非原始网页抓取内容。 >每个答案都包含引用、置信度分数和实体级别的来源追溯, >使其适用于需要可审计、抗幻觉检索的生产级智能体。

安装

pip install langchain-cala

在以下网址获取您的 API 密钥: console.cala.ai.

配置

os.environ["CALA_API_KEY"] = "your-api-key"

或直接传递密钥:

from langchain_cala import CalaRetriever

retriever = CalaRetriever(api_key="your-api-key")

检索器

CalaRetriever 实现了 LangChain 的 BaseRetriever 接口并支持 三种模式:

模式端点使用场景
"search" *(默认)*POST /v1/knowledge/search开放式自然语言问题 — 返回带有引用的综合答案
"query"POST /v1/knowledge/query结构化点标记查询 — 例如 "OpenAI.founded.year"
"entities"GET /v1/entities在进行深度查询前按名称发现实体

基础搜索

from langchain_cala import CalaRetriever

retriever = CalaRetriever(api_key="your-api-key")
docs = retriever.invoke("Which EU AI startups raised funding in 2024?")

for doc in docs:
    print(doc.page_content)
    print(doc.metadata)  # includes 'verified', 'source', 'explainability'

结构化查询

retriever = CalaRetriever(api_key="your-api-key", mode="query")
docs = retriever.invoke("Mistral.founded.year")

实体发现

retriever = CalaRetriever(api_key="your-api-key", mode="entities")
docs = retriever.invoke("Factorial HR")

在 RAG 链中使用

from langchain_cala import CalaRetriever
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnablePassthrough
from langchain_openai import ChatOpenAI

retriever = CalaRetriever(api_key="your-api-key")

prompt = ChatPromptTemplate.from_template(
    "Answer the question based only on the following context:\n\n{context}\n\nQuestion: {question}"
)

chain = (
    {"context": retriever, "question": RunnablePassthrough()}
    | prompt
    | ChatOpenAI()
    | StrOutputParser()
)

chain.invoke("Who are the key players in European AI infrastructure?")

关键参数

参数类型默认值描述
api_keySecretStr$CALA_API_KEY您的 Cala API 密钥
modestr"search"之一 "search", "query", "entities"
kint5返回的最大文档数量
timeoutint30HTTP 请求超时秒数

为什么选择 Cala

与网络搜索检索器不同,Cala 返回 **经过验证的实体数据** 具有 完整的来源可追溯性。响应中的每个文档都包含 verified 元数据字段和引用链——使其符合欧盟 AI 法案 第 13 条对高风险 AI 部署的可解释性要求。