vcapi-workers / Exports / models/openai/chat
Module: models/openai/chat
VCAPI ChatGPT 機能のための処理。 OpenAI ChatCompletion API (俗にサービス名 ChatGPT と同一視される) を使うためのコード
Table of contents
Variables
Functions
- complete
- createChatTalk
- deleteChatTalk
- getChatTalk
- getChatTalks
- getPreset
- getUserString
- insertSentence
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
| Name | Type | Default value |
|---|---|---|
c | Context | undefined |
chatTalk | Object | undefined |
chatTalk.chatSentences | { content: string = contentSchema; role: "system" | "assistant" | "user" = roleSchema }[] | undefined |
chatTalk.id | number | undefined |
gimmickId | number | undefined |
message | Object | undefined |
message.content | string | contentSchema |
message.role | "system" | "assistant" | "user" | roleSchema |
appendOnly | boolean | undefined |
Returns
Promise<void>
Defined in
src/models/openai/chat.ts:193 (opens in a new tab)
createChatTalk
▸ createChatTalk(c, gimmickId): Promise<number>
新しい会話を作る
Parameters
| Name | Type |
|---|---|
c | Context |
gimmickId | number |
Returns
Promise<number>
Defined in
src/models/openai/chat.ts:110 (opens in a new tab)
deleteChatTalk
▸ deleteChatTalk(c, gimmickId, chatTalkId): Promise<UpdateResult[]>
会話を削除する
Parameters
| Name | Type |
|---|---|
c | Context |
gimmickId | number |
chatTalkId | number |
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
| Name | Type | Default value |
|---|---|---|
c | Context | undefined |
gimmickId | number | undefined |
chatTalkId | number | undefined |
raw | boolean | false |
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
| Name | Type |
|---|---|
c | Context |
gimmickId | number |
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
| Name | Type |
|---|---|
c | Context |
gimmickId | number |
key | string |
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
| Name | Type |
|---|---|
gimmickId | number |
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
| Name | Type |
|---|---|
c | Context |
chatTalkId | number |
values | Omit<InsertObject<DB, "ChatSentence">, "userId" | "chatTalkId"> |
Returns
Promise<InsertResult[]>