Groupchat with Llamaindex agents#
Warning
This notebook uses outdated models and is deprecated as of v0.12. It will be removed in v0.14.
Llamaindex agents have the ability to use planning strategies to answer user questions. They can be integrated in Autogen in easy ways
Requirements#
%pip install ag2[openai] llama-index llama-index-tools-wikipedia llama-index-readers-wikipedia wikipedia
Set your API Endpoint#
import os
from dotenv import load_dotenv
import autogen
load_dotenv()
llm_config = autogen.LLMConfig(
{
"model": "gpt-5-mini",
"api_key": os.getenv("OPENAI_API_KEY"),
"api_type": "openai",
},
) # comment out where to get all
# When using a single openai endpoint, you can use the following:
# llm_config = autogen.LLMConfig({"model": "gpt-3.5-turbo", "api_key": os.getenv("OPENAI_API_KEY")})
Set Llamaindex#
from llama_index.core import Settings
from llama_index.core.agent import ReActAgent
from llama_index.embeddings.openai import OpenAIEmbedding
from llama_index.llms.openai import OpenAI
from llama_index.tools.wikipedia import WikipediaToolSpec
llm = OpenAI(
model="gpt-3.5-turbo",
temperature=0.0,
api_key=os.environ.get("OPENAPI_API_KEY", ""),
)
embed_model = OpenAIEmbedding(
model="text-embedding-ada-002",
temperature=0.0,
api_key=os.environ.get("OPENAPI_API_KEY", ""),
)
Settings.llm = llm
Settings.embed_model = embed_model
# create a react agent to use wikipedia tool
wiki_spec = WikipediaToolSpec()
# Get the search wikipedia tool
wikipedia_tool = wiki_spec.to_tool_list()[1]
location_specialist = ReActAgent.from_tools(tools=[wikipedia_tool], llm=llm, max_iterations=10, verbose=True)
Create agents#
In this example, we will create a Llamaindex agent to answer questions fecting data from wikipedia and a user proxy agent.
from autogen.agentchat.contrib.llamaindex_conversable_agent import LLamaIndexConversableAgent
trip_assistant = LLamaIndexConversableAgent(
"trip_specialist",
llama_index_agent=location_specialist,
system_message="You help customers finding more about places they would like to visit. You can use external resources to provide more details as you engage with the customer.",
description="This agents helps customers discover locations to visit, things to do, and other details about a location. It can use external resources to provide more details. This agent helps in finding attractions, history and all that there si to know about a place",
)
user_proxy = autogen.UserProxyAgent(
name="Admin",
human_input_mode="ALWAYS",
code_execution_config=False,
)
Next, let’s set up our group chat.