qanything在Windows WSL环境替换Openai API为智谱清言模型

背景说明

在使用Qanything过程中,需要使用到智谱清言的大模型接口,但是项目默认是没有提供智谱清言的api调用方式的。但是最新的智谱清言api文档 中提到智谱清言大模型接口已经兼容open-ai sdk,这就为我们修改代码提供了很大的便利。

实现步骤

修改项目代码
  • llm_for_openai_api.py
    • 添加智谱清言模型标识
    	#智谱清言模型
    	GML_MODEL_LIST = ['glm-3-turbo', 'glm-4', 'glm-4v'] #在class OpenAILLM(BaseAnswer, ABC):上面添加这行代码
    
    • 修改 num_tokens_from_messages 方法
    	  # 针对不同的模型设置token数量
        if model in {
            "gpt-3.5-turbo-0613",
            # "gpt-3.5-turbo-1106",
            "gpt-3.5-turbo-16k-0613",
            "gpt-4-0314",
            "gpt-4-32k-0314",
            "gpt-4-0613",
            "gpt-4-32k-0613",
            "gpt-4-32k",
            # "gpt-4-1106-preview",
            } or model in GML_MODEL_LIST:
    
    • 设置智谱清言参数

	    def __init__(self, args):
	        super().__init__()
	        base_url = args.openai_api_base
	        api_key = args.openai_api_key
	        self._set_zhi_pu_config(args) # 设置智谱清言配置信息
	        self.client = OpenAI(base_url=base_url, api_key=api_key)
	        self.model = args.openai_api_model_name
	        self.token_window = int(args.openai_api_context_length)
	        debug_logger.info(f"OPENAI_API_KEY = {api_key}")
	        debug_logger.info(f"OPENAI_API_BASE = {base_url}")
	        debug_logger.info(f"OPENAI_API_MODEL_NAME = {self.model}")
	        debug_logger.info(f"OPENAI_API_CONTEXT_LENGTH = {self.token_window}")
	
	# 添加_set_zhi_pu_config方法
	    def _set_zhi_pu_config(self, args) -> None:
	        # 如果调用的模型是智谱清言的模型
	        if args.openai_api_model_name in GML_MODEL_LIST:
	            self.top_p = None
	            if not args.temperature:
	                self.temperature = args.temperature
	            else:
	                self.temperature = 0.1
  • sanic_api.py
parser.add_argument('--temperature', dest='temperature', type=float, help='temperature') # 添加temperature参数
args = parser.parse_args()

设置脚本启动参数

--host 127.0.0.1 --port 8777 --model_size 7B --use_cpu --use_openai_api --openai_api_base https://open.bigmodel.cn/api/paas/v4/ --openai_api_key XXXX --openai_api_model_name glm-3-turbo --openai_api_context_length 4096 --workers 1 --temperature=0.2

- openai_api_base: 智谱清言服务地址
- openai_api_key: 智谱清言api key
- openai_api_model_name:智谱清言模型标识
- temperature:采样温度 不写默认为0.1
  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值