构建AI智能体:一、初识AI大模型与API调用

举报
未闻花名 发表于 2025/11/09 10:04:28 2025/11/09
【摘要】 RAG(检索增强生成)是一种结合信息检索与大型语言模型的技术,旨在解决LLM的"幻觉"问题。其核心流程包括:离线处理阶段(知识库构建)和在线处理阶段(用户查询应答)。通过将外部知识源转换为向量存入数据库,当用户提问时,系统会检索相关内容并增强提示,再由LLM生成准确答案。RAG技术显著提升了AI在专业领域的可靠性,适用于智能客服、企业知识管理、内容创作等场景。
欢迎大家交流大模型的开发的使用,以下为个人见解,不对之处欢迎指正

一、了解大模型

      在人工智能领域,相比早期的NLP,近期大模型如雨后春笋般不断涌现,体现了时代的发展和科技的进步,以及众多获益者的深度追求,使得大模型展现出了卓越的性能和广泛的应用前景。

       闲话少叙,本集合文章是作者对大模型一路的笔记和从业后的回顾,希望能和大家一起成长交流,将从初学大模型基础到AI智能体的搭建一步步开启AI大模型时代的开端。

二、API调用与示例

  • APK-KEY申请

       阿里云百炼是阿里提供的全链路大模型服务与应用开发平台,提供囊括文本、语音、视觉的模型服务,新用户可获100万免费tokens体验Qwen3全系列模型服务

1.首先扫码登录百炼平台,申请token;

    2.点击左下角【密钥管理】-【创建APK-KEY】生成一个sk-开头的key,在接下来的示例中即可调用;

    图片

    3.获取到key后就可以在模型分类中,选择供应商指定需要用到的模型,其中包括deepseek等;

    图片

    4.API-KEY使用的两种方式:

    图片

    • 调用说明

    1. 大模型的调用通常采用Python,需对Python语言有基础的掌握,Python技术生态丰富,拥有完善的深度学习框架和数据处理工具,能覆盖从训练到微调的整个流程,降低了入门门槛;同时语法简洁,开发效率高,跨平台兼容性强。

    2. 主要通过阿里的DashScope服务平台提供的API和SDK来实现大模型的应用,DashScope对主流的AI大模型实现了封装,通过API的方式方便开发者调用,进行推理、训练和微调,可通过pip install dashscope进行安装和初始化。

    3. DashScope使用方法:

    •  导入模块:

    import dashscope
    from dashscope.api_entities.dashscope_response import Role
    # 设置API key
    dashscope.api_key = "your-api-key"

    • 模型调用:

    # 基本调用格式
    response = dashscope.Generation.call(
        model='模型名称'# 例如:'qwen-turbo', 'deepseek-v3' 等
        messages=messages, # 消息列表
        result_format='message' # 输出格式
    )

    • message配置:

    messages = [
    {"role""system""content""系统提示信息"},
    {"role""user""content""用户输入"}
    ]

    • 输出结果:

    # 获取生成的内容
    result = response.output.choices[0].message.content
    print(result)

    • 用示例调

      1. 通过调用deepseek-v3模型识别一段文字表达的意思是正向还是负向

    import json
    import os
    import dashscope
    from dashscope.api_entities.dashscope_response import Role
    # 从环境变量中,获取 DASHSCOPE_API_KEY
    # api_key = os.environ.get('DASHSCOPE_API_KEY')
    # 还可以将key直接配置在此处
    dashscope.api_key = "sk-e****93d4****"
    # 封装模型响应函数
    def get_response(messages):
        response = dashscope.Generation.call(
            model='deepseek-v3',
            messages=messages,
            result_format='message'  # 将输出设置为message形式
        )
        return response
    review = '特别喜欢这款产品,使用起来很方便。'
    messages=[
        {"role""system""content""帮我判断产品表达的意思是正向还是负向,回复请用一个词语:正向 或者 负向"},
        {"role""user""content": review}
      ]
    response = get_response(messages)
    # response.output.choices[0].message.conten
    print(response.output.choices[0].message.content)

    • 输出结果:

      正向

      2.通过调用qwen-vl-plus模型识别图片中的文字并按指定格式输出


      图片

      import json
      import os
      import dashscope
      from dashscope.api_entities.dashscope_response import Role
      # 从环境变量中,获取 DASHSCOPE_API_KEY
      api_key = os.environ.get('DASHSCOPE_API_KEY')
      dashscope.api_key = api_key
      # 封装模型响应函数
      def get_response(messages):
          response = dashscope.MultiModalConversation.call(
              model='qwen-vl-plus',
              messages=messages
          )
          return response
      content = [
          {'image''员工登记表.jpeg'}, #此处可指定网络地址
          {'text''这是一个表格图片,帮我提取里面的内容,输出JSON格式'}
      ]
      messages=[{"role""user""content": content}]
      # 输出结果
      response = get_response(messages)
      print(response.output.choices[0].message.content[0]['text'])

      输出结果:

    ```json
    {
      "公司名称": "",
      "应聘岗位": "",
      "身份": ["实习生", "社会人士"],
      "填表日期": {
        "年": "",
        "月": "",
        "日": ""
      },
      "个人信息": {
        "姓名": "",
        "性别": "",
        "出生年月": "",
        "籍贯": "",
        "民族": "",
        "政治面貌": "",
        "健康状况": "",
        "婚姻状况": "",
        "身高/体重": {
          "cm": "",
          "kg": ""
        },
        "学历": "",
        "毕业院校": "",
        "专业": "",
        "移动电话": "",
        "身份证号": "",
        "现居住地": "",
        "家庭住址": ""
      },
      "紧急联系人": {
        "姓名": "",
        "关系": "",
        "电话": ""
      },
      "期望薪资": "",
      "职业状态": ["在职", "已离职"],
      "可到岗时间": "",
      "是否有亲戚或朋友在本公司任职": {
        "有": "",
        "无": ""
      },
      "介绍人": "",
      "是否服从调配": ["是", "否"],
      "教育经历": [
        {
          "起止时间": "",
          "学校名称": "",
          "专业": "",
          "所获奖励证书": ""
        }
      ],
      "工作经历": [
        {
          "起止时间": "",
          "单位名称": "",
          "职务": "",
          "离职原因": "",
          "证明人及联系方式": ""
        }
      ],
      "家庭成员": [
        {
          "关系": "",
          "姓名": "",
          "工作单位": "",
          "职务": "",
          "联系方式": ""
        }
      ],
      "自我评价": {
        "优势": "",
        "劣势": ""
      },
      "学历情况": {
        "统招生": ["已拿到毕业证", "应届毕业生, 学信网可查, 确定毕业可以拿到毕业证"],
        "自考生": ["已拿到毕业证", "毕业未拿到毕业证", "未毕业"]
      },
      "声明": "本人保证以上所填内容、个人简历完全属实,且为本人亲自填写,如有虚假,由此带来的法律后果由个人承担!",
      "填表人": "",
      "日期": ""
    }

      3.通过API-KEY的base-url进行模型调用

      import os
      from openai import OpenAI
      # 从环境变量中,获取 DASHSCOPE_API_KEY
      api_key = os.environ.get('DASHSCOPE_API_KEY')
      client = OpenAI(
          # 若没有配置环境变量,请替换为:api_key="sk-xxx",
          api_key=api_key, 
          base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",  # 填写DashScope服务的base_url
      )
      completion = client.chat.completions.create(
          model="qwen-plus",  # 此处以qwen-plus为例,可按需更换模型名称
          messages=[
              {'role''system''content''你是一个快乐的小助手'},
              {'role''user''content''AI大模型可以为我们做些什么?'}],
          extra_body={
              "enable_search"True
          }
          )
      print(completion.model_dump_json())

      输出结果:

      {
       "id": "chatcmpl-6b12eb65-5c81-9486-9792-ea8c8843137b",
      "choices": [{
      	"finish_reason": "stop",
      	"index": 0,
      	"logprobs": null,
      	"message": {
      	"content": "哇!这个问题真让人兴奋呢!😊 让我来跟你分享一下AI大模型的神奇之处吧~\n\n你知道吗?AI大模型就像一个超级聪明的小伙伴, 它可以:
      	 1.当你的学习小帮手! 不管是写作文、 做数学题还是学英语, 它都能耐心地陪你一起学习, 给你建议和帮助。
      	 2.变身创意小精灵! 当你想写故事、 写公文、 写邮件的时候, 它都能帮你构思, 写出精彩的内容。
      	 3.做你的编程小伙伴! 写代码遇到困难的时候, 它可以帮你检查错误, 给出改进建议。
      	 4.成为你的私人翻译官! 无论你想翻译什么语言, 它都能帮你准确传达意思。
      	 5.当你的生活小助手! 从制定旅行计划到健康建议, 它都能帮你安排得井井有条。
      	 6.变身创意实验室! 画画、 作曲、 设计, 它都能给你灵感和建议。
      	 7.成为你的智能分析员! 处理数据、 分析信息, 帮助你更好地理解和决策。
      	   我最喜欢的是, AI大模型可以随着我们的互动变得越来越聪明哦! 就像我们交朋友一样, 越相处越默契呢~
      	   你想具体了解哪方面的应用呢? 我可以给你举更多有趣的例子哦!✨ ","
      	refusal ":null,"
      	role ":"
      	assistant ","
      	annotations ":null,"
      	audio ":null,"
      	function_call ":null,"
      	tool_calls ":null}}
      	],
      "created": 1755081025,
      "model": "qwen-plus",
      "object": "chat.completion",
      "service_tier": null,
      "system_fingerprint": null,
      "usage": {
      	"completion_tokens": 265,
      	"prompt_tokens": 30,
      	"total_tokens": 295,
      	"completion_tokens_details": null,
      	"prompt_tokens_details": {
      		"audio_tokens": null,
      		"cached_tokens": 0
      		}
      	}
      }
      

      【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
      • 点赞
      • 收藏
      • 关注作者

      评论(0

      0/1000
      抱歉,系统识别当前为高风险访问,暂不支持该操作

      全部回复

      上滑加载中

      设置昵称

      在此一键设置昵称,即可参与社区互动!

      *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

      *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。