大语言模型对话

介绍

  • 目前市面上任何与对话,大语言模型相关的功能,其实本质上就是提示词,就是拼字符串,哪怕是各种结构化输出,也是依赖提示词约束实现

schema目前可以约束格式,但是无法约束内容

对话配置

默认对话(全局使用)

    "shenghuabi.chat": {
        "model": "qwen2.5:7b",
        "temperature": 0.1,
        "topP": 0.8,
        "maxTokens": 8192,
        "baseURL": "http://127.0.0.1:11434/v1",
        "vendor": "openai",
        "vendorOptions": {
            "hunyuan": {
                "extraOptions": {
                    "model": "hunyuan-lite"
                }
            }
        }
    },
  • 支持多个厂商(vendor),大部分都是Openai兼容

有的厂商(hunyuan)可能同时存在openai兼容接口和自研接口两种,这里只提供Openai兼容访问

[
                "openai",
                "360",
                "azure",
                "moonshot",
                "baichuan",
                "minimax",
                "mistralai",
                "groq",
                "lingyiwanwu",
                "stepfun",
                "deepseek",
                "together.ai",
                "volcengine",
                "novita",
                "siliconflow",
                "tongyi",
                "zhipu",
                "spark",
                "hunyuan",
                "qianfan", // 手动适配
                "gemini", // 手动适配
                "claude" // 手动适配
]

举例

  • 使用硅基流动的api

    "shenghuabi.chat": {
        "model": "deepseek-ai/DeepSeek-R1",
        "vendor": "siliconflow",
        "apiKey": "sk-xxxxxxxxxxx"
    },
  • deepseek
"shenghuabi.chat": {
        "model": "deepseek-chat",
        "temperature": 0.1,
        "topP": 0.8,
        "maxTokens": 8192,
        "baseURL": "https://api.deepseek.com/v1",
        "vendor": "openai",
        "apiKey": "sk-xxxxxx",
     
    },
  • 千问
"shenghuabi.chat": {
        "model": "qwen-turbo",
        "temperature": 0.1,
        "topP": 0.8,
        "maxTokens": 8192,
        "baseURL": "https://dashscope.aliyuncs.com/compatible-mode/v1",
        "apiKey": "sk-xxxxxxxx",
        "vendor": "openai",
    },
  • 将key写到配置中方便切换
    "shenghuabi.chat": {
        "model": "deepseek-ai/DeepSeek-R1",
        "vendor": "siliconflow",
        "vendorOptions": {
            "siliconflow": {
                "extraOptions": {
                    "apiKey": "sk-xxxxxxxxxxx"
                }
            }
        }
    },

配置切换

  • 和默认对话字段一致,多了一个name字段用于展示切换的名字
   "shenghuabi.chatModelList": [
        {
            "name": "默认",
            "model": "qwen2.5:7b",
            "temperature": 0.1,
            "topP": 0.8,
            "maxTokens": 8192,
            "baseURL": "http://127.0.0.1:11434/v1",
            "vendor": "openai",
            "vendorOptions": {}
        },
        {
            "name": "3b模型",
            "model": "qwen2.5:3b",
            "temperature": 0.1,
            "topP": 0.8,
            "maxTokens": 8192,
            "baseURL": "http://127.0.0.1:11434/v1",
            "vendor": "openai",
            "vendorOptions": {}
        }
    ],
  • 在文本编辑器内和侧边栏,脑图卡片内切换

对话种类

直接对话

  • 与其他聊天工具一样,输入即可

  • 传入图片对话,需要使用支持的大语言模型,如minicpm-v:8b
{
            "name": "图像",
            "model": "minicpm-v:8b",
            "temperature": 0.1,
            "topP": 0.8,
            "maxTokens": 4096,
            "baseURL": "http://127.0.0.1:11434/v1",
            "vendor": "openai"
        }

上下文模板

  • 可以定制系统提示词,以及输入输入变量

  1. 切换类型
  2. 使用文件输入,脑图卡片,知识库相关配置
  • 第一次提问模型对话之后,会转为普通对话,保留对话历史

  • 使用图片

工作流

  • 使用存在设计工作流进行对话

  • 假如工作中存在对话节点,那么第一次对话后会转为普通对话,对话历史为最后使用对话节点历史

提示词编写参考

  • wonderful-prompts

  • LangGPT

  • 给出参考的原因,不是因为这些写法已经验证可行(通过数学或者其他方面的证明),而是大多数人采用这种写法并且似乎起到了一定的效果

简单的说就是偏方没有临床试验,但是似乎治好了部分人的感觉
因为从网上其他厂商泄露大语言模型提示词来看,似乎并不是这种格式;所以我觉得提示词还是要看模型,有的模型训练的时候针对这种格式训练,效果就好,没有针对,那么效果就一般