Spaces:
Runtime error
Runtime error
# ---------- Dependencies ---------- | |
import os | |
import asyncio | |
import faiss | |
from typing import Any, Optional, List | |
from contextlib import contextmanager | |
from pydantic import BaseModel, Field | |
from langchain import LLMChain, OpenAI, PromptTemplate | |
from langchain.chains.base import Chain | |
from langchain.experimental import BabyAGI | |
from langchain.embeddings import OpenAIEmbeddings | |
from langchain.vectorstores.base import VectorStore | |
from langchain.vectorstores import FAISS | |
from langchain.docstore import InMemoryDocstore | |
from langchain.chains.qa_with_sources.loading import load_qa_with_sources_chain | |
from langchain.agents import ZeroShotAgent, Tool, AgentExecutor | |
from langchain.text_splitter import RecursiveCharacterTextSplitter | |
from langchain.tools import BaseTool, DuckDuckGoSearchRun | |
from langchain.tools.file_management.read import ReadFileTool | |
from langchain.tools.file_management.write import WriteFileTool | |
from langchain.tools.human.tool import HumanInputRun | |
from swarms.tools import Terminal, CodeWriter, CodeEditor, process_csv, WebpageQATool | |
from langchain.experimental.autonomous_agents.autogpt.agent import AutoGPT | |
from langchain.chat_models import ChatOpenAI | |
from langchain.tools import tool | |
# ---------- Constants ---------- | |
ROOT_DIR = "./data/" | |
# ---------- Tools ---------- | |
openai_api_key = os.environ["OPENAI_API_KEY"] | |
llm = ChatOpenAI(model_name="gpt-4", temperature=1.0, openai_api_key=openai_api_key) | |
worker_tools = [ | |
DuckDuckGoSearchRun(), | |
WriteFileTool(root_dir=ROOT_DIR), | |
ReadFileTool(root_dir=ROOT_DIR), | |
process_csv, | |
WebpageQATool(qa_chain=load_qa_with_sources_chain(llm)), | |
# Tool(name='terminal', func=Terminal.execute, description='Operates a terminal'), | |
# Tool(name='code_writer', func=CodeWriter(), description='Writes code'), | |
# Tool(name='code_editor', func=CodeEditor(), description='Edits code'),# | |
] | |
# ---------- Vector Store ---------- | |
embeddings_model = OpenAIEmbeddings() | |
embedding_size = 1536 | |
index = faiss.IndexFlatL2(embedding_size) | |
vectorstore = FAISS(embeddings_model.embed_query, index, InMemoryDocstore({}), {}) |