Как использовать gemini api в приложении?
Я чайник и пытаюсь потрогать gemini api. Делаю по инструкции.
Зашел в ai studio получил новый
Сохранил этот ключ в константу key
Далее функция
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, option.WithAPIKey(key))
if err != nil {
log.Fatal(err)
}
defer client.Close()
model := client.GenerativeModel(modelName)
chat := model.StartChat()
test := "hello. Are you working now?"
resp, err := chat.SendMessage(ctx, genai.Text(test))
if err != nil {
log.Fatal(err)
}
log.Println(resp.PromptFeedback)
}
Получаю nil в ответ nil. А как добиться от этого кода ответа на поставленный вопрос?
Ответы (1 шт):
Автор решения: Quester
→ Ссылка
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, option.WithAPIKey(key))
if err != nil {
log.Fatal(err)
}
defer client.Close()
model := client.GenerativeModel(modelName)
chat := model.StartChat()
chat.History = []*genai.Content{
{
Parts: []genai.Part{
genai.Text("Hello i am Maksim"),
},
Role: "user",
},
{
Parts: []genai.Part{
genai.Text("Nice to meet you Maksim"),
},
Role: "model",
},
}
test := os.Args[1]
iter := chat.SendMessageStream(ctx, genai.Text(test))
for {
resp, err := iter.Next()
if err != nil {
log.Fatal(err)
}
if err == iterator.Done {
break
}
for _, cand := range resp.Candidates {
if cand.Content != nil {
for _, part := range cand.Content.Parts {
fmt.Println(part)
}
}
}
}
}
Работает