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

Cursor开发智能体demo初体验

在上一次使用Cursor开发springboot项目以后,尝到了甜头,随着智能体的不断给我带来的良好体验,对智能体进一步了解的兴趣也进一步增强。

所以这次用Cursor开发一个智能体Demo,主要借助千问与Cursor这两个工具,首先让千问生成一个示例,内容如下:

app.py

# app.py
import gradio as gr
from agent import ask_questiongr.ChatInterface(fn=ask_question,title="资产中心智能助理",description="问我任何关于资产接口的问题!"
).launch(server_name="0.0.0.0", server_port=7860)

  agent.py

# agent.py
import os
from langchain_community.document_loaders import TextLoader
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain_community.vectorstores import Chroma
from langchain_community.embeddings import HuggingFaceEmbeddings
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnablePassthrough
from langchain_core.output_parsers import StrOutputParser
from langchain_openai import ChatOpenAI  # 通过 OpenAI 兼容接口调用通义千问# 1. 加载并切分文档
loader = TextLoader("asset_api_docs.txt", encoding="utf-8")
docs = loader.load()
text_splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=50)
splits = text_splitter.split_documents(docs)# 2. 创建向量数据库(首次运行会自动 embedding)
vectorstore = Chroma.from_documents(documents=splits,embedding=HuggingFaceEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2")
)
retriever = vectorstore.as_retriever()# 3. 设置大模型(这里以通义千问 OpenAI 兼容接口为例)
# 建议把 API Key 配到环境变量 QWEN_API_KEY 中
llm = ChatOpenAI(model="qwen-plus",  # 或者你在阿里云控制台开通的具体模型名base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",api_key=os.getenv("QWEN_API_KEY") or "sk-11b89bf9e5014910af37d6d759dec74b",
)# 4. 构建 RAG 链(Retrieval-Augmented Generation)
template = """
你是一个专业的资产中心接口顾问,请根据以下上下文回答问题。
如果不知道答案,请说“根据现有文档无法回答”,不要编造。上下文:
{context}问题:
{question}
"""
prompt = ChatPromptTemplate.from_template(template)rag_chain = ({"context": retriever, "question": RunnablePassthrough()}| prompt| llm| StrOutputParser()
)# 5. 提供调用函数
# Gradio ChatInterface 默认会把 (message, history) 作为两个参数传进来
def ask_question(message: str, history=None) -> str:# 我们这里只关心当前用户问题 message,忽略 historyreturn rag_chain.invoke(message)

  然后需要一个供agent学习的知识集,这里用一个txt

【获取资产列表】
接口地址: GET /api/v1/assets
请求参数: page (int), size (int)
返回字段: id, name, type, status
错误码: 401-未授权, 404-资源不存在【创建资产】
接口地址: POST /api/v1/assets
请求体: { "name": "string", "type": "server" }
...

主要的就是环境需要使用python3.11的,从官网下载即可,3.14的没试验成功,然后建立虚拟环境,整体结构如下图:

1770969997870_C90E2FFA-E045-461b-BCCF-F9F7F62BFD6D

 激活py311虚拟环境后,就是按照一些必要的包,期间运行python app.py的任何报错都可以让cursor的agent解决,然后就出现期盼已久的成功画面了:

1770970113831_C766DF5F-3302-42de-8E5A-6CC7BBDCCD33

 

 

 

 

 

 

 

 

 

 

 

 

如何用Python快速搭建AI Agent的原型?
 
 
Qwen3-Max
12:53:43
 
用 Python 快速搭建一个 AI Agent 原型(比如一个能回答公司制度、查接口文档的智能助理),最快只需 1–2 小时。核心思路是:调用大模型 API + 接入知识库 + 提供聊天界面
下面是一个 零 GPU、纯 CPU 友好、基于开源免费工具 的实战方案,适合你在年假或周末快速验证想法。

🛠️ 技术栈选择(极简但完整)

表格
 
组件工具为什么选它
大模型 Qwen-Max / Qwen-Plus(通义千问 API) 或 本地小模型(如 Qwen-1.8B-Chat) 国内可用、中文强、有免费额度
Agent 框架 LangChain 最成熟、文档全、社区活跃
向量数据库 ChromaDB 轻量、纯 Python、无需独立服务
前端界面 Gradio 3 行代码生成 Web UI,比 Streamlit 更快上手
💡 优势:全部开源免费,无需注册海外账号,适合国内开发者。

🚀 第一步:准备环境(5分钟)

bash
 
 
 
# 创建虚拟环境(推荐)python -m venv agent-env
source agent-env/bin/activate  # Linux/Mac# agent-env\Scripts\activate  # Windows
# 安装核心依赖pip install langchain-core langchain-community langchain-openai \            chromadb gradio qwen-api  # 如果用通义API# 或pip install transformers torch accelerate  # 如果用本地模型

📚 第二步:准备你的“知识库”(10分钟)

假设你想让 Agent 回答关于 “资产中心接口” 的问题:
  1. 把接口文档整理成一个 .txt 文件,例如 asset_api_docs.txt
    text
     
     
     
    【获取资产列表】
    接口地址: GET /api/v1/assets
    请求参数: page (int), size (int)
    返回字段: id, name, type, status
    错误码: 401-未授权, 404-资源不存在【创建资产】
    接口地址: POST /api/v1/assets
    请求体: { "name": "string", "type": "server" }
    ...
  2. (可选)也可以直接用 PDF、Word,但需额外解析,.txt 最简单。

🤖 第三步:编写 Agent 核心逻辑(30分钟)

创建 agent.py
python
 
 
 
# agent.pyimport os
from langchain_community.document_loaders import TextLoader
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain_community.vectorstores import Chroma
from langchain_community.embeddings import HuggingFaceEmbeddings
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnablePassthrough
from langchain_core.output_parsers import StrOutputParser
from qwen import Qwen  # 如果用通义API;若用本地模型,改用 transformers
# 1. 加载并切分文档loader = TextLoader("asset_api_docs.txt", encoding="utf-8")docs = loader.load()text_splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=50)splits = text_splitter.split_documents(docs)
# 2. 创建向量数据库(首次运行会自动 embedding)vectorstore = Chroma.from_documents(    documents=splits,    embedding=HuggingFaceEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2"))retriever = vectorstore.as_retriever()
# 3. 设置大模型(这里以通义千问为例)llm = Qwen(api_key="YOUR_QWEN_API_KEY")# 替换为你的 API Key
# 4. 构建 RAG 链(Retrieval-Augmented Generation)template ="""
你是一个专业的资产中心接口顾问,请根据以下上下文回答问题。
如果不知道答案,请说“根据现有文档无法回答”,不要编造。
上下文:
{context}
问题:
{question}
"""prompt = ChatPromptTemplate.from_template(template)
rag_chain =({"context": retriever,"question": RunnablePassthrough()}| prompt
| llm
| StrOutputParser())
# 5. 提供调用函数defask_question(query:str)->str:return rag_chain.invoke(query)
🔑 关键点
  • 使用 RAG(检索增强生成) 技术,确保回答基于你的文档。
  • HuggingFaceEmbeddings 是免费的开源 embedding 模型,无需 API。
  • 如果不用通义 API,可替换为本地 Qwen 模型(需更多显存)。

🖥️ 第四步:添加 Web 界面(10分钟)

创建 app.py
python
 
 
 
# app.pyimport gradio as gr
from agent import ask_question

gr.ChatInterface(    fn=ask_question,    title="资产中心智能助理",    description="问我任何关于资产接口的问题!").launch(server_name="0.0.0.0", server_port=7860)

▶️ 第五步:运行你的 Agent!

bash
 
 
 
python app.py
打开浏览器访问 http://localhost:7860,你将看到一个聊天窗口
http://www.jsqmd.com/news/378581/

相关文章:

  • 预训练目标的统一性框架:从对比学习到生成式建模的理论收敛
  • 总结2026年值得推荐的定制实木托盘供应商,价格怎么算 - 工业品牌热点
  • 2026年比较好的人造丝金丝绒/加密金丝绒制造厂家选购指南怎么选(精选) - 品牌宣传支持者
  • 2026年比较好的IXPE泡棉/泡棉如何选生产商推荐(精选) - 品牌宣传支持者
  • git 的基本操作
  • 分析便携式打印机选购要点,新手适合用哪个品牌 - myqiye
  • 少走弯路:8个AI论文网站深度测评,研究生毕业论文写作必备工具推荐
  • 【AAAI 2026即插即用】注意力模块篇 | PSSA脉冲自注意力模块,适合图像分类、目标检测、图像去噪、图像恢复、暗光增强、神经形态视觉 / 事件相机处理、语义分割等CV任务通用,涨点起飞
  • 必读!支付宝立减金回收与使用的注意事项全解析 - 团团收购物卡回收
  • 在线动图加字怎么加?浏览器打开即用,高清不丢帧
  • 别再瞎找了!一键生成论文工具 千笔AI VS 灵感风暴AI,自考写论文更省心!
  • 本土资深服务商:洛可可设计(创新设计 + 品牌赋能)
  • Pinterest引流秘籍:高转化Pin运营爆款实操打法
  • 梳理2026年实力强的PPH储罐源头工厂,看哪家口碑好 - 工业推荐榜
  • 2026必备!千笔ai写作,当红之选的一键生成论文工具
  • 2026年比较好的除尘布袋/涤纶毡除尘布袋厂家实力参考哪家质量好 - 品牌宣传支持者
  • 实测才敢推!专科生专属降AI工具 —— 千笔·降AI率助手
  • 2026年比较好的Q235模具钢/模具钢45#铣磨加工工厂采购指南如何选(实用) - 品牌宣传支持者
  • 2026年2月丽江目的地婚礼古镇推荐榜:甄选实景场地实测解析 - 品牌鉴赏师
  • 2026年评价高的瓷砖胶/强力瓷砖胶直销制造 - 品牌宣传支持者
  • 2025年广东省职业院校技能大赛中职组移动应用与开发赛项技能测试样题(一)
  • 2026年南京地区靠谱教育机构排名,分析国研时代教育的定位准确吗 - mypinpai
  • 2026年质量好的电视柜阻尼铰链/衣柜阻尼铰链厂家选购参考建议 - 品牌宣传支持者
  • 2025年广东省职业院校技能大赛中职组移动应用与开发赛项技能测试样题(二)
  • 揭秘杉德斯玛特卡使用技巧:提升回收效率的秘诀 - 团团收购物卡回收
  • 图片合成gif怎么弄?多张图片一键拼成动图
  • 如何选购注塑尼龙由壬?知名品牌及靠谱供应商推荐 - 工业推荐榜
  • 2026年2月成都订婚照外景推荐,中式园林外景优选 - 品牌鉴赏师
  • 零基础GIF合成教程:无需下载软件,图片合成GIF一步到位
  • Perl 小骆驼学习笔记 - 8. 用正则表达式进行匹配 - 详解