构建LangChain应用程序的示例代码:6、如何使用LangChain Airbyte连接器从GitHub加载数据,并使用LangChain处理和向量化文档的示例

# 安装langchain-airbyte库
%pip install -qU langchain-airbyte
import getpass

# 获取GitHub访问令牌
GITHUB_TOKEN = getpass.getpass()
from langchain_airbyte import AirbyteLoader
from langchain_core.prompts import PromptTemplate

# 创建AirbyteLoader对象,配置源和数据流
loader = AirbyteLoader(
    source="source-github",  # 数据源为GitHub
    stream="pull_requests",  # 数据流为拉取请求(Pull Requests)
    config={
        "credentials": {"personal_access_token": GITHUB_TOKEN},  # 使用个人访问令牌作为凭证
        "repositories": ["langchain-ai/langchain"],  # 指定要加载的仓库
    },
    template=PromptTemplate.from_template(
        """# {title}
by {user[login]}

{body}"""
    ),  # 定义模板
    include_metadata=False,  # 不包含元数据
)
docs = loader.load()  # 加载文档
# 打印第二个文档的内容
print(docs[-2].page_content)

# 打印文档数量
print(len(docs))
import tiktoken
from langchain_community.vectorstores import Chroma
from langchain_openai import OpenAIEmbeddings

# 获取编码
enc = tiktoken.get_encoding("cl100k_base")

# 创建向量存储
vectorstore = Chroma.from_documents(
    docs,
    embedding=OpenAIEmbeddings(
        disallowed_special=(enc.special_tokens_set - {"\u003c|endofprompt|\u003e"})
    ),
)
# 创建检索器
retriever = vectorstore.as_retriever()

# 执行查询,检索与IBM相关的拉取请求
retriever.invoke("pull requests related to IBM")

提供了一个编程示例,包括安装必要的库、安全地获取GitHub访问令牌、配置并加载GitHub仓库中的拉取请求数据、打印文档内容、计算文档数量、创建向量存储以及执行检索操作。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hugo_Hoo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值