当前位置: 首页 > news >正文

学习大模型RAG与Agent智能体基础知识day1

开头各位好啊如你所见博主是个新手新到这是我第一次发博客。现在是2026.5.20的凌晨哦情人节到了…前几周刚刚学完langchain的基础知识跟着教程做了个前后端前端因为没学所以代码直接搬教程的的AI私厨管家借助阿里云成功在本地网络上跑起来了。把前后端代码打包放到GitHub后我开始下一段旅程RAG知识的学习学了一两天我突然想到或许把遇到的问题和有趣的事情写在博客里可以帮到别人我自己也能当个错题本有的错误不是第一次犯了所以就是这样啦我不擅长写文章能看到这里真的很谢谢你对了如果你真的想看看那个AI私厨的代码到这个网址https://github.com/QHzzy035/AI_PrivateKitchen接下来是日志部分代码一览# 导入依赖fromopenaiimportOpenAIfromdotenvimportload_dotenvimportos#导入环境变量load_dotenv()# 获取openai对象openai_objectOpenAI(base_urlos.getenv(DASHSCOPE_BASE_URL),api_keyos.getenv(DASHSCOPE_API_KEY),)# 定义模型responseopenai_object.chat.completions.create(modelqwen3.5-plus,messages[{role:system,content:你是一个python编程专家而且话很多。},{role:assistant,content:好的我是python编程专家很高兴见到你你要问什么},{role:user,content:使用python编程技术输出1-10。}],streamTrue)# 流式输出forchunkinresponse:ifchunk.choicesandchunk.choices[0].delta.content:print(chunk.choices[0].delta.content,end,flushTrue)日志1导入dotenv不要忘记导入dotenv中的load_dotenv并运行load_dotenv除非你的环境变量都在高级系统设置中配置好了这是第二次犯错了fromdotenvimportload_dotenvimportos如果没有导入这个调用openai模型时会显示超时没找到base_url自动换成了openai官网的url普通网络打不开日志2流式输出流式输出存在一些奇怪的地方我一开始在输出部分写了这些代码forchunkinresponse:print(chunk.choices[0].delta.content,end,flushTrue)结果输出就一直蹦出NoneNoneNone后来发现其实运行一段时间后就正常吐字了然后我改成了forchunkinresponse:ifchunk.choices[0].delta.content:print(chunk.choices[0].delta.content,end,flushTrue)有了检测后None不再蹦出来了结果运行到最后报错IndexError: list index out of range根据网上给的资料因为 if chunk.choices[0].delta.content: 会先执行 chunk.choices[0]如果 choices 是空列表就会 IndexError。所以我又加上了判断chunk.choices非空的代码forchunkinresponse:ifchunk.choicesandchunk.choices[0].delta.content:print(chunk.choices[0].delta.content,end,flushTrue)好啦这下解决了日志3messages警告等下messages那块一直警告应为类型 ‘Iterable[ChatCompletionDeveloperMessageParam | ChatCompletionSystemMessageParam | ChatCompletionUserMessageParam | ChatCompletionAssistantMessageParam | ChatCompletionToolMessageParam | ChatCompletionFunctionMessageParam]’但实际为 ‘list[dict[str, str]]’问了AI告诉我是OpenAI SDK 的 messages 参数在类型系统中被定义为多种特定消息类型的联合如 ChatCompletionSystemMessageParam、ChatCompletionUserMessageParam 等每个类型有严格的字段要求例如 role 必须是特定字面量content 必须存在。而你直接使用了通用的 list[dict[str, str]]类型检查器无法确认这些字典是否真的符合 API 所需的精确结构。简单说就是openai的消息有专门给用户消息系统消息AI回复消息这三类设计的函数按照SDK设计应该这样改fromopenai.types.chatimportChatCompletionSystemMessageParam,ChatCompletionUserMessageParam,ChatCompletionAssistantMessageParam messages[ChatCompletionSystemMessageParam(rolesystem,content...),ChatCompletionAssistantMessageParam(roleassistant,content...),# 注意拼写ChatCompletionUserMessageParam(roleuser,content...)]嗯有点类似之前学lanngchain写的HumanMessage但是不太一样HumanMessages用在键值对中与messages相对的值位置responseagent.stream({messages:[HumanMessage(content宝宝出去玩怎么样不要老是坐在家里嘛。)]},stream_modemessages)嗯请无视文本后面我可能会换成SDK的方法毕竟这个警告太烦了结语好了今天遇到的问题就这些如果我写的没错的话希望可以帮到你。最后可以给个赞吗装可爱
http://www.zskr.cn/news/1340467.html

相关文章:

  • AI智能体驱动的海上风电制氢模型:技术解析与经济性评估
  • Cortex-M7硬件FPU配置与优化指南
  • 2026年库尔勒汽车维修保养门店横向深度测评:路之宝合规资质领跑,七店实测帮你精准选型 - GrowthUME
  • 哈哈哈哈哈打不过我吧,没有办法我(vllm)就是这么强大!
  • 量子转导技术:微波与光学量子系统的桥梁
  • 2026 金华义乌 GEO 优化服务市场深度研判 本地头部公司技术实力与选型参考 - 企业品牌优选推荐官
  • JaxRobotarium:多智能体强化学习框架与工程实践
  • 【Midjourney范戴克印相终极指南】:20年影像工艺专家首度公开AI胶片化调色黄金参数(含7组不可复制的v6提示词矩阵)
  • 独立开发者如何借助Taotoken的模型广场与透明计费高效选型试错
  • 终极英雄联盟工具箱:LeagueAkari的完整使用指南与实战技巧
  • Python,Go开发民营企业从粗放期到国际化标准化App(附代码)
  • 前 DeepMind 研究员反思:评测,而非算力或数据,才是下一阶段的瓶颈
  • 5个实战技巧:如何将YOLOv8人脸检测模型高效部署到生产环境
  • P3D引擎:面向割草游戏的ECS架构性能优化方案
  • 【Prompt实战】打破“废话生成器”魔咒:结构化提示词(CRISPE框架)编写指南
  • 【限时解密】Midjourney毛发质感生成私藏Prompt库:仅剩87组未公开高保真指令(含犬科/灵长类/昆虫刚毛专用模板)
  • 河南话TTS项目踩坑实录:为什么你的“中”字总发成“zōng”?——基于127小时方言语料的韵律建模纠偏指南
  • 隐私焦虑时代:如何安全地在本地导出浏览器Cookie文件
  • 【Prompt实战】零样本(Zero-shot)与少样本(Few-shot)提示在用例生成中的对比
  • 九成企业担忧内部系统无法跟上高管薪酬管理需求
  • 如何快速掌握ElastiFlow:企业级网络流量监控的终极部署指南
  • 软件开发行业的挑战:如何应对开发人员短缺的问题
  • 郴州市黄金回收实测:5家平台避坑指南 - 小仙贝贝
  • 树突状细胞相关细胞因子的功能及疾病关联
  • 在智能客服场景下利用Taotoken聚合多模型提升响应质量
  • 企业盈利密码,商业模式必读经典书籍推荐
  • 普宁弱视矫正配镜哪家专业|孩子弱视去眼镜店还是医院 - 品牌观察
  • 新手教程使用curl命令快速测试Taotoken平台大模型API连通性
  • SABIC塑料解决方案:宏裕塑胶全面代理原GE塑料高性能材料产品
  • 宏裕塑胶携手沙伯基础创新塑料,打造高端工程塑料解决方案