mirror of
https://github.com/mudler/LocalAI.git
synced 2025-01-30 16:14:33 +00:00
examples: add langchain agent example
This commit is contained in:
parent
02979566ee
commit
6ed7b10273
@ -30,4 +30,6 @@ export OPENAI_API_KEY=sk-
|
|||||||
|
|
||||||
python test.py
|
python test.py
|
||||||
# A good company name for a company that makes colorful socks would be "Colorsocks".
|
# A good company name for a company that makes colorful socks would be "Colorsocks".
|
||||||
|
|
||||||
|
python agent.py
|
||||||
```
|
```
|
44
examples/langchain-python/agent.py
Normal file
44
examples/langchain-python/agent.py
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
## This is a fork/based from https://gist.github.com/wiseman/4a706428eaabf4af1002a07a114f61d6
|
||||||
|
|
||||||
|
from io import StringIO
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
from typing import Dict, Optional
|
||||||
|
|
||||||
|
from langchain.agents import load_tools
|
||||||
|
from langchain.agents import initialize_agent
|
||||||
|
from langchain.agents.tools import Tool
|
||||||
|
from langchain.llms import OpenAI
|
||||||
|
|
||||||
|
base_path = os.environ.get('OPENAI_API_BASE', 'http://localhost:8080/v1')
|
||||||
|
model_name = os.environ.get('MODEL_NAME', 'gpt-3.5-turbo')
|
||||||
|
|
||||||
|
class PythonREPL:
|
||||||
|
"""Simulates a standalone Python REPL."""
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def run(self, command: str) -> str:
|
||||||
|
"""Run command and returns anything printed."""
|
||||||
|
old_stdout = sys.stdout
|
||||||
|
sys.stdout = mystdout = StringIO()
|
||||||
|
try:
|
||||||
|
exec(command, globals())
|
||||||
|
sys.stdout = old_stdout
|
||||||
|
output = mystdout.getvalue()
|
||||||
|
except Exception as e:
|
||||||
|
sys.stdout = old_stdout
|
||||||
|
output = str(e)
|
||||||
|
return output
|
||||||
|
|
||||||
|
llm = OpenAI(temperature=0.0, openai_api_base=base_path, model_name=model_name)
|
||||||
|
python_repl = Tool(
|
||||||
|
"Python REPL",
|
||||||
|
PythonREPL().run,
|
||||||
|
"""A Python shell. Use this to execute python commands. Input should be a valid python command.
|
||||||
|
If you expect output it should be printed out.""",
|
||||||
|
)
|
||||||
|
tools = [python_repl]
|
||||||
|
agent = initialize_agent(tools, llm, agent="zero-shot-react-description", verbose=True)
|
||||||
|
agent.run("What is the 10th fibonacci number?")
|
Loading…
x
Reference in New Issue
Block a user