Skip to main content
Open In ColabOpen on GitHub

ValyuContext

Valyu allows AI applications and agents to search the internet and proprietary data sources for relevant LLM ready information.

本笔记本介绍了如何在 LangChain 中使用 Valyu 上下文工具。

首先,获取一个Valyu API密钥并将其作为环境变量添加。通过在此处注册获得$10免费信用额度。

设置

集成位于 langchain-valyu 包中。

%pip install -qU langchain-valyu

为了使用该包,您还需要将VALYU_API_KEY环境变量设置为您的Valyu API密钥。

import os

valyu_api_key = os.environ["VALYU_API_KEY"]

实例化

现在我们可以实例化我们的检索器: ValyuContextRetriever 可以通过多个参数进行配置:

  • k: int = 5
    每个查询返回的顶级结果数量。

  • search_type: str = "all"
    要执行的搜索类型。选项可能包括“全部”、“网络”、“专有”等,具体取决于您的使用场景。

  • similarity_threshold: float = 0.4
    文档被视为相关所需的最低相似度分数(介于 0 和 1 之间)。

  • query_rewrite: bool = False
    是否启用自动重写查询以改进搜索结果。

  • max_price: float = 20.0 您愿意为每次查询花费的最大金额(以美元为单位)。

  • client: Optional[Valyu] = None
    一个可选的自定义 Valyu 客户端实例。如果未提供,将内部创建一个新的客户端。

  • valyu_api_key: Optional[str] = None
    您的 Valyu API 密钥。如果未提供,检索器将寻找VALYU_API_KEY环境变量。

from langchain_valyu import ValyuContextRetriever

retriever = ValyuContextRetriever(
k=5,
search_type="all",
similarity_threshold=0.4,
query_rewrite=False,
max_price=20.0,
client=None,
valyu_api_key=os.environ["VALYU_API_KEY"],
)

使用

query = "What are the benefits of renewable energy?"
docs = retriever.invoke(query)

for doc in docs:
print(doc.page_content)
print(doc.metadata)

在链中使用

我们可以轻松地将这个检索器整合到一个链条中。

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

prompt = ChatPromptTemplate.from_template(
"""Answer the question based only on the context provided.

Context: {context}

Question: {question}"""
)

llm = ChatOpenAI(model="gpt-4o-mini")


def format_docs(docs):
return "\n\n".join(doc.page_content for doc in docs)


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

API 参考

有关Valyu Context API所有功能和配置的详细文档,请访问API参考: https://docs.valyu.network/overview