genkitx-groq
is a community plugin for using Groq APIs with
Firebase Genkit. Built by The Fire Company. 🔥
Install the plugin in your project with your favorite package manager:
npm install genkitx-groq
yarn add genkitx-groq
pnpm add genkitx-groq
import dotenv from 'dotenv';
import { genkit } from 'genkit';
import { groq, gemma7b } from 'genkitx-groq';
dotenv.config();
const ai = genkit({
plugins: [groq({ apiKey: process.env.GROQ_API_KEY })],
// optional: default model for generate calls
model: gemma7b,
});
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);
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"
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);
Want to contribute to the project? That's awesome! Head over to our Contribution Guidelines.
Note
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.
This plugin is proudly maintained by the team at The Fire Company. 🔥
This project is licensed under the Apache 2.0 License.