fix: Improve ChromeAI model parameters
This commit is contained in:
parent
26e799b246
commit
9bd3193ad9
@ -11,11 +11,6 @@ import { BaseMessage, AIMessageChunk } from "@langchain/core/messages"
|
|||||||
import { ChatGenerationChunk } from "@langchain/core/outputs"
|
import { ChatGenerationChunk } from "@langchain/core/outputs"
|
||||||
import { IterableReadableStream } from "@langchain/core/utils/stream"
|
import { IterableReadableStream } from "@langchain/core/utils/stream"
|
||||||
|
|
||||||
export interface AI {
|
|
||||||
canCreateTextSession(): Promise<AIModelAvailability>
|
|
||||||
createTextSession(options?: AITextSessionOptions): Promise<AITextSession>
|
|
||||||
defaultTextSessionOptions(): Promise<AITextSessionOptions>
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AITextSession {
|
export interface AITextSession {
|
||||||
prompt(input: string): Promise<string>
|
prompt(input: string): Promise<string>
|
||||||
@ -88,9 +83,9 @@ function formatPrompt(messages: BaseMessage[]): string {
|
|||||||
export class ChatChromeAI extends SimpleChatModel<ChromeAICallOptions> {
|
export class ChatChromeAI extends SimpleChatModel<ChromeAICallOptions> {
|
||||||
session?: AITextSession
|
session?: AITextSession
|
||||||
|
|
||||||
temperature = 0.5
|
temperature = 0.8
|
||||||
|
|
||||||
topK = 40
|
topK = 120
|
||||||
|
|
||||||
promptFormatter: (messages: BaseMessage[]) => string
|
promptFormatter: (messages: BaseMessage[]) => string
|
||||||
|
|
||||||
@ -121,16 +116,17 @@ export class ChatChromeAI extends SimpleChatModel<ChromeAICallOptions> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const { ai } = window as any
|
const { ai } = window as any
|
||||||
const canCreateTextSession = await ai.canCreateTextSession()
|
const capabilities = await ai?.assistant?.capabilities()
|
||||||
|
const canCreateTextSession = capabilities?.available
|
||||||
if (canCreateTextSession === AIModelAvailability.No) {
|
if (canCreateTextSession === AIModelAvailability.No) {
|
||||||
throw new Error("The AI model is not available.")
|
throw new Error("The AI model is not available.")
|
||||||
} else if (canCreateTextSession === AIModelAvailability.AfterDownload) {
|
} else if (canCreateTextSession === AIModelAvailability.AfterDownload) {
|
||||||
throw new Error("The AI model is not yet downloaded.")
|
throw new Error("The AI model is not yet downloaded.")
|
||||||
}
|
}
|
||||||
|
|
||||||
this.session = await ai.createTextSession({
|
this.session = await ai?.assistant?.create({
|
||||||
topK: this.topK,
|
temperature: this.temperature,
|
||||||
temperature: this.temperature
|
topK: this.topK
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,8 +12,8 @@ export const getChromeAISupported = async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//@ts-ignore
|
//@ts-ignore
|
||||||
const createSession = await ai?.canCreateGenericSession()
|
const capabilities = await ai?.assistant?.capabilities()
|
||||||
if (createSession !== "readily") {
|
if (capabilities?.available !== "readily") {
|
||||||
return "ai_not_ready"
|
return "ai_not_ready"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user