askexperts
Version:
AskExperts SDK: build and use AI experts - ask them questions and pay with bitcoin on an open protocol
53 lines (52 loc) • 1.39 kB
TypeScript
import { AskExpertsServer } from "../server/AskExpertsServer.js";
import { OpenaiInterface } from "../openai/index.js";
import { OpenaiProxyExpertBase } from "./OpenaiProxyExpertBase.js";
/**
* OpenAI Expert implementation for NIP-174
* Provides direct access to OpenAI models with pricing based on token usage
*/
export declare class OpenaiProxyExpert extends OpenaiProxyExpertBase {
/**
* Model vendor
*/
private modelVendor;
/**
* Model name
*/
private modelName;
/**
* System prompt to prepend to all conversations
*/
private readonly systemPrompt?;
/**
* Interval ID for description update checks
*/
private descriptionCheckInterval;
/**
* Creates a new OpenaiExpert instance
*
* @param options - Configuration options
*/
constructor(options: {
server: AskExpertsServer;
openai: OpenaiInterface;
model: string;
systemPrompt?: string;
});
/**
* Starts the expert
*/
start(): Promise<void>;
/**
* Disposes of resources when the expert is no longer needed
*/
[Symbol.asyncDispose](): Promise<void>;
private getDescription;
/**
* Handles ask events
*
* @param ask - The ask event
* @returns Promise resolving to a bid if interested, or undefined to ignore
*/
private onAsk;
}