尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

为什么选择 API 调用

为什么选择 API 调用
📅 发布时间:2026/7/22 6:02:39

无需本地部署 GPU,只需一行请求即可调用大模型。
灵活:支持多种模型(qwen-turbo / qwen-plus / qwen-max),可按需切换。
兼容:DashScope 提供了 OpenAI API 兼容模式,能直接复用 LangChain、OpenAI SDK 等生态。
二、准备工作:配置 API Key
参考阿里云百炼的官方教程,注册账号后获取 API Key(国内用户需实名认证):

获取并使用 API Key
⚠️ 安全提示:为了安全和复用性,建议根据官方教程通过系统环境变量或 .env 文件配置 API Key,避免在代码中明文写入密钥。若项目公开,请务必在提交前移除或打码。本文为帮助读者迅速复现,采取了在代码中直接放入 API Key 的方式,并对其作打码处理。

三、大模型调用最小可运行示例
from langchain_openai import ChatOpenAI
import os

os.environ[“DASHSCOPE_API_KEY”] = ‘sk-xx’ # 替换为你的 API Key

chat = ChatOpenAI(
model=“qwen-plus”, # 可选 qwen-turbo / qwen-max
api_key=os.environ[“DASHSCOPE_API_KEY”],
base_url=“https://dashscope.aliyuncs.com/compatible-mode/v1”,
#若为国际版则改为 https://dashscope-intl.aliyuncs.com/compatible-mode/v1
temperature=0
)

resp = chat.invoke(“温度是什么?”)
print(resp.content)
如果这个代码可以让模型成功给出答案,那么则说明调用成功了。输出答案示例:

温度是表示物体冷热程度的物理量,从微观角度来看,它反映了物体内部分子或原子热运动的剧烈程度。温度越高,物质内部粒子(如分子、原子)的无规则运动就越剧烈;温度越低,粒子的运动就越缓慢。

四、结合 RAG 的调用示例

  1. 代码示例
    在 RAG 场景中,API 调用通常和我们上次生成的那种向量库结合。示例:

from langchain_community.embeddings import ModelScopeEmbeddings
from langchain_community.vectorstores import FAISS
from langchain_core.prompts import ChatPromptTemplate, SystemMessagePromptTemplate, HumanMessagePromptTemplate, MessagesPlaceholder
from langchain_core.messages import HumanMessage
from langchain_openai import ChatOpenAI
from operator import itemgetter
import os

1. 加载 embedding 模型和向量库

try:
# 加载embedding模型 (用于将query向量化)
embeddings = ModelScopeEmbeddings(model_id=‘iic/nlp_corom_sentence-embedding_chinese-base’)
#加载 FAISS 向量库 (用于知识召回)
vector_db = FAISS.load_local(‘faiss_index/LLM’, embeddings, allow_dangerous_deserialization=True) # 替换为你的向量库路径
# allow_dangerous_deserialization=True 仅在本地加载向量库时使用,请勿在不可信环境下启用

添加异常处理

except Exception as e:
print(f"模型或向量库加载失败: {str(e)}")
exit(1)

2. 创建检索器 Retriever

检索器将 query 转为向量并返回最相似文档片段

retriever = vector_db.as_retriever(search_kwargs={“k”: 5}) # 设置返回的相关相似对最高的模块数量为 5

3. 配置 API Key,初始化 Chat 模型

此处使用阿里云达观智能 DashScope 平台的模型接口

os.environ[“DASHSCOPE_API_KEY”] = ‘sk-xx’ # 替换为你的 API Key

chat = ChatOpenAI(
model=“qwen-plus”, # 按照需要更换模型名称
api_key=os.environ[“DASHSCOPE_API_KEY”],
base_url=“https://dashscope.aliyuncs.com/compatible-mode/v1”,
#若为国际版则改为 https://dashscope-intl.aliyuncs.com/compatible-mode/v1
temperature=0
)

4. Prompt模板

system_prompt = SystemMessagePromptTemplate.from_template(‘你是一个有帮助的助手。’) # 系统提示
user_prompt = HumanMessagePromptTemplate.from_template(‘’’
只基于以下内容回答问题,不要使用你在训练中学到的知识:

{context}

问题: {query}
‘’') # 用户提示
full_chat_prompt = ChatPromptTemplate.from_messages(
[system_prompt, MessagesPlaceholder(variable_name=“chat_history”), user_prompt]) # 构建完整的聊天提示模板

5. 构建对话链 Chat chain

chat_chain = {
“context”: itemgetter(“query”) | retriever,
“query”: itemgetter(“query”),
“chat_history”: itemgetter(“chat_history”),
} | full_chat_prompt | chat

6. 开始对话

chat_history = [] # 初始化对话历史
while True:
query = input(“请输入问题(输入 exit 退出):”)
if query.lower() == “exit”:
break
response = chat_chain.invoke({‘query’: query, ‘chat_history’: chat_history}) # 获取模型响应
chat_history.extend((HumanMessage(content=query), response)) # 更新对话历史
print(“AI:”, response.content)
chat_history = chat_history[-20:] # 保留最近 20 条消息
2. 代码中需要手动修改的部分
向量库地址
调用模型名称
自己的 API Key
base url 地址
3. 预期输出结果示例

相关新闻

  • 深度学习模型部署挑战与商汤Spring.NART框架解析
  • C++消息队列实现:muduo、Protobuf、SQLite3与gtest核心库实战
  • 腾讯通与勤哲Excel服务器集成实践指南

最新新闻

  • 2026 年更新:张家口优秀的塑料板定制品牌哪家可靠,别再浪费钱了:让你的产品瞬间升级的秘密 - 品质体验官
  • Hugging Face 7 月那次被 AI 自主攻击的应急复盘:17,000 条日志、防御侧 GLM 5.2 兜底
  • 电视机芯片级维修技术解析与实战指南
  • 半导体测试设备核心技术解析与选型指南
  • 2026年7月最新劳力士哈尔滨香坊万达广场维修保养服务电话 - 劳力士官方服务中心
  • Kiro Spec模式:AI编程的结构化设计与实践

日新闻

  • AI云原生实战05-金融AI上云最难的不是技术,是“不出事“——TCE银行风控架构拆解
  • 2026年GEOSEO优化公司选型深度测评:五大硬核标准严选,这六家重塑搜索增长新格局 - 品牌前沿专家
  • **核验!2026年7月卡地亚香港**售后网点地址及服务电话公告 - 卡地亚服务中心

周新闻

  • SaaS软件行业GEO实践:AI搜索时代的品牌可见性与获客新路径
  • 什么是PCTFE?医药高端包装的“防潮王牌“材料
  • 【JVM调优实战】16-可视化利器-JConsole-VisualVM-JMC

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号