LLMClient.execute_gemini_sdk:v15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import weave
from typing import Union
from typing import Optional
from typing import Any
import google.generativeai as genai
import os
@weave.op()
def execute_gemini_sdk(
self,
user_prompt: Union[str, list[str]],
system_prompt: Optional[Union[str, list[str]]] = None,
schema: Optional[Any] = None,
) -> Union[str, Any]:
from google.generativeai.types import HarmBlockThreshold, HarmCategory
def get_chat_response(
chat: genai.ChatSession, prompt, generation_config
) -> str:
text_response = []
responses = chat.send_message(prompt)
for chunk in responses:
text_response.append(chunk.text)
return "".join(text_response)