首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >小白玩转 AI 大模型应用开发:从 API 调用到搭建自己的智能助手

小白玩转 AI 大模型应用开发:从 API 调用到搭建自己的智能助手

原创
作者头像
用户12339161
修改2026-07-26 16:23:37
修改2026-07-26 16:23:37
960
举报

小白玩转 AI 大模型应用开发:从 API 调用到搭建自己的智能助手

无需算法背景、不啃数学公式,只要你懂一点 Python,就能在 1 小时内让大模型为你干活。本文带你从零开始,一步步解锁大模型应用开发的核心技能。


前言:大模型开发没有你想的那么难

你是不是也听过这些词:Prompt Engineering、RAG、Agent、Function Calling……感觉高深莫测?

别被这些术语吓到。本质上,大模型就是一个超级聪明的“实习生”——它懂很多知识,但不了解你的具体业务,也不会主动使用工具。而我们作为“老板”,要做的就是:

  1. 用清晰的语言告诉它要做什么(提示词工程
  2. 给它提供参考资料(RAG
  3. 让它学会用计算器、查天气、发邮件(工具调用/Agent

本文将从最基础的开场白开始,用最简单的代码带你完成以下四个实战项目:

  • 项目一:5 分钟调用大模型 API,实现智能问答
  • 项目二:用提示词技巧打造一个“小红书爆款文案生成器”
  • 项目三:用 RAG 让模型读懂你的私人文档(PDF、Word)
  • 项目四:给模型加上“手”和“脚”——构建一个能查天气、订酒店的 Agent

全程只需 Python 基础,代码不超过 50 行每个项目。我们开始吧!


项目一:5 分钟调用大模型 API

1.1 选择模型与获取 API Key

国内推荐使用 Qwen(通义千问)DeepSeek,对中文友好,且有免费额度。

  1. 访问 DashScope(阿里云) 注册并获取 API Key。
  2. 或访问 DeepSeek 平台 获取 Key。

1.2 安装依赖

代码语言:javascript
复制
pip install openai  # 兼容 OpenAI 接口

1.3 写一段“聊天”代码

以 DeepSeek 为例(Qwen 类似,改 base_url 即可):

代码语言:javascript
复制
from openai import OpenAI

client = OpenAI(
    api_key="你的_API_Key",
    base_url="https://api.deepseek.com/v1"
)

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "system", "content": "你是一个乐于助人的助手。"},
        {"role": "user", "content": "请用一句话解释什么是大模型?"}
    ]
)

print(response.choices[0].message.content)

运行结果(示例):

“大模型是一种通过海量数据训练而成的深度学习模型,能够理解和生成自然语言、图像等多种内容,像人类一样进行对话和创作。”

🎉 恭喜!你已经完成了第一个 AI 应用。接下来,我们要让模型“按你的要求”回答。


项目二:提示词工程——让模型输出你想要的格式

模型默认的回答往往太啰嗦或不符合你的业务需求。通过设计系统提示词(System Prompt),你可以给它设定“人设”和“输出规范”。

案例:小红书爆款文案生成器

我们希望模型生成标题 + 正文 + 话题标签,且语气活泼,带 emoji。

代码语言:javascript
复制
response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "system", "content": """
你是一位小红书爆款文案专家。请按以下格式输出:
标题:xxx(带emoji)
正文:xxx(分段落,每段不超过3行,语言活泼)
标签:#xx #xx
"""},
        {"role": "user", "content": "产品:一款智能保温杯,可显示水温,续航7天。"}
    ]
)

print(response.choices[0].message.content)

输出示例

代码语言:javascript
复制
标题:🔥 喝水也能玩出科技感!这款保温杯我吹爆~

正文:
每天早上打开杯盖,水温一目了然,再也不用嘴试温度了!
续航超强,充一次电用一周,出差带着贼省心。
颜值也在线,办公桌上一放,同事都来问链接。

标签:#黑科技好物 #保温杯 #智能生活

小白的提示词三板斧

  1. 设定角色:你是专家/老师/编辑。
  2. 规定格式:分点、段落、JSON 等。
  3. 给出示例(Few-shot):提供一两个“标准答案”让它模仿。

掌握了这个,你已经能做出很多实用小工具了。但模型的知识截止到训练日期,它不知道你的最新文档。怎么办?往下看。


项目三:RAG——让模型“开卷考试”

RAG(检索增强生成) 就是让模型在回答前,先从一个“知识库”里搜索相关内容,再结合用户问题一起回答。这样即使是最新的内部资料,模型也能准确引用。

我们用一个轻量级的方案:langchain + chromadb

3.1 安装依赖

代码语言:javascript
复制
pip install langchain langchain-community chromadb sentence-transformers

3.2 准备知识库(以一段文本为例)

假设我们有一份公司产品手册(product.txt):

代码语言:javascript
复制
智能保温杯 Pro:
- 内置温度传感器,实时显示水温(精度±1℃)
- 续航时间:7天(每天开盖20次)
- 容量:400ml,重量280g
- 支持无线充电
- 颜色:星空灰、珊瑚粉

3.3 构建索引并问答

代码语言:javascript
复制
from langchain_community.document_loaders import TextLoader
from langchain_text_splitters import CharacterTextSplitter
from langchain_community.embeddings import HuggingFaceEmbeddings
from langchain_community.vectorstores import Chroma
from langchain.chains import RetrievalQA
from langchain_openai import ChatOpenAI  # 兼容接口

# 1. 加载文档
loader = TextLoader("product.txt")
documents = loader.load()

# 2. 分块(因为文档小,不分也可以)
text_splitter = CharacterTextSplitter(chunk_size=200, chunk_overlap=20)
texts = text_splitter.split_documents(documents)

# 3. 生成向量并存入 Chroma(本地向量库)
embeddings = HuggingFaceEmbeddings(model_name="sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2")
vectorstore = Chroma.from_documents(texts, embeddings)

# 4. 创建检索器
retriever = vectorstore.as_retriever()

# 5. 创建问答链
llm = ChatOpenAI(
    model="deepseek-chat",
    openai_api_key="你的Key",
    openai_api_base="https://api.deepseek.com/v1"
)
qa_chain = RetrievalQA.from_chain_type(llm=llm, retriever=retriever)

# 6. 提问
question = "这个保温杯能续航多久?"
answer = qa_chain.invoke(question)
print(answer["result"])

输出

“智能保温杯 Pro 的续航时间为 7 天(每天开盖 20 次)。”

看!模型没有乱编,而是从你的文档中精确提取了答案。如果你有几十份 PDF,只需换成 PyPDFLoader 即可。


项目四:Agent——让模型学会使用工具

模型再聪明,也无法直接查天气、算复杂数学、发邮件。Agent(智能体) 通过“工具调用(Function Calling)”让模型可以决定何时调用外部函数。

我们以 查询实时天气 为例,用 MCP(Model Context Protocol)思想简化实现(注:2025 年 MCP 已成主流,但本方案直接调用函数更易懂)。

4.1 定义工具函数(查天气)

代码语言:javascript
复制
import requests

def get_weather(city: str) -> str:
    """模拟调用天气 API(实际可替换为和风天气等)"""
    # 这里用假数据,真实场景替换为 API 请求
    weather_db = {
        "北京": "晴 25℃",
        "上海": "多云 28℃",
        "广州": "雷阵雨 32℃"
    }
    return weather_db.get(city, "未查到该城市天气")

4.2 告诉模型有哪些工具可用

我们需要将工具描述(名称、参数、说明)以 JSON 格式传给模型,模型在需要时会返回要调用的函数名和参数。

代码语言:javascript
复制
tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "查询指定城市的实时天气",
            "parameters": {
                "type": "object",
                "properties": {
                    "city": {"type": "string", "description": "城市名称,如'北京'"}
                },
                "required": ["city"]
            }
        }
    }
]

4.3 发起带工具请求

代码语言:javascript
复制
response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[{"role": "user", "content": "上海今天天气怎么样?"}],
    tools=tools,
    tool_choice="auto"
)

message = response.choices[0].message

# 检查模型是否要求调用工具
if message.tool_calls:
    tool_call = message.tool_calls[0]
    args = json.loads(tool_call.function.arguments)
    city = args["city"]
    weather_result = get_weather(city)
    
    # 将工具结果返回给模型,让其生成最终回答
    second_response = client.chat.completions.create(
        model="deepseek-chat",
        messages=[
            {"role": "user", "content": "上海今天天气怎么样?"},
            message,  # 助手的 tool_calls 消息
            {
                "role": "tool",
                "tool_call_id": tool_call.id,
                "content": weather_result
            }
        ]
    )
    print(second_response.choices[0].message.content)
else:
    print(message.content)

输出

“上海今天多云,气温 28℃,适合出门。”

这样一个简单的 Agent 就诞生了。你可以继续给它加上发邮件计算器查询数据库等工具,让它真正成为你的“数字员工”。


进阶小贴士:小白常踩的坑与解法

问题

原因

解决方法

输出太长或太短

未设置 max_tokens

添加参数 max_tokens=500

模型拒绝回答

触及安全策略

调整提示词,换正面表述

中文效果差

模型或嵌入模型未选对

使用 Qwen、DeepSeek,嵌入用 bge-m3

RAG 检索不到相关内容

分块太大或太小

尝试 chunk_size=300,重叠 50

Agent 调用工具失败

工具描述不清晰

写清楚“用途+参数+返回”


下一步:你还能做什么?

当你完成了以上四个项目,你已经具备了独立开发 AI 应用的能力。接下来,你可以挑战:

  • 多模态:让模型看懂图片(使用 Qwen-VL、GPT-4o)。
  • 长期记忆:用向量数据库存储用户历史,实现个性化。
  • 多 Agent 协作:一个负责规划,一个负责执行,一个负责检查(LangGraph)。
  • 部署上线:用 Gradio 或 Streamlit 快速做一个 Web 界面,分享给朋友用。

结语:从小白到“玩转”,只有动手的距离

今天,我们用不到 100 行代码,完成了大模型 API 调用、提示词工程、RAG 和 Agent 四大核心技能的学习。你会发现,AI 应用开发并不需要高深的数学或复杂的框架,关键在于清晰的需求描述对工具的熟练运用

记住:AI 不会取代你,但会用 AI 的人会。 现在,打开你的编辑器,把每个示例都敲一遍,再换成你自己的业务场景——比如做一个“法律问答助手”、“编程导师”或“旅行规划师”。

有任何问题,欢迎在评论区留言,我会一一解答。期待看到你的第一个 AI 作品!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 小白玩转 AI 大模型应用开发:从 API 调用到搭建自己的智能助手
    • 前言:大模型开发没有你想的那么难
    • 项目一:5 分钟调用大模型 API
      • 1.1 选择模型与获取 API Key
      • 1.2 安装依赖
      • 1.3 写一段“聊天”代码
    • 项目二:提示词工程——让模型输出你想要的格式
      • 案例:小红书爆款文案生成器
      • 小白的提示词三板斧
    • 项目三:RAG——让模型“开卷考试”
      • 3.1 安装依赖
      • 3.2 准备知识库(以一段文本为例)
      • 3.3 构建索引并问答
    • 项目四:Agent——让模型学会使用工具
      • 4.1 定义工具函数(查天气)
      • 4.2 告诉模型有哪些工具可用
      • 4.3 发起带工具请求
    • 进阶小贴士:小白常踩的坑与解法
    • 下一步:你还能做什么?
    • 结语:从小白到“玩转”,只有动手的距离
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档