File size: 2,003 Bytes
13b889e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
from typing import List
from pydantic import BaseModel, Field
from langchain_google_genai import ChatGoogleGenerativeAI
import google.generativeai as genai
import os
from langchain.prompts import ChatPromptTemplate
from langchain.schema.output_parser import StrOutputParser
from langchain_core.utils.function_calling import convert_to_openai_function


os.environ["GOOGLE_API_KEY"] = "AIzaSyAgkKi4TKH9xL3N78FWn7SS7yDIz0T4r_4"
genai.configure(api_key="AIzaSyAgkKi4TKH9xL3N78FWn7SS7yDIz0T4r_4")


class Reverse(BaseModel):
    """returns the reverse of a string"""
    string: str 

weather_function = convert_to_openai_function(Reverse)


model = ChatGoogleGenerativeAI(model="gemini-pro",temperature=0.3)
model  = model.bind( functions=[Reverse])
prompt = ChatPromptTemplate.from_template(""" {input} """)
output_parser = StrOutputParser()
chain = prompt | model | output_parser
print(chain.invoke({"input": "what is the reverse of Sbaiuodcbdvu"}))

# output_parser = StrOutputParser()
# prompt = """Hey Gemini. Act as OIC Bot and follow the instructions and answer the question accordingly. 
# Chat Instructions:
# 1. Explain the question in 1-2 lines with heading as Question Explaination.
# 2. Explain the potential solution with heading as Potential Solution to it and don't hallucinate.
# General Instructions:
# 1. Ensure that you answer clearly and briefly and only answer from the context strictly.
# 2. While answering the question follow these steps.
# 3. Make sure you explain every question step by step and don't exceed 15 lines.
# Here is the chat history and respond to the user query accordingly.
# chat_history: \n {chat_history}\n
#     Context:\n {context}\n
#     Question: \n{question}?\n

#     Answer:"""
# simple_chain = ChatPromptTemplate.from_template(prompt)
# chain = simple_chain | model | output_parser
# print(chain.invoke({'chat_history':'','context':'connections are ways to connect things','question':'what is connection'}))