模型代码理解本地知识库

复制代码
import os

from langchain.chains import RetrievalQA
from langchain_community.document_loaders import TextLoader
from langchain_community.embeddings import OllamaEmbeddings
from langchain_community.llms.ollama import Ollama
from langchain_community.vectorstores.faiss import FAISS

llm = Ollama(model="qwen:7b")

embedding = OllamaEmbeddings()

if not os.path.exists("var"):
    root_dir = "/home/cmcc/server/file/pyfiletest/"
    docs = []

    for dirpath, dirnames, filenames in os.walk(root_dir):
        for file in filenames:
            try:
                loader = TextLoader(os.path.join(dirpath, file), encoding="utf-8")
                docs.extend(loader.load_and_split())
            except Exception as e:
                print(e)
                pass
    docsearch = FAISS.from_documents(docs, embedding)
    docsearch.save_local("var", "index")
else:
    docsearch = FAISS.load_local("var", embedding)

qa = RetrievalQA.from_chain_type(llm, chain_type="stuff", retriever=docsearch.as_retriever())

response = qa.run("如何通过历史消息聊天,只给出代码实现")
print(response)
复制代码

 

posted @   林**  阅读(51)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
历史上的今天:
2019-04-08 Eclipse下,修改MAVEN 中央仓库地址,解决maven下载慢问题
2018-04-08 eclipse中搭建python开发环境
点击右上角即可分享
微信分享提示