agent-factory: generate agent auto-retrieveapplicationdefinitio
This commit is contained in:
28
app/nodes/core_node.py
Normal file
28
app/nodes/core_node.py
Normal file
@@ -0,0 +1,28 @@
|
||||
async def process(state: dict) -> dict:
|
||||
"""
|
||||
This node retrieves the application definition from a given repository URL
|
||||
using an LLM to analyze and extract relevant information.
|
||||
|
||||
Input:
|
||||
state["repository_url"]: The URL of the repository containing the application definition.
|
||||
|
||||
Output:
|
||||
Returns a dictionary with the extracted application definition as an object.
|
||||
"""
|
||||
from app.agent import llm
|
||||
from langchain_core.messages import SystemMessage, HumanMessage
|
||||
|
||||
try:
|
||||
repository_url = state.get("repository_url", "")
|
||||
if not repository_url:
|
||||
raise ValueError("Missing 'repository_url' in state.")
|
||||
|
||||
messages = [
|
||||
SystemMessage(content="You are an expert in analyzing repository contents and extracting application definitions."),
|
||||
HumanMessage(content=f"Retrieve the application definition from the repository at this URL: {repository_url}")
|
||||
]
|
||||
|
||||
response = await llm.ainvoke(messages)
|
||||
return {"application_definition": response.content, "phase": "complete"}
|
||||
except Exception as exc:
|
||||
return {"error": str(exc), "phase": "failed"}
|
||||
Reference in New Issue
Block a user