Loading... # 2. 常见的 API 使用方式 # 各种各样的基于 API 的客户端 尽管 OpenAI 提供了 [chat.openai.com](https://chat.openai.com),可以满足平常的『对话需求』,但是仍然有很多比较个性化的功能直接使用这个是不好满足的。 比如说大量 prompt 的统一管理、作为生产力和工作流程整合等,因此出现了很多以 OpenAI API 为核心的应用 ## 基于 API 的对话工具(如 ChatGPT-Next-Web) 项目:[ChatGPT-Next-Web](https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web),官方部署版本 [chat-gpt-next-web.vercel.app](https://chat-gpt-next-web.vercel.app/) 配置一下自己的 API 信息(因为我用的是第三方 API,所以额外写一个接口信息。这里不需要包含后面的 `v1/chat`) ![](https://img.zsh2517.com/siyuan/202312182109266.png) 然后就可以使用了~ ![](https://img.zsh2517.com/siyuan/202401231628512.png) 『面具』功能可以认为是预设的 prompt。已经内置了很多,当然你也可以创建自己的 prompt。 ## 基于 API 的各种辅助工具 ### 浏览器插件 常见的形式和功能有 1. 浏览器侧边栏(各类工具、对当前页面提问、直接与 AI 对话) 2. 搜索侧边栏(提问 AI/AI 解释、扩展提问) 3. 文本输入框(文字润色、翻译,尤其是邮件、发帖等地方) 4. 划词弹窗(翻译、解释、提问等) 5. 文本翻译 ### 写作工具 目前市面上的很多笔记/知识库类软件都加入了 AI 相关的功能,常见的如续写、改写、翻译等。 ![](https://img.zsh2517.com/siyuan/202401231628908.png) ### 命令行工具 推荐 [sigoden/aichat](https://github.com/sigoden/aichat),一个在命令的 AI 对话客户端。 使用介绍后面单独写一篇文章(我感觉挺好用的),这里简单展示几个 case <span style="font-weight: bold;" data-type="strong">1.</span> <span style="font-weight: bold;" data-type="strong">`cat source | aichat commands > result`</span>,如翻译语言、代码、生成单测等 ![](https://img.zsh2517.com/siyuan/202401231628599.png) <span style="font-weight: bold;" data-type="strong">2. 命令行直接对话</span> ![](https://img.zsh2517.com/siyuan/202401231628687.png) <span style="font-weight: bold;" data-type="strong">3. 持续对话(支持加载文件等)</span> ![](https://img.zsh2517.com/siyuan/202401231628775.png) # API 的各种用法 ## 用来对话 上面说的各种应用场景,本质上都是对话~ ~~(其实下面的场景也是对话)~~ ## 自然语言相关的通用 API 用来翻译、文本分类,以及内容提取、标题生成等。有些场景的价格甚至比专有的 API 还要低,比如百度翻译 API 与 GPT-3.5 turbo 的价格对比 ||官网定价|实际计算| | ----| -----------------------------------------------------------------------------------------------| --------------------------------------------------------------------------------| |[百度翻译](https://fanyi-api.baidu.com/api/trans/product/prodinfo#0)|49元/百万字符|每百万字符 49 元| |[OpenAI GPT-3.5-turbo-1106](https://openai.com/pricing)<br />|1汉字 = 1.3 token = 3.9e-6 USD = 2.78e-5 CNY<br />1单词 = 0.25 token = 7.5e-7 USD = 5.35e-6 CNY<br />|百万汉字:27.8 元<br />百万英文字符:5.35 元| ||GPT-3.5 输入 0.001,输出 0.002<br />按照 \$0.003/1k tokens 计算<br />注:1 USD = 7.14 CNY<br />|即使考虑加入校验、重复、prompt 等损耗,GPT 的价格相对于机器翻译 API 仍然有优势| 但是,使用 OpenAI 的翻译工具也有风险,因为『翻译』的命令和『被翻译的内容』是没有特别明显的优先级之分的。如果正文的指引性很强,容易被误导,比如(两次运行分别是 GPT-3.5 和 GPT-4) ![](https://img.zsh2517.com/siyuan/202312181543549.png) 一定程度上可以被修改 prompt 解决(分别是 GPT3.5 和 4 的回复),可以看到,3.5 还是跑偏了,4 倒是正确的按照命令进行了翻译 ![image](https://img.zsh2517.com/siyuan/202312181546449.png) ## 实际写一个工具 <span style="font-weight: bold;" data-type="strong">参考本系列 第三部分</span> 不考虑多模态的模型(如 GPT-4-vision-preview),那么 GPT 接受的输入和输出都是文本,持续交互的形式都是对话。这一点很重要,如果想构建任何基于 GPT 的应用,那么想办法把这个场景转换成文本输入。 目前可以先参考:[“哄女友挑战”上线即爆火,两天烧掉10亿token,AI已通关](https://mp.weixin.qq.com/s/dwMfX5oapdvXmEQmLbQIiw)(最近看到的一个例子) 后面单独展开 ## 自我管理 ![](https://img.zsh2517.com/siyuan/202312191325652.png) GPT 3.5 和 4 的模型各有优劣 3.5 的模型速度快,并发高,便宜,但是遵循命令的能力、知识水平等都相对较差。 而 4 的模型正好相反,目前 1106 仍然处于 preview 阶段,且相对于 3.5 的价格来说较贵。但是知识水平等综合素质要远高于 3.5。 结合二者的优势,可以更好的去实现某些功能。例如说 1. 使用 GPT 对于生成的结果进行一次评判,以便提高准确性,替代人工进行审核判断是否满足要求(可以适用于一些普通人无法做到的场景,如 i18n 多语言翻译),有一次校验的话,可靠性要更高一些 2. 大量的内容可以由低成本的 AI 运行,然后将少量的内容转交给高成本的 AI 进行评估。 ## function calling 与插件 <span style="font-weight: bold;" data-type="strong">参考本系列 第四部分</span> > In an API call, you can describe functions and have the model intelligently choose to output a JSON object containing arguments to call one or many functions. The Chat Completions API does not call the function; instead, the model generates JSON that you can use to call the function in your code. > > 在 API 调用中,您可以描述函数,并让模型智能地选择输出包含调用一个或多个函数的参数的 JSON 对象。 聊天完成 API 不会调用该函数; 相反,模型会生成 JSON,您可以使用它来调用代码中的函数。 > > The latest models (`gpt-3.5-turbo-1106` and `gpt-4-1106-preview`) have been trained to both detect when a function should to be called (depending on the input) and to respond with JSON that adheres to the function signature more closely than previous models. With this capability also comes potential risks. We strongly recommend building in user confirmation flows before taking actions that impact the world on behalf of users (sending an email, posting something online, making a purchase, etc). > > 最新模型(gpt-3.5-turbo-1106 和 gpt-4-1106-preview)经过训练,可以检测何时应调用函数(取决于输入)并使用遵循函数签名的 JSON 进行响应 比以前的型号更接近。 这种能力也带来了潜在的风险。 我们强烈建议在代表用户采取影响世界的行动(发送电子邮件、在线发布内容、购买等)之前构建用户确认流程。 ## langchain <span style="font-weight: bold;" data-type="strong">TODO....</span> > LangChain 是一个[应用框架](https://zh.wikipedia.org/wiki/%E5%BA%94%E7%94%A8%E6%A1%86%E6%9E%B6 "应用框架"),旨在简化使用[大型语言模型](https://zh.wikipedia.org/wiki/%E5%A4%A7%E5%9E%8B%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B "大型语言模型")的应用程序。作为一个语言模型集成框架,LangChain 的用例与一般[语言模型](https://zh.wikipedia.org/wiki/%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B "语言模型")的用例有很大的重叠。 重叠范围包括文档分析和总结摘要, 代码分析和[聊天机器人](https://zh.wikipedia.org/wiki/%E8%81%8A%E5%A4%A9%E6%A9%9F%E5%99%A8%E4%BA%BA "聊天机器人")。^[[1]](https://zh.wikipedia.org/wiki/LangChain#cite_note-1)^ > > LangChain提供了一个标准接口,用于将不同的[语言模型](https://zh.wikipedia.org/wiki/%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B "语言模型")(LLM)连接在一起,以及与其他工具和数据源的集成。LangChain还为常见应用程序提供端到端链,如[聊天机器人](https://zh.wikipedia.org/wiki/%E8%81%8A%E5%A4%A9%E6%A9%9F%E5%99%A8%E4%BA%BA "聊天机器人")、文档分析和代码生成。 LangChain是由Harrison Chase于2022年10月推出的[开源软件](https://zh.wikipedia.org/wiki/%E5%BC%80%E6%BA%90%E8%BD%AF%E4%BB%B6 "开源软件")项目。它已成为LLM开发中最受欢迎的框架之一。LangChain支持[Python](https://zh.wikipedia.org/wiki/Python "Python")和[JavaScript](https://zh.wikipedia.org/wiki/JavaScript "JavaScript")语言,并与各种LLM一起使用,如[GPT-4](https://zh.wikipedia.org/wiki/GPT-4 "GPT-4")、[BERT](https://zh.wikipedia.org/wiki/BERT "BERT")和T5。^[[2]](https://zh.wikipedia.org/wiki/LangChain#cite_note-2)^ > > From: [LangChain - 维基百科,自由的百科全书](https://zh.wikipedia.org/wiki/LangChain) 最后修改:2024 年 01 月 25 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏