程序员必学!本地部署大模型知识库系统:Python+Ollama+BGE-M3全流程【建议收藏】

LangChain入门指南 LangChain是一个强大的框架,旨在帮助开发人员使用语言模型构建端到端的应用程序。它提供了一套工具、组件和接口,可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 可以轻松管理与语言模型的交互,将多个组件链接在一起,并集成额外的资源,例如 API 和数据库。官方文档:https://python.langchain.com/en/latest/ 阅读详情

一、安装 Ollama

1.1 下载和安装

Ollama 是一个强大的本地大模型运行框架,支持多种开源模型。以下是安装步骤:

Windows 系统安装:

  1. 访问 Ollama 官网 (https://ollama.com/)
  2. 下载 Windows 版本安装包
  3. 双击安装包完成安装
  4. 打开命令行终端,验证安装:ollama --version

macOS 系统安装:

# 使用 Homebrew 安装brew install ollama# 或者下载手动安装包# 启动 Ollama 服务ollama serve

Linux 系统安装:

# 使用一键安装脚本curl -fsSL https://ollama.ai/install.sh | sh# 或者使用 Dockerdocker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
1.2 基本使用和配置

安装完成后,进行基本配置:

# 查看已安装的模型ollama list# 运行一个测试模型ollama run llama3.2# 查看运行状态ollama ps
1.3 Python 客户端安装
pip install ollama

二、下载模型 BGE-M3


2.1 BGE-M3 模型介绍

BGE-M3因其在多语言、多功能和多粒度方面的能力而得名。BGE-M3 能够支持 100 多种语言,为多语言和跨语言检索任务树立了新的标杆。它在单一框架内执行密集检索、多向量检索和稀疏检索的独特能力,使其成为各种信息检索(IR)应用的理想选择。支持:

  • 多语言文本嵌入
  • 密集向量检索
  • 多向量检索
  • 稀疏向量检索
  • 多任务学习
2.2 通过 Ollama 下载模型
# 下载 bge-m3 模型ollama pull bge-m3# 验证模型下载ollama list
2.3 模型测试
import ollama# 测试模型响应response = ollama.embeddings(    model='bge-m3',    prompt='你好,这是一个测试句子')print(f"嵌入向量长度: {len(response['embedding'])}")

三、文档提取(PDF、Word)


3.1 安装必要的库
pip install pypdf2 python-docx pdfminer.six unstructured

3.2 PDF 文档提取

import PyPDF2from pdfminer.high_level import extract_textimport osdef extract_text_from_pdf(pdf_path):    """    从 PDF 文件中提取文本内容    """    text = ""    try:        # 使用 PyPDF2        with open(pdf_path, 'rb') as file:            pdf_reader = PyPDF2.PdfReader(file)            for page in pdf_reader.pages:                text += page.extract_text() + "\n"    except:        try:            # 使用 pdfminer            text = extract_text(pdf_path)        except Exception as e:            print(f"提取 PDF 文本失败: {e}")    return text

3.3 Word 文档提取

from docx import Documentimport docx2txtdef extract_text_from_docx(docx_path):    """    从 Word 文档中提取文本内容    """    try:        # 使用 python-docx        doc = Document(docx_path)        text = '\n'.join([paragraph.text for paragraph in doc.paragraphs])        # 如果提取的内容过少,尝试使用 docx2txt        if len(text.strip()) < 100:            text = docx2txt.process(docx_path)    except Exception as e:        print(f"提取 Word 文档文本失败: {e}")        text = ""    return text

3.4 文档处理

import osfrom pathlib import Pathclass DocumentProcessor:    def __init__(self):        self.supported_formats = ['.pdf', '.docx', '.doc', '.txt']    def process_document(self, file_path):        """        统一处理各种格式的文档        """        file_path = Path(file_path)        if not file_path.exists():            raise FileNotFoundError(f"文件不存在: {file_path}")        file_ext = file_path.suffix.lower()        if file_ext == '.pdf':            content = extract_text_from_pdf(file_path)                    elif file_ext in ['.docx', '.doc']:            content = extract_text_from_docx(file_path)                    elif file_ext == '.txt':            with open(file_path, 'r', encoding='utf-8') as f:                content = f.read()                    else:            raise ValueError(f"不支持的文档格式: {file_ext}")        return {            'content': content,                       'file_name': file_path.name,            'file_size': os.path.getsize(file_path)        }    def process_directory(self, directory_path):        """        处理目录中的所有支持文档        """        directory_path = Path(directory_path)        documents = []        for file_path in directory_path.iterdir():            if file_path.suffix.lower() in self.supported_formats:                try:                    document = self.process_document(file_path)                    documents.append(document)                    print(f"成功处理: {file_path.name}")                except Exception as e:                    print(f"处理失败 {file_path.name}: {e}")        return documents

在这里插入图片描述

四、知识库系统实现


4.1 文本预处理和分块
import refrom typing import Listimport numpy as npfrom langchain_text_splitters import RecursiveCharacterTextSplitterimport ollamaclass TextPreprocessor:    def __init__(self, chunk_size=512, overlap=0):        self.chunk_size = chunk_size        self.overlap = overlap    def clean_text(self, text):        """        清理文本内容        """        # 移除多余的空白字符        text = re.sub(r'\s+', ' ', text)        # 移除特殊字符(保留中文、英文、数字和基本标点)        text = re.sub(r'[^\w\u4e00-\u9fff\s\.\,\!\?\;\\]', '', text)        return text.strip()    def split_into_chunks(self, text):        """        将长文本分割成 chunks,使用 langchian 来处理        """                chunks = []        text_splitter = RecursiveCharacterTextSplitter(chunk_size=self.chunk_size, chunk_overlap=self.overlap)        chunks = text_splitter.split_text(text)        # 过滤掉空块        chunks = [chunk.strip() for chunk in chunks if chunk.strip()]        return chunksclass KnowledgeBase:    def __init__(self, embedding_model):        self.embedding_model = embedding_model        self.documents = []        self.embeddings = []                self.metadata = []        self.preprocessor = TextPreprocessor()    def add_document(self, content, file_name):        """        添加文档到知识库        """        self.metadata['file_name'] = file_name        cleaned_content = self.preprocessor.clean_text(content)        chunks = self.preprocessor.split_into_chunks(cleaned_content)        for i, chunk in enumerate(chunks):            self.documents.append(chunk)                def get_embedding(self, chunk):        """        字符串转向量(embeddings)        :param chunk: 块内容        :return: 向量array        """        # print(chunk)        # milkey/m3e    0.642084887746903        # bge-m3    0.6073383067378445        res = ollama.embeddings(model=self.embedding_model, prompt=chunk)        # print(res)        # print(res['embedding'])        return res['embedding']    def generate_embeddings(self):        """        为所有文档生成嵌入向量        """        print("正在生成嵌入向量...")        self.embeddings = []        for i, doc in enumerate(self.documents):            try:                eb = self.get_embedding(doc)                self.embeddings.append(eb)                if (i + 1) % 10 == 0:                    print(f"已处理 {i + 1}/{len(self.documents)} 个文档块")            except Exception as e:                print(f"生成嵌入向量失败: {e}")                self.embeddings.append(None)        # 移除生成失败的项目        valid_indices = [i for i, emb in enumerate(self.embeddings) if emb is not None]        self.documents = [self.documents[i] for i in valid_indices]        self.embeddings = [self.embeddings[i] for i in valid_indices]                    self.embeddings = np.array(self.embeddings)        print(f"嵌入向量生成完成,共 {len(self.embeddings)} 个有效向量")
4.2 向量检索和相似度计算
from sklearn.metrics.pairwise import cosine_similarityimport numpy as npclass VectorRetriever:    def __init__(self, knowledge_base):        self.kb = knowledge_base    def search(self, query, top_k=5):        """        搜索相关知识片段        """        # 生成查询的嵌入向量        try:            eb = self.kb.get_embedding(query)            query_embedding = np.array(eb).reshape(1, -1)        except Exception as e:            print(f"查询嵌入生成失败: {e}")            return []        # 计算余弦相似度        if len(self.kb.embeddings) == 0:            return []        similarities = cosine_similarity(query_embedding, self.kb.embeddings)        top_indices = similarities.argsort()[0][-top_k:][::-1]        results = []        for idx in top_indices:            results.append({                'document': self.kb.documents[idx],                'similarity': similarities[0][idx]                            })        return results    def batch_search(self, queries, top_k=3):        """        批量搜索        """        results = {}        for query in queries:            results[query] = self.search(query, top_k)        return results
4.3 知识问答系统
import ollamaclass KnowledgeQA:    def __init__(self, knowledge_base):        self.kb = knowledge_base        self.retriever = VectorRetriever(knowledge_base)    def answer_question(self, question, context_window=3):        """        基于知识库回答问题        """        # 检索相关文档片段        relevant_docs = self.retriever.search(question, top_k=context_window)        if not relevant_docs:            return "抱歉,在知识库中没有找到相关信息。"        # 构建上下文        context = "\n".join([f"[来源: {doc['metadata'].get('file_name', '未知')}]\n{doc['document']}"                            for doc in relevant_docs])        # 构建提示词        prompt = f"""基于以下上下文信息,请回答问题。        上下文:        {context}        问题:{question}        请根据上下文提供准确、简洁的回答。如果上下文中的信息不足以回答问题,请如实告知。"""        try:            # 使用 Ollama 生成回答            response = ollama.chat(                model='llama3.2',  # 可以使用其他模型                messages=[{'role': 'user', 'content': prompt}]            )            return response['message']['content']        except Exception as e:            return f"生成回答时出错: {e}"    def get_sources(self, question, top_k=3):        """        获取答案的来源信息        """        relevant_docs = self.retriever.search(question, top_k=top_k)        return [            {                'content': doc['document'],                'similarity': doc['similarity'],                'source': doc['metadata'].get('file_name', '未知'),                'chunk_id': doc['metadata'].get('chunk_id', 0)            }            for doc in relevant_docs        ]
4.4 示例代码
import osfrom pathlib import Pathdef build_knowledge_base(documents_dir):    """    构建完整知识库的示例函数    """    # 初始化处理器和知识库    processor = DocumentProcessor()    kb = KnowledgeBase()    # 处理文档    print("开始处理文档...")    documents = processor.process_directory(documents_dir)    # 添加到知识库    for doc in documents:        kb.add_document(doc['content'], doc['file_name'])    # 生成嵌入向量    kb.generate_embeddings()    return kbdef main():    # 设置文档目录    docs_dir = "./knowledge_documents"    # 构建知识库    print("构建知识库中...")    knowledge_base = build_knowledge_base(docs_dir)    # 初始化问答系统    qa_system = KnowledgeQA(knowledge_base)    # 示例问答    questions = [        "什么是机器学习?",        "请总结文档中的主要内容",        "有哪些重要的技术概念?"    ]    for question in questions:        print(f"\n问题: {question}")        answer = qa_system.answer_question(question)        print(f"回答: {answer}")        # 显示来源        sources = qa_system.get_sources(question)        print("\n来源信息:")        for source in sources:            print(f"- {source['source']} (相似度: {source['similarity']:.3f})")if __name__ == "__main__":    main()

总结

–

本文详细介绍了如何使用 Python + Ollama + BGE-M3 构建一个完整的本地知识库系统。这个系统具备以下特点:

  1. 易于部署:全部组件都可以在本地运行,无需网络连接
  2. 多格式支持:支持 PDF、Word、TXT 等多种文档格式
  3. 高效检索:基于 BGE-M3 嵌入模型提供准确的语义搜索
  4. 智能问答:结合大语言模型提供自然语言问答功能

这个知识库系统适合企业文档管理、个人知识整理、学术研究等场景,既保护了数据隐私,又提供了强大的知识检索能力。

改进方向:

  • 支持更多文档格式(如 PPT、Excel 等)

通过这个系统,可以轻松地将文档资料转化为结构化的智能知识库。

普通人如何抓住AI大模型的风口?

领取方式在文末

为什么要学习大模型?

目前AI大模型的技术岗位与能力培养随着人工智能技术的迅速发展和应用 , 大模型作为其中的重要组成部分 , 正逐渐成为推动人工智能发展的重要引擎 。大模型以其强大的数据处理和模式识别能力, 广泛应用于自然语言处理 、计算机视觉 、 智能推荐等领域 ,为各行各业带来了革命性的改变和机遇 。

目前,开源人工智能大模型已应用于医疗、政务、法律、汽车、娱乐、金融、互联网、教育、制造业、企业服务等多个场景,其中,应用于金融、企业服务、制造业和法律领域的大模型在本次调研中占比超过 30%。
在这里插入图片描述

随着AI大模型技术的迅速发展,相关岗位的需求也日益增加。大模型产业链催生了一批高薪新职业:
在这里插入图片描述

人工智能大潮已来,不加入就可能被淘汰。如果你是技术人,尤其是互联网从业者,现在就开始学习AI大模型技术,真的是给你的人生一个重要建议!

最后

只要你真心想学习AI大模型技术,这份精心整理的学习资料我愿意无偿分享给你,但是想学技术去乱搞的人别来找我!

在当前这个人工智能高速发展的时代,AI大模型正在深刻改变各行各业。我国对高水平AI人才的需求也日益增长,真正懂技术、能落地的人才依旧紧缺。我也希望通过这份资料,能够帮助更多有志于AI领域的朋友入门并深入学习。

真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

大模型全套学习资料展示

自我们与MoPaaS魔泊云合作以来,我们不断打磨课程体系与技术内容,在细节上精益求精,同时在技术层面也新增了许多前沿且实用的内容,力求为大家带来更系统、更实战、更落地的大模型学习体验。

图片

希望这份系统、实用的大模型学习路径,能够帮助你从零入门,进阶到实战,真正掌握AI时代的核心技能!

01 教学内容

图片

  • 从零到精通完整闭环:【基础理论 →RAG开发 → Agent设计 → 模型微调与私有化部署调→热门技术】5大模块,内容比传统教材更贴近企业实战!

  • 大量真实项目案例: 带你亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事‌!

02适学人群

应届毕业生‌: 无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。

零基础转型‌: 非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界‌。

业务赋能突破瓶颈: 传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型‌。

image.png

vx扫描下方二维码即可
在这里插入图片描述

本教程比较珍贵,仅限大家自行学习,不要传播!更严禁商用!

03 入门到进阶学习路线图

大模型学习路线图,整体分为5个大的阶段:
图片

04 视频和书籍PDF合集

图片

从0到掌握主流大模型技术视频教程(涵盖模型训练、微调、RAG、LangChain、Agent开发等实战方向)

图片

新手必备的大模型学习PDF书单来了!全是硬核知识,帮你少走弯路(不吹牛,真有用)
图片

05 行业报告+白皮书合集

收集70+报告与白皮书,了解行业最新动态!
图片

06 90+份面试题/经验

AI大模型岗位面试经验总结(谁学技术不是为了赚$呢,找个好的岗位很重要)图片
在这里插入图片描述

07 deepseek部署包+技巧大全

在这里插入图片描述

由于篇幅有限

只展示部分资料

并且还在持续更新中…

真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

大模型之LangChain介绍 LangChain 就是一个 LLM 编程框架,你想开发一个基于 LLM 应用,需要什么组件它都有,直接使用就行;甚至针对常规的应用流程,它利用链(LangChain中Chain的由来)这个概念已经内置标准化方案了。下面我们从新兴的大语言模型(LLM)技术栈的角度来看看为何它的理念这么受欢迎。其官方的定义。 阅读详情

相关推荐

4GB笔记本跑大模型实战:Ollama本地部署保姆级指南

大模型本地部署的核心挑战并非算力,而是内存资源约束下的工程平衡。理解模型量化(如Q4_K_M)、KV缓存机制、按需加载等底层原理,是突破硬件瓶颈的关键。Ollama通过自动量化协商、Lazy Loading和智能内存管理,显著降低大模型在低配设备上的运行门槛,使4GB内存笔记本具备实际可用的AI推理能力。该方案广泛适用于学生党离线写作、企业轻量AI工具预验证、技术者模型行为边界探索等场景,尤其契合对数据隐私、部署成本与环境可控性有强需求的用户群体。

weixin_33937499的博客 368

什么是LangChain?从零开始入门 LangChain

LangChain 作为一个新兴的开源 LLM 开发框架,它的设计理念和一些实现方法都有值得我们借鉴的地方。当然一个开源项目必然有自己的优点的同时也会存在不少的缺点。我们在实际使用的时候,应该按照自己的需求和实际情况去选择,切记,不要简单的因为网上的评论而做出选择。毕竟,好不好用,只有你自己才清楚。

2401_85375151的博客 3万+

AI大模型在能源管理中的应用:从原理到工程实践

人工智能模型,特别是具备强大理解与推理能力的大语言模型,正成为复杂系统优化的关键技术。其核心原理在于通过海量数据预训练,学习跨域实体间的非线性关联,从而实现对系统状态的统一建模与涌现能力。这一技术价值在于,它能将传统单点预测升级为多目标、跨时空尺度的协同优化,并有效融合时序、文本、图像等多模态数据。在能源管理这一典型应用场景中,大模型通过检索增强生成和工具调用等技术,能够构建智能化的“能源大脑”,具体应用于负荷预测、设备健康管理、电网调度辅助等核心环节,实现从感知、分析到决策建议的全流程赋能。本文结合LoR

csxc65837的博客 374

从零开始入门 LangChain

本篇文章中将和大家讲述什么是 LangChain ,以及 LangChain 解决了现在大模型发展的哪些问题,然后会讲解LangChain 中基础的概念和组件。

2301_81940605的博客 1万+

一文彻底搞懂什么是LangChain?

LangChain赋予了开发人员将LLM与其他计算和知识来源相结合以构建应用程序的能力。使用LangChain,开发人员可以使用一个抽象LLM应用程序的核心构建块的框架。探索LangChain的能力并尝试其各个组件,会发现可能性几乎无限。LangChain框架提供了一种灵活和模块化的语言生成方法,允许创建根据用户特定需要量身定制的定制解决方案。

女王の专属领地 2万+

Qt中多线程的使用(一)

我们要实现的是读取大文件qtgui.index的内容加入文本框中。 很容易想到的方法: QFile* file = new QFile("E:\qtgui.index"); file-&gt;open(QIODevice::ReadOnly); QTextStream *stream = new QTextStream(file); while(!st...

yao5hed的专栏 1万+

Python+Ollama+BGE-M3构建本地知识库系统:从零开始打造专属智能问答助手(必学收藏教程)

本文详细介绍了如何使用Python结合Ollama框架和BGE-M3模型构建本地知识库系统。内容涵盖Ollama安装配置、BGE-M3模型下载、多格式文档提取、文本预处理、向量检索及智能问答系统实现。该系统支持PDF、Word等文档格式,提供高效语义搜索和自然语言问答功能,完全本地部署保护数据隐私,适合企业文档管理、个人知识整理等多种场景。

2401_85373691的博客 1254

STM32串口DMA双缓冲机制实战:提升数据传输效率的终极方案

本文深入解析了STM32串口DMA双缓冲机制的核心原理与实战配置。通过对比传统中断方式,阐述了双缓冲如何实现数据接收与处理的“无缝接力”,从而在工业传感器数据采集等高负载场景下,将CPU占用率降至极低水平并彻底避免数据丢失。文章提供了基于标准外设库的详细配置步骤、中断处理逻辑及性能实测数据,是提升嵌入式系统串口通信效率和可靠性的终极方案。

weixin_29192365的博客 78

一文搞懂LangChain:大语言模型应用开发框架全解析

LangChain是一个开源框架(Python/JS双版本),专门用于基于大语言模型的应用程序开发。上下文限制:突破LLM的固定上下文窗口业务适配:连接数据库、API等外部系统流程控制:实现多步骤推理和复杂交互LangChain正在重塑LLM应用的开发范式,其模块化设计和丰富生态大幅降低了AI应用的开发门槛。据统计,使用LangChain的开发效率比传统方式提升300%以上。随着v0.1版本的发布,框架已进入生产就绪阶段,现在正是学习和应用的最佳时机。《LangChain官方文档精读》

hxudhhgwhua的博客 1万+

基于Arduino的智能垃圾桶

通过本次简单的Arduino智能垃圾桶小实验可以快速了解Arduino的基本用法 1、材料准备 Arduino UNO HC-SR04超声波模块 SG90舵机 杜邦线 电源 电脑 2、代码分析 电机的控制 #include<Servo.h> #define duoji D5 Servo myduoji; void setup() { myduoji.attach(duoji); //舵机连接 Serial.begin(115200); } void loop() { myduoji.w

weixin_41679960的博客 1万+

从接线到组态:手把手教你搞定PROFIBUS-DP与PA的混合网络搭建(基于西门子TIA Portal)

本文详细介绍了PROFIBUS-DP与PA混合网络的搭建方法,基于西门子TIA Portal平台,从硬件选型、网络架构设计到组态配置和现场调试,提供了一套完整的实战指南。重点解析了DP/PA耦合器的使用、地址映射策略及网络诊断技巧,帮助工程师高效构建高可靠性的工业自动化网络。

weixin_32103009的博客 300

从“被优化”到“AI训练师”:35岁转行实操手册,把经验变成喂给AI的“黄金饲料”

2025年的职场,“35岁+”仿佛一道无形的分水岭。

m0_59163425的博客 4511

别再到处找资源了!WinCC 7.5 SP2官方下载与Windows 10保姆级安装避坑指南

本文提供了WinCC 7.5 SP2在Windows 10上的官方下载与安装全流程指南,重点解决了资源获取难、系统兼容性问题及分卷压缩处理等常见痛点。通过详细的步骤和实用技巧,帮助用户顺利完成安装并优化配置,适用于工控领域的学习者和从业者。

weixin_32924297的博客 472

一文搞懂LangChain是什么

LangChain是一个专门为利用语言模型创建应用程序而设计的全面框架。它的主要目标是帮助开发人员轻松构建基于语言模型的应用。虽然LangChain与多种语言模型兼容,但它特别与OpenAI ChatGPT无缝集成,从中受益于其先进功能。本文学习知识点: 语言模型(LLMs)和LangChain。提示工程。语言模型的内存。语言模型的链式结构。LangChain索引。工具和代理。

lvaolan168的博客 1万+

【二.图像处理核心技术】【5.形态学操作:腐蚀/膨胀/开闭运算】

想象一下,你拍了一张布满雪花点的老照片,或者扫描了字迹断裂的文档,这时候形态学操作就是你的像素整形师!它们能让模糊的边界变清晰,把断裂的笔画连起来,甚至从X光片里揪出癌细胞。今天我们要聊的,是计算机视觉界的"广场舞双雄"——腐蚀和膨胀。这俩操作就像给像素点们请了个健身教练,要么集体减肥(腐蚀),要么组团增肌(膨胀)。下次当你用美颜相机时,不妨会心一笑——这看似魔法的背后,正是形态学在默默耕耘。腐蚀的规则很简单:如果一个像素点周围的邻居不全白,它就"狗带"(变黑)。:先用砂纸打磨(腐蚀),再喷漆填补(膨胀)

商务合作|问题讨论|交流学习 请联系作者微信,加微信请务必注明来意,博客主页有联系方式 424

裸眼3D技术发展与应用前景

这项技术利用传感器或摄像头实时监测观众的位置和视角,然后根据观众的位置信息动态调整投射的图像,确保不同位置的观众都能看到一致的3D效果。这种技术不仅可以在电影院和家庭影院中应用,还可以用于虚拟现实设备和大型展览等领域。裸眼3D呈现是一种不需要佩戴任何特殊设备(如3D眼镜或头盔)即可观看到3D效果的技术。这种技术近年来得到了快速发展,为观众带来了更加沉浸式的视觉体验。总之,裸眼3D呈现技术的发展为观众带来了更加真实、沉浸式的视觉体验。随着技术的不断进步和创新,相信未来裸眼3D将会在更多领域得到应用和推广。

学无止境 1990

LangChain 详细介绍及使用场景

LangChain 是一个强大的框架,旨在帮助开发人员使用语言模型构建端到端的应用程序。它提供了一套工具、组件和接口,可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 可以轻松管理与语言模型的交互,将多个组件链接在一起,并集成额外的资源,例如 API 和数据库。中文文档:https://www.langchain.asia官方文档:https://python.langchain.com/docs/get_started/introductionModel。

weixin_40400410的博客 1万+

【华为OD机试真题】439、精准核酸检测 | 机试真题+思路参考+代码解析 (C++、Java、Py、C语言、JS)

题目描述 >为了达到新冠疫情精准防控的需要,为了避免全员核酸检测带来的浪费,需要精准圈定可能被感染的人群现在根据传染病流调以及大数据分析,得到了每个人之间在时间、空间上是否存在轨迹的交叉。现在给定一组确诊人品编号(X1 X2 X3.....n)在所有人当中,找出哪些人票要进行核酸检测,输出需要进行核酸检测的人数。(注意:确诊病例自身不需要再做核酸检) >  需要进行核酸检测的人,是病毒传播链条上的所有人员,即有可能通过确诊病例所能传播到的所有人   例如:A是确诊病例,A和B有接触、B和

KJ.JK 1432

LangChain应用全解析

首先,我们给这个 Tool 设置了一个参数,叫做 return_direct = True,这个参数是告诉 AI,在拿到这个工具的回复之后,不要再经过 Thought 那一步思考,直接把我们的回答给到用户就好了。我们前面看到整个 LLMRequestsChain 里面的天气信息的文本内容,是通过 output 这个 key 拿到的,所以这里我们也是先通过它来拿到天气信息的文本内容,再调用 parse_weather_info 解析,并且把结果输出到 weather_info 这个字段里。

qq_39403646的博客 1万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

LangChain入门指南,学习Langchain看这篇足够了

LangChain是一个强大的框架,旨在帮助开发人员使用语言模型构建端到端的应用程序。它提供了一套工具、组件和接口,可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 可以轻松管理与语言模型的交互,将多个组件链接在一起,并集成额外的资源,例如 API 和数据库。

xzp740813的博客 4499

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

一文搞懂AI大模型学习路线:核心知识点 + 实战路径全解析

一文搞懂AI大模型学习路线:核心知识点 + 实战路径全解析

Android_XG的博客 1619

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【AI开源项目】LangChain (一)3分钟让你知道什么是LangChain,以及LangChain的部署配置全流程

LangChain 是一个为各种大型语言模型应用提供通用接口的框架,旨在简化应用程序的开发流程。通过 LangChain,开发者可以轻松构建如图所示的 RAG(Retrieval-Augmented Generation)应用。在这里插入图片描述。

python1234567_的博客 1万+

LangChain 中文入门教程

LangChain官方文档假如我们想要用openai api对一段文本进行总结,我们通常的做法就是直接发给 api 让他总结。但是如果文本超过了 api 最大的 token 限制就会报错。这时,我们一般会进行对文章进行分段,比如通过tiktoken计算并分割,然后将各段发送给 api 进行总结,最后将各段的总结再进行一个全部的总结。LangChain可以很好的帮我们处理这个过程,代码也很简单。

qq_56591814的博客 6万+

LangChain 介绍及相关组件使用总结

`LangChain` 是一个由语言模型`LLMs`驱动的应用程序框架,它允许用户围绕大型语言模型快速构建应用程序和管道。 可以直接与 `OpenAI` 的 `ChatGPT` 模型以及 `Hugging Face` 集成。通过 `langChain` 可快速构建聊天机器人、生成式问答(`GQA`)、本文摘要等应用场景。

小毕超博客 1万+

SQLBot:基于大模型与 RAG 的智能问数系统架构

随着企业数据量的爆发式增长,业务人员对数据查询的即时性、准确性需求日益迫切。传统 SQL 查询方式存在技术门槛高、响应速度慢等问题,制约了数据价值的高效释放。SQLBot 作为一款基于大模型和 RAG(检索增强生成)技术的智能问数系统,通过自然语言到 SQL 的自动转换,实现了数据查询的 “零代码” 化。本文采用深度模块化剖析方法,从系统架构、核心模块、技术难点及解决方案等维度,全面解析 SQLBot 的实现机制,为同类智能数据查询系统的设计与开发提供参考。

猫敷雪 2686
上一篇: 为什么一定要做Agent?大模型时代的必然选择(建议收藏)
下一篇: 【干货收藏】大模型微调效果不佳?SFT数据集构建全攻略
不秃头de程序猿
博客等级 码龄5年 4089粉丝 1475原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值