Creare collegamenti per gli agenti dell' LangGraph
LangGraph Gli agenti possono richiedere connessioni a servizi esterni quali fornitori di modelli di linguaggio di grandi dimensioni (LLM), database o API. Questi requisiti di connessione vengono definiti nella funzione di creazione degli agenti, mentre l' watsonx Orchestrate e verifica la validità delle connessioni a livello di agente durante l'esecuzione.
Prima di iniziare
Prima di definire le connessioni necessarie, attenersi alle seguenti indicazioni:
- Sono supportate solo le connessioni configurate con credenziali di gruppo.
- Gli ID delle app di connessione nella funzione di creazione degli agenti devono corrispondere agli ID delle app delle connessioni create. Il sistema non verifica se le connessioni selezionate soddisfano i requisiti del tuo agente.
- Effettua le connessioni necessarie prima di importare l'agente.
creazione connessioni
- In " watsonx Orchestrate ", vai su "Connessioni".
- Fai clic su "Aggiungi connessione".
- Configura la connessione utilizzando le credenziali richieste dal tuo agente LangGraph.
- Annotare l'ID dell'app e il tipo di credenziali per la connessione.
Ad esempio, se si crea una connessione con l'ID openai_api dell'app e il tipo di api_keycredenziale, l'agente accede alla credenziale come openai_api_api_key.
Per ulteriori informazioni sulla creazione e la gestione delle connessioni, consultare la sezione Gestione delle connessioni.
Accesso alle credenziali nella funzione predefinita
Tutte le credenziali relative alle connessioni selezionate durante l'importazione vengono inserite automaticamente in fase di esecuzione tramite il config parametro della funzione predefinita. All'interno della funzione factory, le credenziali sono disponibili all'indirizzo:
credentials = config.get("configurable", {}).get("credentials", {})
Utilizzo delle credenziali nella funzione factory
def create_agent(config: RunnableConfig) -> StateGraph:
# Get all credentials
credentials = config.get("configurable", {}).get("credentials", {})
# Access specific credentials
openai_key = credentials.get("openai_api_api_key")
gemini_key = credentials.get("gemini_api_api_key")
# Use credentials as needed
if openai_key:
llm = ChatOpenAI(api_key=openai_key)
elif gemini_key:
llm = ChatGoogleGenerativeAI(api_key=gemini_key)
else:
raise ValueError("No LLM credentials provided")
# Build and return your graph
workflow = StateGraph(AgentState)
# ... rest of your graph setup
return workflow
La chiave di autenticazione segue il seguente schema:
{app_id}_{credential_type}
dove:
app_idè l'ID dell'app specificato al momento della creazione della connessione.credential_typeè il tipo di credenziale. I tipi possono essere:api_keybasicbearerkey_valueoauth_auth_client_credentials_flowoauth_auth_code_flowoauth_auth_implicit_flowoauth_auth_on_behalf_of_flowoauth_auth_password_flow