欢迎大家交流大模型的开发的使用,以下为个人见解,不对之处欢迎指正
一、了解大模型
在人工智能领域,相比早期的NLP,近期大模型如雨后春笋般不断涌现,体现了时代的发展和科技的进步,以及众多获益者的深度追求,使得大模型展现出了卓越的性能和广泛的应用前景。
闲话少叙,本集合文章是作者对大模型一路的笔记和从业后的回顾,希望能和大家一起成长交流,将从初学大模型基础到AI智能体的搭建一步步开启AI大模型时代的开端。
二、API调用与示例
1. APK-KEY申请
阿里云百炼是阿里提供的全链路大模型服务与应用开发平台,提供囊括文本、语音、视觉的模型服务,新用户可获100万免费tokens体验Qwen3全系列模型服务
1.首先扫码登录百炼平台,申请token;
2.点击左下角【密钥管理】-【创建APK-KEY】生成一个sk-开头的key,在接下来的示例中即可调用;
3.获取到key后就可以在模型分类中,选择供应商指定需要用到的模型,其中包括deepseek等;
4.API-KEY使用的两种方式:
2. 调用说明
- 大模型的调用通常采用Python,需对Python语言有基础的掌握,Python技术生态丰富,拥有完善的深度学习框架和数据处理工具,能覆盖从训练到微调的整个流程,降低了入门门槛;同时语法简洁,开发效率高,跨平台兼容性强。
- 主要通过阿里的DashScope服务平台提供的API和SDK来实现大模型的应用,DashScope对主流的AI大模型实现了封装,通过API的方式方便开发者调用,进行推理、训练和微调,可通过pip install dashscope进行安装和初始化。
- 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": "" }, "学历": "", "毕业院校": "", "专业": "", "移动电话": "", "身份证号": "", "现居住地": "", "家庭住址": "" }, "紧急联系人": { "姓名": "", "关系": "", "电话": "" }, "期望薪资": "", "职业状态": ["在职", "已离职"], "可到岗时间": "", "是否有亲戚或朋友在本公司任职": { "有": "", "无": "" }, "介绍人": "", "是否服从调配": ["是", "否"], "教育经历": [ { "起止时间": "", "学校名称": "", "专业": "", "所获奖励证书": "" } ], "工作经历": [ { "起止时间": "", "单位名称": "", "职务": "", "离职原因": "", "证明人及联系方式": "" } ], "家庭成员": [ { "关系": "", "姓名": "", "工作单位": "", "职务": "", "联系方式": "" } ], "自我评价": { "优势": "", "劣势": "" }, "学历情况": { "统招生": ["已拿到毕业证", "应届毕业生, 学信网可查, 确定毕业可以拿到毕业证"], "自考生": ["已拿到毕业证", "毕业未拿到毕业证", "未毕业"] }, "声明": "本人保证以上所填内容、个人简历完全属实,且为本人亲自填写,如有虚假,由此带来的法律后果由个人承担!", "填表人": "", "日期": "" }
- 通过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 } } }