大道1.2管理端ui-【增加模型配置功能】

数据库

针对表 cd_openkey:
remark 变为url###model###corp 例:https://api.moonshot.cn###moonshot-v1-8k###kimi

服务器代码修改

chat post请求

E:uniapptax1.2chatgpt-1.2-heimachatgpt-webmanv1heimachatgpt-webmanextendchatChat.php


'Authorization: Bearer ' . self::getOpenKey(1)['openkey'],//zjszjs
...
/**
   * 从数据库获取key  ,新的,zjszjs  
   * 根据keyid从数据库获取对应的key,若不存在则返回最小id的key
   */
    public static function getOpenKey2($keyid)
    {
        // 直接根据传入的keyid查找记录
        $record = Openkey::find($keyid);

        // 如果找不到对应记录,获取最小id的记录
        if (!$record) {
            $minId = Openkey::min('openkey_id');
            $record = Openkey::find($minId);
        }

        return $record;
    }

E:uniapptax1.2chatgpt-1.2-heimachatgpt-webmanv1heimachatgpt-webmanappapicontrollerMessageController.php

$mml = Chat::getOpenKey2(1);//zjszjs
    $mml_ok = $mml;  //"openkey"
    // 按 "###" 分割字符串
    $parts = explode("###", $mml["remark"]);

    // 确保分割后至少有 3 部分
    if (count($parts) >= 3) {
        $mml_ok["url"] = $parts[0];    // "https://api.moonshot.cn"
        $mml_ok["model"] = $parts[1];  // "moonshot-v1-8k"
        $mml_ok["corp"] = $parts[2];   // "kimi"
    } else {
        // 如果格式不对,可以设置默认值或抛出错误
        $mml_ok["url"] = "";
        $mml_ok["model"] = "";
        $mml_ok["corp"] = "";
    }



....

$data = [
      "model" => $mml_ok["model"], //zjszjs
      "stream" => true,
      "messages" => $messages,
      "temperature" => 0.7,
      "max_tokens" => 4096
    ];

    $contents = [];
    $content = "";
    $openai_api_id = "";

    try {
      $url = 'https://api.openai.com/v1/chat/completions';
      if ($this->config['proxy_type'] == 1 && $this->config['proxy_server'] != '') {
        $url = $this->config['proxy_server'] . '/v1/chat/completions';
      }
      
      $url = $mml_ok["url"]. '/v1/chat/completions';//zjszjs

管理员ui设置页面

用户ui

store 加配置

发表新评论 取消回复
已有 2 条评论
  1. root
    root本文作者
    回复

    gpt连不上,可能是应为 温度>1了

  2. root
    root本文作者
    回复

    cd_message 表的content字段要改为utf8mb4... ,不然存储颜文字错误。