当前位置: 首页 > article >正文

RGA DEMO 上部

#拆分pdf类型代码块
#pip install pypdf -i https://pypi.tuna.tsinghua.edu.cn/simple  (有版本依赖问题)
#pip install --upgrade cryptography -i https://pypi.tuna.tsinghua.edu.cn/simple


from langchain.document_loaders import PyPDFLoader, NotionDirectoryLoader
from langchain_text_splitters import (
    CharacterTextSplitter,
    RecursiveCharacterTextSplitter,
)
loader = PyPDFLoader("LLM.pdf")
pages = loader.load()

text_splitter = CharacterTextSplitter(
    separator="\n", chunk_size=1000, chunk_overlap=150, length_function=len
)

docs = text_splitter.split_documents(pages)


#pip install langchain_ollama -i https://pypi.tuna.tsinghua.edu.cn/simple
from langchain_ollama import OllamaEmbeddings
embeddings = OllamaEmbeddings(model="lrs33/bce-embedding-base_v1",base_url="http://localhost:11434/")

#pip install -qU langchain-postgres -i https://pypi.tuna.tsinghua.edu.cn/simple
from langchain_postgres import PGVector
from langchain_postgres.vectorstores import PGVector


CONNECTION_STRING = "postgresql+psycopg2://postgres:password@192.168.159.130:5432/postgres"

# 矢量存储名
COLLECTION_NAME = "yaofang_test"
# 建立索引库
vector = PGVector.from_documents(
    embedding=embeddings,
    documents=docs,
    collection_name=COLLECTION_NAME,
    connection=CONNECTION_STRING,
    use_jsonb=True,
    pre_delete_collection=True,
)

数据navcat 显示(之所以使用pg 易用,性能高,可控性高,缺点学习成本高基本都是版本依赖问题)

此代码为完成pdf切分chunk到保存pgVector数据库中,代码中LLM.pdf文件为“java 23种设计模式学习资料”  下期代码为从数据库获取向量维度数据通过chain流式返回。


http://www.kler.cn/a/377699.html

相关文章:

  • 浅谈UI自动化
  • 力扣排序350题 两个元组的交集2
  • 使用Mac如何才能提高OCR与翻译的效率
  • 虚拟化环境中的精简版 Android 操作系统 Microdroid
  • 流畅!HTMLCSS打造网格方块加载动画
  • copyq禁止访问网络(ubuntu cgroup)
  • [BJDCTF 2020]babystack-好久不见9
  • Web API中的requestAnimationFrame
  • 基于深度学习的自主飞行器导航
  • RHCE——笔记
  • FPGA技术优势
  • Linux——Ubuntu的基础操作
  • .tags > * 直接子选择器的使用
  • Docker篇(安装容器)
  • 力扣每日一题 3226. 使两个整数相等的位更改次数
  • 建设NFS服务器并实现文件共享
  • 校园社团信息管理:Spring Boot技术的应用与挑战
  • 【系统设计】让 Java “动起来”:动态语言与静态语言的比较及 DSL 实现
  • 继承【C++】
  • Linux入门(2)
  • OpenAI Swarm:多智能体编排框架
  • mysql通过sql语句手动关闭连接
  • rnn/lstm
  • java的批量update
  • SQL,力扣题目1549,每件商品的最新订单【窗口函数】
  • 实现GUI界面中的logo图片的编码与隐藏