融合AI创新:构建Node.js应用与GPT交互

前言

在当今数字化时代,人工智能技术以前所未有的速度融入我们的日常生活与工作中,其中自然语言处理技术的发展更是极大地拓宽了人机交互的边界。随着AI模型如OpenAI的GPT-3.5-Turbo的面世,我们正步入一个能够进行复杂对话、理解语境并生成连贯回应的新纪元。本文旨在深入探讨如何将这一前沿技术无缝集成到现代应用程序中,通过一个名为ChatAnywhere的示例项目,展示如何利用Node.js构建一个强大的、可定制的对话系统。

正文

获取API密钥

获取免费API密钥的前提是你已经注册了github账号,并且已经注册了7天以上。(如果不满足该前提的话就需要靠你的小伙伴了,或者等上几天)

获取免费API密钥传送门--github.com/chatanywher...

进去后向下滑找到

看见免费直接点进去,不要犹豫。

注意:公开分享API密钥是不安全的做法。

逐步实现

  1. 创建新的Node.js项目。

    csharp 复制代码
    npm init -y
  2. 安装openai库。

    css 复制代码
    npm i openai
  3. 引入本地openai库到项目中。

    javascript 复制代码
    const OpenAi = require('openai')
  4. 实例化一个clienet对象,并传入API密钥和基础URL。

    javascript 复制代码
    const OpenAi = require('openai')
    const client = new OpenAi({
        apiKey: 'API密钥',//在里面输入你获取到的API密钥
        baseURL: 'https://api.chatanywhere.tech/v1'
    })
  5. 定义一个异步函数main。异步函数允许使用await关键字等待Promise的结果,使得处理异步操作更加直观和简洁。

    javascript 复制代码
    const OpenAi = require('openai')
    const client = new OpenAi({
        apiKey: 'API密钥',//在里面输入你获取到的API密钥
        baseURL: 'https://api.chatanywhere.tech/v1'
    })
    async function main() {}
  6. 发送聊天完成请求:

    javascript 复制代码
    const OpenAi = require('openai')
    const client = new OpenAi({
        apiKey: 'API密钥',//在里面输入你获取到的API密钥
        baseURL: 'https://api.chatanywhere.tech/v1'
    })
    async function main() {
        const chatCompletion = await client.chat.completions.create(
            {
                messages: [{ role: 'user', content: '你是谁?请介绍你自己。' }],
                model: 'gpt-3.5-turbo',
            }
        )
    }

    函数内使用await调用了client.chat.completions.create方法,该方法发送一个请求到指定的API端点,以获取基于提供的消息和模型的回复。这里的请求体包含了一个消息数组,其中单个消息对象定义了用户的角色(role: 'user')和消息内容(content: '你是谁?请介绍你自己。')。同时指定了要使用的模型为gpt-3.5-turbo,这是OpenAI的一个流行模型,能够生成高质量的文本回复。

  7. 打印回复:

    javascript 复制代码
    async function main() {
        const chatCompletion = await client.chat.completions.create(
            {
                messages: [{ role: 'user', content: '你是谁?请介绍你自己。' }],
                model: 'gpt-3.5-turbo',
            }
        )
        console.log(chatCompletion.choices[0])
    }

    最后通过console.log(chatCompletion.choices[0])打印出API响应中第一个选择(choices[0])的内容。

    通常,choices是一个数组,每个元素代表一个可能的回复,但在大多数情况下,特别是当你没有特别设置的情况下,只会有一个回复。

  8. 调用main函数:

    javascript 复制代码
    const OpenAi = require('openai')
    const client = new OpenAi({
        apiKey: 'API密钥',//在里面输入你获取到的API密钥
        baseURL: 'https://api.chatanywhere.tech/v1'
    })
    
    async function main() {
        const chatCompletion = await client.chat.completions.create(
            {
                messages: [{ role: 'user', content: '你是谁?请介绍你自己。' }],
                model: 'gpt-3.5-turbo',
            }
        )
        console.log(chatCompletion.choices[0])
    }
    main()

    这就是完整代码了。不要忘记安装openai库嘞

实现结果

利用 main函数能够实现交互,具体方式是对 {messages: [{ role: 'user', content: '你是谁?' }], model: 'gpt-3.5-turbo'}content 的内容进行动态改变。

如何让交互更容易实现呢?这个问题就交给你解决吧,快动手一起快乐得敲代码吧。

小结

通过以上步骤,你已经成功创建了一个使用OpenAI API的简单Node.js应用,可以与GPT-3.5-Turbo模型进行交互。这个项目只是一个起点,你可以进一步扩展和自定义它,来满足更多的需求和应用场景。希望这个教程能够帮助你更好地理解和使用自然语言处理技术,探索更多的可能性。

相关推荐
Make_magic7 分钟前
Git学习教程(更新中)
大数据·人工智能·git·elasticsearch·计算机视觉
shelly聊AI11 分钟前
语音识别原理:AI 是如何听懂人类声音的
人工智能·语音识别
源于花海14 分钟前
论文学习(四) | 基于数据驱动的锂离子电池健康状态估计和剩余使用寿命预测
论文阅读·人工智能·学习·论文笔记
雷龙发展:Leah15 分钟前
离线语音识别自定义功能怎么用?
人工智能·音频·语音识别·信号处理·模块测试
4v1d19 分钟前
边缘计算的学习
人工智能·学习·边缘计算
风之馨技术录23 分钟前
智谱AI清影升级:引领AI视频进入音效新时代
人工智能·音视频
sniper_fandc32 分钟前
深度学习基础—Seq2Seq模型
人工智能·深度学习
goomind36 分钟前
深度学习模型评价指标介绍
人工智能·python·深度学习·计算机视觉
youcans_36 分钟前
【微软报告:多模态基础模型】(2)视觉理解
人工智能·计算机视觉·大语言模型·多模态·视觉理解
棱角~~1 小时前
10款PDF合并工具讲解与推荐!!!
人工智能·经验分享·其他·pdf·学习方法