【黑马RAG与Agent智能体项目】(一)OpenAI库基础使用

OpenAI 使用教程:从入门到实战 通过本教程,您已掌握 OpenAI 的核心功能与使用方法。建议从简单任务(如文本生成)入手,逐步探索高级功能(如多轮对话、图像生成),并结合实际需求优化调用参数与成本控制。 阅读详情

OpenAI库学习笔记 - 从入门到实战

本文记录了OpenAI库(兼容阿里云百炼平台)的学习过程,包括API调用、流式输出和历史消息管理等核心功能。


📚 目录


01 - 测试API KEY的使用

📝 学习目标

掌握OpenAI库的基本配置和API调用流程。

💡 核心代码

import os
from openai import OpenAI

# 创建客户端对象
client = OpenAI(
    api_key="your-api-key-here",  # 替换为你的API Key
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)

# 调用模型
completion = client.chat.completions.create(
    model="deepseek-v3.2",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "帮我分析agent开发未来的前景?"},
    ],
    stream=True
)

# 流式输出结果
for chunk in completion:
    print(chunk.choices[0].delta.content, end="", flush=True)

🔑 关键知识点

  1. 客户端初始化

    • api_key: 你的API密钥(需要在阿里云百炼平台获取)
    • base_url: 阿里云百炼的兼容模式接口地址
  2. 模型调用参数

    • model: 指定使用的模型(如 deepseek-v3.2)
    • messages: 消息列表,包含角色和内容
    • stream: 是否启用流式输出
  3. 消息角色说明

    • system: 系统提示词,定义AI的行为
    • user: 用户输入的问题

02 - OpenAI库的基本使用

📝 学习目标

学习如何使用多轮对话和角色设定来调用模型。

💡 核心代码

from openai import OpenAI

# 1. 获取client对象
client = OpenAI(
    api_key="your-api-key-here",
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)

# 2. 模型调用
response = client.chat.completions.create(
    model="deepseek-v3.2",
    messages=[
        {"role": "system", "content": "你是一个python编程专家"},
        {"role": "assistant", "content": "我是编程专家, 你要问什么"},
        {"role": "user", "content": "你是谁"}
    ]
)

# 3. 处理结果
print(response.choices[0].message.content)

🔑 关键知识点

  1. 三步调用流程

    • 步骤1: 创建客户端对象
    • 步骤2: 调用模型API
    • 步骤3: 处理返回结果
  2. 角色类型扩展

    • assistant: AI助手的回复,可用于模拟对话历史
  3. 非流式输出

    • 直接通过 response.choices[0].message.content 获取完整回复
    • 适合需要一次性获取完整结果的场景

03 - OpenAI库的流式输出

📝 学习目标

掌握流式输出的使用方法,实现实时响应效果。

💡 核心代码

from openai import OpenAI

# 1. 获取client对象
client = OpenAI(
    api_key="your-api-key-here",
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)

# 2. 模型调用(开启流式输出)
response = client.chat.completions.create(
    model="deepseek-v3.2",
    messages=[
        {"role": "system", "content": "你是一个python编程专家"},
        {"role": "assistant", "content": "我是编程专家, 你要问什么"},
        {"role": "user", "content": "你是谁"}
    ],
    stream=True  # 开启流式输出
)

# 3. 处理流式结果
for chunk in response:
    print(chunk.choices[0].delta.content, end=" ", flush=True)

🔑 关键知识点

  1. 流式输出的优势

    • ✅ 实时显示生成内容,提升用户体验
    • ✅ 减少等待时间,适合长文本生成
    • ✅ 可以提前中断生成过程
  2. 流式输出的实现

    • 设置 stream=True 参数
    • 使用 for 循环遍历响应块
    • 通过 chunk.choices[0].delta.content 获取增量内容
  3. 打印技巧

    • end=" ": 不换行,用空格分隔
    • flush=True: 立即刷新输出缓冲区,实现实时显示

04 - OpenAI库附带历史消息调用模型

📝 学习目标

学习如何通过历史消息实现上下文记忆功能。

💡 核心代码

from openai import OpenAI

# 1. 获取client对象
client = OpenAI(
    api_key="your-api-key-here",
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)

# 2. 模型调用(包含完整对话历史)
response = client.chat.completions.create(
    model="deepseek-v3.2",
    messages=[
        {"role": "system", "content": "你是AI助理,回答很简洁"},
        {"role": "user", "content": "小明有2条宠物狗"},
        {"role": "assistant", "content": "好的"},
        {"role": "user", "content": "小红有3条宠物猫"},
        {"role": "assistant", "content": "好的"},
        {"role": "user", "content": "总共有几个宠物?"},
    ],
    stream=True
)

# 3. 处理结果
for chunk in response:
    print(chunk.choices[0].delta.content, end=" ", flush=True)

🔑 关键知识点

  1. 历史消息的作用

    • 🧠 让AI具备上下文记忆能力
    • 🔗 实现多轮对话的连贯性
    • 📊 AI可以基于历史信息进行推理
  2. 消息列表的构建

    • 按时间顺序排列所有对话
    • 交替使用 user 和 assistant 角色
    • system 消息通常放在最前面
  3. 实际应用场景

    • 聊天机器人的对话管理
    • 需要上下文理解的问答系统
    • 多步骤任务的执行

🎯 总结与进阶

核心要点回顾

功能关键参数适用场景
基本调用stream=False简单问答,一次性获取结果
流式输出stream=True长文本生成,实时交互
历史消息messages 列表多轮对话,上下文理解

最佳实践建议

  1. API Key 安全

    • ⚠️ 不要将API Key硬编码在代码中
    • ✅ 使用环境变量或配置文件管理
    • ✅ 代码上传前务必移除敏感信息
  2. 性能优化

    • 对于长对话,定期清理历史消息避免token超限
    • 合理使用 system 提示词控制回复风格
    • 流式输出适合需要实时反馈的场景
  3. 错误处理

    • 添加异常捕获机制
    • 处理网络超时和API限流
    • 记录日志便于问题排查

下一步学习方向

  • 🚀 Function Calling(函数调用)
  • 🎨 多模态能力(图像理解)
  • 🔧 Agent开发框架(LangChain、AutoGPT)
  • 📊 Token管理和成本优化

📖 参考资源


💡 提示: 本文所有代码示例均已测试通过,可直接运行。记得替换为你自己的API Key!

📝 作者: yedou
📅 日期: 2026-01-22
🏷️ 标签: OpenAI Python AI Agent开发 大模型

大模型RAG与Agent智能体开发实战指南 检索增强生成(RAG)是当前大模型应用中的关键技术,通过结合外部知识检索与生成模型,有效解决大模型幻觉问题。其核心原理是将用户问题与知识库匹配后,将相关文档作为上下文输入模型。Agent智能体则在此基础上增加了自主决策能力,能够调用工具、记忆状态并规划行动。LangChain框架为这两种技术提供了完整实现方案,包括提示词工程、工具封装和流程编排。在实际应用中,RAG+Agent架构特别适合知识密集型场景如智能客服、数据分析助手等,开发者可以通过@tool装饰器快速扩展功能,利用create_agent()构 阅读详情

相关推荐

LangChain与LangGraph实战指南:从RAG到智能体工程化开发

1. 先搞清楚 LangChain 到底在做什么,以及它为什么值这个价 看到“开源代理公司LangChain宣布融资1.25亿美元 估值12.5亿美元”这个标题,很多人的第一反应可能是:一个开源框架,凭什么值这么多钱?这钱投的到底是什么? 如果你只把 LangChain 理解成一个帮你连接大模型和外部工具的 Python 库,那这个估值确实难以理解。但如果你把它看作一个正在构建 AI 智能体(Agent)开发与运维完整工程体系 的公司,逻辑就通了。这次融资的核心,不是投给那个我们熟悉的 pip instal

weixin_30888413的博客 362

[AI OpenAI-doc] 库

我们提供了Python库和TypeScript / JavaScript库,支持各种运行时。安装后,您可以使用您的秘钥来运行库中提供的功能。微软的Azure团队也维护了与OpenAI API和Azure OpenAI服务兼容的库。此外,还有许多由社区构建和维护的其他库可供使用。请注意,OpenAI不验证这些项目的正确性或安全性。

从零开始学AI的博客 676

第五节 Amesim《直动型溢流阀HCD建模》HCD5 学习资料

利用HCD原则创建直动型溢流阀的界面。这可能包括图形化表示直动型溢流阀的工作原理、操作方式和调节方法。这样的界面应当直观且易于理解,使用户能够轻松了解阀门的功能和使用方法。

m0_58052642的博客 1330

OpenAI API 使用说明文档

OpenAI API 是由 OpenAI 提供的基于其先进大模型(如 GPT-4、o1 系列)的编程接口,支持自然语言处理(NLP)、图像分析、多模态推理等能力。开发者可通过 API 快速集成智能对话、文本生成、代码补全等功能到应用中。

taohuifa的博客 8055

实测有效防止colab自动断开连接

实测有效防止colab自动断开连接

Thebest_jack的博客 1万+

利用gprMax与Matlab实现SFCW雷达信号的高效仿真与优化

本文详细介绍了如何结合gprMax与Matlab实现SFCW雷达信号的高效仿真与优化。通过利用gprMax获取地下场景的冲激响应,并在Matlab中运用卷积与信号处理技术,可大幅提升SFCW雷达系统仿真的效率与灵活性,为探地雷达研究与设计提供强大工具。

book8的博客 705

OpenAI库的基础使用

OpenAI库是官方Python SDK,简化API调用流程。使用步骤包括:获取客户端对象(需api_key和base_url)、调用模型(指定model、messages等参数)、处理响应结果。支持流式输出(stream=True)和历史消息对话功能。示例展示了基础调用、流式输出和上下文对话三种模式,其中messages参数支持system(设定角色)、assistant(AI回复)和user(用户输入)三种角色类型。该库封装了底层HTTP请求细节,开发者可专注于业务逻辑实现。

Wanggj的博客 499

投稿前利用GPT-5.5给论文做一次深度校对,投稿命中率翻倍!

3)一致性:请对比摘要的结论与正文(如果我也提供了正文),确保完全一致。请严格检查结果部分,确保客观性:1)纯粹性检查:标出所有包含“为什么”(解释)或“这意味着什么”(暗示)的主观语句,这些应移至讨论部分。请你帮我评估讨论部分的深度:1)解释与对比:检查每一项主要结果是否都解释了原因,并引用了前人研究进行对比(一致或相悖)。我见过太多人把校对理解为检查错别字了,实际上,校对要看的远不止这个,像逻辑是否连贯、术语是否前后一致、图表有没有被正确引用等等的这些细节,往往决定了文章是秒被拒,还是能顺利进入外审。

智能AI让学术科研更容易 412

OpenAI API 中文文档 - 代码库

下面的库由更广泛的开发人员社区构建和维护。如果您想在此处添加新库,请按照帮助。请注意,OpenAI 不会验证这些项目的正确性或安全性。有关添加社区库的说明进行操作。

qq_39851584的博客 819

基于Xilinx XDMA 的PCIE通信

基于Xilinx XDMA 的PCIE通信 概述:   想实现基于FPGA的PCIe通信,查阅互联网各种转载…基本都是对PCIe的描述,所以想写一下基于XDMA的PCIe通信的实现(PCIe结构仅做简单的描述(笔记),了解详细结构移至互联网)。实践实践!!! 说明: 参考文档: PCI Express Base Specification Revision 3.0 PCI Express Base Specification Revision 5.0 pg195-pcie-dma PCI Express体系

Crazzy_M的博客 1万+

Qt图形几何之QRect详解:从基础操作到高级功能全解析

本文全面介绍了Qt框架中的QRect类,详细解析了其核心功能和使用方法。主要内容包括:1)QRect的基本概念与多种构造函数;2)矩形属性获取和状态判断方法;3)几何操作函数(移动、调整大小等);4)几何关系判断(包含、相交等);5)坐标变换和边距处理;6)实用功能与QRectF转换;7)综合应用示例(图形界面、碰撞检测、布局管理);8)性能优化建议和常见陷阱。通过丰富的代码示例,展示了QRect在Qt图形编程中的实际应用,帮助开发者掌握矩形处理的各项操作技巧,提升图形界面开发效率。

专注现代C++实战,从核心语法到高性能编程,助力开发者深入掌握系统级编程精髓。 114

黑马程序员RAG/Agent课程笔记(持续更新中...)

主要就是能让大模型回答时结合外部知识库RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合了信息检索和大语言模型(LLM)的技术,用于提升生成回答的准确性和可靠性。1. 索引(Indexing)输入:将知识库中的文档(如书籍、教材、企业报告等)进行预处理。处理过程提取文本内容 → 划分为小的文本块(chunk)→ 对每个文本块进行向量嵌入(使用Embedding模型转换为向量)。输出:构建一个向量数据库,存储所有文本块的向量表示,便于后续快速检索。

weixin_46422747的博客 841

网络工程师教程第6版(2024年最新版)

本书 根据《网络工程师考试大纲》(2024年审定通过)编写,对网络工程师岗位所要求的主要知 识及应用技术进行了阐述。本书主要内容包括数据通信、局域网、无线通信网、网络互连、网络安全、网络操作系统与应用服务器、组网技术、网络管理、网络规划和设计。本书是参加网络工程师考试的必备教材,也可作为网络工程从业人员学习网络技术的教材或日常工作的参考用书。王涛和严体华编写了第2章、第3章和第4章;网络工程师教程(第6版)由清华大学出版社出版,由工业和信息化部教育与考试中心组编,张永刚、王涛、高振江任主编,具体介绍如下。

鹿鸣天涯 6901

RAG与Agent智能体项目实战教程跟练与解析(前置准备与OpenAI库基础使用)

本文介绍了基于阿里云百炼平台调用千问大模型的实战流程: 环境准备:注册百炼平台获取API Key,创建Python项目并安装openai库。 基础调用: 使用OpenAI兼容接口初始化客户端 通过chat.completions.create()方法发起请求 支持流式输出和思考过程展示 安全实践: 使用python-dotenv管理API密钥 通过.env文件实现项目级环境变量隔离 核心功能: 多角色对话管理(system/user/assistant) 上下文维护与持久化方案 流式响应处理和令牌统计

2401_86760082的博客 201

博途PLC PID仿真LSim_PT1库算法(一阶系统差分方程推导全过程)

博途PLC的PID仿真可以参看下面这篇博客,这篇文章我们主要论坛仿真库LSim的算法由来。如何利用博途PLC PID_Compact 进行PID仿真(一阶系统)_RXXW_Dor的博客-优快云博客博途PLC PID控制器 PID_Compact FB如何使用可以参看下面这篇文章,这里不再赘述。

RXXW_Dor的博客 2858

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

黑马程序员大模型RAG与Agent智能体项目实战教程1

点控制面板 -> 环境变量 -> 用户变量 -> 新建 ->变量名OPENAI_API_KEY,变量值就是api。->变量名DASHSCOPE_API_KEY,变量值就是api。openai官方提供的python访问云端的工具库。配置好之后重启电脑,然后再打开vscode去测试。

qq_41848120的博客 398

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

AI大模型RAG与Agent智能体开发

本文是黑马大模型RAG与Agent智能体实战课程笔记,包含四大核心内容。教程讲解OpenAI库基础用法,实现API调用、流式输出与对话消息管理。介绍提示词工程相关知识,讲解零样本、少样本用法,借助提示词模板完成文本分类、信息抽取等任务。系统讲解RAG检索增强生成技术,梳理文档加载、文本分割、向量存储、相似度检索等开发流程。同时阐述Agent智能体ReAct框架与中间件机制,实现模型自主思考与工具调用。课程搭配大量实战代码,由浅入深讲解大模型开发流程,内容贴合项目实操,帮助学习者快速掌握大模型应用开发技能。

m0_68423233的博客 409

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

大模型RAG与Agent智能体

大模型RAG与Agent智能体(Langchain)

qq_71681039的博客 311

FuncReAct智能体原理与OpenAI函数调用实践

FuncReAct是一种融合推理(reasoning)与行动(acting)的智能体架构,其核心在于将大语言模型的思维链转化为结构化工具调用。基于OpenAI function calling机制,它通过定义严格schema的函数接口实现可控动作执行,并依托RAG增强外部知识注入能力。该技术显著提升Agent在复杂任务中的可解释性、可控性与容错性,在自动化客服、数据查询、多步骤工作流编排等场景中具备工程落地价值。本文深入解析FuncReAct如何利用function calling实现thought-act

ithome 478

黑马大模型RAG与Agent智能体实战教程LangChain提示词——3、OpenAI库基础使用(客户端对象、流式输出模式 stream output、附带历史消息调用模型)

import os"""使用 OpenAI 官方库的基础示例:1. 从 .env 读取 API_KEY2. 初始化客户端(兼容阿里云 DashScope 的 OpenAI 模式)3. 发送一条简单对话消息并打印完整回复"""# 1. 加载环境变量raise ValueError("未在环境变量或 .env 中找到 API_KEY,请先配置后再运行。")# 2. 初始化客户端# 3. 发送一次基础对话请求(非流式)messages=[

Dontla的博客 604

RAG与Agent学习前言

PS:这里配置的时候我作为新手时踩了一个坑,就是conda的路径,conda的路径要选对否则它找不到你的虚拟环境。5.最后一步,创建好以后每一个界面都要点击确定,配置好以后点击用户变量会出现我们创建的两个用户变量。点进模型广场,选择全部模型,选择我们需要的类型——聊天模型和文本向量模型,我选择的是。四、在windows环境中配置通义千问模型api,可以方便代码的分享而不泄露个人信息。2.本章内容涉及基础环境配置,插入了各位大佬的配置教程,如有侵权,联系删除。变量值:通义千问大模型api key。

2201_75375613的博客 205

黑马程序员大模型RAG与Agent智能体项目1-前置准备

在pycharm中创建新项目+.py文件,运行(前提是下载好了openai库且是最新的)阿里云百炼的本地版,在自己电脑上部署和运行大模型,不花钱,花电费和硬件。云端部署:阿里云的百炼大模型平台,完成注册、登录、实名。创建API KEY,后续使用代码即可调用云平台大模型。在模型广场中找到任意模型,复制openai代码。五、代码调用ollama的本地模型。四、Ollama本地部署大模型。显存多大选多大的模型,蒸馏模型。二、基于代码调用云端大模型。改动1.base url。一、通义千问大模型接入。

apple_68210389的博客 326

从零接入大模型:通义千问、Ollama 与 OpenAI SDK 入门(RAG与Agent实战学习笔记①)

阿里云百炼 = 云端模型平台Ollama = 本地模型平台项目百炼Ollama运行位置云端本地是否联网需要不需要模型维护官方负责用户负责算力来源云服务器自己电脑本章主要完成了大模型开发环境的搭建,并掌握了两种主流调用方式。这一章属于整个 RAG 与 Agent 学习路线的基础篇。虽然内容不复杂,但后续所有内容——包括 Prompt Engineering、LangChain、RAG 知识库、Agent 工具调用——都建立在这一章的基础之上。

qq_58442297的博客 385

GitHub AI热门项目日报:本地推理、Agent与AI编程三大趋势解析

人工智能的开源生态正经历从“能聊天”到“能干活”的转变,大模型应用落地逐渐依赖推理性能优化与智能体协作。同时,AI编程助手与本地化部署工具成为开发者日常工作的关键基础设施。无论是个人开发者还是企业团队,都希望通过高效的工具链降低模型使用门槛,并快速构建知识库问答、自动化流程等应用。本文基于GitHub热门项目榜单,从模型推理引擎、智能体编排、RAG框架与AI编程工具等维度,解析当前开源AI技术栈的演化路径,帮助读者理解本地推理、Agent协作和AI编程的实际价值与选型思路,并为工程实践提供可参考的落地建议。

weixin_33970449的博客 449

重磅更新!黑马《AI大模型开发》升级至V8.0:Agent 开发实战配置全解析

黑马《AI大模型开发》V8.0 升级 Agent 开发实战,本文给出可复制的环境配置片段与连通性自检脚本,用 TaoToken 统一 Key 与 API 通道,覆盖 Base URL、Model ID 与 401 排错,助你快速跑通大模型开发链路。详见 https://taotoken.net/?utm_source=taotoken_aicg_blog_end

weixin_35728286的博客 188

2025年底,我们用什么框架来开发智能体?

如果说 2024 年是“大模型应用”的元年,那么 2025 年无疑是 **“智能体(Agents)”** 的爆发之年。 AI 正在从对话助手演变为能自主执行任务的智能体。从年初的 Prompt Engineering,到年中的 RAG,再到现在,Agent 已成为每个开发者的必修课。 但问题也随之而来:**框架太多了。**

大模型工程师老蓝的博客 1113
上一篇: 【零碎小知识点 】(七)FutureTask 和 CompletableFuture 的使用
下一篇: 【黑马RAG与Agent智能体项目】(二)提示词工程
夜斗小神社
博客等级 码龄7年 3718粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值