TypeDoc
Models Openai Chat

vcapi-workers / Exports / models/openai/chat

Module: models/openai/chat

VCAPI ChatGPT 機能のための処理。 OpenAI ChatCompletion API (俗にサービス名 ChatGPT と同一視される) を使うためのコード

Table of contents

Variables

Functions

Variables

contentSchema

Const contentSchema: ZodEffects<ZodString, string, unknown>

Defined in

src/models/openai/chat.ts:28 (opens in a new tab)


messageSchema

Const messageSchema: ZodObject<{ content: ZodEffects<ZodString, string, unknown> = contentSchema; role: ZodUnion<[ZodLiteral<"system">, ZodLiteral<"assistant">, ZodLiteral<"user">]> = roleSchema }, "strip", ZodTypeAny, { content: string = contentSchema; role: "system" | "assistant" | "user" = roleSchema }, { content?: unknown = contentSchema; role: "system" | "assistant" | "user" = roleSchema }>

Defined in

src/models/openai/chat.ts:34 (opens in a new tab)


roleSchema

Const roleSchema: ZodUnion<[ZodLiteral<"system">, ZodLiteral<"assistant">, ZodLiteral<"user">]>

Defined in

src/models/openai/chat.ts:29 (opens in a new tab)

Functions

complete

complete(c, chatTalk, gimmickId, message, appendOnly): Promise<void>

OpenAI API を呼び出す。ただし appendOnly を指定した場合はDBへの格納だけを行う

Parameters

NameTypeDefault value
cContextundefined
chatTalkObjectundefined
chatTalk.chatSentences{ content: string = contentSchema; role: "system" | "assistant" | "user" = roleSchema }[]undefined
chatTalk.idnumberundefined
gimmickIdnumberundefined
messageObjectundefined
message.contentstringcontentSchema
message.role"system" | "assistant" | "user"roleSchema
appendOnlybooleanundefined

Returns

Promise<void>

Defined in

src/models/openai/chat.ts:193 (opens in a new tab)


createChatTalk

createChatTalk(c, gimmickId): Promise<number>

新しい会話を作る

Parameters

NameType
cContext
gimmickIdnumber

Returns

Promise<number>

Defined in

src/models/openai/chat.ts:110 (opens in a new tab)


deleteChatTalk

deleteChatTalk(c, gimmickId, chatTalkId): Promise<UpdateResult[]>

会話を削除する

Parameters

NameType
cContext
gimmickIdnumber
chatTalkIdnumber

Returns

Promise<UpdateResult[]>

Defined in

src/models/openai/chat.ts:130 (opens in a new tab)


getChatTalk

getChatTalk(c, gimmickId, chatTalkId, raw?): Promise<undefined | { chatSentences: { content: string; role: "system" | "assistant" | "user"; }[] ; id: number }>

API に投げるために、DBからある会話を読み出す

Parameters

NameTypeDefault value
cContextundefined
gimmickIdnumberundefined
chatTalkIdnumberundefined
rawbooleanfalse

Returns

Promise<undefined | { chatSentences: { content: string; role: "system" | "assistant" | "user"; }[] ; id: number }>

Defined in

src/models/openai/chat.ts:90 (opens in a new tab)


getChatTalks

getChatTalks(c, gimmickId): Promise<{ chatSentences: { content: string; role: string; }[] ; id: number }[]>

DBからギミックIDに紐づく会話を全部持ってくる

Parameters

NameType
cContext
gimmickIdnumber

Returns

Promise<{ chatSentences: { content: string; role: string; }[] ; id: number }[]>

Defined in

src/models/openai/chat.ts:62 (opens in a new tab)


getPreset

getPreset(c, gimmickId, key): Promise<undefined | { content: string = contentSchema; role: "system" | "assistant" | "user" = roleSchema }[]>

preset key を指定して ChatGPT ギミックに設定されたプリセットを取得

Parameters

NameType
cContext
gimmickIdnumber
keystring

Returns

Promise<undefined | { content: string = contentSchema; role: "system" | "assistant" | "user" = roleSchema }[]>

Defined in

src/models/openai/chat.ts:74 (opens in a new tab)


getUserString

getUserString(gimmickId, userId?): string

OpenAI API に指定する エンドユーザーID (opens in a new tab) 用の文字列を返す

Parameters

NameType
gimmickIdnumber
userId?number

Returns

string

Defined in

src/models/openai/chat.ts:264 (opens in a new tab)


insertSentence

insertSentence(c, chatTalkId, values): Promise<InsertResult[]>

指定した内容で ChatSentence を DB に保存

Parameters

NameType
cContext
chatTalkIdnumber
valuesOmit<InsertObject<DB, "ChatSentence">, "userId" | "chatTalkId">

Returns

Promise<InsertResult[]>

Defined in

src/models/openai/chat.ts:178 (opens in a new tab)