qwen 千问大模型联网及json格式化输出
参考:
https://bailian.console.aliyun.com/?spm=5176.24532587.nav-v2-dropdown-menu-0.d_main_0_0_2.19b242f4vwiE7i&tab=api&scm=20140722.M_10852062._.V_1#/api/?type=model&url=2712576
联网搜索回答
https://help.aliyun.com/zh/model-studio/web-search#cbddf5b28bug8 算工具调用
import os
from openai import OpenAIclient = OpenAI(# 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",api_key=os.getenv("DASHSCOPE_API_KEY"), base_url="https://dashscope.aliyuncs.com/compatible-mode/v1", # 填写DashScope服务的base_url
)
completion = client.chat.completions.create(model="qwen-plus", # 此处以qwen-plus为例,可按需更换模型名称。模型列表:https://help.aliyun.com/zh/model-studio/getting-started/modelsmessages=[{'role': 'system', 'content': 'You are a helpful assistant.'},{'role': 'user', 'content': '中国队在巴黎奥运会获得了多少枚金牌'}],extra_body={"enable_search": True})
print(completion.model_dump_json())
json格式话输出
https://help.aliyun.com/zh/model-studio/json-mode
# 步骤 1:发出请求from openai import OpenAI
import os
import json# 预定义示例响应(用于few-shot提示)
example1_response = json.dumps({"info": {"name": "张三", "age": "25岁", "email": "zhangsan@example.com"},"hobby": ["唱歌"]},ensure_ascii=False
)
example2_response = json.dumps({"info": {"name": "李四", "age": "30岁", "email": "lisi@example.com"},"hobby": ["跳舞", "游泳"]},ensure_ascii=False
)
example3_response = json.dumps({"info": {"name": "王五", "age": "40岁", "email": "wangwu@example.com"},"hobby": ["Rap", "篮球"]},ensure_ascii=False
)client = OpenAI(api_key=os.getenv("DASHSCOPE_API_KEY"),base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)completion = client.chat.completions.create(model="qwen-plus",messages=[{"role": "system","content": f"""提取name、age、email和hobby(数组类型),输出包含info层和hobby数组的JSON。示例:Q:我叫张三,今年25岁,邮箱是zhangsan@example.com,爱好是唱歌A:{example1_response}Q:我叫李四,今年30岁,邮箱是lisi@example.com,平时喜欢跳舞和游泳A:{example2_response}Q:我的邮箱是wangwu@example.com,今年40岁,名字是王五,会Rap和打篮球A:{example3_response}"""},{"role": "user","content": "大家好,我叫刘五,今年34岁,邮箱是liuwu@example.com,平时喜欢打篮球和旅游", },],response_format={"type": "json_object"},
)json_string = completion.choices[0].message.content
print(json_string)
联网和格式化出处合并一起
### json格式化输出# 步骤 1:发出请求from openai import OpenAI
import os
import json# 预定义示例响应(用于few-shot提示)
example1_response = json.dumps({"info": """**基础信息*** **地理位置**:酒店坐落于广州市海珠区核心地段,地处琶洲会展商圈C位,交通极为便利。步行约3分钟即可到达磨碟沙地铁站(8/18号线双轨交汇),轻松畅达广交会展馆、广州塔及琶洲数字经济区。距离白云机场和广州南站均在45分钟高效车程内,酒店还提供专属接送服务。
* **设施与服务**:* **客房体验**:全屋配备美国席梦思黑标认证床垫,有效提升脊椎支撑力;搭配80支长绒棉裸睡级床品及三重助眠香氛系统,为您打造沉浸式睡眠革命。* **智能科技**:全屋支持声控管家,可联动灯光、窗帘进行智能调节,实现无接触服务。酒店配备送餐机器人,3分钟内极速响应您的需求。* **休闲娱乐**:拥有恒温泳池、24小时免费健身室、瑜伽课程及自助餐厅,满足您运动与放松的需求。* **其他便利**:提供免费公共停车场、专车接机/送机及接站/送站服务,方便您的出行。
* **服务质量**:酒店以“都市轻奢新主场”为理念,致力于提供高效美学的服务体验。前台服务周到,能及时响应客人的各类需求,尤其在台风等特殊天气下,工作人员坚守岗位,获得住客高度评价。
* **卫生与清洁**:酒店实行严格的卫生标准,荣获“卫生优选”认证,确保环境整洁舒适。
* **早餐优势**:酒店提供高品质的自助早餐,让您的旅程从一份美味开始。**温馨提示**
* 酒店临近广州塔,夜晚的动人夜景非常值得欣赏,建议您不妨在房间或酒店公共区域驻足片刻,感受这座城市的璀璨魅力。
* 作为广交会核心区的智能酒店,周边商业与餐饮选择丰富,您可便捷地探索当地特色美食。""","summary": "交通方便,设施齐全,服务优质"},ensure_ascii=False
)
example2_response = json.dumps({"info": """
**基础信息:*** **地理位置:** 酒店位于上海市松江区新桥明兴路628号,地处新桥镇核心区域,毗邻长三角G60科创走廊、上海莘庄工业园及G60沪昆高速口,交通十分便利。
* **设施与服务:** 酒店拥有豪华舒适的客房,房间设计时尚明亮。配备齐全的设施,包括免费高速Wi-Fi。酒店设有大宴会厅(层高8米,面积750平米,可容纳400人)和4间多功能会议室,是举办大型活动、浪漫婚礼或商务会议的理想选择。此外,酒店还提供热情周到的服务,致力于为宾客创造温馨愉悦的体验。
* **卫生与环境:** 房间卫生整洁、干净,环境幽静,为您营造一个放松休憩的舒适空间。
* **早餐优势:** 酒店提供丰盛美味的早餐,让您的每一天从能量满满开始。**温馨提示:**
* 入住时间为14:00后,退房时间为12:00前。
* 根据上海市相关规定,为践行可持续发展,酒店不主动提供一次性日用品(如牙刷、梳子等)。如需,请向前台咨询。
* 入住办理人需年满18岁。
* 为保障您的权益,建议在入住当天18:00前取消预订,可享受免费取消服务。""","summary": "环境整体不错,周边交通便利"},ensure_ascii=False
)client = OpenAI(# 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",# api_key=os.getenv("DASHSCOPE_API_KEY"), base_url="https://dashscope.aliyuncs.com/compatible-mode/v1", # 填写DashScope服务的base_urlapi_key="sk"
)completion = client.chat.completions.create(model="qwen-flash",messages=[{"role": "system","content": f"""你是一个天翼出行PLUS的专业酒店客服,根据具体酒店搜索结果回答用户问题,回答要求:基础信息info(地理位置、设施、服务质量、卫生、早餐相关优势)、温馨提示;以及info信息总结10个字核心优势summary,输出包含info层和summary层的JSON。避免回复负面信息和问题不相关,以及竞争公司携程、去哪儿、飞猪等信息。示例:Q:亿柏酒店:琶洲会展中心广州塔店;酒店坐落于广州市海珠区核心地段****A:{example1_response}Q:上海新桥绿地铂骊酒店;位于上海市松江区新桥明兴路628号,地处新桥镇核心区域,拥有豪华舒适的客房,房间设计时尚明亮,酒店提供丰盛美味的早餐****A:{example2_response}"""},{"role": "user","content": "上海外滩雅致酒店", },],response_format={"type": "json_object"},extra_body={"enable_search": True,"search_options": {"forced_search": True,"search_strategy": "turbo",},},# stream=True,
)json_string = completion.choices[0].message.content
print(json_string)