forked from Archives/langchain
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.3 KiB
Markdown
77 lines
2.3 KiB
Markdown
Install openai,google-search-results packages which are required as the langchain packages call them internally
|
|
|
|
>pip install openai google-search-results
|
|
|
|
```python
|
|
from langchain import LLMMathChain, OpenAI, SerpAPIWrapper, SQLDatabase, SQLDatabaseChain
|
|
from langchain.agents import initialize_agent, Tool
|
|
from langchain.agents import AgentType
|
|
from langchain.chat_models import ChatOpenAI
|
|
```
|
|
|
|
|
|
```python
|
|
llm = ChatOpenAI(temperature=0, model="gpt-3.5-turbo-0613")
|
|
search = SerpAPIWrapper()
|
|
llm_math_chain = LLMMathChain.from_llm(llm=llm, verbose=True)
|
|
db = SQLDatabase.from_uri("sqlite:///../../../../../notebooks/Chinook.db")
|
|
db_chain = SQLDatabaseChain.from_llm(llm, db, verbose=True)
|
|
tools = [
|
|
Tool(
|
|
name = "Search",
|
|
func=search.run,
|
|
description="useful for when you need to answer questions about current events. You should ask targeted questions"
|
|
),
|
|
Tool(
|
|
name="Calculator",
|
|
func=llm_math_chain.run,
|
|
description="useful for when you need to answer questions about math"
|
|
),
|
|
Tool(
|
|
name="FooBar-DB",
|
|
func=db_chain.run,
|
|
description="useful for when you need to answer questions about FooBar. Input should be in the form of a question containing full context"
|
|
)
|
|
]
|
|
```
|
|
|
|
|
|
```python
|
|
agent = initialize_agent(tools, llm, agent=AgentType.OPENAI_FUNCTIONS, verbose=True)
|
|
```
|
|
|
|
|
|
```python
|
|
agent.run("Who is Leo DiCaprio's girlfriend? What is her current age raised to the 0.43 power?")
|
|
```
|
|
|
|
<CodeOutputBlock lang="python">
|
|
|
|
```
|
|
> Entering new chain...
|
|
|
|
Invoking: `Search` with `{'query': 'Leo DiCaprio girlfriend'}`
|
|
|
|
|
|
Amidst his casual romance with Gigi, Leo allegedly entered a relationship with 19-year old model, Eden Polani, in February 2023.
|
|
Invoking: `Calculator` with `{'expression': '19^0.43'}`
|
|
|
|
|
|
> Entering new chain...
|
|
19^0.43```text
|
|
19**0.43
|
|
```
|
|
...numexpr.evaluate("19**0.43")...
|
|
|
|
Answer: 3.547023357958959
|
|
> Finished chain.
|
|
Answer: 3.547023357958959Leo DiCaprio's girlfriend is reportedly Eden Polani. Her current age raised to the power of 0.43 is approximately 3.55.
|
|
|
|
> Finished chain.
|
|
|
|
|
|
"Leo DiCaprio's girlfriend is reportedly Eden Polani. Her current age raised to the power of 0.43 is approximately 3.55."
|
|
```
|
|
|
|
</CodeOutputBlock>
|