Ich habe die folgenden Importe für eine Python-Datei, die bald ein Multi-LLM-Agent sein soll. Ich wollte llama_index verwenden und habe ein schönes Video von Tech mit Tim gefunden, das alles sehr gut erklärt. Ich habe die virtuelle Umgebung (venv) eingerichtet, aktiviert und alle Anforderungen installiert, einschließlich llama_index und llama_parse. Das ist mein Code, aber ich glaube nicht, dass er notwendig ist:
from llama_index.llms.ollama import Ollama
from llama_parse import LlamaParse
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, PromptTemplate
from llama_index.core.embeddings import resolve_embed_model
from llama_index.core.tools import QueryEngineTool, ToolMetadata
from llama_index.core.agent import ReActAgent
from pydantic import BaseModel
from llama_index.core.output_parsers import PydanticOutputParser
from llama_index.core.query_pipeline import QueryPipeline
from prompts import context, code_parser_template
from code_reader import code_reader
from dotenv import load_dotenv
import os
import ast
load_dotenv()
llm = Ollama(model="mistral", request_timeout=30.0)
parser = LlamaParse(result_type="markdown")
file_extractor = {".pdf": parser}
documents = SimpleDirectoryReader("./data", file_extractor=file_extractor).load_data()
embed_model = resolve_embed_model("local:BAAI/bge-m3")
vector_index = VectorStoreIndex.from_documents(documents, embed_model=embed_model)
query_engine = vector_index.as_query_engine(llm=llm)
tools = [
QueryEngineTool(
query_engine=query_engine,
metadata=ToolMetadata(
name="api_documentation",
description="this gives documentation about code for an API. Use this for reading docs for the API",
),
),
code_reader,
]
code_llm = Ollama(model="codellama")
agent = ReActAgent.from_tools(tools, llm=code_llm, verbose=True, context=context)
class CodeOutput(BaseModel):
code: str
description: str
filename: str
parser = PydanticOutputParser(CodeOutput)
json_prompt_str = parser.format(code_parser_template)
json_prompt_tmpl = PromptTemplate(json_prompt_str)
output_pipeline = QueryPipeline(chain=[json_prompt_tmpl, llm])
while (prompt := input("Enter a prompt (q to quit): ")) != "q":
retries = 0
while retries < 3:
try:
result = agent.query(prompt)
next_result = output_pipeline.run(response=result)
cleaned_json = ast.literal_eval(str(next_result).replace("assistant:", ""))
break
except Exception as e:
retries += 1
print(f"Error occured, retry #{retries}:", e)
if retries >= 3:
print("Unable to process request, try again...")
continue
print("Code generated")
print(cleaned_json["code"])
print("\n\nDesciption:", cleaned_json["description"])
filename = cleaned_json["filename"]
try:
with open(os.path.join("output", filename), "w") as f:
f.write(cleaned_json["code"])
print("Saved file", filename)
except:
print("Error saving file...")
Für jeden einzelnen llama_index-Import und den llama_parse-Import erhalte ich die Fehlermeldung „Import „xxx“ konnte nicht aufgelöst werden“. Was mache ich falsch?
Meine Python-Version ist Python 3.11.8
Ich habe die folgenden Importe für eine Python-Datei, die bald ein Multi-LLM-Agent sein soll. Ich wollte llama_index verwenden und habe ein schönes Video von Tech mit Tim gefunden, das alles sehr gut erklärt. Ich habe die virtuelle Umgebung (venv) eingerichtet, aktiviert und alle Anforderungen installiert, einschließlich llama_index und llama_parse. Das ist mein Code, aber ich glaube nicht, dass er notwendig ist: [code]from llama_index.llms.ollama import Ollama from llama_parse import LlamaParse from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, PromptTemplate from llama_index.core.embeddings import resolve_embed_model from llama_index.core.tools import QueryEngineTool, ToolMetadata from llama_index.core.agent import ReActAgent from pydantic import BaseModel from llama_index.core.output_parsers import PydanticOutputParser from llama_index.core.query_pipeline import QueryPipeline from prompts import context, code_parser_template from code_reader import code_reader from dotenv import load_dotenv import os import ast
tools = [ QueryEngineTool( query_engine=query_engine, metadata=ToolMetadata( name="api_documentation", description="this gives documentation about code for an API. Use this for reading docs for the API", ), ), code_reader, ]
try: with open(os.path.join("output", filename), "w") as f: f.write(cleaned_json["code"]) print("Saved file", filename) except: print("Error saving file...")
[/code] Für jeden einzelnen llama_index-Import und den llama_parse-Import erhalte ich die Fehlermeldung „Import „xxx“ konnte nicht aufgelöst werden“. Was mache ich falsch? Meine Python-Version ist Python 3.11.8
Ich habe Pygame per Pip installiert. Wenn ich pip list ausführe, wird es installiert, aber wenn ich versuche, es zu importieren, funktioniert es nicht.
Mein Flask -App -Server wird ausgeführt, aber ich habe drei Importe, die nicht behoben werden können. Individuell
Neustalling -Anforderungen. /> Hier ist meine Dateistruktur:
- > .vscode
- >...
Ich entwickle ein Java-Projekt mit Eclipse. Das Projekt verwendet ein anderes Projekt namens engine, das ich in meinem Projekt-Build-Pfad hinzugefügt habe. Da ich in einer meiner Projektklassen mit...