核心内容摘要
探索“一起草17c在线观看”的无限可能:你的专属娱乐新次元
文章目录摘要Abstract
相关知识补充
模型的调用
1 方法一开源模型
2 方法二API访问
阿里通义千问
项目调试记录
思路
1 修改utils.py文件
2 测试api key是否真正传入
总结摘要本周还是在复现项目对复现过程中产生的问题以及解决问题的思路进行记录。
AbstractThis week, I continued reproducing the project, and documented the problems encountered during the reproduction process as well as the ideas for solving them.
相关知识补充由于项目需要通过充值配额才能使用OpenAI API根据官网充值方式知需要国外银行卡因此打算更换项目使用的模型。
经过查阅资料打算换成阿里通义千问API。
模型的调用
1 方法一开源模型流程模型仓库下载权重文件 — 准备推理引擎与环境 — 自主部署与运行补充1权重文件 确实就是模型训练完成后保存下来的、所有参数的集合。
2准备推理引擎与环境本质上就是为模型搭建一个能够理解它、高效执行它并对外提供服务的“大脑运行环境”和“交互界面”。
注 首先需要基本运行环境python 依赖库GPU驱动... 接着需要深度学习框架pytorch...和专用推理引擎vLLM、TensorRT-LLM、CTranslate2其中深度学习框架能读懂权重文件格式推理引擎实现对框架优化 最后服务封装实现可以通过api调用3本地部署的模型必须下载下载内容具体包括模型权重文件配置文件config.json分词器文件tokenizer.json 或 tokenizer.model。
4“OpenAI 兼容的本地部署”指的是一种技术方案在你自己的服务器或电脑上部署一个开源大语言模型但让它提供一个与OpenAI官方API格式完全相同的接口。
疑问什么是“与OpenAI官方API格式完全相同”“格式完全相同”指的是你的本地服务模仿了OpenAI API的通信协议、请求结构和响应结构。
这样任何原本为OpenAI API编写的客户端代码几乎无需修改就能与你的本地服务对话。
2 方法二API访问流程外部服务远程调用
阿里通义千问阿里通义千问提供“原生的OpenAI兼容端点”与“OpenAI兼容的本地部署”最核心的区别在于模型的“所有权”和“部署地点”不同。
阿里通义千问的兼容端点是阿里云提供的一项在线API服务。
你调用的是阿里云服务器上的通义千问模型只是接口格式和OpenAI一样。
本地部署的兼容服务是在你自己的硬件上运行一个开源模型并自己搭建一个模仿OpenAI接口的服务。
项目调试记录
思路
1 修改utils.py文件直接使用模型调用的方法2修改使用的模型此时改动最小。
将原本模型gpt-4o-
映射为qwen-plus后续代码中的gpt-4o-
模型会自动使用qwen-plus# 在utils.py文件顶部添加import osfromdotenv import load_dotenv# 加载环境变量使用绝对路径script_dir os.path.dirname(os.path.abspath(__file__))project_root os.path.dirname(script_dir)env_path os.path.join(project_root,key.env)load_dotenv(env_path)# 然后在API调用函数中使用QWEN_API_KEY os.getenv(DASHSCOPE_API_KEY)QWEN_BASE_URL os.getenv(QWEN_BASE_URL,https://dashscope.aliyuncs.com/compatible-mode/v
# 千问模型映射替换原OpenAI模型MODEL_MAPPING {gpt-4o-
:qwen-plus,# 千问增强版}首先创建环境变量文件.env写入api keybase urlmodel name。
目的是避免直接在项目中写入私密信息造成一些信息安全问题发生。
注对于api key的赋值不可有空格否则无法正确识别。
DASHSCOPE_API_KEY你的密钥#正确DASHSCOPE_API_KEY 你的密钥#错误
2 测试api key是否真正传入fromdotenv import load_dotenvfromopenai import OpenAI import os# 加载环境变量load_dotenv(dotenv_path.env文件路径)# 获取API密钥和基础URLapi_key os.getenv(DASHSCOPE_API_KEY)base_url os.getenv(QWEN_BASE_URL,https://dashscope.aliyuncs.com/compatible-mode/v
print(fAPI Key: {api_key})print(fBase URL: {base_url})# 初始化OpenAI客户端client OpenAI(api_keyapi_key,base_urlbase_url)try:# 发送简单的测试请求response client.chat.completions.create(modelqwen-plus,messages[{role:user,content:Hello, test API key}])print(API Key is valid!)print(Response:,response.choices[0].message.content)except Exception as e: print(fAPI Key is invalid: {e})可以正确传入api key后程序还是一直无法跑通因此需要测试api key是否有效的。
对于跑一次完整项目耗时太久因此用最小案例测试是否可以跑通。
总结项目较大运行一次项目的时间太长可以灵活点确定工具的可使用性。
日后遇到其他的大型项目对于某一工具能否使用可以通过新建一个文件编写相关测试连通性有效性的代码对工具进行测试无需完整跑一次项目测试工具的可用性。