iris-rag-gen:一款基于Iris的检索增强生成(RAG)应用
大家好!本文将介绍我的应用iris-rag-gen,这是一款利用iris矢量搜索功能的生成式检索增强生成(rag)应用。它结合了streamlit web框架、langchain和openai,能够个性化chatgpt的交互体验,并以iris作为矢量数据库。
核心功能:
- 文档导入(PDF/TXT): 将PDF或TXT文档导入Iris数据库。
- 智能问答: 基于已导入文档,与ChatGPT进行交互式问答。
- 文档删除: 删除已导入的文档。
- OpenAI ChatGPT集成: 直接使用OpenAI的ChatGPT模型。
文档导入流程:
- 输入OpenAI密钥。
- 选择PDF或TXT文档。
- 输入文档描述。
- 点击“导入文档”按钮。
导入过程会将文档信息存储到rag_documents表,并创建相应的矢量数据表(例如rag_document_id)。
文档导入核心代码片段:
from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain.document_loaders import PyPDFLoader, TextLoader from langchain_iris import IrisVector from langchain_openai import OpenAIEmbeddings from sqlalchemy import create_engine, text class RagOpr: # ... (代码略,与原文相同) ...
登录后复制
矢量数据检索SQL语句示例:
SELECT TOP 5 id, embedding, document, metadata FROM sqluser.rag_document2
登录后复制
智能问答流程:
- 选择要查询的文档。
- 输入问题。
- 应用将检索矢量数据并返回答案。
智能问答核心代码片段:
from langchain_iris import IRISVector from langchain_openai import OpenAIEmbeddings, ChatOpenAI from langchain.chains import ConversationChain from langchain.chains.conversation.memory import ConversationSummaryMemory class RagOpr: def ragSearch(self, prompt, id): # ... (代码略,与原文相同) ...
登录后复制
更多详细信息,请访问iris-rag-gen项目页面。感谢您的阅读!
以上就是IRIS-RAG-Gen:由 IRIS 矢量搜索提供支持的个性化 ChatGPT RAG 应用程序的详细内容,更多请关注php中文网其它相关文章!