LangChain Rag Projects - 2.基本项目的构建
LangChain RAG 的演示项目构建 1 构建聊天机器人 (包含上下文) 1.1 导入模型 我将介绍如何设计和实现一个由 LLM 驱动的聊天机器人的示例。这个聊天机器人能够进行对话并记住之前的交互。 ...
LangChain RAG 的演示项目构建 1 构建聊天机器人 (包含上下文) 1.1 导入模型 我将介绍如何设计和实现一个由 LLM 驱动的聊天机器人的示例。这个聊天机器人能够进行对话并记住之前的交互。 ...
LangChain - RAG 在执行代码之前你需要准备好python环境: Click Me! 1 使用LangChain创建一个简单 LLM 应用程序 点击查看效果图 以openai的gpt-3.5-turbo为例 ...
LlamaIndex - Building a RAG pipeline 1 Loading & Ingestion Load the data Transform the data Index and store the data 1.1 Loaders The way LlamaIndex does this is via data connectors, also called Reader 1 2 3 4 5 6 7 #读取文件夹: from llama_index.core import SimpleDirectoryReader documents = SimpleDirectoryReader("./data").load_data() #读取单个文档 from llama_index.core import Document doc = Document(text="text") 1.2 Transformations After the data is loaded, you then need to process and transform your data before putting it into a storage system. These transformations include chunking, extracting metadata, and embedding each chunk. This is necessary to make sure that the data can be retrieved, and used optimally by the LLM. ...
RAG - 基本原理 1 RAG是什么? **RAG(Retrieval Augmented Generation,检索增强生成)**是一个将大规模语言模型(LLM)与来自外部知识源的检索相结合的框架,以改进问答能力的工程框架。 ...
Author - yyz Create Time - 2024/06/23 Last Update Time - 2024/06/23 Spark Embedding 数据源大小:24GB 1 数据获取与清洗与转换, 序列化 开始的处理方式是以词为单位,可这样使得上下文联系不强 后续又使用标题#的标识为分隔符,这样处理时每句话的联系都可以找到,但每句话中的信息有时候无法得到 ...
项目启动时间:2024/06/02 最后更新时间:2024/11/07 当前版本:V0.200 My AI v0.2 (本版本代码暂不开源,MyAI v0.1可前往:foryyz/Hello-My-AI: YourPersonalAIAssistant) ...
Author - yyz Last Update Time - 2024/06/06 操作系统 - Ubuntu 22.04 0 安装Ollama Linux: 1 curl -fsSL https://ollama.com/install.sh | sh Windows: Download Ollama on Windows
LanceDB - 向量数据库 安装 pip install lancedb 1 基础使用 1.1 创建客户端 1 2 3 4 5 import lancedb #创建客户端 url = "./data/sample-lancedb" db = lancedb.connect(url) 1.2 创建表 1 2 3 4 5 6 7 8 9 #1. 建表的同时添加数据 data = [ {"vector": [3.1, 4.1], "item": "foo", "price": 10.0}, {"vector": [5.9, 26.5], "item": "bar", "price": 20.0}, ] tbl = db.create_table("my_table", data=data) #可选参数: #mode='overwrite' - 覆盖已经创建的同名表 #exist_ok=True - 不覆盖已经创建的同名表,直接打开 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #2. 创建一张空表 schema = pa.schema([pa.field("vector", pa.list_(pa.float32(), list_size=2))]) tbl = db.create_table("empty_table", schema=schema) # 直接添加数据 data = [ {"vector": [1.3, 1.4], "item": "fizz", "price": 100.0}, {"vector": [9.5, 56.2], "item": "buzz", "price": 200.0}, ] tbl.add(data) # 添加df数据帧 df = pd.DataFrame(data) tbl.add(data) 1.3 查找数据 1 2 3 4 5 6 # Synchronous client #通过向量来查找相似的向量 tbl.search([100, 100]).limit(2).to_pandas() """默认情况下没有对向量创建索引,因此是全表暴力检索。官方推荐数据量超过50万以上才需要创建索引,否则全表暴力检索的延迟也在可以接受的范围之内。""" 1.4 删除数据 1 2 #类似SQL语法中的WHERE声明,需要指定字段和对应的值 tbl.delete('item = "fizz"') 1.5 修改数据 1 2 #类似SQL语法中的UPDATE声明,需要指定字段和对应的值 table.update(where='item = "fizz"', values={"vector": [10, 10]}) 1.6 删除表 1 db.drop_table("my_table") 1.7 删除所有表 1 2 print(db.table_names()) tbl = db.open_table("my_table")