from llama_index.llms.openai_like import OpenAILike llm = OpenAILike( model="model", api_key="Key", api_base="OpenAI Compatible endpoint", context_window=16000, is_chat_model=True, is_function_calling_model=False, ) Settings.embed_model = llm # Create index index = VectorStoreIndex.from_documents( documents, show_progress=True)
1AssertionError Traceback (most recent call last) Cell In[22], line 31 22 documents = SimpleDirectoryReader("../data", required_exts=[".txt"]).load_data() 23 #embed_model = llm 24 25 (...) 29 # api_base="http://tentris-ml.cs.upb.de:8502/v1" 30 # ) ---> 31 Settings.embed_model = llm 33 # Create index 34 index = VectorStoreIndex.from_documents( 35 documents, 36 show_progress=True) File c:\Users\KUNJAN SHAH\AppData\Local\Programs\Python\Python311\Lib\site-packages\llama_index\core\settings.py:74, in _Settings.embed_model(self, embed_model) 71 @embed_model.setter 72 def embed_model(self, embed_model: EmbedType) -> None: 73 """Set the embedding model.""" ---> 74 self._embed_model = resolve_embed_model(embed_model) File c:\Users\KUNJAN SHAH\AppData\Local\Programs\Python\Python311\Lib\site-packages\llama_index\core\embeddings\utils.py:136, in resolve_embed_model(embed_model, callback_manager) 133 print("Embeddings have been explicitly disabled. Using MockEmbedding.") 134 embed_model = MockEmbedding(embed_dim=1) --> 136 assert isinstance(embed_model, BaseEmbedding) 138 embed_model.callback_manager = callback_manager or Settings.callback_manager 140 return embed_model
Settings.embed_model = llm
which cannot workfrom llama_index.embeddings.openai import OpenAIEmbedding Settings.embed_model = OpenAIEmbedding(model_name="your model", api_key="fake", api_base="http://localhost:8000/v1")
from llama_index.core import SimpleDirectoryReader, VectorStoreIndex, Settings from llama_index.llms.openai import OpenAI from llama_index.embeddings.openai import OpenAIEmbedding import os from dotenv import load_dotenv from llama_index.core.embeddings.utils import EmbedType, resolve_embed_model load_dotenv() Settings.embed_model = OpenAIEmbedding( api_base=os.getenv("TENTRIS_BASE_URL_EMBEDDINGS"), api_key=os.getenv("TENTRIS_API_KEY"), model_name=os.getenv("tentris"), ) # Create index index = VectorStoreIndex.from_documents( documents, show_progress=True)
--------------------------------------------------------------------------- ValidationError Traceback (most recent call last) Cell In[2], line 10 6 from llama_index.core.embeddings.utils import EmbedType, resolve_embed_model 8 load_dotenv() ---> 10 Settings.embed_model = OpenAIEmbedding( 11 api_base=os.getenv("TENTRIS_BASE_URL_EMBEDDINGS"), 12 api_key=os.getenv("TENTRIS_API_KEY"), 13 model_name=os.getenv("tentris"), 14 ) 16 # Create index 17 index = VectorStoreIndex.from_documents( 18 documents, 19 show_progress=True) File c:\Users\KUNJAN SHAH\AppData\Local\Programs\Python\Python311\Lib\site-packages\llama_index\embeddings\openai\base.py:310, in OpenAIEmbedding.__init__(self, mode, model, embed_batch_size, dimensions, additional_kwargs, api_key, api_base, api_version, max_retries, timeout, reuse_client, callback_manager, default_headers, http_client, async_http_client, num_workers, **kwargs) 307 else: 308 model_name = model --> 310 super().__init__( 311 embed_batch_size=embed_batch_size, 312 dimensions=dimensions, 313 callback_manager=callback_manager, 314 model_name=model_name, 315 additional_kwargs=additional_kwargs, 316 api_key=api_key, ... ValidationError: 1 validation error for OpenAIEmbedding model_name Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] For further information visit https://errors.pydantic.dev/2.10/v/string_type
# Set up the OpenAI LLM llm = OpenAILike( model='tentris', api_key=os.getenv("TENTRIS_API_KEY"), api_base=os.getenv("TENTRIS_BASE_URL_CHAT"), ) chat_engine = index.as_chat_engine() str(chat_engine.chat("Where is dice group located?"))
model_name="some name"
to get rid of that pydantic erroras_chat_engine(llm=llm)
load_dotenv() # Set up the OpenAI LLM Settings.llm = OpenAILike( model='tentris', api_key=os.getenv("TENTRIS_API_KEY"), api_base=os.getenv("TENTRIS_BASE_URL_CHAT"), ) Settings.embed_model = OpenAIEmbedding( api_base=os.getenv("TENTRIS_BASE_URL_EMBEDDINGS"), api_key=os.getenv("TENTRIS_API_KEY"), model_name='tentris', ) # Create index index = VectorStoreIndex.from_documents( documents, show_progress=True)
chat_engine = index.as_chat_engine()
str(chat_engine.chat("Where is dice group located?")) ValueError Traceback (most recent call last) Cell In[14], line 1 ----> 1 str(chat_engine.chat("Where is dice group located?")) File c:\Users\KUNJAN SHAH\AppData\Local\Programs\Python\Python311\Lib\site-packages\llama_index\core\instrumentation\dispatcher.py:321, in Dispatcher.span.<locals>.wrapper(func, instance, args, kwargs) 318 _logger.debug(f"Failed to reset active_span_id: {e}") 320 try: --> 321 result = func(*args, **kwargs) 322 if isinstance(result, asyncio.Future): 323 # If the result is a Future, wrap it 324 new_future = asyncio.ensure_future(result) File c:\Users\KUNJAN SHAH\AppData\Local\Programs\Python\Python311\Lib\site-packages\llama_index\core\callbacks\utils.py:41, in trace_method.<locals>.decorator.<locals>.wrapper(self, *args, **kwargs) 39 callback_manager = cast(CallbackManager, callback_manager) 40 with callback_manager.as_trace(trace_id): ---> 41 return func(self, *args, **kwargs) File c:\Users\KUNJAN SHAH\AppData\Local\Programs\Python\Python311\Lib\site-packages\llama_index\core\agent\runner\base.py:692, in AgentRunner.chat(self, message, chat_history, tool_choice) 687 tool_choice = self.default_tool_choice > 688 with self.callback_manager.event( 689 CBEventType.AGENT_STEP, 690 payload={EventPayload.MESSAGES: [message]}, 691 ) as e: --> 692 chat_response = self._chat( ... --> 437 raise ValueError("Reached max iterations.") 439 if isinstance(current_reasoning[-1], ResponseReasoningStep): 440 response_step = cast(ResponseReasoningStep, current_reasoning[-1]) ValueError: Reached max iterations.
index.as_chat_engine(chat_mode="condense_plus_context")
for exampleas_chat_engine()
is doing. By default, its creating an agent with a single tool (your index). But most open-source LLMs suck at being agents (I know this from experience), so instead I got you to change the chat mode to something else