import { z } from "zod";
import { env } from "../../../env.mjs";
import { useState } from "react";
import { createTRPCRouter, publicProcedure, protectedProcedure } from "../trpc";
import type { NextApiRequest, NextApiResponse } from 'next';
import { Configuration, OpenAIApi } from 'openai';
const configuration = new Configuration({
apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);
// router to use gpt3 openai api
export const gptRouter = createTRPCRouter({
gptUse: publicProcedure
.input(z.object({
text: z.string().nullish(),
}))
.query(async ({ input }) => {
const completion = await openai.createCompletion({
model: 'gpt-3.5-turbo',
prompt: input?.text ?? "write 'no text'",
temperature: 0.7,
top_p: 1,
max_tokens: 1000,
})
const result = completion.data
return result
}),
gtpUseMutate: publicProcedure
.input(z.object({
text: z.string().nullish(),
}))
.mutation(async req => {
const completion = await openai.createCompletion({
model: 'gpt-3.5-turbo',
prompt: req.input?.text ?? "write 'no text'",
temperature: 0.7,
top_p: 1,
max_tokens: 1000,
})
const result = completion.data
return result
}
)
import { z } from "zod";
import { env } from "../../../env.mjs";
import { useState } from "react";
import { createTRPCRouter, publicProcedure, protectedProcedure } from "../trpc";
import type { NextApiRequest, NextApiResponse } from 'next';
import { Configuration, OpenAIApi } from 'openai';
const configuration = new Configuration({
apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);
// router to use gpt3 openai api
export const gptRouter = createTRPCRouter({
gptUse: publicProcedure
.input(z.object({
text: z.string().nullish(),
}))
.query(async ({ input }) => {
const completion = await openai.createCompletion({
model: 'gpt-3.5-turbo',
prompt: input?.text ?? "write 'no text'",
temperature: 0.7,
top_p: 1,
max_tokens: 1000,
})
const result = completion.data
return result
}),
gtpUseMutate: publicProcedure
.input(z.object({
text: z.string().nullish(),
}))
.mutation(async req => {
const completion = await openai.createCompletion({
model: 'gpt-3.5-turbo',
prompt: req.input?.text ?? "write 'no text'",
temperature: 0.7,
top_p: 1,
max_tokens: 1000,
})
const result = completion.data
return result
}
)