genkitx-cohere
Firebase Genkit - Cohere AI Plugin
Cohere AI Community Plugin for Google Firebase Genkit
genkitx-cohere
is a community plugin for using Cohere AI APIs with
Firebase Genkit. Built by The Fire Company. 🔥
Installation​
Install the plugin in your project with your favorite package manager:
npm install genkitx-cohere
yarn add genkitx-cohere
pnpm add genkitx-cohere
Usage​
Initialize​
import 'dotenv/config';
import { genkit } from 'genkit';
import cohere, { command } from 'genkitx-cohere';
const ai = genkit({
plugins: [cohere({ apiKey: process.env.COHERE_API_KEY })],
model: command,
});
Basic examples​
The simplest way to generate text is by using the generate
method:
// ...initialize genkit (as shown above)...
const response = await ai.generate({
prompt: 'Tell me a joke.',
});
console.log(response.text);
Text Embeddings​
You can generate embeddings using the embed
method:
import { embedEnglish3 } from 'genkitx-cohere';
const embedding = await ai.embed({
embedder: embedEnglish3,
content: 'Hello world',
});
console.log(embedding);
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;
}
);
Tool use​
import { z } from 'genkit';
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 = ai.generate({
model: llama3x70b,
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.then((res) => res.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 The Fire Company. 🔥
License​
This project is licensed under the Apache 2.0 License.