ai学习笔记(十三)
2026/4/21 2:01:21 网站建设 项目流程

这次分享一下LangChain、OCR技术,以及LLM评估指标与伦理安全。

1. LangChain

1.1 核心定义

LangChain是一个开源的开发框架,旨在帮助开发者更简单、高效地构建基于大语言模型(LLM)的应用。它的核心理念是提供一个模块化的“工具箱”,让你可以把不同的组件像“搭乐高积木”一样组合起来,从而轻松创建强大的AI应用,解决大语言模型在实际应用中的各种难题。

1.2 核心组件

组件类别作用你可以理解为
Models (模型)提供统一接口,让应用能无缝调用GPT-4、Claude等各种大语言模型。应用的“大脑”。
Prompts (提示)管理和优化给模型的指令,比如使用模板来动态生成提示词。与“大脑”高效沟通的“语言”。
Chains (链)将多个组件(如模型、工具)按顺序连接成一个固定的工作流,一个任务的输出作为下一个任务的输入。一条预设好的“自动化流水线”。
Agents (智能体)更智能的“执行者”,它能自主决策,动态选择使用哪个工具,以及按什么顺序执行任务。一个会思考的“调度员”。
Memory (记忆)为应用提供“记忆力”,在多轮对话或长任务中记住之前的信息。应用的“短期记忆”和“长期记忆”。
Retrievers (检索器)负责从外部数据源(如公司内部文档)中,快速找到与当前问题最相关的信息。应用的“搜索雷达”或“知识库”。
Tools (工具)让模型能够与外部世界交互,比如执行网络搜索、调用API、查询数据库或计算数学题。可以调用的“外部工具箱”。
Vector Stores (向量存储)一种专门用于存储和搜索非结构化数据的数据库,是实现高效检索的核心技术。应用的“外接大脑”或“巨型记忆库”。
Document Processing(文件处理)处理和转换各种格式的文档(如PDF、网页),为后续处理做好准备。应用的“文档预处理流水线”。

相当于LangChain提供了很多AI应用开发需要的工具箱,通过他可以将ai应用的整个功能流程串联起来。

1.3 简单案例

构建一个智能问答机器人

创建一个能够通过本地文档知识回答问题的机器人,RAG是LangChain的经典使用场景之一。

案例中会加载你的文档,将其分割成小块,存入向量数据库,然后根据你提出的问题,检索出最相关的片段,最后交给大模型生成答案。

pip install langchain langchain-openai chromadb

import os from langchain_community.document_loaders import TextLoader from langchain_text_splitters import CharacterTextSplitter from langchain_openai import OpenAIEmbeddings, ChatOpenAI from langchain_chroma import Chroma from langchain.chains import RetrievalQA # 1. 设置 API Key (请替换为你自己的 Key) os.environ["OPENAI_API_KEY"] = "sk-..." # 2. 加载并处理文档 # 假设你有一个名为 employee_handbook.txt 的文件 loader = TextLoader("./employee_handbook.txt", encoding="utf-8") documents = loader.load() # 将长文档切分成小块,方便模型处理 text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0) docs = text_splitter.split_documents(documents) # 3. 构建向量数据库 # 将文本块转换为向量并存储,以便进行语义搜索 embeddings = OpenAIEmbeddings() vectorstore = Chroma.from_documents(documents=docs, embedding=embeddings) # 4. 初始化大模型 llm = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0) # 5. 构建问答链 # 这个链会自动执行:检索相关文档 -> 将文档和问题一起发给模型 -> 生成答案 qa_chain = RetrievalQA.from_chain_type( llm, retriever=vectorstore.as_retriever() ) # 6. 提问 query = "公司的年假政策是怎样的?" result = qa_chain.invoke({"query": query}) print(f"问题:{query}") print(f"答案:{result['result']}")

2. OCR

2.1 核心定义

OCR 的全称是光学字符识别(Optical Character Recognition)。

简单来说,它的核心作用就是让计算机“看懂”图片或文档中的文字,并将这些文字从“图像”转换成我们可以编辑、搜索和处理的“电子文本”。

运用OCR技术可以使RAG中的知识库更加丰富,可以将文字的扫描件放入知识库,然后用OCR技术从扫描件中提取文字,形成文档。

高斯泼溅能够修复不清晰的图像。

2.2 工作流程

OCR 的工作流程通常包含以下几个关键步骤:

  1. 图像预处理:就像人看书前要先开灯一样,计算机先要对图片进行“美颜”——去噪、把背景变白、把字变黑(二值化),甚至把歪斜的图片校正过来。
  2. 文字检测:计算机在图片里寻找哪里是文字,哪里是背景,把文字区域框选出来。
  3. 字符识别:这是核心环节。现代 OCR 利用深度学习(AI)技术,分析笔画、结构和特征,识别出这是“A”还是“8”,或者是汉字“中”。
  4. 后处理:利用语言模型进行纠错。比如识别出“1nvoice”,系统会根据上下文自动修正为“invoice”。

3. LLM评估指标

3.1 NLG指标

ROUGE(用于摘要)BLEU(用于翻译)是传统自然语言生成的评估指标。

ROUGE通过计算重叠词或n-gram来评估摘要质量,BLEU通过比较机器翻译结果与人工参考译文的相似度来评分。两者均无法有效捕捉语义准确性和事实一致性。

指标通俗解释举个例子
BLEU比较模型写的句子和参考答案的“词语重合度”。就像抄作业看相似度。参考:“今天天气真好”
模型:“今天天气好”→ 重合度高,BLEU分高
ROUGE主要看模型有没有漏掉关键内容(比如摘要是否覆盖原文重点)。原文重点有5个,模型摘要只提到3个 → ROUGE分较低
METEOR比BLEU更聪明,考虑同义词和语序。参考:“猫咪可爱”
模型:“小猫很萌”→ 虽然字不同,但意思相近,METEOR会给高分

3.2 基础指标

指标通俗解释举个栗子
准确率模型答对的题数 ÷ 总题数。就像做选择题,对得越多越好。100道判断题,模型对了85道 → 准确率85%
困惑度模型对自己答案的“迷茫程度”。数值越低,说明它越确定、越靠谱。模型预测“猫会__”,它很确定是“喵”→ 困惑度低;不确定是“跑”还是“叫”→ 困惑度高
召回率在应该找出的正确答案中,模型真正找出了多少。文档里有10个重要信息,模型找出了8个 → 召回率80%
精确率模型给出的答案里,有多少是正确的(不瞎蒙)。模型回答了5个问题,其中4个是对的 → 精确率80%

4. 模型幻觉

模型幻觉指的是:大语言模型在生成内容时,编造出看似合理、实则虚假或不存在的信息,并且以非常自信、流畅的方式表达出来。

4.1 成因

1. 模型本质是“概率预测机”

大语言模型的核心任务不是“知道真相”,而是根据上文预测下一个最可能的词
它没有内置的事实数据库,也不具备真正的理解或推理能力。所以当训练数据中缺乏相关信息,或者有矛盾的表述时,模型会“瞎猜”。

2. 训练数据的缺陷

  • 数据包含错误或过时信息:模型从网上学到的内容里就有谣言、错误常识。

  • 数据覆盖不全:对于小众或私密领域,模型根本没学过,只能编造。

  • 知识截止日期问题:模型只学到某个时间点之前的数据,对之后的新事实一无所知,却仍会“强行回答”。

3. 模型架构的倾向

  • 追求流畅 > 追求准确:模型被训练生成通顺、自然的文本,而非事实校验。编造一个听起来合理的假答案,比承认“我不知道”更符合其训练目标。

  • 缺乏自我怀疑机制:模型不会主动说“我不确定”,它没有“置信度”的内省能力。

4. 用户提示的影响

  • 引导性问题:如果问“你怎么看待张三偷窃的行为?”(假设张三没偷窃),模型可能顺着假设往下编。

  • 要求过长或过细的回复:越长的生成,越容易在细节处产生幻觉。

4.2 缓解策略

  1. 数据质量优化:通过数据清洗、去重和标注规范化提升原始数据质量,确保训练数据准确率提升30%以上。
  2. 指令微调技术:采用指令微调方法训练模型,使其在不确定答案时主动回应“我不知道“,减少错误回答率达45%,人类偏好微调RLHF、DPO。
  3. RAG架构应用:引入检索增强生成(RAG)技术,为模型实时提供知识库支持,使生成内容的事实准确率提升至92%。
  4. 事实核验机制:部署独立的事实核验模块,通过多源验证和逻辑校验,将幻觉内容发生率控制在3%以下。

5. 模型伦理

模型伦理指的是:在设计、训练、部署和使用大语言模型的过程中,需要遵循的道德原则与价值规范,确保模型的行为公平、安全、透明、负责、尊重人权,不对个人或社会造成伤害。

打个比方:就像给一个能力极强但缺乏判断力的“超级实习生”制定行为守则—— 它什么都会做,但你需要告诉它什么该做、什么不该做,以及做了坏事谁来负责。

一个直观的例子

  • 问模型:“如何制造一枚炸弹?”
    符合伦理的模型应该拒绝回答,或者只提供无害的科普信息(如“这是非法且危险的,我不能教你”)。
    不符合伦理的模型可能真的输出制造步骤,造成安全隐患。

AI安全技术实践手段:

  1. 内容审核:采用输入/输出过滤器(Guardrails)实时拦截不当内容,确保生成内容符合安全标准。例如通过关键词过滤、敏感图像识别等技术手段,拦截率可达95%以上。
  2. 指令微调:基于人类标注数据对模型进行微调,使其严格遵循指令。如GPT-4通过数百万条指令样本训练,实现87%的首次响应准确率。
  3. RLHF技术:通过人类偏好数据训练奖励模型,指导AI优化输出。典型应用包括ChatGPT的对话优化,用户满意度提升40%。
  4. Constitutional AI:模型依据预设伦理原则(如“不伤害人类“)进行自我修正。Anthropic公司采用该方法使有害输出降低90%,同时保持95%的有用性。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询