LLM 学习系列 2. Function Calling

介绍 对于典型的 LLM 交互,单个提示或几轮聊天通常足以获得所需的结果。但是,某些任务需要 LLM 访问其内部知识库之外的信息。例如,获取特定城市今天的天气信息或搜索特定的动漫,这些都需要调用外部函数。 什么是 Function Calling? LLM 中的 Function Calling(函数调用)使模型能够生成 JSON 对象,从而触发代码中的外部函数。此功能不仅使 LLM 能够连接到外部工具和 API,而且扩展了其执行各种任务的能力。 Function Calling 执行步骤 用户使用工具和用户提示词调用 LLM API: 用户提供提示并指定可用工具。 What is the weather like in San Francisco? 定义工具 Schema tools = [ { "type": "function", "function": { "name": "get_current_weather", "description": "Get the current weather in a given location", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "The city and state, e.g. San Francisco, CA", }, "unit": { "type": "string", "enum": ["celsius", "fahrenheit"]}, }, "required": ["location"], }, }, } ] 定义 Mock 函数 ...

2024年5月5日 · zhoukuncheng

LLM 学习系列 1:提示工程

掌握 LLM 提示词的艺术 像 GPT-4 和 Claude 这样的大型语言模型 (LLM) 拥有非凡的能力。然而,要释放它们的全部潜力,需要通过精心设计的提示词 (prompts) 进行有效沟通。本指南深入探讨了提示工程 (prompt engineering) 的艺术,提供了一个从基本原则到高级技巧的分步方法,以驾驭 LLM 的真正力量。 第一步:选择最佳模型 最新且最强: 像 GPT-4 Turbo 这样的较新模型相比 GPT-3.5 Turbo 等前代产品提供了显著优势,包括更流畅的自然语言理解能力。对于较简单的任务,通过大量的提示工程来弥补模型能力的必要性可能会降低。 基准测试: 利用 LLM 排行榜 和基准测试结果等资源来比较模型,并找出最适合你特定需求的模型。 示例: 对于细致入微的语言翻译,GPT-4 Turbo 的上下文理解能力可能优于旧模型。 对于既需要能力又需要速度的任务,Llama-3-70b 开源模型是一个绝佳的选择。 第二步:建立清晰的沟通 清晰度和具体性 明确的指令: 将 LLM 视为通过需要清晰指导的合作者。明确定义任务、期望的结果、格式、风格和输出长度,避免歧义。 上下文背景: 提供相关的背景信息和语境,以引导 LLM 做出期望的回应,同时考虑目标受众和目的。 关注点分离: 使用 ### 或 """ 将指令与上下文内容清晰地分隔开。 以示例为向导: 用精选的示例来演示期望的输出格式和风格。 线索提示: 使用短语如 “Key points:"(关键点:)、“Summary:"(摘要:)或 “Code:"(代码:)来指示期望的输出格式。 示例: 不要只说 “写一篇博客文章”,而应指定 “写一篇关于可再生能源影响的 500 字博客文章,目标受众是行业专业人士。” 对于诗歌生成任务,你可以指定期望的基调、韵律和主题。 少样本学习 (Few-Shot Learning) 提供几个展示了期望输出格式和风格的示例,以减少歧义并设定清晰的预期。 ...

2024年4月27日 · zhoukuncheng

借助 LLM 和 Telegram 机器人,让背单词不再枯燥

背英语单词总是 Abandon? 向多邻国 🦉 取经,让单词主动提醒自己 背单词,在英语学习中实在无法避免,从小学到研究生,甚至部分工作岗位也需要记单词。 但抱着单词书啃,或者手机上一板一眼背单词,效率实在太低。现在 LLM 这么火,为何不利用起来? 毕竟 LLM 中间的 L 就是 Language 的意思,LLM 对付其他严谨任务可能差点意思,但英语等语言可是它的强项,能用技术解决问题,就不要麻烦自己! 本文就来分享一下,怎么用欧路词典 API、LLM 和 Telegram 机器人搞个英语词汇学习助手,让你背单词不再痛苦。 当然,也可能用几天就感觉很烦人,毕竟灵感来自多邻国 App🦉。 项目目标:解放注意力 不用主动去硬背单词,而是让程序代劳,并且要根据单词生成例句和文章,让你更好地理解和记忆。总之,就是让你背单词更轻松、更有效率。 系统架构 欧路词典 API: 欧路词典既可以查词又可以背单词,就选它了。 LLM (比如 Groq): 大语言模型,可以根据单词生成各种例句、对话甚至文章,让你更好地理解单词的用法。还可以利用它生成符合雅思 IELTS 写作考核标准的文章,帮助你学习英语写作。Groq 是目前容易免费获取的 LLM API,可以选择 Mixtral 8x7b 模型。 Telegram 机器人: Telegram 平台相比微信,QQ 等自由、API 强大,功能丰富,最适合用它来当提醒工具。 格式转换: 由于 Telegram 消息对 Markdown 的限制,和 Telegraph 写作平台对 HTML 标签的限制,我们需要进行格式转换,确保内容能够正确显示。 实现方法 获取生词列表 接口文档: https://my.eudic.net/OpenAPI/doc_api_study 获取所有生词本 接口说明: 请求方式:GET 请求地址:https://api.frdic.com/api/open/v1/studylist/category 本接口用于获取生词本信息 生词本的ID是唯一标识,用于调用其他接口 生成例句和文章 ...

2024年4月19日 · zhoukuncheng