IRIS-RAG-Gen:由 IRIS 矢量搜索提供支持的个性化 ChatGPT RAG 应用程序(矢量.应用程序.个性化.支持.提供...)

wufei1232025-01-08python4
iris-rag-gen:一款基于Iris的检索增强生成(RAG)应用

大家好!本文将介绍我的应用iris-rag-gen,这是一款利用iris矢量搜索功能的生成式ai检索增强生成(rag)应用。它结合了streamlit web框架、langchain和openai,能够个性化chatgpt的交互体验,并以iris作为矢量数据库。

IRIS-RAG-Gen:由 IRIS 矢量搜索提供支持的个性化 ChatGPT RAG 应用程序

核心功能:

  • 文档导入(PDF/TXT): 将PDF或TXT文档导入Iris数据库。
  • 智能问答: 基于已导入文档,与ChatGPT进行交互式问答。
  • 文档删除: 删除已导入的文档。
  • OpenAI ChatGPT集成: 直接使用OpenAI的ChatGPT模型。

文档导入流程:

  1. 输入OpenAI密钥。
  2. 选择PDF或TXT文档。
  3. 输入文档描述。
  4. 点击“导入文档”按钮。

IRIS-RAG-Gen:由 IRIS 矢量搜索提供支持的个性化 ChatGPT RAG 应用程序

导入过程会将文档信息存储到rag_documents表,并创建相应的矢量数据表(例如rag_document_id)。

IRIS-RAG-Gen:由 IRIS 矢量搜索提供支持的个性化 ChatGPT RAG 应用程序

文档导入核心代码片段:

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

IRIS-RAG-Gen:由 IRIS 矢量搜索提供支持的个性化 ChatGPT RAG 应用程序

智能问答流程:

  1. 选择要查询的文档。
  2. 输入问题。
  3. 应用将检索矢量数据并返回答案。

IRIS-RAG-Gen:由 IRIS 矢量搜索提供支持的个性化 ChatGPT RAG 应用程序

智能问答核心代码片段:

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 应用程序的详细内容,更多请关注知识资源分享宝库其它相关文章!

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。