appbuilder

package module
v0.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CodeContentType         = "code"
	TextContentType         = "text"
	ImageContentType        = "image"
	RAGContentType          = "rag"
	FunctionCallContentType = "function_call"
	AudioContentType        = "audio"
	VideoContentType        = "video"
	StatusContentType       = "status"
)

Variables

Functions

func NewSSEReader

func NewSSEReader(bufSize int, reader *bufio.Reader) *sseReader

Types

type AgentBuilder

type AgentBuilder struct {
	// contains filtered or unexported fields
}

func NewAgentBuilder deprecated

func NewAgentBuilder(appID string, config *SDKConfig) (*AgentBuilder, error)

Deprecated: 请使用AppBuilderClient 代替 AgentBuilder

func (*AgentBuilder) CreateConversation

func (t *AgentBuilder) CreateConversation() (string, error)

func (*AgentBuilder) Run

func (t *AgentBuilder) Run(conversationID string, query string, fileIDS []string, stream bool) (AgentBuilderIterator, error)

func (*AgentBuilder) UploadLocalFile

func (t *AgentBuilder) UploadLocalFile(conversationID string, filePath string) (string, error)

type AgentBuilderAnswer

type AgentBuilderAnswer struct {
	Answer string
	Events []Event
}

type AgentBuilderIterator

type AgentBuilderIterator interface {
	// Next 获取处理结果,如果返回error不为空,迭代器自动失效,不允许再调用此方法
	Next() (*AgentBuilderAnswer, error)
}

AgentBuilderIterator 定义AgentBuilder流式/非流式迭代器接口 初始状态可迭代,如果返回error不为空则代表迭代结束, error为io.EOF,则代表迭代正常结束,其它则为异常结束

type AgentBuilderOnceIterator

type AgentBuilderOnceIterator struct {
	// contains filtered or unexported fields
}

AgentBuilderOnceIterator 非流式返回时对应的迭代器,只可迭代一次

func (*AgentBuilderOnceIterator) Next

type AgentBuilderRawResponse

type AgentBuilderRawResponse struct {
	RequestID      string           `json:"request_id"`
	Date           string           `json:"date"`
	Answer         string           `json:"answer"`
	ConversationID string           `json:"conversation_id"`
	MessageID      string           `json:"message_id"`
	IsCompletion   bool             `json:"is_completion"`
	Content        []RawEventDetail `json:"content"`
}

type AgentBuilderStreamIterator

type AgentBuilderStreamIterator struct {
	// contains filtered or unexported fields
}

func (*AgentBuilderStreamIterator) Next

type AppBuilderClient added in v0.7.0

type AppBuilderClient struct {
	// contains filtered or unexported fields
}

func NewAppBuilderClient added in v0.7.0

func NewAppBuilderClient(appID string, config *SDKConfig) (*AppBuilderClient, error)

func (*AppBuilderClient) CreateConversation added in v0.7.0

func (t *AppBuilderClient) CreateConversation() (string, error)

func (*AppBuilderClient) Run added in v0.7.0

func (t *AppBuilderClient) Run(conversationID string, query string, fileIDS []string, stream bool) (AppBuilderClientIterator, error)

func (*AppBuilderClient) UploadLocalFile added in v0.7.0

func (t *AppBuilderClient) UploadLocalFile(conversationID string, filePath string) (string, error)

type AppBuilderClientAnswer added in v0.7.0

type AppBuilderClientAnswer struct {
	Answer string
	Events []Event
}

type AppBuilderClientIterator added in v0.7.0

type AppBuilderClientIterator interface {
	// Next 获取处理结果,如果返回error不为空,迭代器自动失效,不允许再调用此方法
	Next() (*AppBuilderClientAnswer, error)
}

AppBuilderClientIterator 定义AppBuilderClient流式/非流式迭代器接口 初始状态可迭代,如果返回error不为空则代表迭代结束, error为io.EOF,则代表迭代正常结束,其它则为异常结束

type AppBuilderClientOnceIterator added in v0.7.0

type AppBuilderClientOnceIterator struct {
	// contains filtered or unexported fields
}

AppBuilderClientOnceIterator 非流式返回时对应的迭代器,只可迭代一次

func (*AppBuilderClientOnceIterator) Next added in v0.7.0

type AppBuilderClientRawResponse added in v0.7.0

type AppBuilderClientRawResponse struct {
	RequestID      string           `json:"request_id"`
	Date           string           `json:"date"`
	Answer         string           `json:"answer"`
	ConversationID string           `json:"conversation_id"`
	MessageID      string           `json:"message_id"`
	IsCompletion   bool             `json:"is_completion"`
	Content        []RawEventDetail `json:"content"`
}

type AppBuilderClientStreamIterator added in v0.7.0

type AppBuilderClientStreamIterator struct {
	// contains filtered or unexported fields
}

func (*AppBuilderClientStreamIterator) Next added in v0.7.0

type AudioDetail

type AudioDetail struct {
	Audio string `json:"audio"`
}

type CodeDetail

type CodeDetail struct {
	Text  string   `json:"text"`
	Code  string   `json:"code"`
	Files []string `json:"files"`
}

type Dataset

type Dataset struct {
	// contains filtered or unexported fields
}

func NewDataset

func NewDataset(config *SDKConfig) (*Dataset, error)

func (*Dataset) BatchUploadLocaleFile

func (t *Dataset) BatchUploadLocaleFile(datasetID string, localFilePaths []string) ([]string, error)

func (*Dataset) Create

func (t *Dataset) Create(name string) (string, error)

func (*Dataset) DeleteDocument

func (t *Dataset) DeleteDocument(datasetID, documentID string) error

func (*Dataset) ListDocument

func (t *Dataset) ListDocument(datasetID string, page int, limit int, keyword string) (*ListDocumentResponse, error)

func (*Dataset) UploadLocalFile

func (t *Dataset) UploadLocalFile(datasetID string, localFilePath string) (string, error)

type DatasetBindResponse

type DatasetBindResponse struct {
	Code    int               `json:"code"`
	Message string            `json:"message"`
	Result  DatasetBindResult `json:"result"`
}

type DatasetBindResult

type DatasetBindResult struct {
	DocumentIDs []string `json:"document_ids"`
}

type DatasetResponse

type DatasetResponse struct {
	Code    int                    `json:"code"`
	Message string                 `json:"message"`
	Result  map[string]interface{} `json:"result"`
}

type DefaultDetail

type DefaultDetail struct {
	URLS  []string `json:"urls"`
	Files []string `json:"files"`
	Image string   `json:"image"`
	Video string   `json:"video"`
	Audio string   `json:"audio"`
}

type Event

type Event struct {
	Code        int
	Message     string
	Status      string
	EventType   string
	ContentType string
	Detail      interface{}
}

type FileInfo

type FileInfo struct {
	ID   string `json:"id"`
	Name string `json:"name"`
}

type FunctionCallDetail

type FunctionCallDetail struct {
	Text  interface{} `json:"text"`
	Image string      `json:"image"`
	Audio string      `json:"audio"`
	Video string      `json:"video"`
}

type ImageDetail

type ImageDetail struct {
	Image string `json:"image"`
}

type ListDocumentResponse

type ListDocumentResponse struct {
	Code    int                        `json:"code"`
	Message string                     `json:"message"`
	Result  ListDocumentResponseResult `json:"result"`
}

type ListDocumentResponseResult

type ListDocumentResponseResult struct {
	HasMore bool       `json:"has_more"`
	Limit   int        `json:"limit"`
	Total   int        `json:"total"`
	Page    int        `json:"page"`
	Data    []FileInfo `json:"data"`
}

type RAG

type RAG struct {
	// contains filtered or unexported fields
}

func NewRAG

func NewRAG(appID string, config *SDKConfig) (*RAG, error)

func (*RAG) Run

func (t *RAG) Run(conversationID string, query string, stream bool) (RAGIterator, error)

type RAGAnswer

type RAGAnswer struct {
	Answer         string
	ConversationID string
	Events         []RAGEvent
}

type RAGDetail

type RAGDetail struct {
	Text       string      `json:"text"`
	References []Reference `json:"references"`
}

type RAGEvent

type RAGEvent struct {
	Event       string          `json:"event"`
	EventStatus string          `json:"event_status"`
	EventID     string          `json:"event_id"`
	EventType   string          `json:"type"`
	Text        json.RawMessage `json:"text"`
}

type RAGIterator

type RAGIterator interface {
	// Next 获取处理结果,如果返回error不为空,迭代器自动失效,不允许再调用此方法
	Next() (*RAGAnswer, error)
}

RAGIterator 定义RAG流式/非流式迭代器接口 初始状态可迭代,如果返回error不为空则代表迭代结束, error为io.EOF,则代表迭代正常结束,其它则为异常结束

type RAGOnceIterator

type RAGOnceIterator struct {
	// contains filtered or unexported fields
}

RAGOnceIterator 非流式返回时对应的迭代器,只可迭代一次

func (*RAGOnceIterator) Next

func (t *RAGOnceIterator) Next() (*RAGAnswer, error)

type RAGResult

type RAGResult struct {
	ConversationID string     `json:"conversation_id"`
	Answer         string     `json:"answer"`
	Content        []RAGEvent `json:"content"`
}

type RAGRunResponse

type RAGRunResponse struct {
	Code    int       `json:"code"`
	Message string    `json:"message"`
	Result  RAGResult `json:"result"`
}

type RAGStreamIterator

type RAGStreamIterator struct {
	// contains filtered or unexported fields
}

func (*RAGStreamIterator) Next

func (t *RAGStreamIterator) Next() (*RAGAnswer, error)

type RawEventDetail

type RawEventDetail struct {
	EventCode    int             `json:"event_code"`
	EventMessage string          `json:"event_message"`
	EventType    string          `json:"event_type"`
	EventID      string          `json:"event_id"`
	EventStatus  string          `json:"event_status"`
	ContentType  string          `json:"content_type"`
	Outputs      json.RawMessage `json:"outputs"`
}

type Reference

type Reference struct {
	ID           string `json:"id"`
	From         string `json:"from"`
	URL          string `json:"url"`
	Content      string `json:"content"`
	SegmentID    string `json:"segment_id"`
	DocumentID   string `json:"document_id"`
	DatasetID    string `json:"dataset_id"`
	DocumentName string `json:"document_name"`
}

type SDKConfig

type SDKConfig struct {
	GatewayURL   string
	GatewayURLV2 string
	SecretKey    string
}

func NewSDKConfig

func NewSDKConfig(gatewayURL, secretKey string) (*SDKConfig, error)

func (*SDKConfig) AuthHeader

func (t *SDKConfig) AuthHeader() http.Header

func (*SDKConfig) AuthHeaderV2 added in v0.7.0

func (t *SDKConfig) AuthHeaderV2() http.Header

AuthHeaderV2 适配OpenAPI,当前仅AgentBuilder使用

func (*SDKConfig) ServiceURL

func (t *SDKConfig) ServiceURL(suffix string) (*url.URL, error)

func (*SDKConfig) ServiceURLV2 added in v0.7.0

func (t *SDKConfig) ServiceURLV2(suffix string) (*url.URL, error)

ServiceURLV2 适配OpenAPI,当前仅AgentBuilder使用

type SSEEvent

type SSEEvent struct {
	LastEventID string
	Type        string
	Data        string
}

type StatusDetail

type StatusDetail struct{}

type TextDetail

type TextDetail struct {
	Text string `json:"text"`
}

type VideoDetail

type VideoDetail struct {
	Video string `json:"video"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL