资讯动态

aiAgent学习笔记

发布时间:2026/10/27 1:54:22 来源:尧图企业网站定制
langchain的使用他是大模型的的工具集合官网地址ZHIPU AI | LangChain中文网可以查看英文的网站中文的可能没有及时的更新allama的使用下载大模型到本地随便调试可用作学习或者演示用不需要购买token也需要看服务器的内存和显存是否支持1.命令作用python -V大写 V查版本号输出Python 3.14.0python --version同上推荐用这个不会搞错python -v小写 vverbose 调试模式—— 打印 Python 启动时加载的每一个模块# 1. 查版本 python --version # 2. 进 Python 交互环境随便玩 python # 进去之后输 Python 代码 1 1 print(hello) # 退出 exit() # 或者按 CtrlD千万别在这个系统 Python 里直接pip install装 LangChain—— 会污染全局环境以后版本冲突找不回。建立项目隔离区一种按我们之前说的用 uv 建项目cd ~/lenovo/aiAgent/awp # 装 uv如果还没装 brew install uv # 一行建好项目自动建虚拟环境、自动管 Python 版本 uv init . uv add langchain langchain-ollama # 之后跑代码用 uv run uv run python your_file.py二种工具隔离方式适合谁venvPython 自带项目目录里一个.venv文件夹纯 Python 项目最通用面试就讲这个conda全局统一管理按名字找环境数据科学、要装非 Python 二进制包uv跟 venv 一样但快 10 倍追求速度新项目推荐condavenvuv是什么数据科学圈的环境管理器Python 自带的隔离工具新一代高速包管理器管 Python 版本吗✅ 管能装 3.10/3.11/3.12❌ 不管用系统已装的✅ 管自动下载任意版本装包速度慢中pip极快Rust 写的能装非 Python 包吗✅ 能cuda、c 库❌ 只能 Python 包❌ 只能 Python 包激活方式conda activate xxxsource .venv/bin/activate不用激活前面加uv run类比nvm npm 合体手动 node_modulespnpm适合谁数据科学、要装 GPU/CUDA纯 Python 项目、标准做法新项目、追求效率MemoryCoversationBufferMemory:用来保存完整的历史对话不压缩和筛选存储在内存对话长会比较占内存CoversationBufferWindowMemory网络版-文本嵌入from langchain_community.embeddings import ZhipuAIEmbeddings from sklearn.linear_model import LogisticRegression # 1. 准备 embedding embeddings ZhipuAIEmbeddings(modelembedding-2) # 2. 训练数据comments 和 labels 严格按位置一一对应 # 1 好评0 差评 comments [ 这产品太棒了用了一周很满意, # 0 → 1 一天就坏了垃圾, # 1 → 0 物流很快包装完好好评, # 2 → 1 用了三天就坏客服不理人, # 3 → 0 性价比高推荐购买, # 4 → 1 退货费劲再也不买了, # 5 → 0 质量超出预期第二次回购, # 6 → 1 发错货了态度还很差, # 7 → 0 非常满意下次还来, # 8 → 1 根本没法用浪费钱, # 9 → 0 ] labels [1, 0, 1, 0, 1, 0, 1, 0, 1, 0] # ↑ 对应 comments[0] # ↑ comments[1] # ↑ comments[2] # ... # 3. 把所有评论一次性变成向量 vectors embeddings.embed_documents(comments) print(f训练数据{len(vectors)} 条每条向量维度{len(vectors[0])}) # 4. 训练分类器 clf LogisticRegression() clf.fit(vectors, labels) print(训练完成) # 5. 测试新评论 test_comments [ 这个东西真的超好用, 收到就坏了气死我了, 一般般吧没说的那么好, ] test_vectors embeddings.embed_documents(test_comments) predictions clf.predict(test_vectors) # 6. 输出结果 for text, pred in zip(test_comments, predictions): result 好评 if pred 1 else 差评 print(f评论{text} → {result})本地版-文本嵌入模型练习少量数据是保存在内存的数据多的情况下需要数据持久化需要借助chromadbChromaDB简称 Chroma是一个开源向量数据库专门为 AI 应用尤其是大模型设计用来存储和检索 向量 数据。简单说它是 RAG检索增强生成和 AI Agent 应用里的 记忆库。延伸目前本地文本嵌入模型模型维度中文效果大小说明nomic-embed-text768一般274 MBOllama 自带入门首选bge-m31024⭐ 好1.2 GB智源开源中文最强开源bge-large-zh1024⭐ 好1.3 GB中文专版mxbai-embed-large1024一般670 MB英文好all-MiniLM384差90 MB最轻量跑 demo 用Tool解决大模型语言的幻觉问题-虚假信息LangGraph 状态持久化教程里2.1 MemorySaver的演示# 图定义截图未包含按上下文补全 from typing import TypedDict from langgraph.graph import StateGraph, START, END class State(TypedDict): count: int def increment(state: State) - State: return {count: state[count] 1} graph StateGraph(State) graph.add_node(increment, increment) graph.add_edge(START, increment) graph.add_edge(increment, END) # 2.2 SQLite 存储 import sqlite3 from langgraph.checkpoint.sqlite import SqliteSaver # 关键点 1check_same_threadFalse —— 允许跨线程读写 # isolation_levelNone —— 交给 SQLite 自动提交不用手动 commit conn sqlite3.connect(agent.db, check_same_threadFalse, isolation_levelNone) # 关键点 2把 MemorySaver 换成 SqliteSaver其余代码一行不用改 checkpointer SqliteSaver(conn) # 自动创建 checkpoints / writes 两张表 app graph.compile(checkpointercheckpointer) # 用法与 MemorySaver 完全一致 config {configurable: {thread_id: thread-1}} result1 app.invoke({count: 0}, config) # {count: 1} 第一次运行 result2 app.invoke({}, config) # {count: 2} 同一线程累加 config2 {configurable: {thread_id: thread-2}} result3 app.invoke({count: 0}, config2) # {count: 1} 新线程独立 print(result1, result2, result3) # 与 MemorySaver 的差别验证重启不丢 # 把上面的 invoke 注释掉后再次运行本脚本不删除 agent.db # thread-1 会从上次的 {count: 2} 继续 → 输出 {count: 3}、{count: 4} # thread-2 会从上次的 {count: 1} 继续 → 输出 {count: 2} # 换回 MemorySaver 跑同样流程重启后永远回到 {count: 1}维度MemorySaverSqliteSaver一句话进程内的临时记忆落盘的长久记忆选它写 demo、跑测试、验证逻辑做个人项目、要重启 / 留档换法—只换checkpointer一行 一个连接

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑