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

LangChain pdf的读取以及向量数据库的使用

以下使用了3399.pdf, Rockchip RK3399 TRM Part1

import ChatGLM
from langchain.chains import LLMChain
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain.chains import SimpleSequentialChain
from langchain_core.runnables import RunnablePassthrough
from operator import itemgetter
from langchain_community.document_loaders import PyPDFLoader
import ChatGLM
from langchain.chains import LLMChain
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_community.tools.tavily_search import TavilySearchResults
from langchain.chains import LLMMathChain
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_community.document_loaders import TextLoader
from langchain.text_splitter import CharacterTextSplitter
from langchain_community.vectorstores import Chroma
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnableParallel, RunnablePassthrough
from langchain_community.embeddings import JinaEmbeddings# https://jina.ai/embeddings/
# https://python.langchain.com/docs/integrations/text_embedding/jina
# demo:  https://python.langchain.com/cookbookllm = ChatGLM.ChatGLM_LLM()
loader = PyPDFLoader("3399.pdf")
documents = loader.load_and_split()embeddings = JinaEmbeddings(jina_api_key="jina_fa2c341a2f634f1381f7cfec767150caSconYmQA2XRAcVKfZ7-Zboaqeydu", model_name="jina-embeddings-v2-base-en"
)vectorstore = Chroma.from_documents(documents, embeddings)
retriever = vectorstore.as_retriever()template = """Answer the question based only on the following context:
{context}Question: {question}
"""
prompt = ChatPromptTemplate.from_template(template)
llm = ChatGLM.ChatGLM_LLM()
output_parser = StrOutputParser()
setup_and_retrieval = RunnableParallel({"context": retriever, "question": RunnablePassthrough()}
)
chain = setup_and_retrieval | prompt | llm | output_parserprint(chain.invoke("eFuse Function Description"))
http://www.lryc.cn/news/297064.html

相关文章:

  • VUE学习——事件修饰符
  • 开放平台技术架构设计与实现的实战总结
  • 飞桨自然语言处理框架 paddlenlp的 trainer
  • SQL世界之命令语句Ⅲ
  • Snoop Version 2 Packet Capture File Format
  • 扩展说明: 指令微调 Llama 2
  • VUE 全局设置防重复点击
  • 备战蓝桥杯---动态规划(基础1)
  • CVE-2018-19518 漏洞复现
  • Python爬虫实战:抓取猫眼电影排行榜top100#4
  • Fiddler抓包工具之fiddler界面工具栏介绍
  • LabVIEW工业监控系统
  • Linux 文件连接:符号链接与硬链接
  • 数据分类分级
  • 第三十天| 51. N皇后
  • pythn-scipy 查漏补缺
  • 【JavaScript 漫游】【013】Date 对象知识点摘录
  • vue.config.js和webpack.config.js区别
  • H12-821_73
  • postman执行批量测试
  • 蓝桥杯基础知识8 list
  • 【DDD】学习笔记-理解领域模型
  • v-if 和v-show 的区别
  • LabVIEW网络测控系统
  • 攻防世界 CTF Web方向 引导模式-难度1 —— 11-20题 wp精讲
  • 华为Eth-Trunk级联堆叠接入IPTV网络部署案例
  • idea: 无法创建Java Class文件(SpringBoot)已解决
  • ChinaXiv:中科院科技论文预发布平台
  • 【人工智能】Fine-tuning 微调:解析深度学习中的利器(7)
  • 黄金交易策略(Nerve Nnife):大K线对技术指标的影响