Spaces:
Sleeping
Sleeping
File size: 1,224 Bytes
c2df9c2 caaca78 a73e8b4 9c9d521 c2df9c2 f4e05b5 caaca78 9c9d521 a73e8b4 c2df9c2 f4e05b5 a73e8b4 9c9d521 c2df9c2 6b5bed6 c2df9c2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
import { Configuration, OpenAIApi } from "openai-edge";
import { OpenAIStream, StreamingTextResponse } from "ai";
import { createUrlSurfer } from "@/app/tools/surfer";
import { createSearchApi } from "@/app/tools/search";
import { createOddsApi } from "@/app/tools/odds";
import { createSportsResultsApi } from "@/app/tools/scores";
const [, urlSurferSchema] = createUrlSurfer();
const [, serpApiSchema] = createSearchApi({ apiKey: process.env.SERP_API_KEY || '' });
const [, sportsApiResultsSchema] = createSportsResultsApi({ apiKey: process.env.SERP_API_KEY || '' });
const [, oddsApiSchema] = createOddsApi({ apiKey: process.env.ODDS_API_KEY || '' });
const config = new Configuration({
apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(config);
const functions: any[] = [
urlSurferSchema,
serpApiSchema,
oddsApiSchema,
sportsApiResultsSchema
];
export async function POST(req: Request) {
const { messages, function_call } = await req.json()
const response = await openai.createChatCompletion({
model: 'gpt-3.5-turbo-1106',
stream: true,
messages,
functions,
function_call
})
const stream = OpenAIStream(response)
return new StreamingTextResponse(stream)
} |