Skip to main content
Open In Colab在 GitHub 上打开

ValyuContext

Valyu 允许 AI 应用程序和代理在互联网和专有数据源中搜索相关的 LLM 就绪信息。

本笔记本介绍了如何在 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"]

实例

现在我们可以实例化我们的 retriever: 这ValyuContextRetriever可以使用几个参数进行配置:

  • k: int = 5
    要为每个查询返回的排名靠前的结果数。

  • search_type: str = "all"
    要执行的搜索类型。选项可能包括 “all”、“web”、“proprietary” 等,具体取决于您的用例。

  • 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