genkitx-groq
Firebase Genkit - Groq Plugin
Groq Community Plugin for Google Firebase Genkit
genkitx-groq is a community plugin for using Groq APIs with
Firebase Genkit. Built by Bloom Labs Inc. 🔥
Installation​
Install the plugin in your project with your favorite package manager:
npm install genkitx-groqyarn add genkitx-groqpnpm add genkitx-groq
Usage​
Initialize​
import dotenv from 'dotenv';
import { genkit } from 'genkit';
import { groq, gemma2x9b } from 'genkitx-groq';
dotenv.config();
const ai = genkit({
  plugins: [groq({ apiKey: process.env.GROQ_API_KEY })],
  // optional: default model for generate calls
  model: gemma2x9b,
});
Basic examples​
The simplest way to generate text is by using the generate method:
const response = await ai.generate({
  model: llama3x70b, // model imported from genkitx-groq
  prompt: 'Tell me a joke.',
});
console.log(response.text);
Within a flow​
import { z } from 'genkit';
export const jokeFlow = ai.defineFlow(
  {
    name: 'jokeFlow',
    inputSchema: z.string(),
    outputSchema: z.string(),
  },
  async (subject) => {
    const llmResponse = await ai.generate({
      prompt: `tell me a joke about ${subject}`,
    });
    return llmResponse.text;
  }
);
// Run the flow using the CLI:
// genkit flow:run jokeFlow "chicken"
Tool use​
import { z } from 'genkit';
// ...initialise genkit as described above...
const createReminder = ai.defineTool(
  {
    name: 'createReminder',
    description: 'Use this to create reminders for things in the future',
    inputSchema: z.object({
      time: z
        .string()
        .describe('ISO timestamp string, e.g. 2024-04-03T12:23:00Z'),
      reminder: z.string().describe('the content of the reminder'),
    }),
    outputSchema: z.number().describe('the ID of the created reminder'),
  },
  (reminder) => Promise.resolve(3)
);
const result = await ai.generate({
  tools: [createReminder],
  prompt: `
  You are a reminder assistant.
  If you create a reminder, describe in text the reminder you created as a response.
  Query: I have a meeting with Anna at 3 for dinner - can you set a reminder for the time?
  `,
});
console.log(result.text);
Contributing​
Want to contribute to the project? That's awesome! Head over to our Contribution Guidelines.
Need support?​
info
This repository depends on Google's Firebase Genkit. For issues and questions related to Genkit, please refer to instructions available in Genkit's repository. :::
Reach out by opening a discussion on Github Discussions.
Credits​
This plugin is proudly maintained by the team at Bloom Labs Inc. 🔥
License​
This project is licensed under the Apache 2.0 License.