matt HOFFNER commited on
Commit
dd225cf
·
1 Parent(s): 78695df
app/api/chat/route.ts CHANGED
@@ -1,11 +1,9 @@
1
  import { Configuration, OpenAIApi } from "openai-edge";
2
  import { OpenAIStream, StreamingTextResponse } from "ai";
3
- import { createUrlSurfer } from "@/app/tools/surfer";
4
  import { createSearchApi } from "@/app/tools/search";
5
  import { createOddsApi } from "@/app/tools/odds";
6
  import { createSportsResultsApi } from "@/app/tools/scores";
7
 
8
- const [, urlSurferSchema] = createUrlSurfer();
9
  const [, serpApiSchema] = createSearchApi({ apiKey: process.env.SERP_API_KEY || '' });
10
  const [, sportsApiResultsSchema] = createSportsResultsApi({ apiKey: process.env.SERP_API_KEY || '' });
11
  const [, oddsApiSchema] = createOddsApi({ apiKey: process.env.ODDS_API_KEY || '' });
@@ -16,7 +14,6 @@ const config = new Configuration({
16
  const openai = new OpenAIApi(config);
17
 
18
  const functions: any[] = [
19
- urlSurferSchema,
20
  serpApiSchema,
21
  oddsApiSchema,
22
  sportsApiResultsSchema
 
1
  import { Configuration, OpenAIApi } from "openai-edge";
2
  import { OpenAIStream, StreamingTextResponse } from "ai";
 
3
  import { createSearchApi } from "@/app/tools/search";
4
  import { createOddsApi } from "@/app/tools/odds";
5
  import { createSportsResultsApi } from "@/app/tools/scores";
6
 
 
7
  const [, serpApiSchema] = createSearchApi({ apiKey: process.env.SERP_API_KEY || '' });
8
  const [, sportsApiResultsSchema] = createSportsResultsApi({ apiKey: process.env.SERP_API_KEY || '' });
9
  const [, oddsApiSchema] = createOddsApi({ apiKey: process.env.ODDS_API_KEY || '' });
 
14
  const openai = new OpenAIApi(config);
15
 
16
  const functions: any[] = [
 
17
  serpApiSchema,
18
  oddsApiSchema,
19
  sportsApiResultsSchema
app/constants.ts CHANGED
@@ -5,6 +5,6 @@ export default {
5
  DEFAULT_MODEL: "Xenova/whisper-tiny",
6
  DEFAULT_SUBTASK: "transcribe",
7
  DEFAULT_LANGUAGE: "english",
8
- DEFAULT_QUANTIZED: true,
9
  DEFAULT_MULTILINGUAL: false,
10
  };
 
5
  DEFAULT_MODEL: "Xenova/whisper-tiny",
6
  DEFAULT_SUBTASK: "transcribe",
7
  DEFAULT_LANGUAGE: "english",
8
+ DEFAULT_QUANTIZED: false,
9
  DEFAULT_MULTILINGUAL: false,
10
  };
app/input.tsx CHANGED
@@ -7,6 +7,7 @@ import StopIcon from '@mui/icons-material/Stop';
7
  import { webmFixDuration } from './BlobFix';
8
  import Progress from './progress';
9
  import { useTranscriber } from "./hooks/useTranscriber";
 
10
 
11
  ort.env.wasm.wasmPaths = "/_next/static/chunks/";
12
 
@@ -33,7 +34,9 @@ function getMimeType() {
33
  }
34
 
35
  const convertBlobToAudioBuffer = async (blob: Blob): Promise<AudioBuffer> => {
36
- const audioContext = new AudioContext();
 
 
37
  const arrayBuffer = await blob.arrayBuffer();
38
  return await audioContext.decodeAudioData(arrayBuffer);
39
  };
 
7
  import { webmFixDuration } from './BlobFix';
8
  import Progress from './progress';
9
  import { useTranscriber } from "./hooks/useTranscriber";
10
+ import constants from './constants';
11
 
12
  ort.env.wasm.wasmPaths = "/_next/static/chunks/";
13
 
 
34
  }
35
 
36
  const convertBlobToAudioBuffer = async (blob: Blob): Promise<AudioBuffer> => {
37
+ const audioContext = new AudioContext({
38
+ sampleRate: constants.SAMPLING_RATE,
39
+ });
40
  const arrayBuffer = await blob.arrayBuffer();
41
  return await audioContext.decodeAudioData(arrayBuffer);
42
  };
app/tools/surfer.ts DELETED
@@ -1,14 +0,0 @@
1
- import { Tool } from 'openai-function-calling-tools';
2
- import { z } from 'zod';
3
-
4
- function createUrlSurfer() {
5
- const paramsSchema = z.object({
6
- input: z.string(),
7
- });
8
- const name = 'surfer';
9
- const description = 'A custom URL navigator. Useful when a URL is provided with a question. A URL IS REQUIRED FOR THIS TO WORK along with user intent. Input should be a valid URL. Outputs a JSON array of relevant results.';
10
-
11
- return new Tool(paramsSchema, name, description, {} as any).tool;
12
- }
13
-
14
- export { createUrlSurfer };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
package.json CHANGED
@@ -1,5 +1,5 @@
1
  {
2
- "name": "url-surfer",
3
  "version": "0.1.0",
4
  "private": true,
5
  "scripts": {
 
1
  {
2
+ "name": "web-chat",
3
  "version": "0.1.0",
4
  "private": true,
5
  "scripts": {
pages/api/functions/embed.ts CHANGED
@@ -1,7 +1,6 @@
1
  import { createSearchApi } from '../../../app/tools/search';
2
  import { createOddsApi } from '@/app/tools/odds';
3
  import { createSportsResultsApi } from '@/app/tools/scores';
4
- import { handleContentText } from './utils';
5
  import { similaritySearch } from './vector-store';
6
 
7
  const urlRegex = /(https?:\/\/[^\s]+)/g;
@@ -23,20 +22,6 @@ export const odds: FunctionOutput = async ({ input }: FunctionInput) => {
23
  return oddsApiResults;
24
  }
25
 
26
- export const surfer: FunctionOutput = async ({ input }: FunctionInput) => {
27
- const urls = input.match(urlRegex);
28
- const targetUrl = urls ? urls[0] : null;
29
- const promptWithoutUrl = urls ? input.replace(urlRegex, '').trim() : input;
30
-
31
- const content: string = await handleContentText(targetUrl)
32
- if (!content) {
33
- return `Couldn't find ${targetUrl}, here is the prompt: ${promptWithoutUrl}`;
34
- }
35
-
36
- const surferApiResults = await similaritySearch(promptWithoutUrl, content);
37
- return surferApiResults;
38
- }
39
-
40
  export const serp: FunctionOutput = async ({ input }: FunctionInput) => {
41
  const content: string = await serpApi({input})
42
  const serpApiResults = await similaritySearch(input, content);
 
1
  import { createSearchApi } from '../../../app/tools/search';
2
  import { createOddsApi } from '@/app/tools/odds';
3
  import { createSportsResultsApi } from '@/app/tools/scores';
 
4
  import { similaritySearch } from './vector-store';
5
 
6
  const urlRegex = /(https?:\/\/[^\s]+)/g;
 
22
  return oddsApiResults;
23
  }
24
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  export const serp: FunctionOutput = async ({ input }: FunctionInput) => {
26
  const content: string = await serpApi({input})
27
  const serpApiResults = await similaritySearch(input, content);
pages/api/functions/index.ts CHANGED
@@ -1,5 +1,5 @@
1
  import { NextApiRequest, NextApiResponse } from 'next';
2
- import { odds, serp, surfer, sports } from './embed';
3
 
4
  export const config = {
5
  api: {
@@ -13,7 +13,6 @@ type FunctionHandler = any;
13
 
14
  const handlers: FunctionHandler = {
15
  'search': serp,
16
- 'surfer': surfer,
17
  'sports_odds': odds,
18
  'sports_results': sports
19
  };
 
1
  import { NextApiRequest, NextApiResponse } from 'next';
2
+ import { odds, serp, sports } from './embed';
3
 
4
  export const config = {
5
  api: {
 
13
 
14
  const handlers: FunctionHandler = {
15
  'search': serp,
 
16
  'sports_odds': odds,
17
  'sports_results': sports
18
  };