Skip to main content
Open In ColabOpen on GitHub

ValyuContext

Valyu 允许 AI 应用和代理在互联网和自有数据源中搜索相关信息,使其准备好供大型语言模型使用。

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

首先,获取一个Valyu API密钥并将其作为环境变量添加。通过在这里注册可获得10美元的免费信用。

设置

The integration lives in the langchain-valyu package.

%pip install -qU langchain-valyu

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

import os

valyu_api_key = os.environ["VALYU_API_KEY"]

Instantiation

现在我们可以实例化我们的检索器: The ValyuContextRetriever 可以配置几个参数:

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

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

  • similarity_threshold: float = 0.4
    所需的最大相似度分数(介于0和1之间),用于判断文档是否相关。

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

  • max_price: float = 20.0 The maximum price (in USD) you are willing to spend per query.

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

  • valyu_api_key: Optional[str] = None
    您的Valyu API密钥。如果没有提供,检索器将查找该密钥。VALYU_API_KEYenvironment variable.

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功能和配置: https://docs.valyu.network/overview