Cerca
Questa pagina presenta gli strumenti di supporto per l'ambito rivolti agli sviluppatori insieme al tipo di risultati di ricerca Oracle concreto.
Risoluzione ambito
Per ogni campo di applicazione è possibile eseguire una delle tre operazioni riportate di seguito.
- omettere di utilizzare l'impostazione predefinita del layer API. Nelle firme Python e in
SearchScope, questo stato omesso è rappresentato daNOT_SET_MARKER. - specificare un ID concreto per utilizzare tale valore;
- specificare
Noneper indicare che il record non ha ambito su tale dimensione. Ad esempio,agent_id=Noneindica che il record non è collegato a un agente.
Ogni record memorizzato dispone di tre campi di ambito indipendenti: user_id, agent_id e thread_id. Ogni campo può contenere un ID concreto o None.
Esempi:
thread_id=Noneindica che il record non è collegato a un thread.agent_id=Noneindica che il record non è collegato a un agente.user_id="u1", agent_id=None, thread_id=Noneindica che il record è definito per l'utenteu1, ma non per un agente o un thread specifico.
Le stesse regole di ambito si applicano sia alle API di ricerca sincrona che asincrona.
Nella tabella seguente, ID indica uno dei valori user_id, agent_id o thread_id insieme al relativo flag di corrispondenza esatta.
Risoluzione ambito ricerca per livello API
| Caso | thread.search() | OracleAgentMemory.search() | store.search() |
|---|---|---|---|
| ID omesso | Utilizza le impostazioni predefinite del thread: esatti user_id e agent_id, più l'attuale thread_id con exact_thread_match=False. |
Utilizza le impostazioni predefinite del client. Il valore user_id omesso è stato rifiutato. agent_id e thread_id omessi rimangono ampi. |
Utilizza i valori predefiniti dell'area di memorizzazione: ID=None e exact_*_match=False, in modo che la dimensione non venga filtrata. |
Valore esplicito, incluso None + exact_*_match=False |
La dimensione non è filtrata. I record il cui valore corrisponde a quello specificato possono essere classificati più in alto rispetto agli altri record. | Per user_id, rifiutato perché le ricerche client richiedono un ambito utente esatto esplicito. Per agent_id e thread_id, la dimensione non viene filtrata. I record il cui valore corrisponde a quello specificato possono essere classificati più in alto rispetto agli altri record. |
La dimensione non è filtrata. I record il cui valore corrisponde a quello specificato possono essere classificati più in alto di altri record. |
ID esplicito + exact_*_match=True |
Corrisponde esattamente a questo ID. | Corrisponde esattamente a questo ID. | Corrisponde esattamente a questo ID. |
Esplicito None + exact_*_match=True |
Corrisponde solo ai record senza ambito su tale dimensione. | Corrisponde solo ai record senza ambito su tale dimensione. | Corrisponde solo ai record senza ambito su tale dimensione. |
Utilizzare None esplicito insieme a exact_*_match=True quando si desidera solo record senza ambito su tale dimensione e l'API lo consente. Omettere il campo quando si desidera che l'operazione sia predefinita.
Ambiti
classe oracleagentmemory.apis.scope.Scope
Basi: object
Rappresenta un ambito per l'inserimento o le ricerche di informazioni.
- Parametri:
- ID_utente
str | None - id_agente
str | None - id_thread
str | None
- ID_utente
ID_utente
ID dell'utente finale. NOT_SET_MARKER indica che il campo è stato omesso e deve essere risolto in base all'impostazione predefinita specifica dell'operazione. L'espressione None esplicita viene conservata e interpretata dalle regole specifiche dell'operazione. Le API client di livello superiore, ad esempio OracleAgentMemory.search(), possono richiedere che l'ambito utente sia esplicito. In tali API, è possibile utilizzare None per indirizzare solo record con ambito non definito.
- Tipo: str | None
ID_agente
ID agente. NOT_SET_MARKER indica che il campo è stato omesso e deve essere risolto in base all'impostazione predefinita specifica dell'operazione. L'espressione None esplicita viene conservata e interpretata dalle regole specifiche dell'operazione.
- Tipo: str | None
ID_thread
ID thread. NOT_SET_MARKER indica che il campo è stato omesso e deve essere risolto in base all'impostazione predefinita specifica dell'operazione. L'espressione None esplicita viene conservata e interpretata dalle regole specifiche dell'operazione.
- Tipo: str | None
classe oracleagentmemory.apis.searchscope.SearchScope
Basi: Scope
Rappresenta l'ambito di una query di ricerca e quindi limita gli elementi che possono essere restituiti.
- Parametri:
- ID_utente
str | None - id_agente
str | None - id_thread
str | None - exact_user_match
bool - exact_agent_match
bool - corrispondenza_thread_exact
bool
- ID_utente
ID_utente
ID dell'utente finale. Quando il valore exact_user_match risolto è True, viene trovata una corrispondenza esatta con questo ID, incluso None. Quando si tratta di False, la dimensione utente non è vincolata. NOT_SET_MARKER viene sostituito da un valore predefinito specifico dell'operazione. Le API client di livello superiore, ad esempio OracleAgentMemory.search(), possono richiedere che l'ambito utente sia esplicito. In tali API, None è destinato solo ai record con ambito non definito quando exact_user_match viene risolto in True.
- Tipo: str | None
ID_agente
ID agente. Quando il valore exact_agent_match risolto è True, viene trovata una corrispondenza esatta con questo ID, incluso None. Quando si tratta di False, la dimensione agente non è vincolata. NOT_SET_MARKER viene sostituito da un valore predefinito a seconda dell'operazione che utilizza l'ambito.
- Tipo: str | None
ID_thread
ID thread. Quando il valore exact_thread_match risolto è True, viene trovata una corrispondenza esatta con questo ID, incluso None. Quando è False, la dimensione thread non è vincolata. NOT_SET_MARKER viene sostituito da un valore predefinito a seconda dell'operazione che utilizza l'ambito.
- Tipo: str | None
esatta_utente_corrispondenza
Indica se corrispondere esattamente al valore user_id risolto. True corrisponde esattamente, incluso None. False lascia la dimensione utente non vincolata. NOT_SET_MARKER viene sostituito da un valore predefinito a seconda dell'operazione. Le API client di livello superiore come OracleAgentMemory.search() potrebbero richiedere che rimangano True.
- Tipo: bolla
esatta_agente_corrispondenza
Indica se corrispondere esattamente al valore agent_id risolto. True corrisponde esattamente, incluso None. False lascia la dimensione agente non vincolata. NOT_SET_MARKER viene sostituito da un valore predefinito a seconda dell'operazione.
- Tipo: bolla
corrispondenza esatta_thread_
Indica se corrispondere esattamente al valore thread_id risolto. True corrisponde esattamente, incluso None. False lascia la dimensione thread non vincolata. NOT_SET_MARKER viene sostituito da un valore predefinito a seconda dell'operazione.
- Tipo: bolla
Risultati
classe oracleagentmemory.core.OracleSearchResult
Basi: SearchResult
Risultato della ricerca restituito da un thread Oracle.
- Parametri:
- distance
float: la distanza dal vettore di query (più piccolo è meglio). - record
Record: oggetto record contenente le informazioni sui metadati relative alla voce persistente. - id
str | None: identificativo facoltativo associato al record memorizzato.
- distance
proprietà content
- Tipo restituito: str
- Descrizione: restituisce il contenuto testuale principale per il record corrispondente.
proprietà formatted_content
- Tipo restituito: str
-
Descrizione: restituisce il rendering sicuro XML predefinito utilizzato nei prompt.
- Restituzioni: rendering sicuro per XML che include i campi visibili predefiniti per un risultato della ricerca.
- Tipo restituito: str
proprietà id
- Tipo restituito: str | None
- Descrizione: restituisce l'identificativo stabile del record corrispondente, se disponibile.
proprietà metadata
- Tipo restituito: dett[str, Any] | Nessuno
- Descrizione: restituisce i metadati dei record, se disponibili.
proprietà record
- Tipo restituito: record
- Descrizione: restituisce il record corrispondente.
Il valore restituito può essere una classe secondaria Record normale o ScopedRecord. Utilizzare isinstance(result.record, ScopedRecord) prima di leggere gli identificativi di ambito pubblico.
proprietà timestamp
- Tipo restituito: str | None
- Descrizione: restituire l'indicatore orario del record, se disponibile.