24 lines
547 B
Go
24 lines
547 B
Go
package promptkit
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
|
|
"gitea.maximumdirect.net/eric/promptkit/internal/domain"
|
|
)
|
|
|
|
type publicLLMClientAdapter struct {
|
|
client LLMClient
|
|
}
|
|
|
|
func (a publicLLMClientAdapter) Generate(ctx context.Context, req domain.GenerateRequest) (*domain.GenerateResponse, error) {
|
|
resp, err := a.client.Generate(ctx, fromDomainGenerateRequest(req))
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
if resp == nil {
|
|
return nil, fmt.Errorf("%w: llm client returned nil response", ErrLLMGenerate)
|
|
}
|
|
return toDomainGenerateResponse(resp), nil
|
|
}
|