AI大模型RAG与Agent开发学习

黑马程序员大模型RAG与Agent智能体项目实战教程,基于主流的LangChain技术从大模型提示词到实战项目

大模型开发核心: RAG、Agent ------ LangChain

  • 提示词优化(开发基础、基础到进阶、写精准提示词、提示词优化)

  • LangChain1.2核心技术学习(核心组件、工作原理、零基础都能懂)

  • RAG实战案例(项目案例、文档处理、向量数据库搭建、向量数据检索匹配)

  • Agent(需求拆解、Agent定义、工具调用、流程控制、实战开发)

1.前置准备

大模型的接入

本地部署:通过 Ollama 部署:Qwen、Deepseek

云端大模型:阿里云百炼平台:存在免费额度;可以使用 API key

代码调用 云端大模型

openai: python提供 访问云端模型的工具库

可以 使用 环境变量 记录值,自动读取变量从而获取值

在 阿里云百炼-模型广场找到模型调用代码,并使用自己申请的 API KEY进行代码调用 云端大模型。后续可以把API KEY 使用环境变量保护起来

运行阿里云提供的调用代码即可

python 复制代码
from openai import OpenAI
import os

client = OpenAI(
    # 如果没有配置环境变量,请用阿里云百炼API Key替换:api_key="sk-xxx"
    api_key="xxx",
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)

messages = [{"role": "user", "content": "你能解决什么问题?"}]
completion = client.chat.completions.create(
    model="qwen3.5-plus",  # 您可以按需更换为其它深度思考模型
    messages=messages,
    extra_body={"enable_thinking": True},
    stream=True
)
is_answering = False  # 是否进入回复阶段
print("\n" + "=" * 20 + "思考过程" + "=" * 20)
for chunk in completion:
    delta = chunk.choices[0].delta
    if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
        if not is_answering:
            print(delta.reasoning_content, end="", flush=True)
    if hasattr(delta, "content") and delta.content:
        if not is_answering:
            print("\n" + "=" * 20 + "完整回复" + "=" * 20)
            is_answering = True
        print(delta.content, end="", flush=True)

Ollama

一款简化大型语言模型本地部署和运行过程的开源软件(本地版)

支持多种开源模型,涵盖文本生成、代码生成、多模态推理

win部署ollama

官网安装ollama,如下:

选择模型,会自动下载模型 并进行回答

代码调用ollama本地模型

修改代码:

代码如下:

python 复制代码
from openai import OpenAI
import os

client = OpenAI(
    # 如果没有配置环境变量,请用阿里云百炼API Key替换:api_key="sk-xxx"
    # base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
    base_url="http://localhost:11434/v1",
)

messages = [{"role": "user", "content": "你能解决什么问题?"}]
completion = client.chat.completions.create(
    # model="qwen3.5-plus",  # 您可以按需更换为其它深度思考模型
    model="gamma3:4b",
    messages=messages,
    extra_body={"enable_thinking": True},
    stream=True
)
is_answering = False  # 是否进入回复阶段
print("\n" + "=" * 20 + "思考过程" + "=" * 20)
for chunk in completion:
    delta = chunk.choices[0].delta
    if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
        if not is_answering:
            print(delta.reasoning_content, end="", flush=True)
    if hasattr(delta, "content") and delta.content:
        if not is_answering:
            print("\n" + "=" * 20 + "完整回复" + "=" * 20)
            is_answering = True
        print(delta.content, end="", flush=True)
相关推荐
喜欢就别13 分钟前
【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 --- (2)--- On-Policy Distillation
人工智能·笔记
糯米导航3 小时前
AI 视觉回归实战:截图对比不是“找不同”,如何让智能差异分析真正服务 UI 质量
人工智能·ui·回归
科技圈观察3 小时前
2026年好伴AI医疗专用大模型应用梳理与梯队参考
人工智能
jkyy20144 小时前
深耕AI健康医疗数据智库,赋能企业构建主动健康管理新生态
大数据·人工智能·健康医疗
cd_949217214 小时前
3D角色自动绑骨怎么做?用V2Fun完成建模、绑定、动作和导出
人工智能·3d
瑞禧生物tech4 小时前
SH-PEG-Biotin巯基-聚乙二醇-生物素 HS-PEG-Bio 深度解析
人工智能
QYR-分析4 小时前
机器人安全控制器行业高速扩容 本土替代迎来全新发展窗口期
人工智能·安全·机器人
xian_wwq5 小时前
【学习笔记】模型权重管理:Safetensors与私有化Hub(23/35)
笔记·学习
冬奇Lab5 小时前
MCP 系列(06):MCP vs Function Calling——用数据说话的选型指南
人工智能
冬奇Lab5 小时前
每日一个开源项目(第159篇):Vibe-Trading - 用自然语言做量化研究,AI 驱动的个人交易 Agent
人工智能·开源·资讯