OpenAI Function Calling Tools: 简化函数调用的强大工具集

Ray

OpenAI Function Calling Tools: 简化函数调用的强大工具集

在人工智能和自然语言处理领域,OpenAI的API一直处于领先地位。随着函数调用(Function Calling)功能的引入,OpenAI为开发者提供了更强大、更灵活的工具来构建智能应用。然而,实现这一功能可能会面临一些挑战。为此,GitHub上的"openai-function-calling-tools"项目应运而生,旨在为开发者提供一套完整的工具,简化OpenAI API中函数调用的实现过程。

项目概述

OpenAI Function Calling Tools是一个开源项目,为JavaScript和TypeScript开发者提供了一系列现成的工具,以便快速构建基于OpenAI API的函数调用模型。该项目的核心目标是简化开发流程,使开发者能够更专注于创建创新的AI应用,而不是陷入复杂的API调用细节中。

OpenAI Function Calling Tools Logo

主要特性

  1. 丰富的工具集: 项目提供了多种开箱即用的工具,包括:

    • 🗺️ ShowPoisOnMap: 在地图上显示兴趣点
    • 🌐 ReverseGeocode: 将坐标转换为人类可读的地址
    • ⏰ Clock: 显示当前时间
    • 🧮 Calculator: 执行基本算术运算
    • 🔍 GoogleCustomSearch: Google自定义搜索API的封装
    • 🔍 BingCustomSearch: Bing自定义搜索API的封装
    • 🔍 SerperCustomSearch: SerpAPI的封装
    • 🏞️ SerperImagesSearch: 使用SerpAPI搜索图片
    • 📁 fs: 文件系统读写工具
    • 🪩 webbrowser: 打开网页的工具
    • 🚧 sql: 执行SQL查询
    • 🚧 JavaScriptInterpreter: JavaScript解释器
  2. 易于使用: 开发者可以通过{ Tool }工厂函数轻松创建工具实例。

  3. 快速安装: 使用npm一键安装:

    npm install openai-function-calling-tools
    
  4. 灵活性: 支持多种环境,包括Node.js、Cloudflare Workers、Vercel/Next.js等。

  5. 安全可靠: 经过安全审计,适合生产环境使用。

使用示例

以下是一个使用Calculator工具的简单示例:

import { Configuration, OpenAIApi } from "openai";
import { createCalculator } from "openai-function-calling-tools"

const configuration = new Configuration({
    apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);

const QUESTION = "What is 100*2?";

const messages = [
  {
    role: "user",
    content: QUESTION,
  },
];

// ✨ STEP 1: 创建所需工具
const [calculator, calculatorSchema] = createCalculator();

// ✨ STEP 2: 将工具添加到functions对象
const functions = {
  calculator,
};

const getCompletion = async (messages) => {
  const response = await openai.createChatCompletion({
    model: "gpt-3.5-turbo-0613",
    messages,
    // ✨ STEP 3: 将工具添加到schema
    functions: [calculatorSchema],
    temperature: 0,
  });

  return response;
};

console.log("Question: " + QUESTION);
let response = await getCompletion(messages);

if (response.data.choices[0].finish_reason === "function_call") {
  const fnName = response.data.choices[0].message.function_call.name;
  const args = response.data.choices[0].message.function_call.arguments;

  console.log("Function call: " + fnName);
  console.log("Arguments: " + args);

  // ✨ STEP 4: 调用函数
  const fn = functions[fnName];
  const result = fn(JSON.parse(args));

  console.log("Calling Function Result: " + result);

  // ... 处理结果并继续对话
}

高级用法

除了基本的函数调用,OpenAI Function Calling Tools还支持更复杂的场景,如Google自定义搜索和模式提取。这些高级功能使得开发者能够构建更智能、更强大的AI应用。

支持的环境

项目支持多种运行环境,确保了在不同场景下的灵活使用:

  • Node.js v16或更高版本
  • Cloudflare Workers
  • Vercel / Next.js (后端、无服务器和Edge函数)
  • Supabase Edge Functions
  • 浏览器环境(开发中)

生产环境安全性

Security Status

该项目经过安全审计,可以安全地在生产环境中使用。这一点对于需要处理敏感数据或构建关键应用的开发者来说尤为重要。

结论

OpenAI Function Calling Tools为开发者提供了一个强大而灵活的工具集,大大简化了在JavaScript和TypeScript项目中实现OpenAI函数调用的过程。无论是构建简单的计算器应用,还是复杂的搜索和数据处理系统,这个项目都能提供必要的工具和支持。

随着AI技术的不断发展,像OpenAI Function Calling Tools这样的项目将在推动AI应用的普及和创新方面发挥重要作用。它不仅降低了开发门槛,还为开发者提供了探索AI潜力的新途径。

对于那些希望在项目中集成OpenAI API功能,特别是函数调用特性的开发者来说,OpenAI Function Calling Tools无疑是一个值得考虑的选择。它combines了易用性、灵活性和可靠性,为构建下一代AI应用铺平了道路。

参考链接

通过使用OpenAI Function Calling Tools,开发者可以更专注于创新和应用逻辑,而将复杂的API交互留给这个强大的工具集。随着AI技术的不断发展,我们期待看到更多基于这个项目构建的创新应用。

avatar
0
0
0
相关项目
Project Cover

awesome-chatgpt-zh

ChatGPT中文指南,涵盖免费与付费资源、高效交流方法、应用开发工具及案例等。提供丰富的ChatGPT工具、插件和生产力工具,持续更新,帮助用户充分利用ChatGPT的能力。

Project Cover

paper-qa

PaperQA是一款轻量级工具,专为从PDF和文本文件中进行问答设计,通过内嵌引用确保答案准确。默认使用OpenAI Embeddings,支持与langchain和开源模型结合。其流程包括文档向量化、查询向量化、文档搜索、摘要生成、相关摘要选择,并生成最终答案。PaperQA支持异步操作,兼容多种LLM,并提供多种自定义和扩展选项,如本地向量存储和Zotero数据库集成,是科研人员高效处理文档问答的理想选择。

Project Cover

ragapp

RAGapp是一款企业级Agentic RAG解决方案,配置简单如OpenAI的自定义GPT,可通过Docker部署在云基础设施中。基于LlamaIndex构建,支持OpenAI和Gemini托管AI模型以及本地Ollama模型。提供Docker Compose和即将推出的Kubernetes部署选项。访问Admin UI进行配置,详情请参阅各端点和安全信息。

Project Cover

vault-ai

OP Vault利用OpenAI和Pinecone向量数据库,支持用户上传自定义知识库文件并进行问答。该工具兼容多种文档类型,采用React前端界面,适用于书籍、信件等内容的知识提取和问答,提供精准回答及文件和具体章节信息。

Project Cover

langchaingo

LangChain Go 是 LangChain 的 Go 语言实现,专注于通过模块化方式构建 LLM 应用程序。详细文档和丰富示例帮助用户在 Go 环境中轻松使用 LangChain 开发 LLM 应用。项目提供与 OpenAI 的集成示例,展示生成创意公司名称的功能。丰富的资源和博客文章助力开发者快速上手,实现 ChatGPT 克隆等实际应用,是 Go 开发者构建 LLM 应用的理想选择。

Project Cover

aiac

AIAC是一个使用大型语言模型生成基础设施即代码(IaC)模板和配置的命令行工具。支持OpenAI、Amazon Bedrock和Ollama等多种LLM提供商,用户可以通过配置文件定义多个后端。其功能包括生成Terraform、Pulumi和CloudFormation模板,以及Dockerfile、CI/CD流水线、策略代码和实用工具。支持命令行操作、Docker运行和作为Go库使用,为开发者提供高效的自动化基础设施管理解决方案。

Project Cover

ChatGPT

ChatGPT是一个基于Avalonia UI框架的C#客户端,支持MacOS、Windows、Linux、Android、iOS和浏览器。用户需配置OpenAI API密钥。该应用提供快捷键操作、API URL重写和Web版本聊天记录导入等功能,支持.NET 7.0,并包含多种依赖和.NET工具,满足多样的开发需求。

Project Cover

deep-neuroevolution

本项目提供分布式深度神经网络训练的多种实现,包括深度遗传算法(DeepGA)和进化策略(ES),用于强化学习。基于并改进了OpenAI的代码,支持本地和AWS运行。项目还包括NeuroEvolution的视觉检测工具VINE和GPU优化加速。用户可通过Docker容器快速启动实验,并使用Mujoco进行高级实验。

Project Cover

rags

RAGs是一个基于Streamlit的应用程序,使用自然语言从数据源创建RAG管道。用户可以描述任务和参数,查看和修改生成的参数,并通过RAG代理查询数据。项目支持多种LLM和嵌入模型,默认使用OpenAI构建代理。该应用程序提供了一个标准的聊天界面,能够通过Top-K向量搜索或总结功能满足查询需求。了解更多关于安装和配置的信息,请访问GitHub页面或加入Discord社区。

最新项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号