openAI 横空出世一年之际,各种各样的 AI 模型都出现了,包括 GPT-3,GPT-4,ChatGPT,LLaMA 等模型
其中 Groq api 在上下文长度和响应速度上比 openAi 要好很多,而且还是免费的,故决定使用 Groq 来构建自己的 Ai 聊天机器人 Api 接口

# 注册

注册 Groq

可以使用 Github 或者 Google 进行登录

登录之后可以申请一个 API key 作为身份认证凭证

# 测试

可以在 Playground 对各种模型进行测试

目前支持的模型有:

  • LLaMA3 8b
  • LLaMA3 70b
  • Mixtral 8x7b
  • Gemma 7b

使用 curl 命令测试

h
curl -X POST "https://api.groq.com/openai/v1/chat/completions" \
     -H "Authorization: Bearer $GROQ_API_KEY" \
     -H "Content-Type: application/json" \
     -d '{"messages": [{"role": "user", "content": "Explain the importance of fast language models"}], "model": "llama3-8b-8192"}'

# 编写服务端

这里使用 koa 框架来构建一个代理服务端

t
const Koa = require('koa');
const Router = require('koa-router');
const bodyParser = require('koa-bodyparser');
const Groq = require("groq-sdk");
const groq = new Groq({
    apiKey: $GROQ_API_KEY // 替换为自己的 API key
});
async function main(messages) {
    const chatCompletion = await getGroqChatCompletion(messages);
    return chatCompletion.choices[0]?.message || null;
}
async function getGroqChatCompletion(body) {
    return groq.chat.completions.create({
        messages:body.messages,
        model: body.model,
        max_tokens:body.maxTokens,
        temperature:body.temperature
    });
}
const app = new Koa();
const router = new Router();
app.use(bodyParser());
router.post('/api/endpoint', async (ctx) => {
  ctx.request.body.messages = ctx.request.body.messages.map(v=>{
    if(v.role == "user"){
        v.content+="  尽量使用中文进行回复"
    }
    return v;
  });
  const res = await main(ctx.request.body);
  ctx.body = { data:res, code: 200, msg: 'success' };
});
app.use(router.routes());
app.listen(3000, () => {
  console.log('Server listening on port 3000');
});

# 使用 Postman 测试

# 结束

下一篇将介绍如何在本地搭建一个离线的 LLM 模型

请我喝杯[咖啡]~( ̄▽ ̄)~*

一个放羊娃 微信支付

微信支付

一个放羊娃 支付宝

支付宝