Text Generation
PEFT
Chinese
English
preference-learning
qlora
agent
personalization
association-engine
Instructions to use feiertu/hermes-association-engine with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use feiertu/hermes-association-engine with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
| """测试 query 模块.""" | |
| import tempfile, sqlite3, os | |
| import pytest | |
| from hermes_core.embedder import Embedder | |
| from hermes_core.db import init_db, insert_record, upsert_scope | |
| from hermes_core.types import Record, Scope, Dimension | |
| from hermes_core.querier import query, HermesClient | |
| pytestmark = pytest.mark.requires_embedder | |
| def embedder(): | |
| return Embedder() | |
| def test_query_no_scopes_returns_empty(embedder): | |
| result = query("u_test", "帮我写个API", embedder) | |
| assert result.matched_scope is None | |
| assert len(result.active_loras) == 0 | |
| assert len(result.related_preferences) == 0 | |
| def test_query_matches_existing_scope(embedder): | |
| # 创建一个 scope 和相关记录 | |
| conn = init_db("u_test") | |
| s = Scope(id="scope_a", label="后端API开发", | |
| centroid=embedder.encode("后端API开发"), record_count=3) | |
| upsert_scope(conn, s) | |
| insert_record(conn, Record( | |
| id="r1", user_id="u_test", scope_id="scope_a", | |
| scope_label="后端API开发", | |
| dimensions=[Dimension(key="language", value="TypeScript", context="默认")], | |
| confidence=0.9, occurrences=3, | |
| )) | |
| conn.close() | |
| result = query("u_test", "帮我写一个后端API接口", embedder) | |
| assert result.matched_scope is not None | |
| assert result.matched_scope.scope_id == "scope_a" | |
| assert any(p.key == "language" for p in result.related_preferences) | |
| def test_query_no_match_when_too_different(embedder): | |
| conn = init_db("u_test") | |
| s = Scope(id="scope_a", label="后端API开发", | |
| centroid=embedder.encode("后端API开发"), record_count=3) | |
| upsert_scope(conn, s) | |
| conn.close() | |
| result = query("u_test", "推荐个周末去处", embedder) | |
| # 周末去处与后端开发相似度低 → 不匹配 | |
| assert result.matched_scope is None | |
| class TestHermesClient: | |
| def test_client_query(self, embedder): | |
| client = HermesClient(user_id="u_client_test", agent_id="agent-1") | |
| result = client.query("帮我写个API") | |
| assert isinstance(result.matched_scope, (type(None), object)) | |
| def test_client_record(self, embedder): | |
| client = HermesClient(user_id="u_client_test", agent_id="agent-1") | |
| r = client.record("后端开发", [{"key": "language", "value": "TS", "context": ""}]) | |
| assert r["status"] == "recorded" | |