removed example_basic as it was a duplicate of ExampleClient_Chat

This commit is contained in:
Timothy Stiles 2024-01-24 20:29:59 -08:00
parent 2d2b212e3d
commit edd08f62ab

View File

@ -40,74 +40,6 @@ func TestMain(m *testing.M) {
os.Exit(result)
}
func Example_basic() {
// Create a new context
ctx := context.Background()
// Create a new client
client, err := api.ClientFromEnvironment()
if err != nil {
log.Fatal(err)
}
// List all the models on the server as tags
tags, err := client.List(ctx)
if err != nil {
log.Fatal(err)
}
// if we get an empty list it means that there are no models on the server
if len(tags.Models) == 0 {
log.Fatal("no tags returned")
}
// sort the tags.models by Size least to greatest
sort.Slice(tags.Models, func(i, j int) bool {
return tags.Models[i].Size < tags.Models[j].Size
})
// Get the first model in the list
model := tags.Models[0].Model
// now we're getting ready for the big show. CHATTING WITH THE TINIEST MODEL ON THE SERVER!
// Create a new chat message to send to the server. Role must be defined and can be "user", system", or a third one that I forget.
// These should be defined in the api package as an enum constant or something.
chatMessage := api.Message{
Content: "Hello! Tell me about yourself in exactly one sentence.",
Role: "user",
}
// Create a new chat request to send to the server. This specifies the model and the messages to send.
req := &api.ChatRequest{
Model: model,
Messages: []api.Message{chatMessage},
}
// Create a function to handle the response from the server. This is a callback function that will be called for each response from the server.
var modelResponseText string // we will store the response from the server in this variable
fn := func(response api.ChatResponse) error { // this callback function fires for each token returned from the server
modelResponseText += response.Message.Content // append the response to the modelResponseText variable to retrieve the whole message
return nil
}
if err := client.Chat(ctx, req, fn); err != nil { // send the request to the server and if there is an error, log it
if errors.Is(err, context.Canceled) {
log.Fatal("context was canceled")
}
log.Fatal(err)
}
if modelResponseText == "" {
log.Fatal("modelResponseText is empty")
} else {
fmt.Println("model responded")
}
// Output:
// model responded
}
func ExampleClient_Heartbeat() {
// Create a new context
ctx := context.Background()